Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Azure网站本地呼叫WebException_C#_Asp.net Mvc_Azure_Selenium_Azure Web App Service - Fatal编程技术网

C# Azure网站本地呼叫WebException

C# Azure网站本地呼叫WebException,c#,asp.net-mvc,azure,selenium,azure-web-app-service,C#,Asp.net Mvc,Azure,Selenium,Azure Web App Service,我正在尝试使用Phantom和Selenium在Azure中呼叫我自己的网站 它在本地工作,但在我将其部署到Azure时无法工作,这会导致以下异常: 意外错误。System.Net.WebException:无法连接到远程服务器---> () 我想我可能必须添加防火墙规则或其他东西,但我真的不确定。该网站是一个Azure网站 如果我可以在不涉及服务器配置的情况下从C#代码修复此问题,那将是更好的选择。我假设我遇到了同样的问题,但是,在其他一些场景中,我需要从后台工作线程向网站的公共界面发出web

我正在尝试使用Phantom和Selenium在Azure中呼叫我自己的网站

它在本地工作,但在我将其部署到Azure时无法工作,这会导致以下异常:

意外错误。System.Net.WebException:无法连接到远程服务器--->

()

我想我可能必须添加防火墙规则或其他东西,但我真的不确定。该网站是一个Azure网站


如果我可以在不涉及服务器配置的情况下从C#代码修复此问题,那将是更好的选择。

我假设我遇到了同样的问题,但是,在其他一些场景中,我需要从后台工作线程向网站的公共界面发出web请求。它在本地工作,但一旦部署到Azure中,请求就开始抛出由该
SocketException
引起的
WebException

虽然我不需要以任何方式处理web响应,但这里的解决方案是将web响应存储在堆栈上,并通过调用其
Close()
方法正确地处理它:

HttpWebResponse response = null;

try {
    var webReq = WebRequest.CreateHttp(url);
    webReq.Method = "GET";
    response = (HttpWebResponse)webReq.GetResponse();
}
finally {
    if (response != null) response.Close();
}

异常稳定地从请求249开始(前248个请求没有抛出异常)。因此,我假设某种web请求或web响应池是在后台发生的,不调用响应对象上的
Close()
可能会在某个点或特定条件下耗尽此池。

您的站点的实际可用端口是49888还是selenium正试图在此设置某种控制?您对localhost与public hostname的使用有影响吗?@SimonOpelt 49888是selenium用于连接驱动程序的端口,据我所知。任何解决方案都是可以接受的,我对端口号49888不感兴趣:)请解释原因?使用
使用
可能会更好。谢谢你的回答,但我不认为这是我们遇到的问题。
HttpWebResponse response = null;

try {
    var webReq = WebRequest.CreateHttp(url);
    webReq.Method = "GET";
    response = (HttpWebResponse)webReq.GetResponse();
}
finally {
    if (response != null) response.Close();
}