【发布时间】:2016-11-15 17:25:06
【问题描述】:
为什么我不能使用HttpContext 或HttpCookie?
有什么特殊用途吗?
我的实际用途:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
我的命名空间:
namespace eCoffee.Main
我的班级+方法:
public class AppRunCookie
{
public static string CookieName { get; set; }
public static string Key { get; set; }
public AppRunCookie(string key)
{
CookieName = "MyCookie_" + key;
}
public static void SetCookie(string key, int cookieExpireDate = 30)
{
HttpCookie myCookie = new HttpCookie(CookieName);
myCookie["Key"] = key;
myCookie.Expires = DateTime.Now.AddDays(cookieExpireDate);
HttpContext.Current.Response.Cookies.Add(myCookie);
}
public string GetCookie()
{
HttpCookie myCookie = HttpContext.Current.Request.Cookies[CookieName];
if (myCookie != null)
{
string key = Convert.ToString(myCookie.Values["Key"]);
return key;
}
return "";
}
}
我做错了什么?
【问题讨论】:
-
“不能使用”到底是什么意思?你的错误信息是什么?如果您使用的是 Visual Studio,您可以让 VS 创建缺少的 using 语句,方法是选择有错误的行,然后按 ctrl+。并选择适当的选项。
-
@TimPohlmann 我找到了一些关于 stackoverflow 的教程。在本教程中,他们使用了 HttpCookie 语句。我试图在我自己的项目中实现这一点。 VB2015 告诉我:“找不到类型或命名空间 HttpCookie....”你是对的 VB 在正常情况下会给出一些“to do”,但在这种情况下 VB 不会给出“to do” HttpContext 方法可以我已经使用了,因为我遵循 VB 的“to do”。这是因为我使用的是最新的 .NET Core 吗?
-
VB?我假设您的意思是 VS(又名 Visual Studio)。奇怪的是它没有提出用途。
-
@TimPohlmann 对不起我的错误:我的意思是 VS for Visual Studio :)
-
如果您使用的是 ASP.Net MVC,请注意 HttpContext 位于 Controller 部分下,因为使用该框架更改了页面生命周期。 msdn.microsoft.com/en-us/library/… 可能对更多细节有用。
标签: c# asp.net asp.net-mvc cookies asp.net-mvc-5