최근에 나는이 물었다.C# IIS 7 자료 URL이
나는 다음은 다음 IIS 7에
를 가리 킵니다 설치, 설치 생산 나는했다 :
void Application_Start(object sender, EventArgs e)
{
_baseUrl = HttpContext.Current.Request.Url.ToString();
....
}
그러나 이것은 다음과 같은 오류 던졌다 :
요청에서 사용할 수 없습니다를 이 컨텍스트
나는 약간의 독서를했으며, 그 이유는 다음과 같다.
는 I는 I Application_BeginRequest이 여러 번 실행되고 발견 된 위의 기술을 사용하여, Application_BeginRequest을 위해 Application_Start로부터 코드를 옮겼다.
그러나 문제는 내가 위해 Application_Start에서 사용하기 위해, IIS 7의 기본 URL을해야하고, 그래서 내가에서 설정하려고 글로벌 문자열이 있습니다 :이 작업을 시도 할 때
FirstRequestInitialization.Initialize(context);
하지만하지를 surpriseingly을 :
Application["BaseUrl"] = HttpContext.Current.Request.Url.ToString();
이 오류를 얻을 : 는 'Microsoft.Web.Administration.Application'가 '형'이다 하지만
012,351,641에 '변수'처럼 사용된다내가 원하는 건 IIS 7의 기본 URL은
나는 IIS에게 내가이 작업을 수행 할 수있는 방법 6.
를 지원할 수 없기 때문에 내가 디렉토리 항목 사용할 수 없습니다? 해결 방법은 무엇입니까? VS에서 AppCmd를 실행할 수 있습니까?
도움을 주시면 감사하겠습니다. 감사!
내가 코멘트를 추가하는 잠금을 수행하기 전에 _arbitraryUrl이 널인지 확인하고 널인 경우에만 잠금을 수행하려고합니다. 그렇지 않으면 모든 요청을 불필요하게 잠그고 있습니다. –
Thansk, 좋은 캐치! – Dai
감사합니다 Dai, CarlosAg, 응용 프로그램이 시작될 때 IIS7의 모든 응용 프로그램에 대한 하이퍼 링크를 만들고 싶습니다. 그래서 기본 URL이 필요한 것입니다. –