从IIS 6迁移到IIS 7,启动服务.html文件时出错

时间:2014-10-14 14:10:45

标签: .net web-config iis-7.5

我目前正在尝试从2010年迁移到Visual Studio 2013,并将我的应用程序从IIS 6迁移到IIS 7.5。

我有一个Backbone SPA风格的应用程序,它使用瘦的.net后端,在启动时我们通过IIS加载我们的index.html。我的VS2013和VS2010都有我的项目,在2010年使用“Visual Studio开发服务器”(我理解为IIS 6)项目加载并运行良好。

我的web.config看起来像这样:

 <system.web>
   <compilation debug="true" targetFramework="4.0">
   </compilation>
     <customErrors mode="Off"></customErrors>
     <httpRuntime maxRequestLength="153600" maxUrlLength="2048" relaxedUrlToFileSystemMapping="true" />
    </system.web>
    <system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name="X-UA-Compatible" value="chrome=1" />
      </customHeaders>
    </httpProtocol>
        <modules runAllManagedModulesForAllRequests="true">
            <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
        </modules>
        <handlers>
            <!-- Make sure we can use this handler for any URL because we're using ReST. The default is
            for it to be used only for .svc -->
            <remove name="svc-Integrated-4.0" />
            <add name="svc-Integrated-4.0" path="*" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode,runtimeVersionv4.0" />
        </handlers>
    </system.webServer>
    <system.serviceModel>
        <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
        <standardEndpoints>
            <webHttpEndpoint>
                <!-- 
            Configure the WCF REST service base address via the global.asax.cs file and the default endpoint 
            via the attributes on the <standardEndpoint> element below
        -->
                <standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="true"/>
            </webHttpEndpoint>
        </standardEndpoints>
    </system.serviceModel>
</configuration>

2013年使用“IIS Express”时,我首先收到以下错误:

  

没有为扩展名“.html”注册的构建提供程序。您   可以在一节中注册一个   machine.config或web.config。确保有一个   包含值的BuildProviderAppliesToAttribute属性   '网络'或'全'。

所以我在编译部分添加了以下内容:

<buildProviders >
   <add extension=".htm" type="System.Web.Compilation.PageBuildProvider" />
   <add extension=".html" type="System.Web.Compilation.PageBuildProvider"/>
 </buildProviders> 

此时我遇到了一个新错误,我似乎无法解决它,现在在启动时我收到以下错误:

  

由于异常,无法激活服务'/index.html'   在编译期间。异常消息是:对象引用不是   设置为对象的实例..]

0 个答案:

没有答案