什么可能会在一台服务器上导致此错误,而在另一台服务器上则不会?

2024-06-19

我们有一个连接到外部 Web 服务的 ASP.Net 网站,几天前它突然停止工作。

基本代码是这样的:

Try
    request = New ExternalWebService.ProcessRequestService

    ' Error occurs here:
    response = request.processCommand(parameters)

    ' Do some other stuff with response here

Catch webEx As System.Net.WebException

    ' This triggers and generic error gets displayed

Catch ex As Exception

Finally

End Try

The System.Net.WebException被触发SendFailure异常,并返回此堆栈跟踪:



The underlying connection was closed: An unexpected error occurred on a send. -
    at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)
    at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request)
    at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
    at ExternalWebService.ProcessRequestService.processCommand(parameters)
  

当我尝试在我的开发机器上调试这个问题时,它工作正常并且没有发生异常。

我们的网络服务器最近没有更新,我可以使用 FireFox 从网络服务器连接到 wsdl 服务(但是我无法与 IE 连接,但这可能与我们在网络服务器上使用 IE 时遇到的另一个问题有关)

我已尝试针对错误消息 #2 发布的所有解决方案here http://support.microsoft.com/kb/915599,包括设置KeepAlive = False and ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3,但是没有人努力解决这个问题。

我们的网络服务器运行 Windows Server 2003 和 IIS6.0

什么可能导致此错误在一台计算机上发生,而在另一台计算机上则不发生?

Edit:这是跟踪信息:



System.Web.Services.Asmx Information: 0 : Calling XmlSerializer [Create XmlSerializer]
    Method: System.Xml.Serialization.XmlSerializer#1669721556::FromMappings(System.Xml.Serialization.XmlMapping[]#4002219=[4], ExternalWebService.ProcessRequestService#93032588=ExternalWebService.ProcessRequestService)
    Caller: System.Web.Services.Protocols.SoapClientType#42808772::.ctor(ExternalWebService.ProcessRequestService#93032588=ExternalWebService.ProcessRequestService)
    ProcessId=2796
    LogicalOperationStack=
    ThreadId=14
    DateTime=2012-12-21T17:02:39.2826250Z
    Timestamp=61755143048799345
System.Web.Services.Asmx Information: 0 : Return from XmlSerializer [Create XmlSerializer]
    Caller: System.Web.Services.Protocols.SoapClientType#42808772::.ctor(ExternalWebService.ProcessRequestService#93032588=ExternalWebService.ProcessRequestService)
    ProcessId=2796
    LogicalOperationStack=
    ThreadId=14
    DateTime=2012-12-21T17:02:39.6576250Z
    Timestamp=61755144323396760
System.Web.Services.Asmx Information: 0 : Calling XmlSerializer [Write Request]
    Method: Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer#1231684::Serialize(System.Xml.XmlTextWriter#8023888=.., System.Object[]#19695157=[40], (null), (null))
    Caller: ExternalWebService.ProcessRequestService#60553900::Serialize()
    ProcessId=2796
    LogicalOperationStack=
    ThreadId=14
    DateTime=2012-12-21T17:02:39.7357500Z
    Timestamp=61755144598320131
System.Web.Services.Asmx Information: 0 : Return from XmlSerializer [Write Request]
    Caller: ExternalWebService.ProcessRequestService#60553900::Serialize()
    ProcessId=2796
    LogicalOperationStack=
    ThreadId=14
    DateTime=2012-12-21T17:02:39.7357500Z
    Timestamp=61755144621621529
System.Web.Services.Asmx Information: 0 : Calling WebRequest.GetResponse
    Method: System.Net.HttpWebRequest#2800407::GetResponse()
    Caller: ExternalWebService.ProcessRequestService#60553900::GetWebResponse()
    ProcessId=2796
    LogicalOperationStack=
    ThreadId=14
    DateTime=2012-12-21T17:02:39.7357500Z
    Timestamp=61755144622114240
  

显然,在我的特定情况下,这是因为 Web 服务供应商提高了安全性,而我们的 Web 服务器没有解密连接所需的正确库。

我们唯一的线索是一个 ID 为 36874 的系统事件查看器条目,以及几天前我们网站停止工作的同一天的 Schannel 源,内容如下:

从远程客户端收到 SSL 连接请求 应用程序,但客户端不支持任何密码套件 应用程序由服务器支持。 SSL 连接请求 失败了。

但是,如果您自己调试这个问题,这个链接 http://blogs.msdn.com/b/jpsanders/archive/2009/01/07/you-receive-one-or-more-error-messages-when-you-try-to-make-an-http-request-in-an-application-that-is-built-on-the-net-framework-2-0.aspx非常有用,因为它给出了一些错误的简化描述,为我指明了正确的方向,我的问题与无法连接到他们的网络服务有关。

底层连接已关闭:发送时发生意外错误

当客户端计算机无法发送 HTTP 时,会出现此问题 要求。客户端计算机无法发送 HTTP 请求,因为 连接已关闭或不可用。查找错误 本文http://support.microsoft.com/kb/915599 http://support.microsoft.com/kb/915599.

链接的 Microsoft 支持页面也相当详细地介绍了一些不同的解决方案,您可以尝试解决此问题的最常见原因。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

