2012-05-16 128 views
1

我正在嘗試查找客戶端用來訪問服務器的URL(服務器端)。我試過以下內容:WCF 3.5找到客戶端用於訪問服務的URL(服務器端)

Uri url = OperationContext.Current.Channel.RemoteAddress.Uri; 
Uri url = OperationContext.Current.Channel.Local.Uri; 
Uri url = OperationContext.Current.EndpointDispatcher.EndpointAddress.Uri; 

但這些都沒有正常工作。他們都返回服務器名稱,(與完全限定域名,如myserver.mydomain.local。即使我使用myserver/myservice.svc它將得到全名。有可用的服務和域名測試將mywebsite.com/myservice.svc,看它是否有機器名或不

結果我想(從服務器會):

http://mywebsite.com/myservice.svc

而不是

http://myserver.mydomain.local/myservice.svc

這就是目前似乎正在發生的事情。

+0

Jon。我也有同樣的問題。這個問題已經解決了嗎? – OammieR

+0

Jon,@ OammieR,你是如何解決問題的? – KumarHarsh

+0

[在WCF REST服務中獲取原始請求url]可能的重複(http://stackoverflow.com/questions/9110397/get-original-request-url-in-wcf-rest-service) – Josh

回答

0

如果您有權訪問HttpContext,則可以使用HttpContext.Current.Request.Url.ToString()

0

OperationContext.Current.IncomingMessageHeaders.To

應該給URI,它使用的客戶端連接到服務器。