Это должно быть достаточно простым, хотя я нахожу, что могу устанавливать только файлы cookie, но не читать их, несмотря на то, что мой браузер показывает мне файл cookie.ASP.NET MVC не может читать куки
В моей HomeController
я установить куки, когда пользователь вводит правильную строку:
[HttpPost]
public ActionResult Index(string fMemberCode)
{
try
{
// TODO: controller-->member table module-->member data gateway-->DB
// Check member num against member table
// Return cookie if exists
// Return error if not
MembersModule membersModule = new MembersModule();
int memberId = membersModule.AuthMember(fMemberCode);
if (memberId > 0)
{
HttpCookie mCookie = new HttpCookie("MMedia");
mCookie.Value = memberId.ToString();
Response.Cookies.Add(mCookie);
}
else { }
return RedirectToAction("Index");
}
catch
{
return View();
}
}
Тогда позже, в другом контексте, LibraryController
необходимо проверить печенье присутствует:
public LibraryController()
{
// TODO
// Check member cookie present
int id = int.Parse(Request.Cookies["Media"].Value);
if (id > 0)
this.module = new LibraryModule(id);
else throw new Exception("Invalid cookie");
}
Однако при переходе по коду в VS2012, когда линия выполнения в LibraryController
достигает:
int id = int.Parse(Request.Cookies["Media"].Value);
Исключение брошено: Object reference not set to an instance of an object
Является ли 'MMedia' опечаткой, когда вы идете ее создать? (по сравнению с «Медиа», когда вы его напомнили) –
Я изменил имя, чтобы быть более подходящим. Проблема все еще остается. – Lee
И вы подтвердили, что файл cookie возвращается пользователю, и пользователь отправляет файл cookie на будущие запросы? (Вы говорите, что браузер показывает вам файл cookie, но не знал, может ли игра «путь» или «домен» играть роль.) –