2009-10-07 6 views
4

웹 사이트 용 응용 프로그램과 같은 플러그인을 개발 중입니다. 요구 사항으로 인해 소스 코드가없는 기본 웹 사이트와 동일한 실제 경로와 동일한 응용 프로그램 풀에 살게됩니다. 따라서 이들은 둘 다 동일한 Web.config 및 다른 종속성을 공유합니다.ASP.NET 응용 프로그램 Global.asax를 사용하지 않고 시작하십시오.

응용 프로그램 시작시 타사 종속성에 대한 라이센스를 설정해야하지만 해당 코드가 다른 회사의 소유이므로 Global.asax의 코드에 액세스 할 수있는 방법이 없습니다.

그래서 Global.asax에 관여하지 않고 Application Start에 이벤트를 추가하는 대체 방법이 있습니까? 아니면 현재 Global.asax를 상속/연장 할 수있는 유일한 솔루션입니까?

public class MyModule : IHttpModule 
{ 
    #region IHttpModule Members 

    public void Dispose() 
    { 
    } 

    public void Init(HttpApplication context) 
    { 
     ... 
    } 

    #endregion 
} 

의 Web.config

<httpModules> 
    <add name="MyModule" type="MyNamespace.MyModule, MyAssembly" /> 
</httpModules> 

답변

9

당신은 HttpModule을 사용할 수 있습니다.

https://github.com/davidebbo/WebActivator

[assembly: WebActivatorEx.PostApplicationStartMethod(typeof(Bootstrapper), "Start")] 

public class Bootstrapper 
{ 
    public static void Start() 
    { 
     // Put everything in motion here 
    } 
} 

당신은 또한 Global.asax에 위해 Application_Start() 함수 이전 또는 이후에 실행하는 옵션이 주 -이 예는 이후에 실행됩니다.

2

당신이 당신의 목표 프로젝트 모든 .NET 4.0 이상이 될 것입니다 알고 있다면 당신은 WebActivator를 사용할 수 있습니다

관련 문제