پریسا پرتوی نیا
پریسا پرتوی نیا
خواندن ۱ دقیقه·۵ سال پیش

ASP.NET Core TempData and Error 400 The size of the request headers is too long

چند وقت پیش به یه مشکلی برخوردم تو کدنویسی که نکته بسیار جالبی داشت، برای عزیزانی که از Asp.net Core 2.0 به بالا استفاده می کنن؛ باید کارایی داشته باشه، بنابراین گفتم با شما در میون بذارم.

موضوع از اینجا شروع شد که مجبور شدم در کدهام از TempData استفاده کنم (گاهی وقتا لازم میشه دیگه :) ).

زمانیکه پروژه رو اجرا کردم این خطا رو دیدم که تا بحال ندیده بودمش...

Runtime Error
Runtime Error


این خطا میگه هدر درخواستی که به سمت سرور میفرستی خیلی طولانیه. چرا ؟

واقعیت اینه که در ورژنهای قبلی Asp.net پیاده سازی TempData با Session بود. ولی در Netcore. از کوکی استفاده میشه؛ بنابراین هدر درخواستی ما باید طول محدود و مشخصی داشته باشه. البته این Implementation به صورت پیشفرض هست و برای اینکه این امکان رو بهش بدیم که TempData از Session استفاده کنه باید در بخش Startup پروژه چند خط کد اضافه کنیم به اینصورت که در قسمت ConfigureServices باید به اینصورت بنویسیم :

فعالسازی Session برای Tempdata در ConfigurationService
فعالسازی Session برای Tempdata در ConfigurationService


یادتون نره باید حتما تو قسمت Configure باید در بالای UseMvc() بنویسید UseSession ()

دقیقا مطابق شکل زیر :

خب حالا با اینکار دیگه کوکی ها پر نمیشن و به این خطا بر نمی خورید. امیدوارم که براتون مفید باشه.

ایام به کام...





asp netcoretempdataheader is too longsessioncookie
برنامه نویس نرم افزار. عاشق زندگی، کمک کردن به انسانها، یادگیری ،تدریس، سخنرانی، پیشرفت، شاد بودن، آشپزی و دامداری و مزرعه داری و ماهیگیری ...
شاید از این پست‌ها خوشتان بیاید