ASP.NET: Lỗi HTTP 500.19 - Lỗi máy chủ nội bộ 0x8007000d


115

Tôi đang sao chép triển khai ứng dụng web và tìm thấy một số vấn đề liên quan đến HTTP Error 500.19. Máy của tôi đang chạy Windows 7 trong khi bản phát triển đang hoạt động đang sử dụng Windows 8 . Chúng tôi đang phát triển Ứng dụng Web của mình bằng Visual Studio 2010 .

Đầu tiên, tôi nhận được mã lỗi 0x80070021, tương tự như được đăng ở đây . Tôi cập nhật web.config của mình theo câu trả lời được chấp nhận và sau đó tôi nhận được mã lỗi sau (tương tự như được đăng ở đây ).

HTTP Error 500.19 - Internal Server Error
Error Code 0x8007000d
Config Source -1: 0:

Tôi đã đọc định nghĩa các triệu chứng trong trang hỗ trợ của Microsoft và nguyên nhân gây ra lỗi là:

Sự cố này xảy ra do tệp ApplicationHost.config hoặc tệp Web.config chứa phần tử XML không đúng định dạng.

và giải pháp là

Xóa phần tử XML không đúng định dạng khỏi tệp ApplicationHost.config hoặc khỏi tệp Web.config.

Tuy nhiên, web.config mà tôi sử dụng đang hoạt động hoàn hảo trong môi trường phát triển ban đầu.

Đây là những gì tôi đã kiểm tra và thử cho đến nay:

  1. Cài đặt ASP.NET bằng cách gọi aspnet_regiis -i
  2. Đặt ứng dụng của tôi để sử dụng nhóm ứng dụng khác nhau (ASP.NET v4.0, .NET v4, v.v.)
  3. Tệp ApplicationHost.config vẫn đang sử dụng mặc định từ Windows 7.

Đây là một phần của Web.Config của tôi

<system.webServer>
    <section name="handlers" overrideModeDefault="Allow" /> 
    <section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Allow" />
    <validation validateIntegratedModeConfiguration="false" />
    <modules runAllManagedModulesForAllRequests="true">
    </modules>
    <handlers>
        <remove name="UrlRoutingHandler" />
        <add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    </handlers>
    <urlCompression doStaticCompression="true" doDynamicCompression="false"></urlCompression>
    <directoryBrowse enabled="true" />
    <defaultDocument>
        <files>
            <add value="Logon.aspx" />
        </files>
    </defaultDocument>
</system.webServer>

Tôi đã đọc các bài đăng tương tự / trùng lặp / đã đóng (khoảng 13) bài đăng trong stackoverflow, đã thử tất cả ngoại trừ câu trả lời liên quan đến Ajax (nó có liên quan không) và vẫn không có manh mối về lỗi là gì.

Có ai một cách khắc phục lỗi này không? (Và nếu có thể, một danh sách toàn diện những thứ cần được kiểm tra để chúng tôi có thể giảm bớt những bài đăng tương tự như thế này.) Tôi sẵn sàng cung cấp thêm chi tiết.


Tôi chỉ cần khắc phục sự cố này. Mặc dù lỗi chỉ đến tệp web.config, nhưng nó cũng có thể là sự cố với appsettings.config. Nếu một trong hai không đúng định dạng, bạn sẽ gặp lỗi tương tự.
PGardockiDotNet

Câu trả lời:


273

Lỗi 0x8007000d có nghĩa là mô-đun ghi lại URL (được tham chiếu trong web.config) bị thiếu hoặc phiên bản thích hợp không được cài đặt.

Chỉ cần cài đặt mô-đun ghi lại URL thông qua trình cài đặt nền tảng web.

Tôi khuyên bạn nên kiểm tra tất cả các phụ thuộc từ web.config và cài đặt chúng.


23
Tôi ước IIS sẽ đưa ra một thông báo lỗi mô tả rõ ràng hơn, nếu nó cho biết "Mô-đun không được công nhận: UrlRewritingNet", tôi đã tiết kiệm được hai giờ sáng nay. 1 cho kết thúc nỗi đau của tôi :)
AlexFoxGill

17
Cảm ơn. Đã thêm "Ghi lại Url 2.0" thông qua Trình cài đặt nền tảng web sau đó được sửa.
Cihan Yakar

