ASP.NET 응용 프로그램이 로컬에서 실행 중인지 확인
asp 애플리케이션이 로컬에서 실행되고 있는지 확인할 수 있는 권장 방법이 있는지 알고 싶습니다.현재는 Request 개체를 사용하여 서버 변수에 대해 localhost 또는 127.0.0.1 문자열 검색을 수행하지만 몇 가지 제한이 있습니다.가장 큰 점은 요청 개체가 항상 필요할 때 사용할 수 있는 것은 아니라는 것입니다.
bool isLocal = HttpContext.Current.Request.IsLocal;
요청을 확인할 수 있습니다.IsLocal 속성
이것은 Application_Start를 사용하는 데 도움이 되었습니다.
if (!HostingEnvironment.IsDevelopmentEnvironment)
{
GlobalFilters.Filters.Add(new RequireHttpsAttribute());
}
IsDevelopmentEnvironment의 설정 방법에 대한 자세한 내용은 다음 스레드를 참조하십시오.
ASP.NET에서 호스팅 환경의 값을 결정하는 항목입니다.개발 환경은?
이 스레드의 다른 답변에 대한 @Meh Men의 논평에 대해, 누가 다음과 같이 물었습니다.
요청이 null인 경우(예: Application_start)는 어떻게 됩니까?
로컬 환경이 "디버그" 모드로 구축되고 개발되는 동안 프로덕션 및 테스트 또는 "호몰로그" 버전의 웹 사이트가 모두 릴리스 버전과 함께 배포될 것이라고 확신하면 다음을 사용할 수 있습니다.#if DEBUG이 블록 외부 또는 일치하는 내부에서만 로컬로 실행되어야 하는 코드를 작성하기 위해 sintax#else로컬이 아닌 경우에만 실행할 다른 코드를 작성할 수 있습니다(예: 원격).
다음은 제가 현재 진행 중인 특정 프로젝트에서 이 문제를 해결한 방법의 작은 샘플입니다.
#if DEBUG
// Code here will only be run locally.
#else
// Code here will only be run "remotely".
MVC 보기 / ASP 페이지 / 클래스 뒤의 코드:
bool isLocal = HttpContext.Current.Request.IsLocal;
MVC 컨트롤러의 경우:
bool isLocal = Request.IsLocal;
HttpContext인 경우.현재 사용이 null이 아닙니다.
HttpContext.Current.Request.IsLocal
그렇지 않은 경우(예: App_Start 또는 HttpContext 이전).전류를 사용할 수 있습니다. 테스트할 수 있습니다.
HostingEnvironment.ApplicationPhysicalPath.StartsWith(@"C:\")
또는 PC의 전용 디스크입니다.
다른 방법으로는 프로덕션에서 상수 컴파일 변수 집합을 사용할 수 있습니다. 예를 들어, Azure 및 visualstudio.com 에서 변수 집합을 사용할 수 있습니다.
그것은 더럽지만 효과가 있습니다.
부탁한다.IsLocal은 127.0.0.1 또는 :::1을 확인하는 것과 동일합니다.다음 게시물을 참조하십시오. http://forums.asp.net/p/1065813/4081335.aspx
ASP.NET 환경에서는 항상 요청을 사용할 수 없습니다.
HttpContext 및 속성 요청/응답은 서버가 페이지 처리를 시작하는 즉시 초기화됩니다.따라서 페이지 수명 주기에서 c# 코드를 실행할 수 있는 모든 위치에서 요청 URL을 확인할 수 있습니다.
언급URL : https://stackoverflow.com/questions/691881/determine-if-asp-net-application-is-running-locally
'programing' 카테고리의 다른 글
| dplyr을 사용한 상대 빈도/비율 (0) | 2023.06.13 |
|---|---|
| 업로드된 php 파일을 워드프레스로 실행하는 대신 일반 텍스트로 표시하는 방법은 무엇입니까? (0) | 2023.06.13 |
| 엑셀에서 워드로 붙여넣은 차트의 파일 크기 줄이기 (0) | 2023.06.13 |
| x86과 x64의 동일한 페이지 내에서 버퍼의 끝을 지나서 읽는 것이 안전합니까? (0) | 2023.06.13 |
| 후행 0.0을 자릅니다. (0) | 2023.06.13 |