2010-03-31 176 views
1

我开发了一个使用web服务的web应用程序。在开发环境中一切正常。我已将Web服务移至我主网站后面的测试文件夹中的生产服务器。我可以浏览到生产服务器上已发布的本地服务,并且可以从我的开发机器访问远程服务。拒绝Web服务连接

如果我在我的开发环境中运行我的web应用程序,我可以使用远程webservice没有问题。如果我将Web应用程序移动到生产环境,则在应用程序执行ajax登录方法时,浏览器输出此错误。

下面的JavaScript错误是输出到浏览器

Error: Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. 

The status code returned from the server was: 500 
Source File: www.grav80.com/clients/callswharf/Redshift/Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=RadScriptManager1_HiddenField&compress=1&_TSM_CombinedScripts_=%3b%3bSystem.Web.Extensions%2c+Version%3d3.5.0.0%2c+Culture%3dneutral%2c+PublicKeyToken%3d31bf3856ad364e35%3aen-US%3a1247b7d8-6b6c-419f-a45f-8ff264c90734%3aea597d4b%3ab25378d2%3bTelerik.Web.UI%2c+Version%3d2009.2.826.35%2c+Culture%3dneutral%2c+PublicKeyToken%3d121fae78165ba3d4%3aen-US%3ad2d891f5-3533-469c-b9a2-ac7d16eb23ff%3a16e4e7cd%3a86526ba7%3aed16cbdc%3ab7778d6c 
Line: 15 

出现在事件下面的错误日志

Exception information: 
    Exception type: WebException 
    Exception message: Unable to connect to the remote server 

Request information: 
    Request URL: www.grav80.com/clients/callswharf/redshift/login.aspx 
    Request path: /clients/callswharf/redshift/login.aspx 
    User host address: 77.68.58.231 
    User: 
    Is authenticated: False 
    Authentication Type: 
    Thread account name: NT AUTHORITY\NETWORK SERVICE 

您可以查看在测试环境在这里的行为。 http://www.grav80.com/clients/callswharf/redshift/

您可以查看这里的服务 http://www.grav80.com/clients/callswharf/redshift/service/g80cms.asmx

我希望一些对可照一些轻这对我来说。

回答

2

异常消息显示您正在运行您的Login.aspx,而不是您的Web服务。

此外,WebResource.axd用于从资源文件返回资源。这与Login.aspx绑定的事实使我认为你的表单身份验证配置不正确。它不应该为WebResource.axd配置。


万一事实证明你打电话使用“AJAX”从为Login.aspx服务,我会提到,“无法连接到远程服务器”通常是指这一点。尝试通过端口80或443与远程服务器建立TCP/IP连接,但连接未成功完成。这意味着是时候研究网络问题,如防火墙,Web拦截器(如Bluecoat),代理服务器等。

您可能会尝试使用Fiddler查看网络流量(如果可能的话)。

+0

嗨,John,感谢您的快速回复。 Login.aspx对web服务进行ajax调用。 Wen即时通过开发机器连接到现场服务,只要将应用程序移至实时环境中,它就可以正常工作。 据我所知,使用webresources.axd购买页面上的telerik控件。这个javascript错误只发生在ajax回发之后。 – sidcom 2010-03-31 02:22:51

+0

@sidcom:当你说“AJAX”时,你是从客户端(在浏览器中)还是从服务器(在login.aspx.cs中)使用它? – 2010-03-31 02:32:18

+0

嗨,John我正在使用telerik Rad Ajax Panel来“ajaxify”登录区域。 ajax面板将所有基于服务器的事件转换为ajax请求。在login.aspx.cs中执行的代码连接到web服务并检查用户是否使用了正确的登录信息。如果用户无法登录,则不会进行可见的页面刷新并显示客户端错误消息。如果用户可以登录,则创建会话并将用户定向到控制面板主页。希望有所帮助。 – sidcom 2010-03-31 03:11:05