Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.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#ASP.NET TempData正在工作,但现在不工作了';在3台计算机中的2台上_C#_Asp.net_Iis Express_Tempdata - Fatal编程技术网

C#ASP.NET TempData正在工作,但现在不工作了';在3台计算机中的2台上

C#ASP.NET TempData正在工作,但现在不工作了';在3台计算机中的2台上,c#,asp.net,iis-express,tempdata,C#,Asp.net,Iis Express,Tempdata,我正在从事一个在VS Community 2017中开发的.net核心MVVC项目,并使用IIS Express 10。在我开发的三台计算机中,有两台没有使用TempData,我遇到了一些问题。在某一点上,它对这三个方面都起了作用 我在重定向期间使用TempData存储信息,然后将TempData传输到ViewData以显示在视图页面上。我遇到了一些问题(我不记得现在是什么),当时我正在从一位同事那里得到帮助,在他的故障排除过程中,一个对话框弹出,说了一些关于SSL的内容,我不记得他单击了什么,

我正在从事一个在VS Community 2017中开发的.net核心MVVC项目,并使用IIS Express 10。在我开发的三台计算机中,有两台没有使用TempData,我遇到了一些问题。在某一点上,它对这三个方面都起了作用

我在重定向期间使用TempData存储信息,然后将TempData传输到ViewData以显示在视图页面上。我遇到了一些问题(我不记得现在是什么),当时我正在从一位同事那里得到帮助,在他的故障排除过程中,一个对话框弹出,说了一些关于SSL的内容,我不记得他单击了什么,但从那时起,TempData停止了工作。我认为他做的一件事与我不同,那就是在调试区域的顶部,他单击了IIS Express下拉菜单,选择了项目名称选项。TempData现在在重定向后显示为null。当我在家用电脑上打开项目时,TempData可以正常工作。我有一台第三台计算机,我在上面做了一些开发,它过去一直在工作,直到SSL框出现在上面,它也停止了工作。我猜它正在重定向到我想要的页面,但它在途中的某个地方停了下来,数据丢失了

我尝试卸载并重新安装VS和IIS Express,没有任何更改。我还尝试在没有更改的情况下删除解决方案中的.vs文件夹。我尝试在命令提示符下使用iisexpress命令清除网站。我也在Chrome(它曾经工作过的地方)和InternetExplorer上试用过,没有任何变化。我试着在调试和不调试的情况下运行它,没有任何更改


因此,TempData不再在两台计算机上工作(如果需要的话,两台都是windows10),我的家用计算机(windows7)也可以正常工作。有人有什么想法吗

首先,仔细看看你的问题

“一位同事和他一起排除故障的时候,一个盒子突然出现并说 关于SSL,我不记得他点击了什么“

mybe您的同事在开发环境中启用了ssl,运行项目后,您必须信任本地IIS证书

我认为您必须为使用SSL配置cookie,例如
,或者您可以禁用SSL进行开发,一切都会好起来的

当然,您可以检查在家庭计算机中您的URL是否有HTTP,在其他两台计算机中,URL以HTTPS开头


另一方面,我建议您比较web.config结构。

我最终在


为了解决这个问题,我修改了我的
Startup.cs文件
,以便
app.UseCookiePolicy()放在
app.UseMvc()之后。我不知道为什么它只影响我的一台计算机,但它解决了这个问题。

我仔细检查了,并且在所有三台具有有效证书的计算机上都启用了SSL。我没有要编辑的web.config文件。在Project->[projectname]->Debug中,也会选中启用SSL。请尝试使用代理(如fiddler)查看从浏览器发出的请求。它可能有助于诊断问题关于ssl的框中说了什么?您能解释一下“TempData现在在重定向后显示为null”中的重定向吗?据我所知,tempdata仅适用于从同一客户机上的同一页面到同一服务器的连续请求。如果您在连续请求期间重定向或不访问tempdata dictionary,则它将丢失。@ste fu我使用Chrome中的开发人员工具来观察该过程,它的工作方式与我预期的一样。从一个页面到下一个页面,中间没有任何内容,如果这是您所指的。@HazardousGlitch:这是有意义的,前提是,在您的一台工作计算机上,它没有被重定向,或者没有以与在另两台非工作计算机上使用相同的方式使用ssl。仅此而已。