【发布时间】:2015-07-16 13:23:07
【问题描述】:
我觉得我遇到了和described in this thread 一样的问题。一世 我正在开发一个在本地运行良好的 ASP.NET MVC Web 应用程序。但是,当使用 IIS7 部署到我们的 Windows Server 2008 时,尝试登录时出现以下错误:
在上下文中找不到 owin.Environment 项。
这是触发此错误的行:
return _signInManager ?? HttpContext.GetOwinContext().Get<ApplicationSignInManager>();
我已经尝试了所有我能找到的:
- 在 web.config 中添加
<add key="owin:AppStartup" value="My_App.Startup,My-App"/>。我的应用程序的名称中有一个连字符,但是 这应该不是问题吧? - 将
<add key="owin:AutomaticAppStartup" value="true"/>添加到 web.config。 - 将
<modules runAllManagedModulesForAllRequests="true">添加到 web.config。 - 我确认
Microsoft.Owin.Host.SystemWeb已安装并在 bin 文件夹。 - 清除 ASP.net 临时文件。
- 应用程序池设置为“集成”
它在本地工作得很好。 我错过了什么?
这不是 this 线程的副本。我从那里尝试了解决方案(请参阅我的#1),但没有成功。另外,我没有更改命名空间。
编辑 一种解决方案是在 web.config 中显式注册 OwinHttpHandler 但这有一些奇怪的副作用(我的 CSS 和 JavaScript 不再加载,状态 404?):
<handlers>
<add name="OWIN" path="*" verb="*" type="Microsoft.Owin.Host.SystemWeb.OwinHttpHandler" />
</handlers>
【问题讨论】:
-
这不是重复的,因为那里给出的解决方案对我不起作用 - 我已经尝试过了(请参阅我的第 1 点和第 4 点)
-
应用池是如何配置的?
-
应用池设置为集成。
-
确保身份工作者完全控制根文件夹并将 CAS 信任级别设置为完全