فضای نام System.Net.Mail در NET Core 1.2. که پیاده سازی netstandard2.0 است، ارائه خواهد شد . بنابراین فعلا (در زمان NET Core 1.1.) راه حل توکار و رسمی برای ارسال ایمیل در برنامههای مبتنی بر NET Core. وجود ندارد. اما میتوان کتابخانهی ثالثی را به نام MailKit، به عنوان راهحلی که .NET 4.0, .NET 4.5, .NET Core, Xamarin.Android, و Xamarin.iOS را پشتیبانی میکند، درنظر گرفت و توانمندیها و پروتکلهای پشتیبانی شدهی توسط آن، از System.Net. ...
کار با Areas را تا ASP.NET MVC 5.x میتوانید در مطلب « ASP.NET MVC #14 » مطالعه کنید. در ASP.NET Core، کلیات آن ثابت ماندهاست و تنظیمات ابتدایی آن اندکی تغییر کردهاند.
مفهوم Areas
Areas یکی از روشهای ساماندهی برنامههای بزرگ، به نواحی کوچکتری مانند قسمتهای مدیریتی، پشتیبانی از کاربران و غیره است. به این ترتیب میتوان کنترلرها، Viewها و مدلهای هر قسمت را از قسمتی دیگر، جدا کرد و مدیریت پروژه را ساده ...
مقدمه
وراثت، بین کلاسهای والد (Parent) و فرزند (Child) ارتباط ایجاد میکند. در این مطلب، با یک مثال ساده، نکات مختلفی را بررسی خواهیم کرد.
در ابتدا کلاسهایی را با نام parent و child، به شکل زیر ایجاد میکنیم: public class Parent
{
public Parent()
{
Console.WriteLine("Parent Constructor");
}
public void Print()
{
Console.WriteLine("Parent Print");
}
}
...
پیشتر مطلب « توزیع پروژههای ASP.NET MVC بدون ارائه فایلهای View آن » را در مورد ASP.NET MVC 5.x مطالعه کرده بودید. این روش پشتیبانی رسمی و توکاری نداشته و توسط افزونههای ثالث انجام میشود؛ به همراه تنظیمات و نکات خاص خودش. در ASP.NET Core 1.1، یک چنین امکانی به صورت توکار و صرفا با چند تنظیم ساده، در دسترس میباشد که در ادامه نحوهی فعال سازی آنرا بررسی خواهیم کرد.
فعال سازی پیش کامپایل Viewهای Razor در ASP.NET Core 1.1 ...
در ادامه مطلب قبلی ، یکی از مشکلاتی که طراحی Builder از آن رنج میبرد، نقض کردن قانون command query separation است که در ادامه دربارهی این اصل بیشتر بحث خواهیم کرد. اصل Command query separation یا به اختصار CQS، در کتاب Object-Oriented Software Construction توسط Bertrand Meyer معرفی شدهاست. بر اساس آن، عملیاتهای سیستم باید یا Command باشند و یا Query و نه هر دوی آنها. وقتی یک کلاینت به امضای یک متد توجه میکند، اینکه این متد چه ...
در مطلب قبلی راجع به اثرات منفی شنود پارامترها، در صورت عدم توجه به آنها بیان شد و در این مطلب قصد داریم به راههای کاهش اثرات منفی و مقابله با آنها بپردازیم: نکته: راههای اشاره شده برای مقابله با شنود پارامترها برای تمام شرایط قابل استفاده نیستند. راه حل اول: استفاده از دستور With Recompile مشکل شنود پارامتر این است که در اولین اجرای پروسیجر، پلن اجرایی را بر اساس پارامترهای ارسالی اولیه ایجاد میکند. راه حل غلبه بر این ...
در ادامه مطلب قبلی ، آشنایی با شنود پارامترها در اس کیو ال سرور، جهت بهبود زمان پاسخگویی پروسیجرها یا کوئریهای پارامتری الزامی است.
اس کیو ال سرور بوسیله ایجاد پلنهای اجرایی کامپایل شده، سعی در بهینه سازی پروسیجرها دارد. هنگامیکه اس کیو ال سرور یک پروسیجر را کامپایل مینماید، به پارامترهای ارسال شده توجه دارد و یک پلن اجرایی را بر اساس پارامترهای ارسالی ایجاد میکند. به ف ...
یکی از روشهایی که در اکثر پروژههای بزرگ استفاده میشود، بحث استفاده از حذف منطقی (soft delete) بجای حذف فیزیکی رکورد میباشد (اکثرا در برنامههایی که با بخش مالی (پول) در ارتباط هستند) و از آنجاییکه هیچ برنامهای بدون باگ نمیباشد، حذف منطقی بجای حذف فیزیکی پیشنهاد میشود. در واقع داشتن و حفظ دیتا، یک امتیاز مثبت میباشد؛ به علاوه استرس از دست دادن داده به صورت اتفاقی (سهل انگاری کاربر) را هم نخواهیم داشت. لازم به ذکر است کاربران نهایی ا ...
نگارش پایدار NET Core 1.1. روز قبل منتشر شد. در ادامه نحوهی ارتقاء پروژههای نگارش 1.0 RTM را به این نگارش بررسی خواهیم کرد.
دریافت نصاب NET Core 1.1.
برای این منظور به آدرس https://www.microsoft.com/net/download/core مراجعه کرده و فایل NET Core 1.1 SDK - Installer. را دریافت و نصب کنید. برای ظاهر شدن این گزینه باید حالت Current را بجای LTS (Long Term Support) انتخاب کرد:
همچنین در اینجا بست ...
قبل ازاین مقاله، درباره راه اندازی و استفاده از کتابخانه Automapper بحث شده ولی موردی که شاید کمتر به آن توجه
شده سرعت این نگاشت میباشد. در این مقاله با استفاده از نوشتن تست، این موضوع بررسی
میشود. کلاس ساده زیر را در نظر بگیرید که
برای مثال از سمت لایه دسترسی به داده گرفته شده است: public enum PersonType
{
Real =0,
Legal=1
}
public class Person
{
public long PersonId { get; set; }
p ...