首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Windows4.5MVC 4在ASP.NET Server 2008 IIS7上不工作

Windows4.5MVC 4在ASP.NET Server 2008 IIS7上不工作
EN

Stack Overflow用户
提问于 2012-09-19 21:05:35
回答 9查看 94.2K关注 0票数 53

显然,我遗漏了一些东西,我无法在.NET 7上的Windows Server2008上部署一个简单的WindowsMVC4,IIS4.5应用程序。

已安装.NET Framework4.5。

我是否应该在应用程序的应用程序池基本设置中看到该版本(4.5)?在这个时候,我只有2.0和4.0,因为4.5就像3.5,它只是在4.0框架之上添加,我想这是正常的。

当我浏览主页时,我得到了以下错误:

403 -禁止:访问被拒绝。您没有使用您提供的凭据查看此目录或页面的权限。

当我请求名为page / Page /index的唯一控制器时,我得到了404not found页面。例如,ASP.NET进程永远不会收到http请求。

我可以请求一个简单的HTML页面。

应用程序池设置为.NET 4.0,并作为托管管道模式集成。

网络服务对该目录具有读/写访问权限。

当然,这款应用在VS2012上运行得天衣无缝。

我对这里不正确的地方一无所知,搜索引擎查询也没有多大帮助。

有没有人能给点提示,我会非常感激的。谢谢

编辑

dlls已经在System.Web.Mvc、System.Web.Razor等bin文件夹中。

我创建了一个空的test.aspx页面,以确保asp.net工作进程正在接收请求,是的,该页面是正常的。所以看起来MVC路由不工作,尽管我有ASP.NET mvc3web应用程序在该服务器上工作正常。

在.NET 4.5安装之后,我做了一个aspnet_regiis -iru以防万一,在应用程序上添加了一个aspnet_client文件夹,但这仍然不能解决问题。

在IIS身份验证部分启用匿名身份验证,并对所有用户显示允许身份验证。

安装了ASP.NET MVC4,我刚刚做了一次修复以确保。

即使安装了IISMVC4,请求/page/index操作产生的404错误也是由标准ASP.NET返回的,而不是标准的ASP.NET错误。因此,看起来MVC4框架确实没有正确安装,我只是再次检查并进行了修复。我可以在哪里继续调查?

@Mystere Man,我已经将匿名身份验证更改为使用应用程序池身份,停止,启动应用程序,但仍然是相同的错误。如果ASP.NET MVC4不接受请求,看起来真的很像。

下面是web.config的一部分:

  <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <handlers>
      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
      <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
      <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
    </handlers>
  </system.webServer>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
  </entityFramework>

编辑2012/09/27

我重新配对了微软框架MVC4.5并修复了ASP.NET .NET 4,重新部署了简单的ASP.NET MVC4应用程序,但我仍然得到了相同的行为。我不确定下一步该做什么,所以我发起了一次赏金,希望有人能帮我找到问题所在。

编辑2014/01/31

当我问这个问题时,我将runAllManagedModulesForAllRequests标记为可接受的答案,因为它确实解决了问题。但我肯定不会在生产中使用它。我问为什么我必须这样做,但没有任何答案。

Than Martin Hollingsworth answer确实是我正在寻找的,一个解决这个问题的好方法,而不是所有与runAllManagedModulesForAllRequests相关的性能问题。

我们几乎放弃了,买了一台新的Windows2012服务器( ASP.NET MVC应用程序就是从这台服务器上运行的)。在尝试了Martin的解决方案之后,Windows2008服务器开始工作了。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12495346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档