Jaki jest pożytek z <clear/>
w pliku web.config?konfiguracja internetowa wyczyść
mam go pod connectionStrings:
<connectionStrings>
<clear />
</connectionStrings>
Jaki jest pożytek z <clear/>
w pliku web.config?konfiguracja internetowa wyczyść
mam go pod connectionStrings:
<connectionStrings>
<clear />
</connectionStrings>
kasuje on wszystkie odziedziczone klucze, to wszystko.
Oto artykuł MSDN: http://msdn.microsoft.com/en-us/library/aa903345(v=vs.71).aspx
Usuwa wszystkie odwołania do odziedziczonych ciągi połączeń, umożliwiając jedynie ciągi połączeń, które są dodawane przez obecnego Element Dodaj.
W Brifly:
Każdy ASP.NET Web Application posiada własny plik konfiguracyjny o nazwie pliku web.config. W rzeczywistości każdy katalog w aplikacji ASP.NET może mieć jeden. Ustawienia w każdym pliku web.config mają zastosowanie do stron w katalogu, w którym są umieszczone, oraz do wszystkich podkatalogów tego katalogu.
Nazywa się to dziedziczeniem konfiguracji.
Więc jeśli utworzysz aplikację ASP.NET i ustawisz jej plik web.config, dodaj niestandardowe HttpHandlers, moduł UrlRewriting itd. I spróbuj utworzyć inną aplikację sieci Web ASP.NET w podfolderze, możesz mieć problemy, ponieważ aplikacja w podfolderze odziedziczy wszystkie ustawienia z nadrzędnego pliku web.config.
Więc jeśli na przykład konfiguracji modułu UrlRewriter w katalogu głównym aplikacji internetowych takich jak to:
<httpModules>
<add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter"/>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</httpModules>
A w aplikacji internetowej dziecięcej (w podfolderze) nie używasz UrlRewriteModule, a następnie, jeśli starają się uruchomić podrzędna aplikacja internetowa w przeglądarce, otrzymasz komunikat o błędzie: Błąd konfiguracji Opis: Wystąpił błąd podczas przetwarzania pliku konfiguracyjnego wymaganego do obsługi tego żądania. Sprawdź szczegółowe informacje o błędach poniżej i odpowiednio zmodyfikuj plik konfiguracyjny.
Komunikat o błędzie analizatora składni: Nie można załadować pliku lub zespołu "UrlRewritingNet.UrlRewriter" lub jednej z jego zależności. System nie może odnaleźć określonego pliku. (D: \ Projects \ VS \ AspDotNetFaqProject \ WWW \ web.config linia 89)
Błąd Źródło:
Linia 88: Linia 89 : Linia 90: Linia 91 :
Co się dzieje tutaj, ponieważ UrlRewriteModule jest skonfigurowany w pliku web.config folderu macierzystego, to ustawienie jest dziedziczone przez plik web.config aplikacji podrzędnej, a z tego powodu ASP.NET szuka pliku UrlRewriteModule DLL w katalogu BIN i wyłącza Oczywiście jej tam nie ma.
Na szczęście istnieje proste rozwiązanie tego problemu.
Pierwszą rzeczą, którą możesz zrobić, to usunąć problematyczny moduł HttpModule w sieci aplikacji podrzędnych.Plik konfiguracyjny za pomocą polecenia remove:
<httpModules>
<remove name="UrlRewriteModule" />
</httpModules>
Po usunięciu programu obsługi aplikacja działałaby poprawnie. Albo można użyć polecenia tak:
<httpModules>
<clear/>
</httpModules>
Byłoby to usunąć wszystkie httpModules w aplikacji dziecięcej.
Kiedy otrzymam odziedziczone klucze? –
Gdy jesteś w folderze innym niż root. Wszystkie klucze w folderze nadrzędnym będą dziedziczone. –
Może również dziedziczyć z pliku machine.config. –