привет, я определил один класс для создания куки по полученным параметрам от пользователя. когда я хочу добавить cookie в контекст, я получаю исключение.
Мой класс
public static class ManageCookies
{
public static void Create(string name, string value)
{
HttpCookie cookie = new HttpCookie(name);
cookie.Value = value;
cookie.Expires = DateTime.Now.AddYears(1);
HttpContext.Current.Response.Cookies.Add(cookie);
}
}
Произошло исключение: Ответ в этом контексте недоступен.
Я знаю, что это связано с контекстом, в котором выполняется текущая подпрограмма.
я бы предложил моей функции передать текущий HttpResponse в качестве параметра этому параметру!
public static class ManageCookies
{
public static void Create(string name, string value, HttpResponse response)
{
HttpCookie cookie = new HttpCookie(name);
cookie.Value = value;
cookie.Expires = DateTime.Now.AddYears(1);
response.Cookies.Add(cookie);
}
public static void PrePareForApplicationStart()
{
Create("somecookie", "somevalue", _context);
}
}
это правильный путь? Зачем? а у тебя есть другой способ?
ОБНОВЛЕНИЕ: Оппс! с помощью этого способа еще есть первое исключение! : ((Справка Справка
ManageCookies manager = new ManageCookies(this.Context);
manager.PrePareForApplicationStart();
Я использую приведенный выше код для отправки объекта HTTPContext в определенный класс. он вызывается из события Application_Start.
и класс ManageCookies обновлены, как показано ниже:
public class ManageCookies
{
private HttpContext _context;
public ManageCookies(HttpContext context)
{
this._context = context;
}
}
я использую эту переменную (_context) для добавления файлов cookie!