从 CASSINI 传递到 IIS 7

Posted

技术标签:

【中文标题】从 CASSINI 传递到 IIS 7【英文标题】:Passing from CASSINI to IIS 7 【发布时间】:2011-12-03 14:45:30 【问题描述】:

您好,我正在部署之前在本地计算机上测试网站。

当使用 VS 2010 运行带有 CASSINI 的站点时,一切正常...没有错误。 当我在内部 IIS 7 上构建包和部署时...加载默认页面时 IIS 7 不显示请求的页面(没有错误),而是让浏览器下载页面而不显示它。

我在本地 IIS 中有另一个测试站点,它工作正常。

因为 IIS 没有显示任何类型的错误(即使调试为真),我无法找出问题所在。

这里有一些问题希望你能帮助我:

我需要对 web.config 中的配置进行一些更改 任何线索为什么会出现这种行为? 有什么方法可以调试这种情况?

这里是我的 web.config 文件: 请告诉我谢谢


    <?xml version="1.0" encoding="UTF-8"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
    <configSections>
        <section name="myWebAppSettings" type="System.Configuration.SingleTagSectionHandler" />
    </configSections>
    <myWebAppSettings isTestEnvironment="false" />
    <system.webServer>
        <directoryBrowse enabled="false" />
        <urlCompression doDynamicCompression="true" doStaticCompression="true" dynamicCompressionBeforeCache="true" />
        <staticContent>
            <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="30.00:00:00" />
        </staticContent>
    </system.webServer>
    <connectionStrings>
        <add name="CmsConnectionString" connectionString="Data Source=.; Initial Catalog=SiteNameExtension; Integrated Security=SSPI" />
        <add name="CmsConnectionStringEntityDataModel" connectionString="Metadata=res://*/;          provider=System.Data.SqlClient;provider connection string=&quot;&#xA;          Data Source=.;Initial Catalog=SiteNameExtension;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />
    </connectionStrings>
    <system.web>
        <globalization culture="en" uiCulture="en" />
        <pages enableViewState="true" theme="Cms-FE-00" validateRequest="true">
        </pages>
        <compilation debug="true" targetFramework="4.0">
            <assemblies>
                <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
                <add assembly="System.Data.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
                <add assembly="WebProject.Core"/>
                <add assembly="WebProject.DataAccess"/>
                <add assembly="WebProject.Cms"/>
                <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
                <add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
                <add assembly="System.Web.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
                <add assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                <add assembly="System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                <add assembly="System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
                <add assembly="System.Web.ApplicationServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                <add assembly="System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
                <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
                <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
                <add assembly="System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                <add assembly="System.Data.Services.Client, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
                <add assembly="System.Data.Services.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
                <add assembly="System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                <add assembly="System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                <add assembly="System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            </assemblies>
        </compilation>
        <authentication mode="Forms">
            <forms loginUrl="~/Login.aspx" timeout="2880" />
        </authentication>
        <roleManager enabled="true" cacheRolesInCookie="true">
            <providers>
                <clear />
                <add connectionStringName="XXXXX" applicationName="/" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
            </providers>
        </roleManager>
        <membership>
            <providers>
                <clear />
                <add name="AspNetSqlMembershipProvider" connectionStringName="XXXXX" applicationName="/" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="3" minRequiredPasswordLength="16" minRequiredNonalphanumericCharacters="4" passwordAttemptWindow="10" passwordStrengthRegularExpression="" />
            </providers>
        </membership>
    </system.web>
</configuration>

my related question

【问题讨论】:

您检查过计算机的事件日志吗?那里也会报告 ASP.NET 错误。 感谢我不知道的事件日志建议 【参考方案1】:

听起来 ASP.NET 版本的处理程序未在服务器上注册或禁用。您应该能够使用 SDK 中的 aspnet_regiis 安装它。或者应用程序池(如果不同)设置为错误的 ASP.NET 版本。

【讨论】:

我可以创建池,我可以选择.NET Framework v4.030319...我应该通过web.config更新这个版本吗?? 它已经需要 4.0(根据您上面显示的内容)。这解决了你的问题吗? 我还是有问题,请您看看这里:***.com/questions/7698286/…【参考方案2】:

确保在服务器上运行您的 Web 应用程序的应用程序池使用正确的(在您的情况下为 .NET 4.0,如 web.config 文件中所述).NET 框架。

我相信 IIS 7.x 默认使用 .NET framework 2.0。

【讨论】:

我可以从我的本地 IIS 创建一个池,该池可以是 .NET Framework v4.030319...我应该通过 web.config 更新这个版本吗?? 您的 web.config 已经显示 targetFramework=4.0。重新配置应用程序池框架是否解决了您的问题? Philipp 很遗憾没有,我还有一些问题,我在这里添加了一个新帖子 ***.com/questions/7698286/… 如果你能看一下,对我来说真的是非常感谢

以上是关于从 CASSINI 传递到 IIS 7的主要内容,如果未能解决你的问题,请参考以下文章

IIS7 中的 ***Exception 但在 Cassini 中没有

IIS 部署在 cassini 中正常工作后,PrincipalContext.ValidateCredentials 停止验证

在 IIS 中托管时如何从代码配置 WCF 服务?

Visual Studio 2010 WebDev WebServer (Cassini) 64 位兼容吗?

如何将 WCF 服务发布到 IIS?

诊断 IIS 7 和 ASP.NET MVC 上的 404 错误