2010-10-28 3 views
1
[WebMethod] 
    public static void SetTheme(string theme) 
    { 
    Guid studentIdentifier = SessionData.LoggedInUser.Identifier; 
    Student student = (Student)ItemFactory.GetItem(studentIdentifier); 
    student.Theme = theme; 
    } 

И я хочу изменить файл cookie, который также называется «тема», в конце этого WebMethod. Как я могу это сделать? Печенье должно быть установлено здесь, а не через JavaScript. Это требование. СпасибоКак изменить значение cookie из WebMethod?

ответ

5

Вы можете получить доступ к HttpContext в своем веб-методе, а оттуда - получить объект ответа.

var response = HttpContext.Current.Response; 

Объект HttpResponse позволяет получить доступ к куки, посланные в браузер с ответом:

if(response.Cookies["theme"]!=null) 
    response.Cookies["theme"].Value = myValue; 

MSDN documentation делает хорошую работу, объясняя это. Вы также можете получить доступ к файлам cookie запросов, используя HttpContext.Current.Request

+0

Вы правы, мне пришлось использовать: HttpContext.Current.Response.Cookies ["theme"]. Value = theme; Спасибо. –