2013-04-30 63 views
6

在根目錄下,我有以下結構web.config中allowDefinition的= MachineToApplication錯誤

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

在報告文件夾我的web.config文件我有以下幾點:

<?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> 

當我開始調試我收到以下消息:

在應用程序級別之外使用註冊爲allowDefinition ='MachineToApplication'的節是錯誤的。此錯誤可能是由於虛擬目錄未被配置爲IIS中的應用程序。

注意,在我的根web.config我有類似如下:

在我的根,我已經有以下幾點:在web.config的

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

您是否在站點根目錄下創建虛擬目錄? – IrishChieftain 2013-04-30 19:05:07

+0

即使我在本地主機上工作,我也要這樣做嗎? – 2013-04-30 19:14:54

+0

是的,這可能是這個錯誤的原因。 – IrishChieftain 2013-04-30 19:19:27

回答

8

在站點根目錄下創建一個虛擬目錄。這可以通過在Web選項卡下的VS中的項目屬性完成。

也可以在子目錄中定義應該在根配置文件中的東西。看到類似的問題在這裏:

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

+0

謝謝。我在根目錄和子目錄中有一個web.config。根據您在下面提到的內容,爲什麼我會收到此錯誤消息呢? – 2013-04-30 20:57:07

+0

您是否創建了虛擬目錄?我已經更新了我的答案。 – IrishChieftain 2013-04-30 21:13:57

+0

http://msdn.microsoft.com/en-us/library/aa719558%28v=vs.71%29.aspx – IrishChieftain 2013-04-30 21:15:02

2

內容子目錄應該放置在根目錄中。子目錄中的配置使IIS將子目錄視爲應用程序根目錄,但它不是應用程序根目錄。這就是爲什麼你得到錯誤allowDefinition ='MachineToApplication'。

+0

感謝typetrice。我更新了根web.config中的內容。不知道如何將子目錄中的內容與根web.config中的內容相結合。請幫忙 – 2013-04-30 19:24:56

-3

這個錯誤發生,如果你的web.config文件和所有aspx文件不在同一文件夾中。所以請將所有文件放在同一個文件夾中。

謝謝。

0

我從IIS打開網站而不是文件系統,它工作。

4

將文件夾/項目轉換爲IIS中的應用程序可以解決此錯誤。

+1

這幫了我。謝謝 ! :) – Coder 2017-04-11 08:49:17

相關問題