بازخوردهای پروژه‌ها
خطا هنگام اجرا
Url: C:\Users\Morteza\Downloads\ExplorerPCalV.1.1\Bin\ExplorerPCal.exe 
-> ExplorerPCal, Version=1.1.0.0, Culture=neutral, PublicKeyToken=a55a2614eb2aee77
Caller: ExplorerPCal.App -> appDispatcherUnhandledException
Exception classes:
   System.NullReferenceException
   System.Reflection.TargetInvocationException
   System.Reflection.TargetInvocationException

Exception messages:
   Object reference not set to an instance of an object.
   Exception has been thrown by the target of an invocation.

   Exception has been thrown by the target of an invocation.

Stack Traces:
   at ExplorerPCal.Utils.ConfigSetGet.GetConfigData(String key)
بازخوردهای دوره
تزریق خودکار وابستگی‌ها در برنامه‌های ASP.NET MVC
- در مورد خطای «No Default Instance defined » کمی بالاتر در نظرات بحث شده. یعنی تنظیمات اولیه ناقصی دارید. ادامه‌ی پیام آن هم بسیار واضح است. عنوان کرده تنظیمات اولیه مرتبط را پیدا نمی‌کند.
در پروژه‌ی ثالث یاد شده، در کلاس IoC آن، کار <AddRegistry<DefaultRegistry انجام شده‌است و اگر در برنامه‌ی شما IoC.Initialize  فراخوانی نشود، کلاس DefaultRegistry جایی استفاده نخواهد شد و پس از آن پیام یافت نشدن تنظیمات را دریافت می‌کنید.
همچنین این کتابخانه از  Microsoft.Web.Infrastructure.DynamicModuleHelper برای کارهای Service locator استفاده کرده‌است. به عبارتی اگر در حالت عادی جواب می‌گیرید (مثلا تزریق وابستگی در کنترلرها درست کار می‌کنند) اما با فراخوانی ObjectFactory مشکل دارید، از این جهت است که DefaultRegistry آن اصلا به ObjectFactory معرفی نشده‌است. اما DefaultRegistry و خروجی IoC.Initialize آن به صورت محدود در اختیار ماژول‌های این کتابخانه قرار گرفته‌اند.

-  در کل روشی که در مطلب جاری عنوان شده، بررسی زیر ساخت این ابزارها است و با MVC 5 هم کار می‌کند. با 3 و 4 هم کار می‌کند.
بازخوردهای دوره
تزریق وابستگی‌ها

سلام و درود بر شما آقای نصیری

من چون توی دات نت تازه کار هستم دوتا سئوال خدمتتون دارم:

من توی برنامه ای که دارم می‌نویسم از الگوی UnitOfWork مطابق با آموزش‌های شما استفاده کردم درضمن برای تزریق وابستگی هم از StructerMap استفاده می‌کنم، برنامه Win Form هستش وتوی Main یک کلاس Configuration رو که کارش Registerکردن کلیهInterface وکلاس هاست رو فراخونی کردم.

اول اینکه : برای آزاد سازی منابع و استفاده بهینه از حافظه در حال استفاده از StructerMap  شما چه پیشنهاد یا روشی رو معرفی می‌کنین؟

دوم اینکه : با ازدیاد و تعدد کلاسها واینترفیس‌ها در حالیکه در ابتدای برنامه کلیه اونها رو با StructerMap   رجیستر می‌کنیم  ودر هرجا که لازم باشه فقط از اونها یک نمونه میسازیم،  اشکالی در روند عملیاتی وکاربری با اون نرم افزار پیش مشتری پیش نمی‌یاد؟ (مخصوصا در سیستم‌های یکپارچه و بزرگ از نظر حافظه).

سوم اینکه: آیا بایدها ونبایدهایی هم در استفاده از StructerMap وجود داره ؟

سپاسگزار شما هستم. 

