2013-01-21 51 views
0

我需要獲取調用應用的URL,因爲該服務會發送包含指向我應用的鏈接的電子郵件(例如,單擊此處查看錶單)。如何在WCF netTcpBinding窗口服務中獲取調用者的URL?

我正在考慮在應用程序的服務器上對應用程序的URL進行硬編碼,但在本地工作時,本地主機端口有時會發生變化。另外,當部署到不同的測試環境時,我將不得不更改URL。此外,與他人合作也會造成輕微問題。

最好的解決方案是動態確定它。其次,web.config。第三好:硬編碼。

如何解決此問題並獲取調用應用的網址?

編輯:從客戶端發送url是不可能的,因爲服務有定時事件來發送電子郵件通知。

+1

是否調用者必須擁有一個URL?如果您需要URL,請讓主叫方將其發送給您。 –

+0

可能的重複的[我可以得到WCF調用者URL ...?](http://stackoverflow.com/questions/4147636/can-i-get-the-wcf-caller-url) – Useless

回答

1

也許IP能幫

嘗試這一行

((RemoteEndpointMessageProperty)OperationContext.Current.IncomingMessageProperties[RemoteEndpointMessageProperty.Name]).Address; 

這篇文章可以在很長的路要走 http://keyvan.io/detect-client-ip-in-wcf-3-5

編輯

獲取URL幫助是不可能的,

相似這裏的問題 Can I get the WCF Caller Url...?

+0

IP將如何幫助?我需要一個類似於http://www.myapp.com/forms?formId=123的鏈接。我只需要知道鏈接的www.myapp.com/部分。 – Lifes

+0

以及在這種情況下得到的URL是不可能的 類似的問題在這裏http://stackoverflow.com/questions/4147636/can-i-get-the-wcf-caller-url –

+0

我覺得一樣多:謝謝。你能否在正式答案中提出這個問題,我會將其標記爲正確的。 – Lifes