2010-06-05 81 views
0

是否可以檢索調用我的控制器方法的第三方webservice的URL? 像Request.Current.Url這樣的東西引用我自己的URL(/ someController/someAction /)。獲取控制器方法調用方(第三方webservice)

第三方web服務發送HTTP POST數據到我的/ someController/someAction,我希望發回一個HTTP POST消息的方法,第三方Web服務的調用程序,而無需使用

return Content["some response"] 

這將迫使我退出該方法。由於答案是純文本,我想用HTTP Post發送它。

我實際上試圖做的是響應調用webservice而不退出我的方法(返回Content()將退出),所以我可以調用其他方法來處理由web服務發送給我的數據。我想先告訴web服務我收到了他們的東西,而不是進程,這樣當發生處理錯誤時,web服務至少不會重新發送舊數據。有沒有另外一種方法可以做到這一點比構建自己的HTTP郵件?

+0

你試過HttpRequest.UserHostName嗎?或HttpRequest.Headers檢查主機變量... – RPM1984 2010-06-05 09:49:55

回答

1

你可以依賴Request.UrlReferer,但你的想法似乎不太好。最好的解決方案將是可以啓動新的數據處理線程並堅持到return Content

+0

正是我在此期間實施它的方式:)。標記爲最終答案。我懷疑UrlReferer是沒有運氣的,因爲服務一次調用方法,所以沒有引用。只有當用戶通過上一頁的鏈接到達當前頁面時,URL Referrer纔會返回一個值,我相信但我沒有對它進行測試。 – bastijn 2010-06-06 11:57:08