好的,这是我的两难选择,一段时间以来,我一直在Discountasp.net(IIS 6)的共享主机上进行开发。一切进展顺利,但是现在该应用程序已完成,我们将其移至自己的专用服务器,即服务器2008和IIS 7。

我目前正在使用ASP表单身份验证(在IIS6上似乎也可以正常工作)

单击登录后,似乎会出现此问题,它会弹出“登录”框。.然后,在Membership.js的JavaScript中出现错误“对象不支持Membership.js”,我已验证代码使其达到以下目的: Membership.BeginLogin(uid,pwd,Rememberme);并且实际上传递了正确的变量。

设置表单权限时,我注意到的另一件奇怪的事情是,当我在IIS 7管理控制台中选择“用户”或“角色”时,它将花费很长时间,然后超时并出现以下错误:
建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器不可访问或不可访问,请验证实例名称正确并且已将SQL Server配置为允许远程连接(提供程序-命名管道提供程序:错误40-无法打开与SQL Server的连接。)

我在房屋的硬件/配置方面比较虚弱,因此我不确定是什么问题,几乎就像IIS7无法看到数据库一样。但是它们都位于同一台服务器上。如果有人能帮助我指出正确的解决方法,我将永远感激不已!

提前致谢
布赖恩

最佳答案

我也不是Web服务器专家。但是,从IIS6迁移到7时,我也遇到了同样的问题。

我将以下配置放在我的Web.config中,以解决此问题:

<system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <modules>
        <add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    </modules>
    <handlers>
        <remove name="WebServiceHandlerFactory-Integrated"/>
        <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    </handlers>
</system.webServer>


似乎在IIS7上运行ASP.NET Ajax之前是必需的。

关于asp.net - 我在IIS7中缺少什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2983249/

10-11 06:27