首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Asp.net核心:调用web返回500

Asp.net核心:调用web返回500
EN

Stack Overflow用户
提问于 2016-09-09 20:06:30
回答 2查看 4.2K关注 0票数 2

我是asp.net核心应用的新手。

我有一个使用存储库模式的asp.net核心应用程序。它有一个名为ApplicationsAPIController. api控制器

ApplicationsAPIController有一个返回所有应用程序的GetApplications方法。

我有应用程序发布到远程服务器。从postman调用HTML时,会抛出500内部服务器错误,并显示以下GetApplications作为响应:

代码语言:javascript
复制
<h1 class="text-danger">Error.</h1>
<h2 class="text-danger">An error occurred while processing your request. </h2>
<h3>Development Mode</h3>
<p>
    Swapping to 
    <strong>Development</strong> environment will display more detailed  information about the error that occurred.
</p>
<p>
    <strong>Development environment should not be enabled in deployed applications</strong>, as it can result in sensitive information from exceptions being displayed to end users. For local debugging, development environment can be enabled by setting the
    <strong>ASPNETCORE_ENVIRONMENT</strong> environment variable to
    <strong>Development</strong>, and restarting the application.
</p>

注意:上面的api在开发环境(本地)下工作良好。

根据错误,我认为我必须设置一个暂存或生产环境。但是我找不到任何好的、循序渐进的文档来设置。我试过很多方法,但都失败了。

EN

回答 2

Stack Overflow用户

发布于 2016-09-09 21:58:09

500错误意味着您的代码遇到了问题,而不是您忘记分配正确的环境。您需要做的是查看实际的错误是什么。您有许多选择,其中最快的可能是启用开发环境错误(考虑临时添加app.UseDeveloperExceptionPage();或将环境设置为"DEV")。一种更健壮的方法是添加一些应用程序错误处理和日志记录(查看异常过滤器主题)。

票数 2
EN

Stack Overflow用户

发布于 2019-05-09 06:56:36

我认为您需要在WebAPI中启用CORS。

这里有一个要启用的小步骤。启用后,我有错误500到。https://developer.okta.com/blog/2018/04/26/build-crud-app-aspnetcore-angular#run-and-test-with-fiddler-or-postman

示例bllow启用,但不安全。

在Startup.cs中,ConfigureService make

代码语言:javascript
复制
services.AddCors(options =>
{
    options.AddPolicy("CorsPolicy",
        builder => builder.AllowAnyOrigin()
            .AllowAnyMethod()
            .AllowAnyHeader()
            .AllowCredentials());
});

和你的方法配置使用:

代码语言:javascript
复制
app.UseCors("CorsPolicy");
app.UseMvc();

将允许所有人访问您的API,我建议您阅读有关CORS的Microsoft文档。https://docs.microsoft.com/pt-br/aspnet/core/security/cors?view=aspnetcore-2.2

为了解决错误500,我看到了这个主题。我使用问题的配置并解决了我的问题。Getting CORS error *only* on server exception calling ASP.NET Core Web API from Angular 6

代码语言:javascript
复制
public void ConfigureServices(IServiceCollection services)
{
    services.AddCors(o => o.AddPolicy("AllowAllPolicy", builder =>
    {
        builder.AllowAnyOrigin()
                .AllowAnyMethod()
                .AllowAnyHeader();
    }));

    services.AddMvc();
    services.AddOptions();
    services.Configure<AppConfig>(Configuration.GetSection("AppConfig"));
}

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

    app.UseCors("AllowAllPolicy");

    app.UseMvc();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39411224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档