چرا دورآموز؟
مشارکت در پروژه های نیمه تمام و دریافت پروژه های جدید برنامه نویسی
استفاده از Session در Asp.net Core
اگر شما با Asp.net Core طراحی وب سایت را انجام میدهید، متوجه خواهید شد که جلسات به همان شیوه ای که مورد استفاده قرار می گیرند کار نمی کنند. در اینجا چگونگی راه اندازی session (جلسات) را ارائه می دهیم
استفاده از Session در Asp.net Core
اگر شما با Asp.net Core طراحی وب سایت را انجام میدهید، متوجه خواهید شد که جلسات به همان شیوه ای که مورد استفاده قرار می گیرند کار نمی کنند. در اینجا چگونگی راه اندازی session (جلسات) را ارائه می دهیم
اضافه کردن جلسه با بسته NuGet
با استفاده از NuGet بسته Microsoft.AspNetCore.Session را به پروژه خود اضافه کنید.
Update startup.cs
حالا که ما بسته nuget را نصب کردیم، می توانیم جلسات را به ASP.NET اضافه کنیم.
درون فایل startup.cs کدهای زیر را اضافه کنید
services.AddDistributedMemoryCache(); // Adds a default in-memory implementation of
services.AddSession()
متغیر جلسه کجا رفته است؟
اکنون می توانید شی جلسه را با استفاده از HttpContext.Session پیدا کنید.
اگر شما در یک کنترلر نیستید، با تزریق IHttpContextAccessor، هنوز می توانید به HttpContext دسترسی داشته باشید.
بیایید پیش برویم و جلساتمان را به کنترل کننده اصلی مان اضافه کنیم:
using Microsoft.AspNetCore.Http; // in code jajhate estefade as method haye session elzamist
public class HomeController : Controller
{
public IActionResult Index()
{
HttpContext.Session.SetString("Test", "Ramin Eslami!");
return View();
}
public IActionResult About()
{
ViewBag.Message = HttpContext.Session.GetString("Test");
return View();
}
}
شما می توانید در اکشن های Index و About یکی از روش های Set برای ذخیره اطلاعات و یکی از روش های Get برای بازیابی آن مشاهده کنید.
استفاده از Session درون یک Class
فرض کنید یک کلاس فرضی داریم و میخواهیم از جلسه ذخیره شده در یک متد در متد دیگر استفاده کنیم، کد آن به صورت زیر خواهد بود .
public class SomeOtherClass
{
private readonly IHttpContextAccessor _httpContextAccessor;
private ISession _session => _httpContextAccessor.HttpContext.Session;
public SomeOtherClass(IHttpContextAccessor httpContextAccessor)
{
_httpContextAccessor = httpContextAccessor;
}
public void TestSet()
{
_session.SetString("Test", "Ramin Eslami!");
}
public void TestGet()
{
var message = _session.GetString("Test");
}
}
چگونه یک مدل را ذخیره کنیم؟
در اینجا از یک افزونه ذخیره سازی سریع JSON که امکان ذخیره سازی اجرای پیچیده را می دهد ، استفاده میکیم.
میتوانید کد زیر را کپی گرفته و به صورت یک کلاس در پروژه خود استفاده کنید
public static class SessionExtensions
{
public static void SetObjectAsJson(this ISession session, string key, object value)
{
session.SetString(key, JsonConvert.SerializeObject(value));
}
public static T GetObjectFromJson<T>(this ISession session, string key)
{
var value = session.GetString(key);
return value == null ? default(T) : JsonConvert.DeserializeObject<T>(value);
}
}
اکنون جهت ذخیره یک مدل درون آن از کد زیر استفاده کنید
var myComplexObject = new MyClass();
HttpContext.Session.SetObjectAsJson("Test", myComplexObject)
و جهت فراخوانی آن از کد زیر استفاده کنید.
var myComplexObject = HttpContext.Session.GetObjectFromJson<MyClass>("Test");
موفق باشید
رامین اسلامی
مدیر وب سایت دورآموز ، تیم برنامه نویسی جی وب و امور مشترکین مخابرات . برنامه نویس و مدرس زبان های برنامه نویسی و گرافیک سازمان فنی و حرفه ای
به نام خدا
رامین اسلامی هستم ، مدیر وب سایت دورآموز ،مدیر پروژه تیم جی وب ، برنامه نویس هریس کامپیوتر شعبه کانادا و برنامه نویس و مدرس زبان های برنامه نویسی .
من یک توسعهدهنده نرمافزار و از علاقمندان فنآوریهای مایکروسافت هستم و دوست دارم روی آنها کار کنم. حوزه اصلی تمرکز من روی C#.Net، Asp.Net، Sqlserver، Entity Framework، MVC، Web API، Jquery و Maui می باشد
- ProductRaes@Gmail.com
- 09155143391
بیش از 7 سال سابقه در مدیریت پروژه سیستم طرح جامع امور مشترکین مخابرات استان خراسان رضوی ، 4 سال مدیریت تیم برنامه نویسی شبکه سبز ، 7 سال مدیر وبسایت دورآموز و 20 سال سابقه آموزش در آموزشگاه های مشهد و تهران را دارا می باشم.
یکی از زیباترین لحظات زندگیم ، آموزش هرآنچه فراگرفته ام و مشاهده پیشرفت شاگردانم می باشد.و باعث سرافراری و خرسندی من می باشد که تعداد زیادی از شاگردان قدیمیم همکاران و رقیبان کاری حال حاضر من می باشند.
سابقه برنامه نویسی من
بیش از 7 سال سابقه در مدیریت پروژه سیستم طرح جامع امور مشترکین مخابرات استان خراسان رضوی شامل بخش های :امورمشترکین , ام دی اف , سالن دستگاه , رئیس مرکز , واگذاری خطوط , آبونمان - مدیر پروژه تیم برنامه نویسی جی وب - سیستم pap مخابرات - سیستم اداره ترابری مخابرات - سیستم حسابداری پویا - ویندوز جادویی پویا - سیستم سهام شرکت تعاونی آتیه شرق - مدیریت فروش سوپرگوشت - سایت فروش آسان تست - ۱۰ مجموعه تست و آموزش تصویری آسان تست - خودآزمون حسابداری - خودآزمون دیپلم کامپیوتر - وبسایت آموزشگاه کامپیوتر پژوهش - وبسایت آزمون های بین المللی ICDL پاسارگاد - وب سایت فرش ستاره کویر یزد - سیستم حسابداری گل فروشی ایمانا - سایت رسمی شرکت پیمانکاری peykavan مالزی - انجمن داروخانه های خراسان - سیستم کنترل تولید شرکت پارس اورتوپد - فروشگاه اینترنتی قاصتک - سامانه فروش بلیط هواپیما مسترتیکو - پنل مدیریت (CMS) asp.net core - باربری حجت بار و …
سابقه تدریس من
بیش از ۲۰ سال تدرس زبان های برنامه نویسی و گرافیکی و بانک های اطلاعاتی , آموزش کارکنان شرکت گاز مشهد , آموزش کارکنان شرکت گاز سرخس , آموزش کارکنان اداره مخابرات , آموزش در اموزشگاه های معتبر خراسان رضوی نظیر پاسارگاد ، آراد ، پژوهش ، سنا ، کاسپین و … آموزشگاه رهرو - تهران
فعالیت های من
برگزاری دوره های تخصصی برنامه نویسی در دفتر تیم برنامه نویسی جی وب در شهر مشهد , مشاوره در طراحی بانک های اطلاعاتی , مشاوره و مدیریت پروژه های برنامه نویسی , برنامه نویسی برنامه های کاربردی , برنامه نویسی وب سایت , برنامه نویسی موبایل
-
productraes@gmail.com
-
09155143391
پرسش و پاسخ
-
زهرا مفتاحی
ممنووون مطالب عااالی مفید و کاربردی بودند .خصوصا توضیح کامل شما در مورد چگونگی ذخیره یک مدل و استفاده از اون به صورت یک کلاس در پروژه هامون.
-
رامین اسلامی
خواهش می کنم
-
نوشته های دیگر این نویسنده
چرا فراگیری سی شارپ می تواند بسیار مفید باشد
طور کلی ، یادگیری برنامه نویسی برای رایانه می تواند تا حد زیادی به بهبود توانایی حل مسئله کمک کند.اما دلایل دیگری نیز وجود دارد که خود را در معرض برنامه نویسی قرار دهید. بعضی از افراد آنقدر لذت می برند که به عنوان سرگرمی به آن علاقه دارند ، دقیقاً مانند هنر یا نوشتن
رامین اسلامی
2164ارسال داده از Input به سرور توسط Ajax در Asp.net core
آموزش ارسال داده از Input به سرور توسط Ajax در Asp.net core. در این آموزش قصد داریم نحوه ارسال اطلاعات دریافتی از کاربر به سرور توسط ایجکس را بررسی کنیم. ما یک عدد دریافت و توسط ایجکس آن را در فرمت پول نمایش می دهیم . مثلا کاربر عدد 1234 را وارد می کنید و ما مقدار 1.234 ریال را نمایش می دهیم
رامین اسلامی
2897افزودن فیلدهای سفارشی به Identity Core در Asp.net Core MVC
افزودن فیلدهای سفارشی به Identity Core در Asp.net Core MVC امروز در این مقاله نحوه اضافه کردن فیلد های سفارشی در فرم ثبت نام خود را با کمک Identity Core در ASP.NET Core توضیح می دهم. در پروژه ای که ایجاد نموده ایم و از قبل مجوز احراز هویت را درآن فعال نموده ایم پوشه ای به نام data ایجاد می گردد .
رامین اسلامی
2438نحوه غیرفعال کردن Ctrl + U با استفاده از Javascript
می خواهیم رویداد Ctrl + U و Ctrl + C را غیرفعال کنیم. هدف اصلی از انجام این کار جلوگیری از بارگیری کاربران از هر تصویر یا کپی کردن مطالب از وب سایت به راحتی می باشد. یعنی با فشار دادن Ctrl + U برای مشاهده کد منبع صفحه با فشار دادن Ctrl + C برای کپی کردن مطالب به طور مستقیم از صفحه وب نتوانند استفاده نمایند