gpt4 book ai didi

asp.net - 在 ASP.Net Core 2.2 中定义不同的 API 以接受不同的大小限制

转载 作者:行者123 更新时间:2023-12-05 06:24:23 30 4
gpt4 key购买 nike

我有一个包含不同方法的 Controller 。如何为每种方法定义特定的请求大小限制?

我试过这些链接,但我不想在 web.config 或启动中定义全局大小

Asp.net Core 2.0 RequestSizeLimit attribute not working

Asp.net Core RequestSizeLimit still executes action

HTTP Error 404.13 - asp.net core 2.0

Increase upload file size in Asp.Net core

[HttpPost]
[RequestSizeLimit(1000000)]
public void MyMethod1([FromBody] string value)
{
// Do something
}

[HttpPost]
[RequestSizeLimit(2000000)]
public void MyMethod2([FromBody] string value)
{
// Do something else
}

我希望 MyMethod1 只接受大小小于 1000000 字节的请求,而 MyMethod2 接受大小小于 2000000 字节的请求。但这不起作用,他们接受任何大小的请求。这里有什么问题?

最佳答案

您测试的解决方案用于 MVC 而不是 .Net Core

我发现大多数人在下面使用解决方案(全局解决方案):

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseKestrel(options =>{
options.Limits.MaxRequestBodySize = 52428800; //50MB
});
}

但它有不同的方式,例如 MiddleWare,如下所示:

  app.UseWhen(context => context.Request.Path.StartsWithSegments("/api"), 
appBuilder =>{
context.Features.Get<IHttpMaxRequestBodySizeFeature>
().MaxRequestBodySize = null;
//TODO: take next steps
});

抱歉我的英语不好 :)

来源 => Helper Link

关于asp.net - 在 ASP.Net Core 2.2 中定义不同的 API 以接受不同的大小限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57717006/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com