#.net #.net-core #asp.net-core-webapi
Вопрос:
Я недавно пользовался этим .Помощник по обновлению сети для обновления моего .Сетевой веб-API для API .Net Core.
Я сталкиваюсь с проблемой, когда при запуске API возникает следующая ошибка:
This page isn’t working
localhost is currently unable to handle this request.
HTTP ERROR 500
Я уже установил среду выполнения .Net и .Net SDKx64.
Я не уверен, что один из старых веб-файлов .Net может быть причиной проблемы.
Вот Startup.cs:
namespace MediStockAPI
{
public class Startup
{
readonly string MyAllowSpecificOrigins = "*";
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy(name: MyAllowSpecificOrigins,
builder =>
{
builder.WithOrigins("*");
});
});
services.AddControllersWithViews(ConfigureMvcOptions)
.AddNewtonsoftJson(options =>
{
options.UseMemberCasing();
});
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.UseCors(MyAllowSpecificOrigins);
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
private void ConfigureMvcOptions(MvcOptions mvcOptions)
{
}
}
}
Любая помощь будет признательна!
Комментарии:
1. Согласно вашему фрагменту кода, похоже, что ваш проект является проектом mvc, но не проектом веб-api. И я имею в виду, что если вы чувствуете, что ваша проблема связана с настройками запуска, вы можете создать новый проект и просто сравнить только что созданный с вашим кодом выше. Насколько я понимаю, ошибка 500, скорее всего, связана с чем-то неправильным в бизнес-коде вашего api, вы отладили свой код?
2. @TinyWang В итоге мы решили переписать API и создать новый API .Net Core. Ваш комментарий прав, предполагая, что проблема возникла из-за того, что проект был . Чистый веб-API, а не API .Net Core.