MVC IIS7 HttpContext.Current.Profile является нулевым - PullRequest
2 голосов
/ 04 сентября 2011

Я пытаюсь настроить свой сайт для работы с IIS7 MVC 3.

Сначала HttpContext.Current.User был нулевым,

Затем я удалил и добавил модели: Session,FormsAuthentication в моделях system.webServer, теперь HttpContext.Current.User не является нулевым.

Но HttpContext.Current.Profile является нулевым, и я не могу найти работу вокруг.

Если я установил<modules runAllManagedModulesForAllRequests="true"> это исправило проблему, но я не хочу использовать ее из-за проблем с производительностью.

Что эквивалентно модели FormsAuthentication для профиля в <models>?

Есть ли способ получить профиль без использования 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>

1 Ответ

2 голосов
/ 04 сентября 2011

Я нашел список моделей: http://msdn.microsoft.com/en-us/library/9b9dh535.aspx

и закончил тем, что удалил и добавил все используемые мной модули.

Пожалуйста, дайте мне знать, если вы знаете лучший способ получить профиль иРоли с MVC Routing на IIS 7.

 <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" />
...