Silverlight + WCF应用程序中的超时问题

时间:2018-12-06 13:41:28

标签: asp.net wcf silverlight

我有一个调用WCF服务的Silverlight应用程序。此服务是一项繁重的操作,可能需要很长时间才能运行。该服务在230秒(3分50秒)后超时。我收到了令人讨厌的“ NotFound”错误。通过提琴手,我发现服务器正在响应HTTP 500错误,而内容是带有消息“ 500错误,请求超时”的HTML排序。

我的web.config将超时设置为将近一小时:

<binding name="ServicesBinding" maxBufferSize="2147483647" 
    maxReceivedMessageSize="2147483647" receiveTimeout="00:59:00"
    sendTimeout="00:59:00" openTimeout="00:59:00" closeTimeout="00:59:00">
        <readerQuotas maxStringContentLength="2147483647" maxArrayLength="2147483647" />
            <security mode="None" />                          
 </binding>

当我在silverlight应用程序中创建服务时,我使用以下代码:

string url = serverUrl + "Services/DataService.svc";
DataServiceClient cli = new DataServiceClient();

cli.Endpoint.Binding.SendTimeout = new TimeSpan(1, 0, 0);
cli.Endpoint.Binding.ReceiveTimeout = new TimeSpan(1, 0, 0);
if (serverUrl.StartsWith("https:"))
    ((BasicHttpBinding) cli.Endpoint.Binding).Security.Mode = BasicHttpSecurityMode.Transport;

cli.Endpoint.Address = new EndpointAddress(url);

如您所见,我也在这里设置超时。但是最终WCF似乎忽略了两个超时配置,因为在不到4分钟的时间内就超时了。还有其他地方可以获取超时配置吗?

最后一个也许是重要的信息,该应用程序托管在Microsoft Azure(应用程序服务,而不是虚拟机)中。

编辑:

我在这里找到How can increase Azure App Service 230 sec request time out,这似乎是一个天蓝色的问题,它是无法更改的默认天蓝色超时。我将不得不尝试使其以某种方式异步。

0 个答案:

没有答案