I am trying to save a string inside cookie variable . but after debug i saw it took only half of it.
string cs="metadata=res://*/Models.ADModel.csdl|res://*/Models.ADModel.ssdl|res://*/Models.ADModel.msl;provider=System.Data.SqlClient;provider connection string='data source=192.168.10.104;initial catalog=AlarmDirectorDTU;persist security info=True;user id=aduserly;password=PasswordLY;multipleactiveresultsets=True;App=EntityFramework'"
Response.Cookies.Add(new HttpCookie("ConnectionString", cs));
During debugging i saw
Request.Cookies["ConnectionString"].Value
Value of this cookie is-
"metadata=res://*/Models.ADModel.csdl|res://*/Models.ADModel.ssdl|res://*/Models.ADModel.msl"
please suggest me how to save this complete string in this cookie variable,Thanks in advance
In ASP.Net you can use System.Web.HttpUtility to safely encode the cookie value before writing to the cookie and convert it back to its original form on reading it out.
// Encode
HttpUtility.UrlEncode(cookieData);
// Decode
HttpUtility.UrlDecode(encodedCookieData);
This will stop semicolon, ampersands and equals signs splitting a value into a bunch of name/value pairs as it is written to a cookie.
Your code will become :
string cs="metadata=res://*/Models.ADModel.csdl|res://*/Models.ADModel.ssdl|res://*/Models.ADModel.msl;provider=System.Data.SqlClient;provider connection string='data source=192.168.10.104;initial catalog=AlarmDirectorDTU;persist security info=True;user id=aduserly;password=PasswordLY;multipleactiveresultsets=True;App=EntityFramework'";
var encodedData = HttpUtility.UrlEncode(cs);
Response.Cookies.Add(new HttpCookie("ConnectionString", encodedData));
var cookieData = Request.Cookies["ConnectionString"].Value;
var decodedData = HttpUtility.UrlDecode(cookieData);