2013-11-29 5 views

ответ

0

С C#.Net Web Application вы можете прочитать & печенье записи следующим образом:

Writing a Cookie:

HttpCookie myCookie = new HttpCookie("myCookie"); 
myCookie.Value = "SomeInfo"; 
myCookie.Expires = DateTime.Now.AddDays(1d); 
Response.Cookies.Add(myCookie); 

Reading a Cookie:

HttpCookie myCookie = Request.Cookies["myCookie"]; 
-1

Куки-файлы не существуют в приложениях Windows - вместо этого данные либо сохраняются d в файлах или в настройках приложения или в реестре в зависимости от количества данных и его организации. Вы можете сохранить его в базе данных или XML-файле или в виде двоичной информации striaght.

Но вы не используете файлы cookie в приложениях Windows - они предназначены для установки на клиенте с сервера, и эти понятия не применяются при использовании приложений Windows.

Настройки приложения, вероятно, самые простые: 1) Нажмите на проект в обозревателе решений, выберите «Свойства». 2) Дважды щелкните «Settings.Settings». 3) В появившемся диалоговом окне «Создать настройки приложения», указав «Имя», «Тип» и «Значение», оставьте поле «Область» как «Пользователь». 4) Теперь вы можете сохранять и загружать значения легко:

 Properties.Settings.Default.MySettingString = "New Value"; 
     Properties.Settings.Default.Save(); 
     ... 
     string myValue = Properties.Settings.Default.MySettingString; 

подробнее см это https://stackoverflow.com/search?q=create+cookie+in+windows+application+C%23

+0

Я хотел бы написать файл cookie из приложения Windows. Таким образом, пользовательское оборудование может связываться с веб-страницей. –

0

Вы можете использовать System.Net.CookieContainer класс для хранения значения печенья по запросу.

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); 
request.CookieContainer = cookieContainer; 
// Do something with this request 

Какой cookieContainer является переменной, чтобы сохранить печенье преобразования между приложением и веб. Вы можете инициализировать его один раз при первом запуске приложения.

+0

Сэр, я попробовал 'System.Net.CookieContainer cookieContainer = new CookieContainer();' 'HttpWebRequest request = (HttpWebRequest) WebRequest.Create (" http: // localhost: 1155/UI/frmLogin.aspx "); request.CookieContainer = cookieContainer; cookieContainer.Добавить (новый Uri (@ "http: // localhost: 1155/UI/frmLogin.aspx"), cook); ' Но из веб-приложения, когда я пытаюсь получить доступ к этому файлу cookie, он показывает нулевое исключение ссылки – bageesh

+0

Как вы создали 'cook'? –

+0

не могли бы вы дать мне код – bageesh

0

Может быть, это поможет вам

  HttpWebRequest request = (HttpWebRequest)WebRequest.Create(args[0]); 
      request.CookieContainer = new CookieContainer(); 

      HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
      response.Cookies = request.CookieContainer.GetCookies(request.RequestUri); 

      foreach (Cookie cook in response.Cookies) 
      { 
       Console.WriteLine("Cookie:{0} = {1}", cook.Name, cook.Value); 
      } 
3

Вы должны вызвать Win API для создания куки.

[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)] 
private static extern bool InternetSetCookie(string url, string name, string data); 

Код, указанный выше, должен быть указан в вашем коде на уровне класса.

Функция может быть вызвана из вашего кода (например, обработчик события нажатия) следующим образом:

InternetSetCookie("http://www.example.com", "CookieName", "data=cookieData; expires = Sat,01-Jan-2012 00:00:00 GMT; path=/"); 

Эти куки затем установить и если вы начинаете свой браузер эти куки присутствуют и используются.

+0

откуда я получаю это ** wininet.dll ** – bageesh

+0

@bageesh С [MSDN] (http://msdn.microsoft.com/en-us/library/windows/desktop/aa385331.aspx): Приложения, которые используют API WinINet требует Windows NT 4.0 или новее, или Windows Me/98/95. Для получения дополнительной информации о том, какие операционные системы или компоненты необходимы для использования определенного элемента программирования, см. Раздел «Требования» документации. – SynerCoder

+0

Это * действительно * - это тот, который будет использоваться для winforms или приложения без веб-формы. –

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