요구사항: 모든 HTTP 요청을 차단하고 요청의 시작부터 끝까지 걸리는 시간을 계산하는 새로운 IHttpModule 모듈이 추가되어 시간이 많이 소요되는 페이지 문제 해결과 사용자 경험 최적화 및 개선이 용이해졌습니다.
ASP.NET 에서는 이미 많은 것이 미리 정의되어 있습니다HttpModule심지어 서버 웹사이트 프로필, 시스템 폴더에 이미 등록되어 있습니다C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\web.config등록된 HttpModule을 다음과 같이 확인하세요:
<httpModules> <add name="OutputCache" 타입="System.Web.Caching.OutputCacheModule"/> <add name="Session" type="System.Web.SessionState.SessionStateModule"/> <add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationModule"/> <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule"/> <add name="PassportAuthentication" type="System.Web.Security.PassportAuthenticationModule"/> <add name="RoleManager" type="System.Web.Security.RoleManagerModule"/> <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule"/> <add name="FileAuthorization" type="System.Web.Security.FileAuthorizationModule"/> <add name="AnonymousIdentification" type="System.Web.Security.AnonymousIdentificationModule"/> <add name="Profile" type="System.Web.Profile.ProfileModule"/> <add name="ErrorHandlerModule" type="System.Web.Mobile.ErrorHandlerModule, System.Web.Mobile, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> <add name="ServiceModel" type="System.ServiceModel.Activation.HttpModule, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule"/> <add name="ScriptModule-4.0" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> </httpModules> IHttpModule 인터페이스를 계승하는 새로운 RequestTimeHttpModule 객체를 생성하면 코드는 다음과 같습니다:
새로운 HttpModule 모듈도 다음과 같이 web.config에서 구성되어야 합니다:
웹사이트에 접속해 보세요, 렌더링은 다음과 같습니다:
ASP.NET HTTP 모듈 및 HTTP 핸들러:하이퍼링크 로그인이 보입니다.
(끝)
|