گرفتن نشست های (session) جاری برای هر لاگین کاربر
سلام دوستان خسته نباشید…
می خواستم ببینم چطور می تونم توی Asp.net core 2.1 نشست های جاری یا همون Current Sesstion هر لاگین کاربر رو دریافت کنم مثل این تصویر
رمز عبور خود را فراموش کرده اید؟ ایمیل خود را وارد کنید
رایگان ثبت نام کنید و سوالات خود را بپرسید، همچنین میتوانید در پاسخگویی به سوالات دیگر کاربران نیز سهیم باشید، هر مشکلی در ثبت نام یا ورود داشتید با ایمیل beporsam@gmail.com در ارتباط باشید
بپرسم را میتوان به عنوان مرجعی برای آموزش و حل مشکلات دانست، در بپرسم سعی کرده ایم آموزش های برنامه نویسی، طراحی سایت، کار با نرم افزارها ها و… را آموزش دهیم. همچنین محیطی فراهم کرده ایم تا کاربران بتوانند در این محیط سوالات خود را بپرسند و مشکل خود را حل کنند.
پاسخ ( 1 )
این مقاله کوتاهو نگاه کنید:
چگونه در ASP.Net Core جلسه یا همان Session تعریف و از آن استفاده کنیم؟
در این مقاله قصد داریم درمورد Session یا متغیرهای نگهداری حالت در ASP.Net Core صحبت کنیم.
برای تعریف session در ابتدا باید از بخش nuget package consol کتابخونه Microsoft.AspNetCore.Session رو به برنامه اضافه کنید.
برای این کار به سایت nuget.org رفته و عبارت Microsoft.AspNetCore.Session را جستجو کنید تا دستور مربوطه را بهتان بدهد.
بعد از دانلود و نصب پکیج از منوی Tools گزینه Nuget Package Manager گزینه Package Manager Consol را انتخاب کنید و بعد از وارد کردن دستور نصب، آن را نصب کنید.
در مرحله بعدی سراغ فایل startup.cs بروید. و Service موردنظرتان را در متد ConfigureService اضافه کنید.
به تصویر زیر توجه کنید:
دقت کنید که استفاده از سشن ها در Asp.net core به یک میان افزار یا middleware نیاز دارند.
پس حتما یادداشته باشید که باید در متد Configure میان افزار مربوط به سشن رو هم اضافه کنید.
حالا بعد از اضافه کردن سرویس و Middleware ، میتوانید هرجا Session تعریف کنید و از آن استفاده کنید.
از Microsoft.AspNetCore.Http در ابتدای کلاس یا کنترلرهای خودتون استفاده کنید و با استفاده از دستور زیر یک سشن را تعریف کنید.
HttpContext.Session.SetString(“UserID”, “۱۲۳”));
دستور بالا، دوتا پارامتر ورودی دارد، پارامتر اول نام سشن یا همان userid و پارامتر دوم مقدار سشن است.
البته مقدار session را میتوانید به یک پارامتر داینامیک هم ارسال کنید.
و با استفاده از دستور زیر، مقدار سشن را دریافت کنید:
HttpContext.Session.GetString(“UserName”);