gpt4 book ai didi

c# - HttpWebRequest 调用页面两次

转载 作者:行者123 更新时间:2023-12-03 03:20:58 27 4
gpt4 key购买 nike

问题:此控制台应用调用 Azure 上托管的长时间运行的网页两次。我希望它只调用一次。

控制台应用程序因捕获的异常而失败:基础连接已关闭:接收时发生意外错误。 so question

如果我从 Chrome 调用该页面,它会运行一次(如预期)

public class ExtendedWebClient : WebClient
{
public int Timeout { get; set; }

protected override WebRequest GetWebRequest(Uri address)
{
HttpWebRequest request = (HttpWebRequest)base.GetWebRequest(address);
if (request != null)
request.Timeout = Timeout;
request.KeepAlive = false;
request.ProtocolVersion = HttpVersion.Version10;
return request;
}

public ExtendedWebClient()
{
Timeout = 1000000; // in ms.. the standard is 100,000
}
}

class Program
{
static void Main(string[] args)
{
var taskUrl = "http://secret.net/SendWeeklyEmails.aspx";
// create a webclient and issue an HTTP get to our url
try
{
using (ExtendedWebClient httpRequest = new ExtendedWebClient())
{
var output = httpRequest.DownloadString(taskUrl);
}
}
catch (Exception ex)
{
Console.WriteLine("Exception was: " + ex.Message);
}
}
}

最佳答案

简单的答案 - 我不相信这个客户端会调用该页面两次!

如果您的调用长时间运行,并且 Azure 不允许您进行长时间轮询,那么您将需要重新构建此应用程序,以便您有单独的调用来启动,然后进度监视此“SendWeeklyEmails”任务。您甚至可以使用命令行客户端代码(而不是使用网络应用程序)来执行此操作。

关于c# - HttpWebRequest 调用页面两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6461868/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com