我知道我可以ServiceThrottlingBehavior
用来设置我希望服务支持多少并发会话,但为了得出最佳值,我试图找出一天中不同时间实际使用的内容。我想公开一个服务方法来返回这个实时数据,或者在最小的情况下,记录它。
WCF 服务中是否有任何方法可以查看当前打开和/或处于故障状态的通道数?
在您“打开”您的 Web 服务之后,您的程序或 Windows 服务(无论您如何运行它)应该执行循环来监视您的连接状态。例如,如果连接出现故障,运行 Web 服务的程序将不知道故障,除非您查询 System.ServiceModel.CommunicationState(重复)。
'execution basically stops here to loop through and check the status of host services
While True
For ii = 0 To i - 1 'i = count of started web services, -1 for zero index offset
'check for broken connection case
If objServiceHost(ii).State <> CommunicationState.Opened Then
Throw New Exception("SynchronizationWS Service Host failed.")
Exit While
End If
Next
Threading.Thread.Sleep(1000) 'sleep 1 second before going trying next
End While
你可能会尝试这样的事情。