نظرات مطالب
C# 7 - Pattern matching and switch expressions
یک نکته‌ی تکمیلی
برای اجبار به استفاده‌ی از patterns matching بجای استفاده‌ی از as و سپس بررسی null بودن، می‌توان به فایل editorconfig. تنظیم زیر را اضافه کرد:
# Use Pattern Matching to Avoid ‘As’ Followed by A ‘Null’ Check
dotnet_diagnostic.IDE0019.severity = warning
نظرات مطالب
پَرباد - راهنمای اتصال و پیاده‌سازی درگاه‌های پرداخت اینترنتی (شبکه شتاب)
در مورد تابع SelectByOrderNumberAsync ، خیر همیشه null نیست. اگر همیشه null بود، امکان تشخیص و صدور خطای تکراری بودن به کاربر وجود نداشت. در واقع درسته که منطق سیستم گفته شماره سفارش باید یکتا باشد، ولی به کاربر نمیشه اعتماد کرد و باید یک عملیات چک کردن وجود داشته باشه که در صورت اشتباه کاربر، به اون اعلام کنه که تکراری هست.
فیلد Message باید اضافه بشه ممنون بابت گزارش.
و در مورد پیشنهادی که دادید، پیشنهاد خوب و صحیحی هست. سعی میکنم در همین آپدیت جدید پیاده سازیش کنم.
تشکر.
نظرات مطالب
یافتن «مطالب مرتبط» توسط لوسین
private static Query CreateMoreLikeThisQuery(int postId)
{
    var docNum = GetLuceneDocumentNumber(postId);
    if (docNum == 0)
            return null;

چرا در خط 4 تابع CreateMoreLikeThisQuery برای سندی که در موقعیت 0 باشد مقدار null برگشت داده می‌شود؟
با بررسی‌ای که کردم، پردازش سند صفرم مشکلی نداشت. اولین آیتمی که به ایندکس اضافه کردم در این موقعیت قرار گرفت و برای این آیتم هیچ نتیجه آیتم مشابهی پیدا نمی‌شد.
نظرات مطالب
اعمال تزریق وابستگی‌ها به مثال رسمی ASP.NET Identity
در مثالی که به ضمیمه این مطلب گذاشتید، بعداز Login، فیلدهای درون User.Identity مقادیر نادرستی دارند. مشکل از کجاست؟ درصورتی که درون ویوی _LoginPartial مقدار User.Identity.GetUserName  حاوی مقدار درستیه.  

ضمن اینکه به اینترفیس IIdentity همیشه مقدار null تزریق میشه. حتی بعداز روالهای ابتدایی برنامه. دقیقا توی همین پروژه، وقتی روی منوی About میزنی، درون سازنده IApplicationUserManager ، متغیر identity با null پر می‌شود که باعث بروز خطا میشه. مشکل چیه؟ 

نظرات مطالب
C# 6 - Null-conditional operators
با سلام
برای چک کردن مقادیر نال پی در پی واقعا کاربردی است
البته موردی که ابتدای مطلب اومده اشکال کوچکی دارد :
string data = null;
var result = data ?? "value";
و
if (data == null)
{
    data = "value";
}
var result = data;
یکی نیستند چون در کد دوم مقدار data تغییر می‌کند(در صورتیکه برابر نال باشد).
نظرات مطالب
T4MVC : یکی از الزامات مدیریت پروژه‌های ASP.NET MVC
بررسی کنید چه آدرسی درخواست شده و آیا موجود است یا خیر؟
        protected override IController GetControllerInstance(RequestContext requestContext, Type controllerType)
        {
            if (controllerType == null && requestContext.HttpContext.Request.Url != null)
                throw new InvalidOperationException(string.Format("Page not found: {0}",
                    requestContext.HttpContext.Request.Url.AbsoluteUri.ToString(CultureInfo.InvariantCulture)));
            return SmObjectFactory.Container.GetInstance(controllerType) as Controller;
        }
نظرات مطالب
نحوه ایجاد یک تصویر امنیتی (Captcha) با حروف فارسی در ASP.Net MVC
اگر بخواهم که کاربر با وارد کردن مستقیم آدرس ایجاد کپچا، کد آن اجرا نشود اضافه کردن کد زیر به ابتدای متد ExecuteResult  کلاس CaptchaImageResult درست هست؟ 
البته در این کد Null reference می‌گیرم ولی خب ایجاد کپچا متوقف میشود. راه دیگه ای هست که بدون Null refrence جواب بدهد؟
if (context.RequestContext.HttpContext.Request.UrlReferrer.AbsolutePath ==
                context.RequestContext.HttpContext.Request.Url.AbsolutePath)
                throw new InvalidOperationException();

نظرات مطالب
نحوه ایجاد الگوی Singleton به صورت جنریک
یه روش بهتر برای استفاده در حالت Thread Safe که به نظرم بهینه‌تر هستش در زمان اجرا, بهینه سازی کد به این شکل هستش
if (instance == null) 
         {
            lock (Lock) 
            {
               if (instance == null) 
                  instance = new Singleton();
            }
         }
با این حالت در صورتی که شی قبلا ایجاد شده باشه هیچ کدوم از Thread‌ها رو بلوک نمیکنه.
نظرات مطالب
راه‌های کم کردن احتمال اسپم شدن ایمیل‌های ارسالی توسط SMTP Client
سلام
لطفا کدهای فوق رو به صورت زیر اصلاح کنید. هنگام استفاده مشکل دارند.
AlternateView plainView = AlternateView.CreateAlternateViewFromString(
                        Regex.Replace(EmailBody, @"<(.|\n)*?>", string.Empty), null, "text/plain");
AlternateView htmlView = AlternateView.CreateAlternateViewFromString(EmailBody, null, "text/html");
MyMsg.AlternateViews.Add(plainView);
MyMsg.AlternateViews.Add(htmlView);

البته من namespace هارو در بالای کلاس تعریف کردم و از اینجا حذف کردم.
using System.Net.Mail;
using System.Text.RegularExpressions;

با تشکر
نظرات مطالب
آشنایی با NHibernate - قسمت سوم
سلام آقای نصیری
خیلی ممنون از آموزش بسیار عالی تون
من با اینکه در قسمت unit tests کلاس CustomEqualityComparer ساختم ولی و این کلاسو در orderItemMapping_Fixture هم آوردم ولی باز error not-null property references a null or transient valueNHSample1.Domain.OrderItem.Product رو میده وقتی unit testرو اجرا می کنم
لطف می کنید راهنماییم کنید؟