C# ASP.NET TempData 正在运行,但现在它不在 3 台计算机中的 2 台上

标签 c# asp.net iis-express tempdata

我正在开发一个在 VS 社区 2017 中开发并使用 IIS Express 10 的 .net Core MVVC 项目,我遇到了 TempData 无法在我开发的 3 台计算机中的两台上运行的问题。在某一时刻,它确实对所有三个都起作用。

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

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

因此,TempData 不再适用于两台计算机(如果重要的话,两台都是 Windows 10),而我的家用计算机 (Windows 7) 工作正常。有人有主意吗?

最佳答案

首先仔细看看你的问题

"a co-worker and during his troubleshooting a box popped up and said something about SSL and I don't remember what he clicked"

我是你的同事在开发环境中启用了 ssl 并且在运行项目后你必须信任本地 IIS 证书。

我认为您必须配置 cookie 以使用 SSL 例如 <httpCookies requireSSL="true" />或者您可以禁用 SSL 进行开发,一切都会好起来的。

确保您可以检查您的 URL 在家用计算机中是否具有 HTTP,而在其他两台计算机中 URL 是否以 HTTPS 开头。

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

关于C# ASP.NET TempData 正在运行,但现在它不在 3 台计算机中的 2 台上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52798702/

相关文章:

c# - 在 .NET Core 项目中找不到 System.ServiceModel

asp.net - ASMX 网络服务 "Server did not recognize the value of HTTP Header SOAPAction"

asp.net-mvc - ASP.NET MVC5/IIS Express 无法调试 - 代码未运行

.net - IIS 无法访问证书存储

c# - 使用 Linq 比较两个通用列表

c# - 在单个循环中循环多维数组

c# - 如何使用泛型类型的 DataContractSerializer 编写自定义序列化器?

c# - 使用 Entity Framework 7 添加新迁移时表未添加到数据库

c# - Silverlight 4 和启用了 silverlight 的 WCF WebService - 无法让它工作

asp.net - 错误: allowDefinition ='MachineToApplication' beyond application level