net God,
Я только что портировал веб-приложение с ядра 2.1 на 3.0 и получаю эту причудливую ошибку длины ключа формы -
InvalidDataException: ограничение длины ключа формы2048 или превышен предел длины значения 2147483647. Microsoft.AspNetCore.WebUtilities.FormPipeReader.ThrowKeyOrValueTooLargeException ()
В моем файле startup.cs у меня есть следующий фрагмент -
services.AddMvc()
.SetCompatibilityVersion( CompatibilityVersion.Version_3_0 )
.AddSessionStateTempDataProvider()
// Maintain property names during serialization. See:
// https://github.com/aspnet/Announcements/issues/194
.AddNewtonsoftJson( options =>
{
options.SerializerSettings.ContractResolver = new DefaultContractResolver();
options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
} );
// maxout form sizes
services.Configure<FormOptions>( options =>
{
options.ValueCountLimit = int.MaxValue;
options.ValueLengthLimit = int.MaxValue;
options.MultipartHeadersLengthLimit = int.MaxValue;
} );
Но, как и раньше, этого не происходитКажется, снова работает.
Может быть, у меня есть заказ, в котором нужно отключить опции формы?
Я бы предпочел не украшать действия 100 элементов управления и установить это глобально, если бы мог.