如何使用 c#.net 读取另一个控制器中的 cookie?
How do I read a cookie in another Controller using c#.net?
我已经从另一个控制器创建了 cookie,我可以在浏览器中看到它,现在我正在尝试在我的项目中的另一个控制器中读取 Cookie,但是 [=21= 中的 Cookies 这个词]["MyCookie"]; 带有红色下划线,错误提示:
Error 5: 'System.Net.Http.HttpRequestMessage' does not contain a
definition for 'Cookies' and no extension method 'Cookies' accepting a
first argument of type 'System.Net.Http.HttpRequestMessage' could be
found (are you missing a using directive or an assembly reference?)
这是我的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Web;
using System.Security;
using System.Net.Http;
using System.Web.Http;
namespace Project.Controllers
{
public class UserController : ApiController
{
public String getCookie()
{
HttpCookie cookie = Request.Cookies["MyCookie"];
string username;
if( cookie != null)
{
username = Request.Cookies["MyCookie"].Value;
}
return username;
}
我对 C# .Net 还是个新手,我根本不知道如何解决这个问题。我使用的是 Visual Studio 2013。有人能帮帮我吗?
System.Net.Http.HttpRequestMessage
对象不包含 cookie 对象。要在 WebAPI 控制器中访问 cookie,您需要像这样查看 Request.Headers 对象:
CookieHeaderValue clientCookie =
Request.Headers.GetCookies("MyCookie").SingleOrDefault();
string username = clientCookie["MyCookie"].Value;
试试这个
string username="";
var cookie = Request.Headers.GetCookies("MyCookie").SingleOrDefault();
if (cookie != null)
{
username = cookie["MyCookie"].Value;
}
我已经从另一个控制器创建了 cookie,我可以在浏览器中看到它,现在我正在尝试在我的项目中的另一个控制器中读取 Cookie,但是 [=21= 中的 Cookies 这个词]["MyCookie"]; 带有红色下划线,错误提示:
Error 5: 'System.Net.Http.HttpRequestMessage' does not contain a definition for 'Cookies' and no extension method 'Cookies' accepting a first argument of type 'System.Net.Http.HttpRequestMessage' could be found (are you missing a using directive or an assembly reference?)
这是我的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Web;
using System.Security;
using System.Net.Http;
using System.Web.Http;
namespace Project.Controllers
{
public class UserController : ApiController
{
public String getCookie()
{
HttpCookie cookie = Request.Cookies["MyCookie"];
string username;
if( cookie != null)
{
username = Request.Cookies["MyCookie"].Value;
}
return username;
}
我对 C# .Net 还是个新手,我根本不知道如何解决这个问题。我使用的是 Visual Studio 2013。有人能帮帮我吗?
System.Net.Http.HttpRequestMessage
对象不包含 cookie 对象。要在 WebAPI 控制器中访问 cookie,您需要像这样查看 Request.Headers 对象:
CookieHeaderValue clientCookie =
Request.Headers.GetCookies("MyCookie").SingleOrDefault();
string username = clientCookie["MyCookie"].Value;
试试这个
string username="";
var cookie = Request.Headers.GetCookies("MyCookie").SingleOrDefault();
if (cookie != null)
{
username = cookie["MyCookie"].Value;
}