服务时间安排

时间:2011-11-15 14:52:25

标签: c# asp.net wcf web-services visual-studio-2010

我有一个Web服务,它接收客户端地址所指向的项目中的信息: http://Server/PaymentWCF/Service.svc?WSDL

ServiceClient client = new ServiceClient();
foreach (Record rc in ListOne)
{
   client.RecordInsert(rc);
}
foreach (Record rc in ListTwo)
{
   client.RecordInsert(rc);
}
client.Close();

有些时候我们将ServiceClient打开一段时间,因为我们有很多要处理的记录。 (最多3,000)昨晚,我收到以下错误消息:

  

请求频道在00:04:59.9374976之后等待回复时超时。增加传递给Request的调用的超时值或增加Binding上的SendTimeout值。分配给此操作的时间可能是较长超时的一部分。

但是,绑定在任何地方都没有00:04:59的任何值:

        <wsHttpBinding>
            <binding name="WSHttpBinding_IService" closeTimeout="00:01:00"
                openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
                maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text"
                textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
                <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                    maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                <reliableSession ordered="true" inactivityTimeout="00:10:00"
                    enabled="false" />
                <security mode="None">
                    <transport clientCredentialType="Windows" proxyCredentialType="None" realm="" />
                    <message clientCredentialType="Windows" negotiateServiceCredential="true" algorithmSuite="Default" />
                </security>
            </binding>
        </wsHttpBinding>

如果我们每1,000条记录打开和关闭一次连接,它会起作用吗?客户不会超时,因为它不会长时间开放。处理1000-15000条记录时,我们正常运行。但是当我们有超过3,000的时候,我们就开始看到超时了。

你怎么建议我这样做?

1 个答案:

答案 0 :(得分:0)

您是否检查过IIS设置?