什么可能会在一台服务器上导致此错误,而在另一台服务器上则不会? 的相关文章

  • Google 日历重定向_uri_不匹配

    我在 Visual Studio Express 2012 for Web 中有一个网站 当我尝试以下代码时 我不断收到来自 google 的错误 该错误表示开发人员控制台中列出的重定向 uri 不匹配 private void getEv
  • 如何处理 ASP.NET 中未处理的线程异常?

    ASP NET 应用程序应该如何处理非请求后台线程上发生的未处理的异常 由于错误 默认情况下 此类异常会导致进程终止 这在 ASP NET 工作进程的设置中是不可接受的因为并发运行的请求会不可预测地中止 这也是一个性能问题 请求线程上的异常
  • VS2010调试问题

    好吧 奇怪的事情又发生在我身上了 今天早上 当我启动 ASP NET 应用程序时 对其进行了一些工作 现在当我尝试发布它时 我收到一个错误 我似乎找不到任何相关文档 Error 1 Unable to apply a change whil
  • .NET 4.0 中的 MembershipProvider

    如何将 MembershipProvider 类添加到 VS 2010 B2 中的 NET 4 0 项目中 我想自定义一个 MembershipProvider 但是如果不添加这个类我就不能 请指导我完成这个过程 有趣的 然而 构建错误是你
  • 检查域名是否可供购买 - C# [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有什么方法可以检查某个域名是否可以购买 是否有任何图书馆可以做到这一点 THanks 您可以看一下 ht
  • 阻止跨域调用 asp.net .asmx Web 服务

    我构建了一个应用程序 它使用 jQuery 和 JSON 来使用 ASP NET asmx Web 服务来执行增删改查操作 应用程序和 asmx 位于同一域中 我不介意人们远程消耗 asmx 的读取操作 但不希望人们随机删除内容 我可以将我
  • 什么是 IIS 应用程序池?

    应用程序池到底是什么 它的目的是什么 应用程序池允许您将应用程序彼此隔离 即使它们运行在同一台服务器上 这样 如果一个应用程序出现错误 就不会影响其他应用程序 此外 应用程序池允许您分隔需要不同安全级别的不同应用程序 这是一个很好的资源 I
  • 如何去掉所有标签并得到纯文本?

    我必须将用户输入文本存储在我的数据库中HTML and CSS格式 案例是 Rad编辑器 http www telerik com products aspnet ajax editor aspx 用户将文本从 MSWord 复制到此编辑器
  • 如何在 asp:TextBox 的 keyup 事件上调用 javascript 函数

    如何在asp net的TextBox控件的keyup事件上调用javascript函数 我正在尝试类似的事情 但它不起作用
  • 如何在 ASP.NET 中动态添加文本框?

    我对我的 asp net 页面有以下要求 用户可以通过单击 添加新类别 超链接在页面 A 上动态添加文本框 他点击页面 A 上的提交按钮并被重定向到页面 B 当他单击此页面中的页面 A 链接时 他添加的文本框应该保留 有人可以帮我解决这个问
  • C#:如何计算纵横比

    我对编程比较陌生 我需要根据给定尺寸 例如 axb 计算纵横比 16 9 或 4 3 我如何使用 C 来实现这一点 任何帮助将不胜感激 public string AspectRatio int x int y code am lookin
  • System.Runtime.InteropServices.COMException (0x80080005): 检索具有 CLSID 的组件的 COM 类工厂

    我正在一个简单的 asp net c 应用程序中用来自 SQL Server 的数据替换 MS Word MergeFields 它在本地工作正常 但是当我发布它时often我得到以下信息 System Runtime InteropSer
  • 在转发器内的更新面板中匹配 ID -“已包含...的定义”

    我有一个问题 为什么单独中继器中的 2 个控件如果位于更新面板中则不能具有相同的 ID 但如果它们不在更新面板中则可以共享相同的 ID 看到这段代码
  • .NET Core 应用程序在 Web 服务器上本地运行,但无法通过远程浏览器访问

    我有一个 ASP NET Core 1 1 Web 应用程序 已将其发布到远程服务器 我已经在 IIS 中设置了网站 如下所示这些说明 https learn microsoft com en us aspnet core publishi
  • 尝试获取类型 LogWriter、键“”的实例时发生激活错误?

    我有 ASP NET 网站 我添加了参考Microsoft Practices EnterpriseLibrary Logging dll到该网站 在 web config 文件中 定义如下
  • LinkBut​​ton 在生产服务器上未触发

    这是一个很好的候选人 适用于我的机器认证计划 http www codinghorror com blog archives 000818 html 我有以下 LinkBut ton 代码
  • 如何在 web.config 中设置默认的 text/html 内容类型?

    我想将 ASP NET MVC 应用程序中网页的默认内容类型设置为 text html 我知道这可以通过向我的所有 元素添加 ContentType text html 来完成 但我更喜欢使用 web config 我怎样才能做到这一点 T
  • VB.NET 相当于 C# 属性简写吗?

    是否有与 C 等效的 VB NET public string FirstName get set 我知道你能做到 Public Property name As String Get Return name ToString End Ge
  • 如何防止 ASP.NET 站点的图像盗链?

    防止人们从我的托管 ASP NET 网站热链接到图像的最佳 最简单方法是什么 我不需要防止所有图像 资源被热链接 我只是想防止热链接到网站上的特定图像 资源 供参考 它托管在 GoDaddy com 上 因此 IIS 技巧可能不起作用 最简
  • 加密和解密图像.net

    谁能给我一个使用 net 和 asp net 加密和解密图像的示例 当我将图像作为二进制数据保存到 SQL Server 中时 我希望对图像进行加密 包含这些名称空间 using System IO using System Securit

随机推荐