2013-04-30 20 views
6

Dưới thư mục gốc Tôi có cơ cấu như sauweb.config allowDefinition = MachineToApplication lỗi

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

Trong file web.config của tôi trong thư mục Report tôi có như sau:

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

Khi tôi bắt đầu gỡ lỗi Tôi nhận được thông báo sau:

Đó là lỗi khi sử dụng phần được đăng ký là allowDefinition = 'MachineToApplication' ngoài cấp ứng dụng. Lỗi này có thể được gây ra bởi một thư mục ảo không được cấu hình như một ứng dụng trong IIS.

Chú ý rằng trong web.config gốc của tôi, tôi có một cái gì đó như sau:

Trong thư mục gốc của tôi, tôi đã có những điều sau đây:

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

Bạn đã tạo thư mục ảo tại gốc trang web chưa? – IrishChieftain

+0

Tôi có làm điều này ngay cả khi tôi đang làm việc trên máy chủ cục bộ không? –

+0

Có, đây có thể là nguyên nhân của lỗi này. – IrishChieftain

Trả lời

8

Tạo thư mục ảo tại gốc trang. Điều này có thể được thực hiện thông qua các thuộc tính dự án trong VS dưới tab Web.

Cũng có thể bạn có những thứ được xác định trong thư mục con phải nằm trong tệp cấu hình gốc. Xem câu hỏi tương tự ở đây:

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

+0

Cảm ơn. Tôi có một web.config trong thư mục gốc và thư mục con. Dựa trên những gì bạn đề cập dưới đây, tại sao tôi nhận được thông báo lỗi này? –

+0

Bạn đã tạo thư mục ảo chưa? Tôi đã cập nhật câu trả lời của mình. – IrishChieftain

+0

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

2

Nội dung của web.config trong thư mục con nên được đặt trong thư mục gốc. Cấu hình trong thư mục con đang làm cho IIS xử lý thư mục con làm gốc ứng dụng nhưng nó không phải là gốc ứng dụng. Đây là lý do tại sao bạn nhận được lỗi allowDefinition = 'MachineToApplication'.

+0

Cảm ơn typetrice. Tôi cập nhật những gì tôi có trong root.config gốc. Bạn không chắc chắn làm thế nào để kết hợp những gì tôi có trong thư mục con với những gì có trong root.config gốc. Xin hãy giúp –

-3

Lỗi này xảy ra nếu file web.config của bạn và tất cả các tập tin aspx của bạn đang không ở trong cùng một thư mục. vì vậy hãy đặt tất cả các tệp trong cùng một thư mục.

Cảm ơn.

0

Tôi đã mở trang web từ IIS thay vì hệ thống tệp và đã hoạt động.

4

Chuyển thư mục/dự án của bạn thành một ứng dụng trong IIS có thể giải quyết được lỗi này.

+1

Điều này đã giúp tôi. Cảm ơn ! :) – Coder

Các vấn đề liên quan