相关疑难解决方法(0)

在上下文中找不到owin.Environment项

微软最近推出了新的ASP.NET身份 - 替换旧的(简单)成员资格.不幸的是,我不能在我的旧项目中使用这个新的成员资格系统,因为它抛出System.InvalidOperationException:在上下文中找不到owin.Environment项.这是一个已知的错误,但微软对这个问题保持沉默.重现此错误的最简单方法 - 在VS 2013(使用Web Tools 2013 Preview Refresh)创建新的Web应用程序(MVC,WebForms或WebApi - 无关紧要),然后转到登录页面.它会工作.然后将应用程序中的命名空间更改为原始命名空间以外的任何内容,登录页面将抛出该错误 将名称空间更改回原始名称(您在创建项目时使用的名称空间)将解决此问题.

它看起来像.net存储某个与原始命名空间相关的东西,但是我找不到它在哪里和哪里,它不在项目文件夹中.我知道stackoverflow不是bug报告的地方,我只是希望有人已经找到了解决这个问题的方法,或者参与ASP.NET身份开发的人会看到这个.

.net asp.net owin katana asp.net-identity

28
推荐指数
5
解决办法
4万
查看次数

ASP.NET MVC:没有owin.Environment

我觉得我遇到了与此主题中描述的问题相同的问题.我正在开发一个在本地运行良好的ASP.NET MVC Web应用程序.但是,当使用IIS7部署到我们的Windows Server 2008时,尝试登录时出现以下错误:

在上下文中找不到owin.Environment项.

这是触发此错误的行:

return _signInManager ?? HttpContext.GetOwinContext().Get<ApplicationSignInManager>();
Run Code Online (Sandbox Code Playgroud)

我尝试了所有我能找到的东西:

  1. 添加 <add key="owin:AppStartup" value="My_App.Startup,My-App"/>web.config脚趾.我的应用程序在其名称中有一个连字符,但这应该不是问题,对吧?
  2. 添加<add key="owin:AutomaticAppStartup" value="true"/>到web.config.
  3. 添加<modules runAllManagedModulesForAllRequests="true">到web.config.
  4. 我确认Microsoft.Owin.Host.SystemWeb已安装并在bin文件夹中.
  5. 清除ASP.net临时文件.
  6. 应用程序池设置为"集成"

它在当地工作得很好.我错过了什么?

这不是主题的重复.我从那里尝试过解决方案(参见我的#1)但没有成功.另外,我还没有更改名称空间.

编辑 一个解决方案是在web.config中显式注册OwinHttpHandler但这有一些奇怪的副作用(我的CSS和JavaScript不再加载,状态404?):

<handlers>
    <add name="OWIN" path="*" verb="*" type="Microsoft.Owin.Host.SystemWeb.OwinHttpHandler" />
</handlers>
Run Code Online (Sandbox Code Playgroud)

c# asp.net iis

7
推荐指数
1
解决办法
1526
查看次数

标签 统计

asp.net ×2

.net ×1

asp.net-identity ×1

c# ×1

iis ×1

katana ×1

owin ×1