2010-06-05 79 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