Gặp phải vấn đề tương tự, đã dành nhiều thời gian để xem các tệp XML "bị hỏng" cho đến khi tôi tình cờ thấy nhận xét này đề cập đến mô-đun ghi lại URL. Điều đó đủ để kích hoạt hồi ức của tôi về việc giải quyết vấn đề tương tự cách đây vài tháng! (Tôi đang viết nó ra lần này) Cảm ơn!
anton

4
Tốt, ngay cả Web Platform cho biết nó đã được "cài đặt", tuy nhiên, nó không hiển thị trong IIS, tôi vào đây iis.net/downloads/microsoft/url-rewrite , tải xuống phiên bản thích hợp, xóa phiên bản hiện tại và tái cài đặt, đóng IIS và khởi động lại IIS, bây giờ tôi có thể thấy "URL Rewrite".
Box Very

Cảm ơn rất nhiều. Câu trả lời này đã cứu ngày của tôi. Tôi đã cài đặt 'ghi lại URL' thông qua trình cài đặt nền tảng Web trên máy chủ IIS 10, windows 2016 và lỗi đã biến mất.
Anil Gupta

34

Khi cố gắng thiết lập trang web .NET Core 1.0, tôi đã gặp lỗi này và thử mọi thứ khác mà tôi không tìm thấy gì cả, bao gồm kiểm tra tệp web.config, quyền IIS_IUSRS, mô-đun ghi lại URL IIS, v.v. Cuối cùng, tôi đã cài đặt DotNetCore.1.0.0-WindowsHosting.exe từ trang này: https://www.microsoft.com/net/download và nó bắt đầu hoạt động ngay lập tức.

Link tải cụ thể: https://go.microsoft.com/fwlink/?LinkId=817246


4
Cảm ơn anh bạn! Đây là những gì tôi cần cho các ứng dụng cốt lõi của mình. Những ai muốn biết làm thế nào để trang web lõi máy chủ trong IIS, bạn có thể vào docs.microsoft.com/en-us/aspnet/core/publishing/iis
muhihsan

1
Điều này dành cho tất cả các phiên bản của Core, không chỉ 1.0. (Core cần phải được cài đặt trên máy chủ.)
Patrick

1
Điều đó phù hợp với tôi sau khi thử mọi thứ khác. Cảm ơn.
Andrew

để tải phiên bản mới nhất, bạn có thể truy cập tại đây docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/…
Leonard AB

1
Cảm ơn vì điều này, tôi đã có thể làm cho nó hoạt động bằng cách chạy Sửa chữa cài đặt DotNetCore của mình.
Shane

21

Trong trường hợp của tôi, vì tôi đã cài đặt lại iis, tôi cần đăng ký iis với dot net 4 bằng lệnh này:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

21

Cài đặt ghi lại URL:

CẬP NHẬT - tính năng này hiện có sẵn tại đây (và hoạt động với IIS 7-10):

https://www.iis.net/downloads/microsoft/url-rewrite

Đảm bảo bạn có cài đặt sau thành 'Được phép' cho máy chủ IIS của mình:

nhập mô tả hình ảnh ở đây


Cảm ơn các liên kết! Tôi đã cài đặt điều này từ các tính năng Thêm / Xóa, nhưng điều đó không khắc phục được. Chỉ tải xuống từ liên kết đó mới hoạt động.
Luke

5

Đến bữa tiệc ở đây khá muộn, nhưng tôi vừa phải vật lộn với cùng một vấn đề (các triệu chứng) và nguyền rủa việc thiếu báo cáo chi tiết lỗi. Nó hoạt động tốt trên các máy IIS 8+ nhưng Win 7 lại mắc các lỗi INSTANT HTTP 500.19 này. Đối với tôi, điều đó thật ngớ ngẩn như có một phần tử cấu hình không được hỗ trợ trong tệp cấu hình:

 <applicationInitialization doAppInitAfterRestart="true">
  <add initializationPage="/" />
</applicationInitialization>

Vì vậy, trong khi chạy các tệp web.config cũ hoạt động tốt, tôi chỉ khác biệt chúng và bắt đầu cắt bớt các khối mới cho đến khi tôi bắt đầu tải trang. Nếu tôi xem đây là một câu trả lời, tôi sẽ đi theo con đường này ngay lập tức vì tôi biết không có giải pháp phổ biến nào phù hợp. Vậy là xong :)


Đây là vấn đề của tôi. Cảm ơn!
Erik W

Tôi cũng có vấn đề này. Cảm ơn!
José Margaça Lopes

4

