2013-04-30 8 views
6

W katalogu głównego I mieć następującą strukturęweb.config allowDefinition = MachineToApplication błąd

.. 
.. 
.. 
web.config 
Report Folder 
- Login.aspx 
- Web.config 
    | 
    |-> ViewReport 
     |  
     |-> Report.aspx 

w moim pliku web.config w folderze Zgłoś Mam następujący:

<?xml version="1.0"?> 
    <configuration> 
     <system.web> 
      <authentication mode="Forms"> 
       <forms loginUrl="Login.aspx" defaultUrl="ViewReport/Report.aspx"> 
        <credentials passwordFormat="Clear"> 
         <user name="Johl" password="pass888"/> 
        </credentials> 
       </forms> 
      </authentication> 
     </system.web> 

     <location path="ViewReport/Report.aspx"> 
      <system.web> 
       <authorization> 
        <allow users="Johl"/> 
        <deny users="*"/> 
       </authorization> 
      </system.web> 
     </location> 
    </configuration> 

kiedy rozpocznij debugowanie Otrzymuję następujący komunikat:

Błędem jest użycie sekcji zarejestrowanej jako allowDefinition = 'MachineToApplication' poza poziomem aplikacji. Ten błąd może być spowodowany tym, że katalog wirtualny nie jest skonfigurowany jako aplikacja w usługach IIS.

pamiętać, że w moim głównym web.config Mam coś jak następuje:

W moim korzeni, już mam następujące:

  <system.web>   
      <authentication mode="Forms"> 
       <forms loginUrl="Str/StrUserLogin.aspx" timeout="2880" slidingExpiration="true" />   
       </authentication> 
      <authorization> 
       <allow users="*" /> 
      </authorization>  
     </system.web> 
+0

Czy utworzono katalog wirtualny w katalogu głównym witryny? – IrishChieftain

+0

Czy robię to, nawet jeśli pracuję na localhost? –

+0

Tak, jest to prawdopodobnie przyczyna tego błędu. – IrishChieftain

Odpowiedz

8

Utwórz katalog wirtualny w katalogu głównym witryny. Można to zrobić za pośrednictwem właściwości projektu w VS na karcie Sieć.

Możliwe jest również, że masz określone rzeczy w podkatalogu, który powinien znajdować się w głównym pliku konfiguracyjnym. Zobacz podobne pytanie tutaj:

Error to use a section registered as allowDefinition='MachineToApplication' beyond application level

+0

Dzięki. Mam plik web.config w katalogu głównym i podkatalogu podrzędnym. W oparciu o to, co wspomniano poniżej, dlaczego otrzymuję ten komunikat o błędzie? –

+0

Czy utworzyłeś katalog wirtualny? Zaktualizowałem swoją odpowiedź. – IrishChieftain

+0

http://msdn.microsoft.com/en-us/library/aa719558%28v=vs.71%29.aspx – IrishChieftain

2

zawartość pliku web.config w podkatalogu należy umieścić w katalogu głównym. Konfiguracja w podkatalogu powoduje, że IIS traktuje podkatalog jako katalog główny aplikacji, ale nie jest katalogiem głównym aplikacji. Właśnie dlatego pojawia się błąd allowDefinition = "MachineToApplication".

+0

Dzięki typetrice. Zaktualizowałem to, co mam w głównym pliku web.config. Nie wiem, jak połączyć to, co mam w podkatalogu z tym, co jest w głównym pliku web.config. Proszę o pomoc –

-3

Ten błąd wystąpić, jeśli plik web.config a cały plik aspx nie są w tym samym folderze. więc prosimy o umieszczenie wszystkich plików w tym samym folderze.

Dzięki.

0

Otworzyłem stronę z IIS zamiast z systemu plików i działało.

4

Konwersja folderu/projektu do aplikacji w usługach IIS może rozwiązać ten błąd.

+1

Pomogło mi to. Dzięki ! :) – Coder

Powiązane problemy