Lỗi HTTP 500,35 - ANCM Nhiều ứng dụng trong quá trình trong cùng một quy trình ASP.NET Core 3


34

Từ sáng nay mà không có bất kỳ thay đổi nào đối với mã của dự án, một API Web rất đơn giản, một bộ điều khiển và 3 phương thức, với Swagger, nó không bắt đầu nữa và tôi gặp lỗi:

Lỗi HTTP 500,35 - ANCM Nhiều ứng dụng đang xử lý trong cùng một quy trình

Người xem sự kiện báo cáo tin nhắn vô dụng nhất:

Mô-đun IIS Express AspNetCore V2: Không thể khởi động ứng dụng '/ LM / W3SVC / 2 / ROOT / docs', ErrorCode '0x80004005'.

Khởi động lại hệ thống nhiều lần.

Tôi đang sử dụng Visual Studio 2019, ứng dụng đã biên dịch thành công và một vài phút trước nó đã hoạt động tốt. Không có phần mềm mới đã được cài đặt, không có gói nào được thêm vào. Đã thử cũng làm sạch và xây dựng lại.

Tôi vừa sửa đổi nhận xét của một phương pháp. Rõ ràng là tôi cũng đã cố gắng khôi phục bình luận trước đó nhưng tôi luôn nhận được thông báo tương tự.

Tôi có thể làm gì?

Là lõi mạng vẫn còn quá không ổn định để được sử dụng chuyên nghiệp?

CẬP NHẬT

Mã tương tự được khởi chạy từ cùng một phiên bản Visual Studio nhưng trong một PC khác chạy đúng.

CẬP NHẬT 2

Bên dưới mã của ứng dụng:

startup.cs

using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.FileProviders;
using Microsoft.Extensions.Hosting;
using Microsoft.OpenApi.Models;
using System;
using System.IO;
using System.Reflection;

namespace WFP_GeoAPIs
{
    public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public IConfiguration Configuration { get; }

        public void ConfigureServices(IServiceCollection services)
        {

            services.AddControllers(); 
            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new OpenApiInfo() { Title = "Geographic APIs", Version = "v1.0.0" });
                var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.XML";
                var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);    
                c.IncludeXmlComments(xmlPath);
            });
        }

        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseStaticFiles(new StaticFileOptions
            {
                FileProvider = new PhysicalFileProvider(
                 Path.Combine(Directory.GetCurrentDirectory(), "swagger-ui")),
                RequestPath = "/swagger-ui"
            });

            app.UseHttpsRedirection();
            app.UseRouting();
            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });

            app.UseSwagger();    
            app.UseSwaggerUI(c =>
            {
                c.SwaggerEndpoint("/swagger/v1/swagger.json", "GeoAPIs Ver 1.0.0");
                c.RoutePrefix = "docs";
                c.InjectStylesheet("/swagger-ui/custom.css");
            });
        }
    }
}

Đây là launchsinstall.json:

{
  "$schema": "http://json.schemastore.org/launchsettings.json",
  "iisSettings": {
    "windowsAuthentication": false, 
    "anonymousAuthentication": true, 
    "iisExpress": {
      "applicationUrl": "http://localhost:51319",
      "sslPort": 44345
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "launchUrl": "docs",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "WFP_GeoAPIs": {
      "commandName": "Project",
      "launchBrowser": true,
      "launchUrl": "docs",
      "applicationUrl": "https://localhost:5001;http://localhost:5000",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

nhưng việc đối phó dự án trên một PC khác có cùng phiên bản Visual Studio hoạt động tốt, do đó có vẻ như đó là lỗi cấu hình trong thuộc tính .NET Core hoặc VIsual Studio ...


1
.NET Core được sử dụng trong sản xuất bởi nhiều nhà phát triển, bao gồm cả chính Microsoft. Nó hoàn toàn ổn định. Vấn đề là về phía bạn. Tuy nhiên, không có đủ ở đây để giúp bạn. Kiểm tra hướng dẫn xử lý sự cố trong tài liệu.
Chris Pratt

Tôi đang nhận được cùng một lỗi. Bạn đang sử dụng web.config?
Marcel

@Marcel no Tôi không sử dụng nó
Giox

1
Tôi làm, tôi đã sửa lỗi của tôi bằng cách thay đổi AspNetCoreModuleV2 thành AspNetCoreModule, trong web.config.
Marcel

2
Bạn cần xem lại tệp cấu hình thực tế được sử dụng bởi VS / IIS Express để xem liệu có nhầm lẫn hai ứng dụng .NET Core đi đến cùng một nhóm hay không. Mô hình trong quá trình không thể hỗ trợ điều đó.
Lex Li

Câu trả lời:


50

Đây hiện là một lỗi trong VS2019 - (ngày 4 tháng 11 năm 2019)

1.) Đóng giải pháp của bạn

2.) Xóa applicationhost.configtrong thư mục .vs hoặc xóa toàn bộ .vsthư mục

Các .vsthư mục là bên cạnh tập tin giải pháp của bạn thường.

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

3.) Khởi động lại giải pháp của bạn một lần nữa


Cảm ơn, điều này giúp tiết kiệm rắc rối khi đổ lên ứng dụngationhost.config.
CINCHAPPS

1
Đã sửa nó cho tôi. Điều này dường như khắc phục rất nhiều vấn đề tương tự ...
Rob L

Đây là một trong những làm việc cho tôi. Một lần nữa vấn đề của tôi là trong quá trình gỡ lỗi.
Abi P

1
Anh hùng của tôi! Điều này đã làm tôi khổ sở trong nhiều ngày!
Godrules500

Điều này chắc chắn hoạt động :)
Amit Philips

