2010-06-22 9 views
5

Chciałbym skonfigurować ELMAH dla witryny ASP.NET MVC całkowicie w kodzie. Obejmuje to rejestrację modułu, ustawienie dostawcy rejestrowania i ustawień oraz filtrowanie wyjątków.Czy można całkowicie skonfigurować ELMAH w kodzie?

Jedyną częścią, którą udało mi się zrobić do tej pory, są wyjątki filtrów. Czy ktoś jeszcze wiedział, jak to zrobić? Naprawdę chciałbym uniknąć zaśmiecenia mojego pliku konfiguracyjnego za pomocą ustawień, które nigdy się nie zmienią.

+0

Brian - Czy to nie jest punkt w pliku konfiguracyjnym, aby przechowywać rzeczy, które don” czy zmieniasz się kiedykolwiek czy często? Rzeczy, które często się zmieniają, możesz chcieć w bazie kodu. Tylko myśl ... – Tommy

+0

Rozwijam wiele instancji systemu ASP.NET MVC dla wielu klientów. W związku z tym chciałbym, aby pliki konfiguracyjne były tak proste, jak to tylko możliwe. –

+0

@Tommy: Myślę, że chodziło ci o coś zupełnie innego. –

Odpowiedz

0

ELMAH działa jako niestandardowy moduł HTTP i procedura HTTP. Według MSDN:

Po utworzeniu niestandardowego programu obsługi HTTP klasę, musisz zarejestrować go w pliku web.config. Umożliwia to ASP.NET wywoływanie procedury obsługi HTTP w w celu obsługi żądań dla zasobów , które mają określone rozszerzenie nazwy pliku .

Sposób rejestracji procedury obsługi HTTP zależy od wersji Internetowej Usługi informacyjne (IIS), która obsługuje Twojej aplikacji. W przypadku usług IIS 6.0 użytkownik rejestruje procedurę obsługi za pomocą sekcji httpHandlers pliku Web.config . W przypadku usług IIS 7.0 działających w trybie klasycznym rejestruje się procedurę obsługi w sekcji httpHandlers , a program obsługi odwzorowuje się na plik Aspnet_isapi.dll. W przypadku usług IIS 7.0 działających w trybie zintegrowanym rejestruje się procedurę obsługi przez przy użyciu elementu obsługi w sekcji system.WebServer serwera .

Rick Strahl has a blog post gdzie programowo rejestruje moduł HttpModule. Przypuszczam, że możliwe byłoby zastosowanie podobnej techniki w ELMAH.