2010-07-02 1 views
0

я хочу добавить 3 серийный ключ к клиентской системе с помощью HttpCookie, когда он посетил мой сайт мой сайт с курсом в asp.net MVCкак добавить серийный ключ к системе клиента, когда он посетить наш веб-сайт

но

серийный ключ отличается другой не такой же.

, когда я добавляю четвертый файл cookie, тогда 1 ключ автоматически удаляется.

как я могу это сделать.

, когда пользователь хочет посмотреть, то он может видеть последние 3 ключа.

Вы знаете, как добавить этот файл cookie в клиентскую систему на веб-сайте asp.net mvc.

как я могу добавить ключ1, ключ 2, ключ3 к клиентской системе.

ответ

1

Вот как вы можете сделать это.

Написание серийных ключей.

//create a cookie 
HttpCookie SerialKeys = new HttpCookie("SerialKeys"); 

//Add serial-key-values in the cookie 
SerialKeys.Values.Add("key1", "your-first-serialkey"); 
SerialKeys.Values.Add("key2", "your-second-serialkey"); 
SerialKeys.Values.Add("key3", "your-third-serialkey"); 
SerialKeys.Values.Add("key4", "your-fourth-serialkey"); 

//set cookie expiry date-time. Made it to last for next 12 hours. 
SerialKeys.Expires = DateTime.Now.AddHours(12); 

//Most important, write the cookie to client. 
Response.Cookies.Add(SerialKeys); 

Считывание серийного ключа печенье.

//Assuming user comes back after several hours. several < 12. 
//Read the cookie from Request. 
HttpCookie SerialKeys = Request.Cookies["SerialKeys"]; 
if (SerialKeys == null) 
{ 
    //No cookie found or cookie expired. 
    //Handle the situation here, Redirect the user or simply return; 
} 

//ok - cookie is found. 
//Gracefully check if the cookie has the key-value as expected. 
if (!string.IsNullOrEmpty(SerialKeys.Values["key1"])) 
{ 
    string serialKey = SerialKeys.Values["key1"].ToString(); 
    //Yes key1 is found. Mission accomplished. 
} 

if (!string.IsNullOrEmpty(SerialKeys.Values["key2"])) 
{ 
    string serialKey = SerialKeys.Values["key2"].ToString(); 
    //Yes key2 is found. Mission accomplished. 
} 
0

Вы можете добавлять файлы cookie к пользователю, когда пользователь начинает сеанс. Это можно сделать, обработав запуск сеанса даже в файле global.asax вашего приложения, добавив в логический код для создания этих ключей.

void Session_OnStart() { 
    HttpCookie key1 = new HttpCookie("key1","123"); 
    Request.Cookies.Add(key1); 
} 

Тогда для 4 печенья вещи ваших говорил о том, вы можете создать свой код логику, ссылаясь на пользователь куков с помощью Response.Cookies["cookie"] или удалить его с помощью Request.Cookies.Remove("cookie");

0

Все предел браузера так или иначе на сумму куки-файлов, которые может хранить определенный веб-сайт. Если, например, ваш браузер принимает n файлов cookie, при отправке n + 1 браузер удалит ваш самый старый. Мне кажется, что это то, что происходит.

Возможным решением является использование одного файла cookie с различными подвалами вместо одного. Таким образом, вы можете иметь в одном cookie столько значений, сколько хотите (всегда подчиняется максимальному размеру файла cookie, который составляет 4086 байт).

код, чтобы сделать это было бы что-то вроде:

//This code creates the cookie, ads some subvalues to it and then adds it to the request so its sent to the browser 
HttpCookie cookie = new HttpCookie(); 
cookie.Name = "MyKeys";    
cookie.Values.Add("Key1", "ValueKey1"); 
cookie.Values.Add("Key2", "ValueKey2"); 
cookie.Values.Add("Key3", "ValueKey3"); 
//etc... 

Request.Cookies.Add(cookie); 

//This code reads the data from the cookie. 
HttpCookie rcookie = Response.Cookies.Get("MyKeys"); 
string value1, value2, value3; 
//We verify it the variable is null because the cookie might not exist in the users browser. If so, this variable would be null 
if (rcookie != null) 
{ 
    value1 = rcookie.Values.Get("Key1"); 
    value2 = rcookie.Values.Get("Key2"); 
    value3 = rcookie.Values.Get("Key3"); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^