2014-07-07 2 views
0

ASP.NET 응용 프로그램을 IIS에 배포 한 후 응용 프로그램을 다른 별도의 웹 사이트 (포털과 같은 Java 기반 응용 프로그램)에서 호출합니다. 요청한 웹 사이트의 URL (Java 기반 응용 프로그램)을 찾을 수 있습니까? 내 asp.net 응용 프로그램에 왔어?요청이 ASP.NET 응용 프로그램의 어디에서 왔는지 찾는 방법은 무엇입니까?

내가 요청한 URL이 필요한 이유는 내 응용 프로그램에서 내 asp.net 응용 프로그램이 호출 된 웹 사이트 (Java 기반 응용 프로그램)로 리디렉션해야 할 때 내 홈 버튼이 있습니다. URL을 하드 코딩 할 수 없습니다. 요청은 여러 위치에서 올 수 있습니다 (Java 기반 웹 사이트가 다른 도메인 이름을 가진 여러 서버에 있음).

+2

* 사용할 수있는 경우 리퍼러에 있어야 함 : [ASP.NET에서 HTTP 리퍼러 가져 오기] (http://stackoverflow.com/questions/4258217/getting-the-http-referrer-in-asp- net) 또는 JavaScript를 사용하십시오. 'window.history.go (-1)' –

답변

4

가장 신뢰할 수있는 방법은 응용 프로그램에 연결할 때 "홈"응용 프로그램에 "반환 URL"을 제공하는 것입니다. 뭔가 같은 :

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

그런 다음 응용 프로그램에서 해당 값에 대한 쿼리 문자열을 확인할 것 및 아마 세션 또는 일부 과도 세션과 같은 지속성에 보관 :

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

(또는 물론 가능한 경우 HTTP 컨텍스트에 결합 된 것이 아닙니다. 특히 MVC 응용 프로그램에서 그렇습니다.)

아무 것도 제공되지 않는 기본 유형을 만들 수 있습니다. 아마 응용 프로그램의 집에 다시 연결하거나 값을 얻으려고 할 수 있습니다.에서(항상 제공되는 것은 아닙니다). 그런 다음 사용자의 "홈"링크는 적어도 해당 사용자의 세션 기간 동안 (또는 오랫동안 지속하면) 그 값이됩니다.

+0

나를 위해 Request.Referrer를 사용할 수 없습니다. ReturnURL을 추가하면 나를 위해 작동합니다 .. 감사합니다. !! – msbyuva

관련 문제