بسته

خطای مگا منو

5 سال پیش
#1716 نقل قول
در حین ذخیره آیتم ها در مگا منو تم نیترو ناپ نسخه 4.1  خطای زیر در لاگ مشاهده می شه.
Form value count limit 1024 exceeded.
و تغییرات  در مگا منو  قسمت لینک سفارشی ذخیره نمی شه.
جزئیات خطا:

System.IO.InvalidDataException: Form value count limit 1024 exceeded.
   at Microsoft.AspNetCore.WebUtilities.FormReader.Append(KeyValueAccumulator& accumulator)
   at Microsoft.AspNetCore.WebUtilities.FormReader.ReadFormAsync(CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Http.Features.FormFeature.InnerReadFormAsync(CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Mvc.ModelBinding.FormValueProviderFactory.AddValueProviderAsync(ValueProviderFactoryContext context)
   at Microsoft.AspNetCore.Mvc.ModelBinding.CompositeValueProvider.CreateAsync(ActionContext actionContext, IList`1 factories)
   at Microsoft.AspNetCore.Mvc.ModelBinding.CompositeValueProvider.CreateAsync(ControllerContext controllerContext)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerBinderDelegateProvider.<>c__DisplayClass0_0.<<CreateBinderDelegate>g__Bind|0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeInnerFilterAsync()
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeNextResourceFilter()
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Rethrow(ResourceExecutedContext context)
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeFilterPipelineAsync()
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeAsync()
   at Microsoft.AspNetCore.Builder.RouterMiddleware.Invoke(HttpContext httpContext)
   at StackExchange.Profiling.MiniProfilerMiddleware.Invoke(HttpContext context) in C:\projects\dotnet\src\MiniProfiler.AspNetCore\MiniProfilerMiddleware.cs:line 94
   at Nop.Services.Authentication.AuthenticationMiddleware.Invoke(HttpContext context) in C:\andrei\nopcommerce\sources\src\Libraries\Nop.Services\Authentication\AuthenticationMiddleware.cs:line 79
   at Microsoft.AspNetCore.Localization.RequestLocalizationMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
   at Nop.Core.Http.InstallUrlMiddleware.Invoke(HttpContext context, IWebHelper webHelper) in C:\andrei\nopcommerce\sources\src\Libraries\Nop.Core\Http\InstallUrlMiddleware.cs:line 51
   at Nop.Core.Http.KeepAliveMiddleware.Invoke(HttpContext context, IWebHelper webHelper) in C:\andrei\nopcommerce\sources\src\Libraries\Nop.Core\Http\KeepAliveMiddleware.cs:line 50
   at Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Diagnostics.StatusCodePagesMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Diagnostics.StatusCodePagesMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.Invoke(HttpContext context)

.
0
5 سال پیش
#1717 نقل قول
راه حل خطا:
دوستان توسعه دهنده توجه داشته باشند که در صورت استفاده از محصولات ناپ تمپلیت وقتی که بیشتر از یک تعداد مشخصی لینک سفارشی داخل سایتتون  استفاده کنین  این خطا مشاهده می شه.
علتش هم استفاده ناپ کامرس از عملیات پست و گت برای ارسال فرم ها هستش که هسته asp.net  مایکروسافت اندازه پیش فرض 1024 رو براش در نظر گرفته.
بنابراین ضروری هستش که دوستان قبل  از نصب ناپ کامرس فایل زیر رو به صورتی که می گم اصلاح کرده و بیلد و پابلیش کنن و بعد روی هاستشون نصب بکنن.
فایل startup.cs  داخل پوشه presentation و قسمت nop.web

public IServiceProvider ConfigureServices(IServiceCollection services)
        {
            services.Configure<FormOptions>(x => x.ValueCountLimit = 4096);
            services.AddMvc();
            return services.ConfigureApplicationServices(Configuration);
        }

یعنی مقدار پیش فرض مایکروسافت رو 4 برابر می کنه که فکر کنم برا بیشتر کاربرد ها کافی باشه.
بنده خودم با مقدار دو برابر تست کردم و جواب گرفتم.
نسخه ناپ 4.10 تم نیترو
1
دسته بندی ها