【问题标题】:How to find from where the Request came to ASP.NET Application?如何找到请求从哪里来的 ASP.NET 应用程序?
【发布时间】:2014-08-28 04:43:40
【问题描述】:

我有一个 ASP.NET 应用程序部署到 IIS,应用程序将从另一个单独的网站(基于 Java 的应用程序,就像一个门户)调用,我可以从哪里找到该网站的 URL(基于 Java 的应用程序)请求来自我的 asp.net 应用程序?

我需要请求的 URL 的原因是,在我的应用程序中,我有一个 HOME 按钮,单击时应该将用户重定向到调用我的 asp.net 应用程序的网站(基于 Java 的应用程序)。我无法对 URL 进行硬编码,因为请求将来自多个地方(因为基于 java 的网站位于具有不同或相同域名的多个服务器中)。

【问题讨论】:

标签: c# asp.net httprequest


【解决方案1】:

最可靠的方法可能是让“主页”应用程序在链接到您的应用程序时提供“返回 URL”。比如:

<a href="http://yourserver/yourapplication?HomeURL=http%3A%2F%2Fhomeserver%2Fhomeapplication

然后在您的应用程序中,您将检查该值的查询字符串,并可能只是将其保留在会话或类似会话的临时持久性中:

Session["HomeURL"] = Request.QueryString["HomeURL"];

(或者如果可能的话,当然是与 HTTP 上下文的耦合较少的东西,尤其是在 MVC 应用程序中。)

您也许可以创建一个默认值,即没有提供,也许只是链接回您的应用程序的主页,或者尝试从Request.UrlReferrer 获取值(这并不总是可用)。然后,您的“主页”链接将是该值,至少在该用户会话期间(或者无论您坚持多久)。

【讨论】:

  • Request.Referrer 在所有情况下都对我不可用。附加 ReturnURL 对我有用.. 谢谢。!!
猜你喜欢
  • 2011-04-06
  • 2011-08-07
  • 1970-01-01
  • 1970-01-01
  • 2017-05-16
  • 1970-01-01
  • 1970-01-01
  • 2010-09-16
  • 1970-01-01
相关资源
最近更新 更多