دسته بندی ها
14:53 1403/12/14

خطای Endpoint Routing does not support in UseMvc در Asp.net Core

مشخصات سوال کننده :
کاربر : hakan2025     امتیاز کاربر : 3     رتبه کاربر : 136
دسته بندی : Asp.net Core

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 391
هوش مصنوعی

پاسخ هوش مصنوعی

برای حل خطای "Endpoint Routing does not support 'IApplicationBuilder.UseMvc(...)'" در ASP.NET Core 3.0 و بالاتر، شما می توانید از یکی از دو روش زیر استفاده کنید:

1. اگر قصد دارید از Endpoint Routing استفاده کنید، باید `UseMvc()` را به `UseEndpoints()` تغییر دهید و از روش های جدید استفاده کنید. به این صورت:

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    // ... سایر کدها

    app.UseRouting();

    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllers(); // یا MapMvcRoute برای استفاده از روت های MVC
    });
}

2. اگر می خواهید از پیکربندی قدیمی استفاده کنید، می توانید `MvcOptions.EnableEndpointRouting` را در `ConfigureServices` به `false` تنظیم کنید. به این صورت:

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc(options =>
    {
        options.EnableEndpointRouting = false;
    });
}

در هر دو حالت، حتماً کدهای دیگر و تنظیمات پکیج ها را به روز کنید تا مطابق با نسخه های جدید .NET Core باشند.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : hamid_b 20:45 1403/12/14

دو تا راه حل برای این مشکل هست.

  1. اول اینکه پروژه خودتون رو به ورژن های جدید .Net Core آپدیت کنید تا این مشکل حل بشه.
  2. راه حل دوم هم اینه که در کلاس StartUp.cs و در متد ConfigureServices دستور زیر رو بنویسید :
services.AddMvc(option => option.EnableEndpointRouting = false);

با این دستور سرویس EndPointRouting غیرفعال می شود.

به این پاسخ امتیاز بدهید    0
امتیاز: 518 رتبه: 4
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود