2010-09-15 51 views
1

我已經將我們的項目從一個網站升級到一個Web應用程序並導入到VS2k10。MVC.NET Routing在開發服務器中工作,但不在IIS 7.0上

我已經添加了以下參考:

System.Web.Abstractions

System.Web.MVC

System.Web.Routing ...

變化的目標框架4.0 ...

添加了一個控制器'HomeController.cs'...這現在可以在開發服務器,但不在IIS 7.0中

的Windows Server R2 2K8 VS2010 .NET 框架4.0

應用程序池的綜合管線模式下運行......我在爲什麼它在開發服務器,但不是IIS有點糊塗.. 。

<system.webServer> 
    <modules> 
     <add name="ErrorHandlerModule" type="System.Web.Mobile.ErrorHandlerModule, System.Web.Mobile, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" preCondition="managedHandler" /> 
     <add name="ServiceModel" type="System.ServiceModel.Activation.HttpModule, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler" /> 
     <add name="Page" type="Impark.MPS.SelfServe.UIL.GlobalPageEvents, PageEventsModule" preCondition="managedHandler" /> 

    </modules> 
    <handlers> 
     <add name="*.vbhtml_*" path="*.vbhtml" verb="*" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv2.0" /> 
     <add name="*.vbhtm_*" path="*.vbhtm" verb="*" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv2.0" /> 
     <add name="*.cshtml_*" path="*.cshtml" verb="*" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv2.0" /> 
     <add name="*.cshtm_*" path="*.cshtm" verb="*" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv2.0" /> 
     <add name="*.aspq_*" path="*.aspq" verb="*" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv2.0" /> 
     <add name="*.xamlx_*" path="*.xamlx" verb="*" type="System.Xaml.Hosting.XamlHttpHandlerFactory, System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv2.0" /> 
     <add name="*.xoml_*" path="*.xoml" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv2.0" /> 
     <add name="*.rules_*" path="*.rules" verb="*" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv2.0" /> 
     <add name="*.svc_*" path="*.svc" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv2.0" /> 
     <add name="*.soap_*" path="*.soap" verb="*" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" /> 
     <add name="*.rem_*" path="*.rem" verb="*" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" /> 
     <add name="*.asmx_*" path="*.asmx" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv2.0" /> 
     <add name="ScriptResource.axd_GET,HEAD" path="ScriptResource.axd" verb="GET,HEAD" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv2.0" /> 
     <add name="*_AppService.axd_*" path="*_AppService.axd" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv2.0" /> 
     <add name="eurl.axd_*" path="eurl.axd" verb="*" type="System.Web.HttpNotFoundHandler" preCondition="integratedMode,runtimeVersionv2.0" /> 
    </handlers> 
    <validation validateIntegratedModeConfiguration="false" /> 
</system.webServer> 

對不起,忘了提。在開發服務器上,我得到了預期的響應。 IIS中的相同URL我得到: 錯誤摘要 HTTP錯誤404.0 - 未找到 您正在查找的資源已被刪除,名稱已更改或暫時不可用。

+1

有你確信你已經感動了所有必需的文件到發生故障的機器。該錯誤是說它無法找到該文件? – klabranche 2010-09-15 15:48:07

+0

相同的物理機器和相同的路徑... IE瀏覽器沒有移動文件...但我只是發現一個線索...當我添加一個虛擬服務器路徑在開發服務器現在也失敗了... IE瀏覽器http:// localhost:9999/Home works ...但是http:// localhost:9999/Company.project.SubProject.Target/Home沒有 – Gary 2010-09-15 15:50:39

回答

1

如果您使用的是.NET 4.0,你應該從你的先決條件刪除runtimeVersionv2.0

相關問題