我想顯示從我的客戶端窗體窗體應用程序調用一個方法的次數。以下是如何定義服務和客戶端。無法顯示從客戶端Web窗體計數
在我的日誌文件中,我看到每次調用方法都會增加計數,但我無法看到從客戶端表單中放入列表的總數。
IOperator
{
SendMessage(string strMsgId, string strMessage);
[OperationContract]
List<int> GetCount();
}
[ServiceBehavior(Namespace = "http://X.org/MessageService/"]
Operator: IOperator
{
private List<Int32> TotalCount = new List<Int32>();
public static List<int> TotalCount
{
get { return _totalCount; }
set { _totalCount = value; }
}
SendMessage(string strMsgId, string strMessage)
{
if (strMsgId == "02")
{
lock (_lock)
{
++_count;
TotalCount.Add(_count);
}
string debugFileName = "C:\\Test.txt";
// Write to the file:
inboundMessageLog.WriteLine("{0}{1}", "Inbound Message:", strMessage.Substring(549, 27));
inboundMessageLog.WriteLine("{0}{1}", "count:", _count);
inboundMessageLog.WriteLine("{0}{1}", "Total Count:", TotalCount.Count);
result = 0;
}
}
public List<int> GetCount()
{
return TotalCount;
}
}
編輯
我想保存在每一個給定的時間一些會話總數和獲取計數在我的文字box.I希望總數不管客戶的數量。 TotalCount是靜態的,定義爲私有靜態列表_totalCount = new List();與getter TotalCount。
我沒有明確定義的服務InstanceContextMode和肯定的是TOTALCOUNT顯示0
客戶:
var clientA = new SendServiceReference.SendService();
Operator clientB = new Operator();
while ((DateTime.Now - startTime) <= timeoutSpan)
{
// Send request to external service and all the requests will be logged to my service since I don't have control over the external service.
sendMessageResult = clientA.SendMessageToExternalService("01", txtRequest.Text);
}
//display the total request received from client A for the give time span
responseCount.Text = clientB.GetCount().Count.ToString();
我想保存總數在一些會議上每一個給定的時間並在我的文本框中獲取該計數。客戶端A正在調用某些外部服務,並且所有請求都將記錄到我的服務中。我想統計有多少請求來到我的服務,並保存總數並以任何方式顯示。 – HXD
如果您只想在一段時間內包含計數,那麼您可以設置一個計時器並在該計時器中使用相同的客戶端。要麼這樣做,要麼使整個字段靜態,然後重置它(通過另一個服務調用)。 – Tim