【问题标题】:Get controller method caller (3rd party webservice)获取控制器方法调用者(第 3 方 Web 服务)
【发布时间】:2010-06-05 07:46:39
【问题描述】:

是否可以检索调用我的控制器方法的第 3 方网络服务的 URL? Request.Current.Url 之类的东西引用我自己的 URL (/someController/someAction/)。

第 3 方 web 服务正在向我的 /someController/someAction 发送 HTTP POST 数据,我希望不使用

return Content["some response"]

这将迫使我退出该方法。由于答案是纯文本,我想使用 HTTP Post 发送它。

我实际上尝试做的是响应调用 web 服务而不退出我的方法(返回 Content() 将退出),因此我可以调用其他方法来处理 web 服务发送给我的数据。我想先告诉webservice我收到了他们的东西然后处理,这样当出现处理错误时,webservice至少不会重新发送旧数据。除了构建自己的 HTTP 帖子之外,还有其他方法吗?

【问题讨论】:

  • 您尝试过 HttpRequest.UserHostName 吗?或 HttpRequest.Headers 检查主机变量...

标签: asp.net asp.net-mvc


【解决方案1】:

您可以依赖Request.UrlReferer,但您的想法似乎不是那么好。最好的解决方案是启动新线程进行数据处理并坚持return Content

【讨论】:

  • 正是我同时实现它的方式:)。标记为最终答案。顺便说一下,我怀疑 UrlReferer 并不走运,因为服务会立即调用该方法,因此没有引用者。只有当用户通过上一页的链接到达当前页面时,URL Referrer 才会返回一个值,我相信但我没有对其进行测试。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-03-03
  • 1970-01-01
  • 1970-01-01
  • 2023-01-10
  • 2011-05-26
  • 2012-06-08
  • 2017-05-19
相关资源
最近更新 更多