programing

코드 뒤에 있는 ASP.Net 페이지의 URL 가져오기

powerit 2023. 5. 28. 21:02
반응형

코드 뒤에 있는 ASP.Net 페이지의 URL 가져오기

몇 개의 다른 서버에서 호스팅될 ASP.Net 페이지가 있는데, 코드백에 사용할 문자열로 페이지의 URL(또는 페이지가 호스팅되는 사이트)을 가져오려고 합니다.아이디어 있어요?

사용:

Request.Url.AbsoluteUri

그러면 전체 경로를 얻을 수 있습니다(http://... 포함).

요청의 구성표 및 권한 부분(프로토콜, 호스트 및 포트)만 사용하려면

Request.Url.GetLeftPart(UriPartial.Authority)

사용 중

Request.Url.GetLeftPart(UriPartial.Authority) +
        VirtualPathUtility.ToAbsolute("~/")

저는 이것을 사용자 지정 클래스에서 제 코드에 사용합니다.no-reply@example.com "no-session@" + 베이스와 같은 이메일을 보낼 때 유용합니다.SiteUrl 모든 사이트에서 정상적으로 작동합니다.

// get a sites base urll ex: example.com
public static string BaseSiteUrl
{
    get
    {
        HttpContext context = HttpContext.Current;
        string baseUrl = context.Request.Url.Authority + context.Request.ApplicationPath.TrimEnd('/');
        return baseUrl;
    }

}

코드 뒤에 있는 코드에서 사용하려면 컨텍스트를 제거합니다.

서버 이름을 원하십니까?아니면 호스트 이름?

요청합니다.Url.Hostala Stephen

Dns.GetHostName - 서버 이름

요청합니다.URL은 요청 중인 페이지에 대해 알아야 할 대부분의 정보에 액세스할 수 있습니다.

Request.Url.GetLeftPart(UriPartial.Authority) + Request.FilePath + "?theme=blue";

당신이 앉아 있는 페이지에 대한 전체 경로를 제공할 것입니다.쿼리 문자열에 추가했습니다.

저도 같은 문제에 직면해 있으며 지금까지 발견한 것은 다음과 같습니다.

new Uri(Request.Url,Request.ApplicationPath)

또는

Request.Url.GetLeftPart(UriPartial.Authority)+Request.ApplicationPath

부탁한다.Url.Host

example.com?id=99999, 과 유사한 고유 문자열을 끝에 포함하려면 다음을 사용합니다.

Dim rawUrl As String = Request.RawUrl.ToString()

js 파일을 사용하여 다음을 캡처할 수 있으며, 뒤에 있는 코드에서도 사용할 수 있습니다.

<script type="text/javascript">
    alert('Server: ' + window.location.hostname);
    alert('Full path: ' + window.location.href);
    alert('Virtual path: ' + window.location.pathname);
    alert('HTTP path: ' + 
        window.location.href.replace(window.location.pathname, ''));    
</script>

언급URL : https://stackoverflow.com/questions/96029/get-url-of-asp-net-page-in-code-behind

반응형