چگونه اطلاعات کش شده را توسط ef را پاک کنیم
سلام دوستان
من با استفاده از dnt schedelr که یک برنامه زمانبندی هست هر 10 ثانیه یکبار به بانک اطلاعاتی سلکت میزنم.
فقط سلکت اولی اطلاعات رو از db میخونه برای 10 ثانیه بعد همون اطلاعات قبلی خونده میشه(وقتی مقداری رو در یکی از رکوردها تغییر میدم بعد break point میزام چک میکنم می بینم اطلاعات اپدیت نشده)
برای اینکه هر سری اطلاعاتی که خوانده میشه از کش استفاده نشه باید چیکار کنم؟
var models = _telegramRssService.GetActive().ToList(); //System.Diagnostics.Trace.WriteLine(l.Count);
var now = DateTime.Now;
string min = now.Minute.ToString();
//return now.Second % 50 == 0;
var listScheduled = models.Where(advertisTelegramRss => advertisTelegramRss.Scheduled == min).ToList();
نقل قول: چگونه اطلاعات کش شده را توسط ef را پاک کنیم
طول عمر _telegramRssService چي هست؟ احتمالا فقط يكبار وهله سازي شده.
نقل قول: چگونه اطلاعات کش شده را توسط ef را پاک کنیم
در قسمت سازنده ها وهله سازی شده
public class SendRssTask : ScheduledTaskTemplate
{
private readonly IAdvertisServiceTelegramRss _telegramRssService;
//public SendRssTask(IAdvertisServiceTelegramRss telegramRssService)
//{
// _telegramRssService = telegramRssService;
//}
public SendRssTask()
{
_telegramRssService = SmObjectFactory.Container.GetInstance<IAdvertisSer viceTelegramRss>();
}}
نقل قول: چگونه اطلاعات کش شده را توسط ef را پاک کنیم
با گذاشتن این کد در قسمت tunدرست شد.
public override void Run()
{
if (this.IsShuttingDown || this.Pause)
return;
_telegramRssService = SmObjectFactory.Container.GetInstance<IAdvertisSer viceTelegramRss>();}
نقل قول: چگونه اطلاعات کش شده را توسط ef را پاک کنیم
سلام
برای ذخیره سازی در بانک اطلاعاتی به مشکل خوردم
می خوام یک رکورد را در اجرای زمانبندی درج کنم باید چیکار کنم؟
کدی که نوشتم تا ایجای کار اینه
public class SendRssTask : ScheduledTaskTemplate
{
private IAdvertisServiceTelegramRss _telegramRssService;
private IAdvertisServiceTelegramRssLink _telegramRssLinkService;
private readonly IUnitOfWork _unitOfWork;
public SendRssTask()
{
_unitOfWork = SmObjectFactory.Container.GetInstance<IUnitOfWork> ();
//_telegramRssService = SmObjectFactory.Container.GetInstance<IAdvertisSer viceTelegramRss>();
}
}
اینم کد قسمت run
var list1 = _telegramRssLinkService.GetAll(100);
List<string> result = url.Except(list1).ToList();
_telegramRssLinkService.AddOrUpdate(result);
_unitOfWork.SaveAllChanges();
قسمت savechange کار نمیکنه؟
کسی تاحالا به این مشکل برخورد کرده؟
نقل قول: چگونه اطلاعات کش شده را توسط ef را پاک کنیم
دیشب خواب دیدم که این قسمت یادم رفته بزارم
_advertisTelegramRssLink = _unitOfWork.Set<AdvertisTelegramRssLink>();
:قلب: