我正在尝试设置我的网站以使用IIS7 MVC 3。
起初HttpContext.Current.User为null,
然后我删除并添加了模型:Session,FormsAuthentication 在system.webServer Models中,现在HttpContext.Current.User不为null。
但是HttpContext.Current.Profile为null,我找不到解决方法。
如果我设置<modules runAllManagedModulesForAllRequests="true">
它解决了问题,但由于性能问题,我不想使用它。
<models>
中个人资料的FormsAuthentication等效模型是什么?
有没有办法在不使用runAllManagedModulesForAllRequests的情况下获取配置文件?
Web.Config中:
<system.webServer>
<handlers>
<remove name="ASP.NET MVC" />
<add name="ASP.NET MVC" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv2.0,bitness64" />
<remove name="MvcHttpHandler" />
<add name="MvcHttpHandler" preCondition="integratedMode" verb="*" path="*.mvc" type="System.Web.Mvc.MvcHttpHandler" />
<add name="UrlRoutingHandler" preCondition="integratedMode" verb="*" path="UrlRouting.axd" type="System.Web.HttpForbiddenHandler, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</handlers>
<validation validateIntegratedModeConfiguration="false" />
<modules>
<remove name="WindowsAuthentication" />
<remove name="PassportAuthentication" />
<remove name="UrlRoutingModule-4.0" />
<add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
<remove name="Session" />
<remove name="FormsAuthentication" />
<add name="Session" type="System.Web.SessionState.SessionStateModule" />
<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" />
</modules>
答案 0 :(得分:2)
我找到了模型列表: http://msdn.microsoft.com/en-us/library/9b9dh535.aspx
并最终删除并添加了我使用的所有模块。
如果您知道在IIS 7上获取配置文件和使用MVC路由的角色的更好方法,请告诉我。
<remove name="UrlRoutingModule-4.0" />
<add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
<remove name="Session" />
<remove name="FormsAuthentication" />
<remove name="Profile" />
<remove name="RoleManager" />
<remove name="OutputCache" />
<add name="Session" type="System.Web.SessionState.SessionStateModule" />
<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" />
<add name="Profile" type="System.Web.Profile.ProfileModule" />
<add name="RoleManager" type="System.Web.Security.RoleManagerModule" />
<add name="OutputCache" type="System.Web.Caching.OutputCacheModule" />