如何找到请求来自ASP.NET应用程序的位置?

时间:2014-07-07 16:07:57

标签: c# asp.net httprequest

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

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

1 个答案:

答案 0 :(得分:4)

最可靠的方法可能是让“home”应用程序在链接到您的应用程序时提供“返回URL”。类似的东西:

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

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

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

(当然,如果可能的话,更少与HTTP上下文耦合的东西,特别是在MVC应用程序中。)

您可以创建某种无默认值的默认值,也可以仅链接回应用程序的主页,或者尝试从Request.UrlReferrer获取值(这并不总是可用)。然后,您的“主页”链接将是该值,至少在该用户会话的持续时间内(或者无论您持续多久)。