好的,这就是我的困境,我已经在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看不到数据库一样。但它们都位于同一台服务器上。如果有人能帮我指出如何解决这个问题的正确方向,我将永远感激不尽!
提前致谢 布赖恩
答案 0 :(得分:0)
我也不是网络服务器专家。但是,从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之前需要它。