نظرات مطالب
پشتیبانی توکار از ایجاد کلاس‌های Singleton از دات نت 4 به بعد
خیلی ممنونم
اطلاعات خوبی بهم دادید
لینک‌ها رو مطالعه کردم اما با توجه به مسئله و اطلاعاتی که دادید هنوز نمیدونم از چه روشی استفاده کنم
من اجزاء زیر رو دارم:
1) یک کلاس Singleton که اطلاعات مسیر (Route)‌های برنامه و مجموعه اطلاعاتی مربوط به اون مسیر رو به صورت <Dictionay<string,string در خودش نگه داری میکنه(PathinfoSingletonService).
2) یک FilterAttribute که مسیر درخواست کاربر را استخراج کرده و با استفاده از کلاس PathinfoSingletonService بخش 1 ، اطلاعات مورد نیاز رو به Context اضافه میکنه.
3) لایه‌های Repository و Service که به صورت DI کار میکنن و از نوع Scoped هستن. اطلاعات لایه Service بایستی در بخش 1 یعنی PathinfoSingletonService  استفاده بشه.
حال مسئله من اینه که
1) اگر بخش 1 رو به صورت Singleton در DI ثبت کرده و استفاده کنم با مسئله ای که اینجا مطرح کردید چکار کنم چون در این کلاس با طول عمر Singleton بایستی از یک کلاس با طول عمر Scoped استفاده کنم ؟
2) در FilterAttribute خودم که پیاده سازی کننده ActionFilterAttribute هست چطور کلاس PathinfoSingletonService بخش 1 رو تزریق کنم ؟
نظرات مطالب
روش استفاده‌ی صحیح از HttpClient در برنامه‌های دات نت
ممنونم از مطلب خوبتون
بنده در پروژه‌ی خودم لایه‌ی سرویس رو با Web Api پیاده سازی کردم، لایه‌ی اپلیکیشن با MVC
احراز هویت در لایه‌ی سرویس با JWT انجام می‌شود و نیاز است تا token دریافتی در DefaultRequestHeaders.Authorization تنظیم شود و سپس درخواست HTTP ارسال شود.( این موضوع در MVC انجام می‌پذیرد.)
با توجه به گفته‌ی خودتون Thread Safe ،DefaultRequestHeaders نیست. پس نمیتونم به ازای تمامی درخواست‌ها از یک HttpClient استفاده کنم و مجبورم به ازای هرکاربر HttpClient جدیدی ایجاد کنم تا token در header رو برای هر کاربر جداگانه تنظیم کنم.
پس کلید دیکشنری رو از Uri baseAddress به string token تغییر دادم.
حالا مشکلی که برام پیش اومده اینه که تعداد HttpClient‌های منقضی شده در دیکشنری زیاد میشه و باید با روشی اونها رو از دیکشنری حذف کنم که سعی میکنم حلش کنم اما سوالم اینه که:
آیا تغییری که در کلاس شما دادم اصولی بود ؟ 
نظرات مطالب
شروع به کار با EF Core 1.0 - قسمت 2 - به روز رسانی ساختار بانک اطلاعاتی
ارتقاء به EF Core 2.1: مقدار دهی اولیه‌ی جداول بانک‌های اطلاعاتی
روشی که در مطلب جاری در مورد متد Seed گفته شده‌است، هنوز هم کار می‌کند. در نگارش 2.1 روش توکاری را برای این منظور در متد OnModelCreating معرفی کرده‌اند:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity<Blog>()
      .HasData(new Blog { BlogId = 1, Url = "http://sample.com" });
}
اعمال آن نیز تنها یکبار از طریق اجرای عملیات Migrations صورت می‌گیرد و محاسبات ثبت یا به روز رسانی آن نیز خودکار است.
اگر موجودیت در حال ثبت نیاز به تعریف کلید خارجی داشته باشد، باید از یک anonymous class استفاده کرد:
modelBuilder.Entity<Post>().HasData(
    new {BlogId = 1, PostId = 1, Title = "First post", Content = "Test 1"},
    new {BlogId = 1, PostId = 2, Title = "Second post", Content = "Test 2"});
نظرات مطالب
نوع‌های نال نپذیر در TypeScript
یک نکته‌ی تکمیلی: اضافه شدن strictPropertyInitialization به TypeScript 2.7

در نگارش 2.7 اگر یک چنین تعریفی را داشته باشید:
export class MovieComponent {

  @Input() movie: Movie;

}
خطای زیر را دریافت خواهید کرد:
Error! Property movie has no initializer and is not assigned directly in the constructor.
یک روش برطرف کردن این خطا، نال‌پذیر تعریف کردن این خاصیت و سپس مقدار دهی اولیه‌ی به آن است:
@Input() movie: Movie | null = null;
و یا در مثال زیر می‌توان مشخص کرد که baz می‌تواند undefined هم باشد:
class C {
    baz: boolean | undefined;
}
روش دیگر، مقدار دهی اولیه، حین تعریف یک خاصیت است:
class C {
    bar = "hello";
}
و یا می‌توان این بررسی را به صورت زیر خاموش کرد:
class C {
    foo!: number;

