2
我有一個WCF SOAP 1.1 Webservice,其配置如下。SOAP WCF Webservice在本地或遠程調用時的行爲有所不同
對此端點的任何方法的併發調用會掛起,直到另一個遠程調用時(從網絡上的另一臺計算機)調用此方法。
當這些方法在本地調用時(客戶機位於同一臺機器上)時,我無法複製此內容。
我試圖增加maxConcurrentCalls沒有運氣......服務行爲似乎根據客戶端本地/遠程位置不同。任何猜測?
查看併發呼叫場景的ServiceModelEndpoint性能計數器時,結果很有趣:遠程「未完成調用」達到2個調用的限制...而20個併發線程的本地調用達到18個「未完成調用「! 2個「遠程」調用的限制似乎是「每個進程」。
感謝,
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.serviceModel>
<services>
<service behaviorConfiguration="MyCustomBehavior" name="CONTOSO.CONTOSOServerApi.IContosoServiceApiImplV1">
<endpoint address="" binding="customBinding" bindingConfiguration="WebBinding"
bindingNamespace="http://contoso.com" contract="CONTOSO.CONTOSOServerApiInterfaceV1.IContosoServiceApiV1" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="MyCustomBehavior">
<serviceMetadata httpGetEnabled="true" httpGetUrl="http://localhost:8080/MyEndPointV1" />
<serviceDebug httpHelpPageEnabled="false" includeExceptionDetailInFaults="true" />
<serviceThrottling maxConcurrentSessions="10000" maxConcurrentCalls="1000"/>
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<customBinding>
<binding name="WebBinding">
<textMessageEncoding messageVersion="Soap11" maxReadPoolSize="2147483647" maxWritePoolSize="2147483647">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
</textMessageEncoding>
<httpsTransport />
</binding>
</customBinding>
</bindings>
</system.serviceModel>
</configuration>
你這是什麼託管它?如果您在客戶端計算機上(XP,Vista,7)並在IIS中託管,則會遇到一些連接問題。 – 2010-05-14 10:45:11
它是由ServiceHost自行託管的。服務器在Windows Server 2008下,客戶端爲XP/Win7。 – Idriss 2010-05-14 10:54:35
我試圖遠程連接到Win7上承載的相同服務,同樣的問題。也試過沒有防火牆,沒有防病毒......同樣的問題。這似乎與WCF有關。 – Idriss 2010-05-14 11:02:00