C# 使用$http.get()访问会话变量
我一直在尝试使用angularjs的C# 使用$http.get()访问会话变量,c#,.net,angularjs,multithreading,asynchronous,C#,.net,Angularjs,Multithreading,Asynchronous,我一直在尝试使用angularjs的$http.get()方法从应用程序的Web层使用我在.NET MVC中创建的Api。我正在进行大量的$http.get()调用来调用API端点。当我尝试访问在我的应用程序的应用层中的第一个$http.get()调用上设置的会话数据时,就会出现问题。当我尝试使用另一个$http.get()访问会话数据时,该会话不可用 在角度控制器中,我正在执行以下操作: $http.get(http://localhost:50033/api/HomeController/S
$http.get()
方法从应用程序的Web层使用我在.NET MVC
中创建的Api。我正在进行大量的$http.get()
调用来调用API端点。当我尝试访问在我的应用程序的应用层中的第一个$http.get()
调用上设置的会话数据时,就会出现问题。当我尝试使用另一个$http.get()
访问会话数据时,该会话不可用
在角度控制器中,我正在执行以下操作:
$http.get(http://localhost:50033/api/HomeController/SetSessionData)
.then($http.get(http://localhost:50033/api/HomeController/GetSessionData)
.then(//Do Something with sessiondata))
在主控制器中,我正在执行以下操作:
[HttpGet]
public IHttpActionResult SetSession()
{
HttpContext.Current.Session["Data"]=//Some Data being fetched fromDB;
return //Data from DB as Json
}
[HttpGet]
public IHttpActionResult GetSession()
{
if( HttpContext.Current.Session["Data"]!=null)//I am getting Null here even though I set it in the SetSession call.
{
return Json(HttpContext.Current.Session["Data"]);
}
}
`看起来您的JavaScript格式不正确;控制器代码是从您的实际源代码复制的,还是您在此处键入的?如果它被复制,那么您可能会丢失一些“引号”标记和
function()
声明,如果JavaScript控制台显示错误,我也不会感到惊讶。如果你只是在这里输入,你可能想修改它,使它更接近你的实际代码,让其他人更容易回答。我认为你做得不对。请注意,这将消除与问题无关的任何问题。如果您的问题与编译器错误无关,请确保没有编译时错误。