문제

하면 좋은 방법으로 후크 Application_Start 의 2007SharePoint 사이트 개발할 경우 기능이?내가 직접 편집 할 수 있습니다 Global.맨 파일의 사이트에서 루트,하지만 할 수있는 방법이 수 있도록 도와 함께 배포됩니다.

감사합니다!

도움이 되었습니까?

해결책

이것은 실제로 가능하지만,그렇지 않을 포함합니다.맨 파일입니다.

많은 마이크로 소프트의 예를 보여주선에 코드를 통해 글로벌입니다.맨,하지만 이것은 최고의 모범 사례에 접근에 올 때 SharePoint.이상적으로,당신의 코드 얻으로 패키지 특징과 배포를 통해 WSP(당신이 이미 알고있는 바와 같이).

의 주요 거짓말을 구현하는 코드를 문제로 HttpModule(즉,유형을 구현하는 IHttpModule 인터페이스)및 배선 그것으로 ASP.NET 파이프라인 서비스 SharePoint 응용 프로그램.대략 말하기,려면 다음의 단계는 다음과 같습니다:

  1. 는 클래스를 만들 IHttpModule 인터페이스를 구현.
  2. 을 구현하면 초기화 방법에 HttpModule;이 때 호출 HttpApplication(이 경우,SPHttpApplication)를 설치,그리고 그것은 당신이 제공하는 기회를 가공을 수행하는,철사까지 이벤트에 대한 대리인 다른 파이프라인,이벤트 등등.
  3. Create an SPFeatureReceiver 는 추가 및 제거하 HttpModule 에서 대상 web.config 파일에서 활성화 및 비활성화,각각합니다.이를 사용하여 수행됩니다 SPWebConfigModification 타입 업데이트 <httpModules> 노드에서 대상 web.config 파일이 있습니다.
  4. 패키지로 모든 기능을 통해 배포 WSP.

에 대한 자세한 내용 HttpModule 개발을 참조하십시오 http://msdn.microsoft.com/en-us/library/ms227673.aspx.일부 추가적인 세부사항에 SPWebConfigModification 유형을 참조하십시오 http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.administration.spwebconfigmodification.aspx.

결과:클래스를 처리할 수 있는 응용 프로그램 시작 및 배포를 통해 기능입니다.수동 파일 해킹이 필요합니다.

나는 성공적으로 사용되는 다수의 시나리오-가장 최근 사용자 지정 캐싱 공급자(IVaryByCustomHandler)을 등록하는 데 필요 자체에 대한 콜백과 SPHttpApplication 때 시작했다.

비록 당신의 질문은 약간 오래된,도움이 되기를 바랍니다!

다른 팁

이것에 대한 나의 직감은 그것이 불가능하다는 것입니다. Application_Start는 ASP.NET 엔진이 시작될 때 런타임에 의해 호출되므로 Global.asax를 수정하는 외부에서 핸들러를 연결하는 방법은 없을 가능성이 높습니다. 애플리케이션 중지/언로드에서 살아남을 수 있습니다. 따라서 Global.Asax에 편지를 써야한다면 수정을 수행하기 위해 기능 이벤트 레시버를 작성할 수 있다고 생각합니다.

그 외에도, 당신은 왜 그런지에 대한 자세한 내용을 줄 수 있습니까? 아마도 다른 공격 각도가있을 것입니다. Global.asax를 즉시 수정한다는 아이디어는 나를 아프게 만듭니다. 그것은 좋지 않습니다.

오이신

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top