从 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="
 Data Source=.;Initial Catalog=SiteNameExtension;Integrated Security=True;MultipleActiveResultSets=True"" 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 停止验证