Trong trường hợp của tôi (.Net Core Web API) cho vấn đề này Lỗi HTTP 500.19 - Lỗi máy chủ nội bộ 0x8007000d

Lần đầu tiên tải xuống dotnet-hosting-3.0.0-preview5-19227-01-win (.Net Core 3) hoặc cửa sổ băm dotnetcore 2

https://download.visualstudio.microsoft.com/download/pr/5bed16f2-fd1a-4027-bee3-3d6a1b5844cc/dd22ca2820fadb57fd5378e1763d27cd/dotnet-hosting-3.1.4-win.exe

Bất kỳ ứng dụng .net core 3.1 nào hoặc ứng dụng góc cạnh hoặc mvc sẽ cần điều này.

Thứ hai cài đặt nó với tư cách Quản trị viên Mở cmd với tư cách quản trị viên, gõ iisreset, nhấn enter

Vì vậy, hãy làm mới ứng dụng localhost của bạn

Trân trọng MMTofighi từ Iran


1

Vấn đề đã được giải quyết. Đây là các bước tôi đã thử:

  • Bật ứng dụng 32 bit trong IIS -> Nhóm ứng dụng -> Cài đặt nâng cao
  • Sao chép System.EnterpriseServices.dll và System.EnterpriseServices.Wrapper.dll từ C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 vào thư mục bin ứng dụng
  • Thực hiện nhận xét / bỏ ghi chú cho các phần trên web.config và nhận thấy rằng vấn đề liên quan đến DLL được tham chiếu.

Cấu hình mà tôi đã nhận xét trước đó mà tôi đã thêm:

<section name="handlers" overrideModeDefault="Allow" /> 
<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Allow"/>
  • Thêm FasterFlect.DLL được yêu cầu được sử dụng bởi Combres.DLL v2.1.0.0 vào thư mục bin ứng dụng (sẽ tải xuống tệp zip đầy đủ từ Combres codeplex, vì không thể tìm thấy tệp DLL V2.0.3732.24338 nhanh hơn được yêu cầu trong nhanh hơn) DLL. Để thuận tiện, hãy sử dụng Combres.DLL đầy đủ (1,3MB)
  • Kiểm tra xem các phiên bản DLL và mã thông báo khóa công khai có được định cấu hình chính xác trong web.config bằng công cụ hay không, ví dụ: .NET Reflector

1

Tôi hiểu rằng lỗi này có thể xảy ra vì nhiều lý do khác nhau. Trong trường hợp của tôi, đó là do tôi đã gỡ cài đặt dịch vụ WSUS khỏi Server Roles và toàn bộ IIS đã bị hỏng. Sau khi thực hiện một chút nghiên cứu, tôi thấy rằng việc gỡ cài đặt WSUS sẽ loại bỏ một số dlls được sử dụng để nén http. Vì những con dlls đó bị mất và IIS vẫn đang tìm kiếm chúng, tôi đã thực hiện đặt lại bằng lệnh sau trong CMD:

appcmd set config -section:system.webServer/httpCompression /-[name='xpress']

Chơi lô tô! Vấn đề được sắp xếp bây giờ. Đừng quên chạy nó với tư cách là quản trị viên. Bạn cũng có thể cần thực hiện "iisreset". Đề phòng thôi.

Hy vọng nó sẽ giúp những người khác. Chúc mừng


1

Tôi bật .Net Framework 3.5 và 4.5 Advance Service trong Control Panel-> Programs and Features-> Turn Windows features on or off. Nó hoạt động với tôi.



0

Tôi đã gặp sự cố này với một dịch vụ web hoàn toàn mới. Giải quyết vấn đề này bằng cách thêm quyền truy cập chỉ đọc cho Mọi người trên Thuộc tính-> Bảo mật cho thư mục chứa dịch vụ.


-1

Đối với tôi, tất cả chỉ là thiết lập máy chủ web của tôi để sử dụng công nghệ mới nhất và tốt nhất để hỗ trợ ứng dụng ASP.NET 5 của tôi!

URL sau đây đã cung cấp cho tôi tất cả các mẹo tôi cần:

https://docs.asp.net/en/1.0.0-rc1/publishing/iis-with-msdeploy.html

Hi vọng điêu nay co ich :)


2
Bạn có thể mô tả một số điểm quan trọng có trong liên kết không? Bằng cách này, câu trả lời có thể vẫn hữu ích nếu liên kết bị hỏng hoặc không khả dụng.
mhatch
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.