Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC中使用会话变量时出现ADFS登录错误_C#_Asp.net Mvc_Adfs - Fatal编程技术网

C# MVC中使用会话变量时出现ADFS登录错误

C# MVC中使用会话变量时出现ADFS登录错误,c#,asp.net-mvc,adfs,C#,Asp.net Mvc,Adfs,当我使用Session变量并执行以下操作时,出现此错误: 1) 通过ADFS登录并访问应用程序 2) 做手术 3) 关闭所有浏览器会话。(发生在IE和Chrome中) 4) 我再次尝试通过ADFS登录,它重定向了大约4次,并抛出错误 必须重新启动IIS才能使应用程序正常工作,因为它会全局影响应用程序。一旦发生此错误,任何用户都无法访问它 我把范围缩小到会话变量,即使我使用TempData、ViewBag、ViewData,它也会给出错误。如果我删除了会话变量,它就会工作,但不会给我错误 知道会话

当我使用Session变量并执行以下操作时,出现此错误:

1) 通过ADFS登录并访问应用程序 2) 做手术 3) 关闭所有浏览器会话。(发生在IE和Chrome中) 4) 我再次尝试通过ADFS登录,它重定向了大约4次,并抛出错误

必须重新启动IIS才能使应用程序正常工作,因为它会全局影响应用程序。一旦发生此错误,任何用户都无法访问它

我把范围缩小到会话变量,即使我使用TempData、ViewBag、ViewData,它也会给出错误。如果我删除了会话变量,它就会工作,但不会给我错误

知道会话变量导致错误的原因吗

[HttpPost]
[ValidateAntiForgeryToken]
//在单击按钮时被调用
公共操作结果SaveDoc()
{
会话[“myList”]=bpc.UploadDocument(dto);
返回Json(新的{success=true,redirectToUrl=Url.Action(“Summary”)});
}
公共行动结果摘要()
{
返回视图();
}
[HttpPost]
public ActionResult GetResults_列表([DataSourceRequest]DataSourceRequest请求,CloudDTO)
{           
var getResults=(列表)会话[“myList”];
返回Json(getResults.ToDataSourceResult(请求),JsonRequestBehavior.AllowGet);
}
客户端

函数btnSubmitClick(){
显示微调器(真);
$.ajax({
url:'@url.Action(“SaveDoc”,“Home”),
数据类型:“json”,
数据:{
__RequestVerificationToken:$('[name=u RequestVerificationToken]')。val(),
URL:value,
CloudProvider:$(“#CloudProvider”).data(“kendoDropDownList”).text(),
},
类型:“职位”
}).成功(功能(数据){
if(data.success){
//成功后,我们进入总结页面。
window.location.href=data.redirectToUrl;
}
否则{
//发送给用户的错误消息。
$(“#validationMessage”).html(data.message);
}
})
.done(函数(){
显示微调器(假);
});

我遇到了完全相同的问题,我也意识到这是由于会话变量的使用

发生这种情况的原因是会话变量干扰了Owin响应头设置的cookie。解决此问题的方法是创建自定义cookie管理器。这为我解决了此问题


这篇Microsoft文章解释了这个问题,并提供了创建自定义cookie管理器的代码示例:

我遇到了完全相同的问题,我还意识到这是由于使用了会话变量

发生这种情况的原因是会话变量干扰了Owin响应头设置的cookie。解决此问题的方法是创建自定义cookie管理器。这为我解决了此问题


这篇Microsoft文章解释了这个问题,并提供了创建自定义cookie管理器的代码示例:

谢谢Steve。我还没有尝试过这个解决方案,但这是有意义的。不幸的是,我退出了我的应用程序,在我的应用程序中不使用任何会话变量。我希望我可以多次投票支持它!我花了一段时间才找到它,但它工作起来很有魅力-谢谢。谢谢史蒂夫。我还没有尝试过这个解决方案,但这是有意义的。不幸的是,我辞职了我的应用程序,在我的应用程序中没有使用任何会话变量。我希望我能多次投赞成票!花了一段时间找到这个,但它工作起来很有魅力-谢谢。