【发布时间】:2020-01-06 02:19:34
【问题描述】:
我有一个操作方法,它接受用户 ID(Guid)和令牌(url 编码字符串)作为 Asp.net Core 2.2 项目中的 Web api 端点,如下所示:
[HttpGet]
[Route("{userId}/confirm/{token}")]
public async Task<IActionResult> GetConfirmationAsync([BindRequired, FromRoute] string userId, [BindRequired, FromRoute] string token)
{
var result = await _userService.GetConfirmationAsync(userId, token);
if (!result.Success) return StatusCode((int)result.HttpStatusCode, new ErrorDetailsResource(result.Messages.ToList(), result.Exception));
return Ok();
}
当我提交带有短令牌字符串的请求时,例如
http://localhost:44353/api/Account/d73d17fc-9f58-471a-9f21-312aede320fc/confirm/CfDJ8Jcfzk
请求通过。但是,当我提交如下请求时:
当我在 IIS Express 中运行应用程序时收到以下消息:
错误请求 - 无效的 URL HTTP 错误 400。请求 URL 无效。
我在Program.cs中尝试过如下配置,但还是不行
WebHost.CreateDefaultBuilder(args)
.UseConfiguration(configuration)
.ConfigureKestrel(options =>
{
options.Limits.MaxRequestBufferSize = 512000 * 1024;
options.Limits.MaxRequestLineSize = 512000 * 1024;
})
.UseStartup<Startup>()
.Build();
我可以在哪里配置以在 Asp.net Core 2.2 中设置最大请求网址长度以使请求有效?
感谢您的帮助!!
【问题讨论】:
-
你见过this???
标签: asp.net-core asp.net-core-webapi