允许POST访问asp.net core 2.x

时间:2019-05-17 21:44:32

标签: c# asp.net twilio asp.net-core-2.1 twilio-api

我的wwwroot文件夹中有mystuff.xml文件。使用邮递员,我可以向它发出GET请求,因为我在Startup.cs中添加了以下内容

        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            app.UseStaticFiles();  
        }

不幸的是,我正在使用third party,它正在发出POST请求以获取该文件。在邮递员中,当我向mystuff.xml发送POST请求时,我得到一个空响应。我假设只有GET请求适用于静态文件。

编辑:我看到StaticFileOptions的重载,但是里面似乎没有我想要的东西。

1 个答案:

答案 0 :(得分:0)

我也遇到了这个问题。默认情况下,.NET 似乎不想为 POST 请求返回静态页面,而且我找不到启用它的相关选项。但是,您可以手动执行此操作。在我的例子中,我只需要在根路径中的一个页面上 POST,所以这个代码块有效:

app.UseEndpoints(endpoints =>
{
    endpoints.Map("/", async context =>
    {
        string page = await System.IO.File.ReadAllTextAsync("wwwroot/index.html");
        await context.Response.WriteAsync(page);
    });
});

如果您需要处理通过 POST 请求的多个文件,则需要更强大的解决方案。