دسته بندی
    بسته

    استفاده از کلاس های *ForCaching

    6 سال پیش
    #1424 نقل قول
    سلام
    میشه لطفا بفرمایید چرا در ناپ کامرس از کلاس های *ForCaching ( مثل این ) استفاده میکنیم به جای اینکه از کلاس های خود EF ( مثل این ) برای کش استفاده کنیم؟
    0
    6 سال پیش
    #1427 نقل قول
    این یک راه حل جایگزین هست. چون EF (entity framework) از کش کردن 2 سطحی (بین درخواست های HTTP) پشتیبانی نمی کنه.
    0
    6 سال پیش
    #1429 نقل قول
    چرا از خود کلاس های انتیتی استفاده نشده؟
    توی ناپ کامرس 3 مدل سرویس کش کردن هست. برای هر دارخواست، ممکش یا همون Memcached، توزیع شده. تا جایی که من اطلاع دارم، هرکدوم از این سرویسها دارن بصورت مستقل کار خودشونو انجام میدن و هرکدوم دسترسی های خاص خودشون رو دارن.
    حالا اگه ما از کلاس های خود انتیتی به جای کلاس های *ForCaching استفاده کنیم، مشکلی پیش میاد؟
    فکر نمیکنم اینطور باشه. لطفا یک نفر بهم توضیح بده چون میدونم که از کش کردن 2 سطحی استفاده میکنیم.
    چرا از Entity Framework Classes استفاده نمیکنیم و به این کلاس ها نیاز داریم؟
    0
    6 سال پیش
    #1432 نقل قول
    شما نمیتونید کلاس های انتیتی رو کش کنید. تا زمانی که از EF استفاده میکنید، اونها به جای کلاس واقعی، تبدیل به پراکسی میشن.
    این پراکسی ها شامل کانتکس های پایگاه داده و ... هستن. بطور مثال اگر یک موجودیت رو کش کنید و بعدا با یک درخواست دیگه قصد دسترسی به هر قسمتی از اون رو داشته باشید، با خطا روبرو خواهید شد.
    دلیل دیگه ای که از entity caching استفاده نمیشه اینه که اگر شما از Redis Cache که از تسلسل باینری استفاده نمیکنه، استفاده کنید، وقتی نیاز به کلاس های پراکسی موجود در کش دارید، قادر به بازسازی اون ها نیست.

    البته این ها همه در حد دانش منه. امیدورام به جواب سوالتون رسیده باشید.
    0
    اگر پاسخ سوالی برای شما مفید بود، به آن رای مثبت دهید تا به دیگران در پیدا کردن پاسخ مناسب کمک کنید
    *******************************************************************************************
    Be Who You Always Wanted To Be
    6 سال پیش
    #1435 نقل قول
    ممنونم بابت پاسخ ارزشمندتون
    پس با توجه به پاسخ شما اگه من از Dapper یا ado.net با کش برای هر درخواست (http) یا کش درون حافظه ای (البته نه redis) استفاده کنم، میتونم از کلاس های انتیتی به جای کلاس های *ForCache استفاده کنم؟ درسته؟
    0
    6 سال پیش
    #1438 نقل قول
    خواهش میکنم
    تا جایی که من اطلاع دارم، بله میتونید و اصولا نباید مشکلی باشه.

    موفق باشید
    0
    اگر پاسخ سوالی برای شما مفید بود، به آن رای مثبت دهید تا به دیگران در پیدا کردن پاسخ مناسب کمک کنید
    *******************************************************************************************
    Be Who You Always Wanted To Be
    دسته بندی ها