28

Cảm ơn @Lex Li , anh ấy đã cho tôi giải pháp.

Vấn đề nằm ở applicationationhost.config, tệp metabase chứa tất cả các cài đặt cho IISExpress khởi chạy bởi Visual Studio để chạy ứng dụng web của bạn.

Đối với Visual Studio 2019, tệp này nằm ở

$(solutionDir)\.vs\{projectName}\config\applicationhost.config

Đối với phiên bản khác, hãy kiểm tra bài đăng này: Tập tin cấu hình / metabase IIS Express được tìm thấy ở đâu?

trong phần tôi đã có như sau:

<sites>    
  <site name="WebSite1" id="1" serverAutoStart="true">
    <application path="/">
      <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />
    </application>
    <bindings>
      <binding protocol="http" bindingInformation=":8080:localhost" />
    </bindings>
  </site>

  <site name="MyProjectName" id="2">
    <application path="/" applicationPool="MyProjectName AppPool">
      <virtualDirectory path="/" physicalPath="E:\Projects\MyProjectName" />
    </application>

   <application path="/docs" applicationPool="docs AppPool">
      <virtualDirectory path="/" physicalPath="E:\Projects\MyProjectName" />
    </application>

    <bindings>
      <binding protocol="http" bindingInformation="*:59386:localhost" />
      <binding protocol="https" bindingInformation="*:44345:localhost" />
    </bindings>
  </site>
  <siteDefaults>
    <!-- To enable logging, please change the below attribute "enabled" to "true" -->
    <logFile logFormat="W3C" directory="%AppData%\Microsoft\IISExpressLogs" enabled="false" />
    <traceFailedRequestsLogging directory="%AppData%\Microsoft" enabled="false" maxLogFileSizeKB="1024" />
  </siteDefaults>
  <applicationDefaults applicationPool="Clr4IntegratedAppPool" />
  <virtualDirectoryDefaults allowSubDirConfig="true" />
</sites>

Nơi có một số thiết lập lạ được xác định bởi

<application path="/docs" applicationPool="docs AppPool">
   <virtualDirectory path="/" physicalPath="E:\Projects\MyProjectName" />
</application> 

điều đó chắc chắn đã được thêm vào khi tôi cố gắng đặt làm thư mục bắt đầu đường dẫn / docs.

Nhận xét cài đặt này và một cài đặt khác ở cuối tệp liên quan đến đường dẫn này đã giải quyết được vấn đề.


5
Bạn là người cứu hộ! +1 Tôi vừa xóa các thư mục .vs cho dự án của mình và hiện tại nó đang hoạt động (cả thư mục cho giải pháp và dự án) Cảm ơn
tsc khoa

1
Tôi đã có cùng một vấn đề và điều này đã khắc phục nó, tuy nhiên, tôi nhận thấy rằng mục nhập thứ hai được VS tự động thêm vào khi tôi sửa đổi thuộc tính "applicationUrl" trong iisExpress trong launchSinstall.json. Không chắc chắn tại sao điều này sẽ xảy ra.
Richie

@Richie có vẻ như đó là một lỗi với VS. Nó không xóa các ứng dụng cũ hơn khi bạn thay đổi URL, đó là khi ứng dụng chạy trong tiến trình. Có một báo cáo ở đây: Developercommunity.visualstudio.com/content/pro Hiệu / 6999245 / . Hãy xem nếu nó không đóng cửa như Ưu tiên thấp hơn.
andre_ss6

18

Tôi đã gặp lỗi tương tự khi tôi làm như sau:

  1. Xuất bản hai trang web cốt lõi asp.net riêng biệt
  2. Trong IIS, đã tạo hai trang web trong "Trang web mặc định", mỗi trang có đường dẫn vật lý được đặt cho từng thư mục xuất bản trong (1) tương ứng.
  3. Bây giờ bất kỳ trang web nào tôi mở đầu tiên đều hoạt động và trang web thứ hai đưa ra lỗi đó.

Vấn đề:

Vì cả hai trang web của tôi đều nằm trong "Trang web mặc định" nên cả hai đều sử dụng DefaultAppPool, đây là nguyên nhân gây ra lỗi này. Lỗi tương tự xảy ra khi các trang web không nằm trong "Trang web mặc định" nhưng sử dụng cùng một nhóm ứng dụng.

Giải pháp:

Như đã đề cập trong các tài liệu ,

Để khắc phục lỗi này, hãy chạy các ứng dụng trong các nhóm ứng dụng IIS riêng biệt.

Đối với tôi, vấn đề này đã được giải quyết khi tôi bắt đầu sử dụng các nhóm ứng dụng riêng biệt cho từng trang web.


2
Nó làm việc chứ không phải người khác. Cảm ơn.
Erdogan
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.