как добавить серийный ключ в клиентскую систему при посещении нашего сайта - PullRequest
0 голосов
/ 02 июля 2010

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

но

Серийный ключ отличается отличается, не то же самое.

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

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

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

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

как я могу добавить key1, key 2, key3 в клиентскую систему.

Ответы [ 3 ]

1 голос
/ 02 июля 2010

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

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

//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);

Чтение файла cookie с серийным ключом.

//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 голосов
/ 02 июля 2010

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

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

Код для выполнения этого будет выглядеть примерно так:*

0 голосов
/ 02 июля 2010

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

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

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

...