【问题标题】:WCF stops responding after some requestsWCF 在某些请求后停止响应
【发布时间】:2017-08-16 11:21:22
【问题描述】:

我已经建立了 wcf。它运行良好

问题是当我多次调用它时,它会显示以下错误:

服务器在处理请求时遇到错误。见服务器 日志以获取更多详细信息

我配置了一个 WCF 跟踪文件,但它始终为空。服务突然停止的原因是什么?如何解决?

这是我每 20 秒在客户端使用的代码:

string url = "http://host/Service.svc/method";
                HttpWebRequest webrequest = (HttpWebRequest)WebRequest.Create(url);

                webrequest.Method = "GET";

                ASCIIEncoding encoding = new ASCIIEncoding();

                HttpWebResponse webresponse = (HttpWebResponse)webrequest.GetResponse();

                Encoding enc = System.Text.Encoding.GetEncoding("utf-8");

                StreamReader loResponseStream =
                    new StreamReader(webresponse.GetResponseStream(), enc);

                string strResult = loResponseStream.ReadToEnd();

                loResponseStream.Close();

                webresponse.Close();

【问题讨论】:

  • 它可以是任何东西,你真的需要让跟踪/日志记录工作。 Windows 事件查看器中是否有任何条目?另外,当您说"Many Times" 时,您的意思是多少?
  • 托管在 IIS 上时会发生这种情况,但从 Visual Studio 运行时不会发生这种情况?
  • 我不确切知道这个“多少”,但我每 20 秒调用一次服务,它大约在 15 分钟内停止工作。当然,只有当我在 IIS 上托管服务时才会发生这种情况
  • 你是关闭你的客户还是让他们都挂着?
  • 分享每 20 秒调用一次的代码。 @Crowcoder 是对的,它可能是保持打开状态的代理,导致您的服务达到最大连接限制

标签: c# .net web-services wcf


【解决方案1】:

我解决了这个问题。这是由于打开的数据库连接。我错过了在服务器端关闭数据库连接。谢谢你的回答

【讨论】:

    【解决方案2】:

    这可能是服务器/主机上的工作内存问题。如果少于 5% 可用,您将得不到任何回应。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 2021-07-01
    • 2017-11-20
    • 1970-01-01
    相关资源
    最近更新 更多