- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在一个简单的测试应用程序(Visual Studio 控制台应用程序)上遇到了一个奇怪的零星问题,该应用程序通过向它发送简单的 http 请求并为响应时间计时,充当托管 aspx 网站(不是应用程序)的看门狗。过去我已经使用它很多周了,没有出现这个特殊问题。在一天中看似随机的时间,我的 http 请求开始因上述错误而失败。它们似乎是超时,因为失败的请求都需要 60 秒。经过一段时间的上述一致错误(在一种情况下从几分钟到 90 分钟的随机时间段),错误停止并且 http 响应开始以正常速度(通常大约 0.25 秒)返回而没有错误。看门狗客户端请求触发一个非常简单的数据库查找,在服务器端只需 1-2 行代码。这是托管在共享的 Windows 托管网络主机上。
我还可以通过更新我的主机站点上的任何 .cs 文件来随意触发此行为,这会导致应用程序池回收。我的看门狗应用程序立即开始再次超时并出现上述错误。
它闻起来像是某种回收连接问题,因为如果我只是重新启动看门狗应用程序,它就可以正常工作并且响应开始以正常延迟返回。
我试过设置 request.KeepAlive = false 和 request.ServicePoint.ConnectionLimit = 1,这些都没有帮助。
另一个线索,我无法使用 IIS 管理器连接到托管在该服务器上的两个不同网站中的任何一个,这一直运行良好。我在尝试通过 IIS 管理器连接时收到“底层连接已关闭”。每次。我有一段时间没有更新任何一个网站,所以这不是我的任何改变。
这是一个在 IIS7 上运行的后端 ASP.NET 4 网站,具有集成管道模式下的专用应用程序池。
此外,如果我将看门狗应用程序中的 sleeptime 变量更改为 30 秒之类的值,则问题不会出现。在我相信 10-20 秒的范围内有一些神奇的数字,如果请求暂停的时间超过这个时间,它们永远不会失败。
我认为 IIS 管理器无法连接的事实很好地证明了独立于我的测试应用程序的主机端出现问题,但我想在打开支持事件之前覆盖我的基础......特别是因为我的控制台简单重启应用程序解决了这个问题......至少有一段时间。
class Program
{
//make a simple web request and just return the status code
static string SendHttpMsg(string url, string postData)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(url));
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] byte1 = encoding.GetBytes(postData);
request.ContentLength = byte1.Length;
//request.KeepAlive = false; //no effect
//request.ServicePoint.ConnectionLimit = 1; //no effect
Stream requestStream = request.GetRequestStream();
requestStream.Write(byte1, 0, byte1.Length);
requestStream.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
response.Close();
return ((int)response.StatusCode).ToString();
}
static void Main(string[] args)
{
int sleeptime = 5000;
string result = "";
while (true)
{
DateTime start = DateTime.Now;
try
{
//this is a very simple call that results in a very simple, fast query in the database
result = SendHttpMsg("http://example.com/somepage.aspx", "command=test");
}
catch (Exception ex)
{
//fancy exception handling here, removed
}
DateTime end = DateTime.Now;
TimeSpan calltime = end - start;
Console.WriteLine(end.ToString() + ", " + calltime.TotalSeconds.ToString("F") + " seconds " + result);
Thread.Sleep(sleeptime);
}
}
}
最佳答案
您可能有悬空连接,而在 HTTP 1.1 中,您仅限于 2 个连接。
试试 changing the HTTP Protocol Version used in the request :
request.ProtocolVersion = HttpVersion.Version10;
<system.net>
<defaultProxy enabled="false">
<proxy/>
<bypasslist/>
<module/>
</defaultProxy>
</system.net>
request = null
方法中的语句)。
关于asp.net - "An existing connection was forcibly closed by the remote host"来自 HttpWebRequest 的偶发错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17519736/
我已经使用 vue-cli 两个星期了,直到今天一切正常。我在本地建立这个项目。 https://drive.google.com/open?id=0BwGw1zyyKjW7S3RYWXRaX24tQ
您好,我正在尝试使用 python 库 pytesseract 从图像中提取文本。请找到代码: from PIL import Image from pytesseract import image_
我的错误 /usr/bin/ld: errno: TLS definition in /lib/libc.so.6 section .tbss mismatches non-TLS reference
我已经训练了一个模型,我正在尝试使用 predict函数但它返回以下错误。 Error in contrasts<-(*tmp*, value = contr.funs[1 + isOF[nn]])
根据Microsoft DataConnectors的信息我想通过 this ODBC driver 创建一个从 PowerBi 到 PostgreSQL 的连接器使用直接查询。我重用了 Micros
我已经为 SoundManagement 创建了一个包,其中有一个扩展 MediaPlayer 的类。我希望全局控制这个变量。这是我的代码: package soundmanagement; impo
我在Heroku上部署了一个应用程序。我正在使用免费服务。 我经常收到以下错误消息。 PG::Error: ERROR: out of memory 如果刷新浏览器,就可以了。但是随后,它又随机发生
我正在运行 LAMP 服务器,这个 .htaccess 给我一个 500 错误。其作用是过滤关键字并重定向到相应的域名。 Options +FollowSymLinks RewriteEngine
我有两个驱动器 A 和 B。使用 python 脚本,我在“A”驱动器中创建一些文件,并运行 powerscript,该脚本以 1 秒的间隔将驱动器 A 中的所有文件复制到驱动器 B。 我在 powe
下面的函数一直返回这个错误信息。我认为可能是 double_precision 字段类型导致了这种情况,我尝试使用 CAST,但要么不是这样,要么我没有做对...帮助? 这是错误: ERROR: i
这个问题已经有答案了: Syntax error due to using a reserved word as a table or column name in MySQL (1 个回答) 已关闭
我的数据库有这个小问题。 我创建了一个表“articoli”,其中包含商品的品牌、型号和价格。 每篇文章都由一个 id (ID_ARTICOLO)` 定义,它是一个自动递增字段。 好吧,现在当我尝试插
我是新来的。我目前正在 DeVry 在线学习中级 C++ 编程。我们正在使用 C++ Primer Plus 这本书,到目前为止我一直做得很好。我的老师最近向我们扔了一个曲线球。我目前的任务是这样的:
这个问题在这里已经有了答案: What is an undefined reference/unresolved external symbol error and how do I fix it?
我的网站中有一段代码有问题;此错误仅发生在 Internet Explorer 7 中。 我没有在这里发布我所有的 HTML/CSS 标记,而是发布了网站的一个版本 here . 如您所见,我在列中有
如果尝试在 USB 设备上构建 node.js 应用程序时在我的树莓派上使用 npm 时遇到一些问题。 package.json 看起来像这样: { "name" : "node-todo",
在 Python 中,您有 None单例,在某些情况下表现得很奇怪: >>> a = None >>> type(a) >>> isinstance(a,None) Traceback (most
这是我的 build.gradle (Module:app) 文件: apply plugin: 'com.android.application' android { compileSdkV
我是 android 的新手,我的项目刚才编译和运行正常,但在我尝试实现抽屉导航后,它给了我这个错误 FAILURE: Build failed with an exception. What wen
谁能解释一下?我想我正在做一些非常愚蠢的事情,并且急切地等待着启蒙。 我得到这个输出: phpversion() == 7.2.25-1+0~20191128.32+debian8~1.gbp108
我是一名优秀的程序员,十分优秀!