    ngOnInit() {
        this.foo = 0;
    }
}
با استفاده از عملگر ! به کامپایلر اعلام می‌کنیم که این خاصیت حتما قرار است توسط روشی کمکی مقدار دهی اولیه شود و نال یا بدون مقدار نیست و استفاده‌ی از آن در این کلاس امن است.
نظرات مطالب
سفارشی سازی ASP.NET Core Identity - قسمت پنجم - سیاست‌های دسترسی پویا
ممنون بابت پاسخگویی.
فرض کنید در SampleController، اکشنی به نام Edit وجود دارد که سبب نمایش فرم ویرایش میشود که این فرم حاوی دراپ دانی می‌باشد که  اطلاعات خود رو از اکشنی مجزا به نام GetData در همان کنترلر به صورت ajax دریافت میکند.اگر بخواهیم با روش فعلی به این موارد دسترسی دهیم به حالت زیر خواهیم رسید:
 مشاهده فرم ویرایش   SampleController:Edit  ✓ 
 مشاهده محتویات دراپ دان  SampleController:GetData  ✓ 
در این حالت صفحه بدون مشکل لود شده و محتویات دراپ دان نمایش داده میشود.حالتی که تنها اکشن  index به calim افزوده شود در این حالت صفحه بارگذاری میشود اما محتویات دراپ دان به دلیل اینکه در Calim وجود ندارد لود نخواهد شد و درخواست ajax با خطای 401 مواجه میشود. 
روشی وجود دارد که با انتخاب اکشن Edit تمامی اکشن‌های مورد نیاز در فرم ویرایش نیز به Calim اضافه گردد؟
نظرات مطالب
مدیریت محل اعمال Google analytics در ASP.NET MVC
سلام؛ میخواستم بدونم در صورتیکه قصد داشته باشیم آنالیز ترافیک بازدید سایت رو بدون استفاده از سرویس‌های مختلف (PersianStat, Google Analytic)، در وب سایت خودمون پیاده سازی کنیم چه روش هایی پیشنهاد میکنین؟

وب سایت بر پایه MVC 5 ساخته شده. روشی که خودم در نظر دارم، یک جدول در بانک اطلاعاتی هست که شامل یک سری فیلد مانند IP و User-Agent و تاریخ و ساعت و ...

به ازای هر کاربر یک رکورد اضافه بشه در دیتابیس. ولی به صورتی باشه که فقط یکبار اضافه بشه در یک مدت زمان محدود. یعنی به ازای هر Request که از یک کاربر مشخص ارسال میشه نیاد پشته سر هم هی رکورد درج کنه و به قول معروف با Refresh کردن هی رکورد ثبت بشه توی دیتابیس.

Session_Start در فایل Global گزینه‌ی خوبی هست برای اینکار ولی در وب سایت از Session استفاده نمیکنم و غیر فعالش کردم در وب کانفیگ، بنابراین جوابگو نیست.
ممنون میشم اگر بتونید راهنمایی کنید.
نظرات مطالب
بالا بردن سرعت بارگذاری اولیه EF Code first با تعداد مدل‌های زیاد
با سلام و ممنون از جوابتون 
روشی رو گفتید رفتم گفتم اینجا بزارم هم دیگران استفاده کنند و اگه هم اشتباه کردم بفرمایید اصلاح کنم.
پکیج رو تو پروژه ای که کلاس context هست نصب کردم و تابع زیر رو
private static bool _isPreGeneratedViewCacheSet;
 
private void InitializationPreGeneratedViews()
{
   if (_isPreGeneratedViewCacheSet) return;
 
   var precompiledViewsFilePath = new FileInfo(Assembly.GetExecutingAssembly().Location).DirectoryName + @”\EF6PrecompiledViews.xml”;
   InteractiveViews.SetViewCacheFactory(this, new FileViewCacheFactory(precompiledViewsFilePath));
   _isPreGeneratedViewCacheSet = true;
}
 توی کلاس context گذاشتم  بعد از اجرای یک فایل Xml  در مسیر 
C:\Users\Hadi\AppData\Local\Temp\Temporary ASP.NET Files\root\2781dacc\5d62fdaf\assembly\dl3\142eef19\00077ffc_731ed001 
میسازه، البته من بصورت دستی این تابع رو یک بار اجرا کردم و بعد  غیرفعالش کردم.
 بعد این تابع رو در application_start  نوشتم:
 InteractiveViews
                .SetViewCacheFactory(ctx, new FileViewCacheFactory(new FileInfo(Assembly.GetExecutingAssembly().Location).DirectoryName + @"\EF6PrecompiledViews.xml"));