2012-04-22 97 views
0

如何在C#代碼中獲取當前運行的WCF服務的Web地址?例如,在函數內的Web服務調用期間,我正在查找「this」和當前正在執行的/正在運行的服務的基地址。這個服務就像「http:// localhost:2342342/WebServiceName1.svc」一樣運行,我想在代碼中的服務內部的運行時獲得這個地址。我得到自動地址而不是硬編碼地址的原因是因爲當我將服務投入生產或移動服務時,我想擁有動態地址。我想在服務初始化期間使用這個服務地址設置額外的值。運行時WCF基地址

另一點,是否有任何唯一的ID和guid已與內置的WCF相關聯。例如,如果我有兩個單獨的服務器上運行同一個服務與網址,有沒有辦法獲得和設置一個唯一的ID爲每個單獨的服務。唯一的辦法是通過服務的地址?相同的服務,多個服務器以及每個服務上的不同數據處理。

+0

是,該服務的地址。 「這個」服務。理想上像「this.Service.ServiceAddress.ToString()」。另外我如何獲得「proxyClient」?這是一個靜態類嗎? – iefpw 2012-04-22 23:45:02

+0

服務器端。在運行時調用服務。 – iefpw 2012-04-23 00:15:40

回答

3

內WCF服務裏面使用下列知道當前地址WCF:

Uri address = OperationContext.Current.IncomingMessageHeaders.To;