2009-06-04 68 views
4

在.net 2.0上使用遠程處理時,是否可以找到/獲取有關連接客戶端的一些信息?我想知道在服務器端獲取有關連接客戶端的一些信息,因此我可以採取相應措施?這是一個小而且非常本地的應用程序,永遠不會超過10個同時連接/請求客戶端。遠程處理 - 有關客戶端的信息。 c#

在每個函數中傳遞客戶端引用? (或一些標識符)?我可以這樣做,但我更願意從請求/連接客戶端獲取信息。 IP地址或類似的會很好。

問候

回答

1

question可能有你要找的答案。

我剝去了可能對你無關緊要的部分,並留下了實際佔用IP地址的部分。

public ServerProcessing ProcessMessage(IServerChannelSinkStack sinkStack, 
    IMessage requestmessage, ITransportHeaders requestHeaders, 
    System.IO.Stream requestStream, out IMessage responseMessage, 
    out ITransportHeaders responseHeaders, out System.IO.Stream responseStream) 
{ 
    // Get the IP address and add it to the call context. 
    IPAddress ipAddr = (IPAddress)requestHeaders[CommonTransportKeys.IPAddress]; 
} 
0

This question顯示URI的表觀格式,即在ObjRefRemotingServices.GetObjRefForProxy當你得到URI財產將它傳遞給一個遠程對象。前兩個斜槓之間的字符串是按進程的GUID,它從本地程序的角度唯一標識客戶端。

在我的情況下,我只需要一些方法來識別客戶端,而不是它的IP地址(這對非TCP通道無效),所以這對我很有用。

相關問題