نظرات مطالب
نوشتن اعتبارسنج‌های سفارشی برای فرم‌های مبتنی بر قالب‌ها در Angular
به جای قطعه کد زیر:
export class EqualValidatorDirective implements Validator {
  constructor(@Attribute("compare-to") public compareToControl: string) {}
بنده به شکل زیر عمل کرده‌ام. شاید سینتکس این روش ساده‌تر باشد.
export class EqualValidatorDirective implements Validator {
  constructor() {}
  @Input('compare-to') compareToControl: string;
  ///...
}

نظرات مطالب
ModelBinder سفارشی در ASP.NET MVC
سلام؛ بنده یک کلاس به نام PersainCalender ایجاد کرده‌ام که از اینترفیس IModelBinder ارث بری می‌کند. در زمانیکه بخوام اطلاعات فرم رو با Ajax به سرور بفرستم عمل بایند انجام می‌شود؛ ولی فیلد تاریخ که به صورت شمسی از ورودی فرستادم به میلادی تبدیل نمی‌شود. ولی در غیر Ajax این طور نیست و تبدیل شمسی به میلادی انجام می‌شود. فقط در زمان ارسال اطلاعات با Ajax این اتفاق می‌افتد. به نظرتون مشکل از کجاست؟
نظرات مطالب
شروع کار با Angular Material ۲
متاسفانه تیم انگیولار متریال 2 تا الان برای این مورد پیاده سازی خاصی نداشته اند. حتی در انگیولار متریال که از آخرین تاریخ انتشار نسخه پایدار آن زمان زیادی می‌گذرد، هنوز پیاده سازی صورت نگرفته است و احتمالا باید از کامپوننت‌های دیگر برای این کار استفاده کرد.
بنده به شخصه در آنگیولار متریال یک از این ماژول استفاده کرده‌ام و بسیار حیرت آور است.
اما در انگیولار متریال دو فعلا تنها موردی که پیدا کرده ام این کار است که هنوز در برنامه کاربردی پیچیده از آن استفاده نکرده‌ام.
نظرات مطالب
مفهوم READ_COMMITTED_SNAPSHOT در EF 6
- سمت سرور هم این قابلیت را فعال کردید؟ (چون هم در طرف برنامه و هم در طرف سرور باید فعال شود)
من این قابلیت را با برنامه‌ای که مدام مشکل «Transaction was deadlocked » داشت، به شخصه آزمایش کرده‌ام و تاثیر فوق العاده‌ای دارد.
- عموما خطای «max pool size was reached» به معنای نشتی حافظه در برنامه و dispose نشدن کانکشن‌ها است. بنابراین باید بررسی کنید که آیا Context را حتما dispose می‌کنید یا خیر؟ (این مورد صرفا مشکل برنامه است)
نظرات مطالب
انجام کارهای زمانبندی شده در برنامه‌های ASP.NET توسط DNT Scheduler
سلام،
ابتدا از مطلب بسیار کاربردیتون تشکر می‌کنم.

سناریوی بنده بدین صورت است که یک task ارسال ایمیل دارم که روزی یکبار به کل کاربرام یک ایمیل رو ارسال می‌کنم. حال از آنجایی که می‌ترسم میل سرور crash کنه و نتونه با سرعت بالا به یکباره همه ایمیل‌ها رو ارسال کنه، بنده می‌خوام بین ارسال هر ایمیل یک تاخیر مثلا 1 ثانیه ای بذارم تا بدین صورت میل سرور زمان تنفس داشته باشه.

به نظر دوستان  آیا اصلا نیاز به ایجاد تاخیر زمانی هست ؟
اگر هست، آیا کد زیر درست است ؟
public override void Run()
{
    if (this.IsShuttingDown || this.Pause)
        return;
 
    var _myService = StructureMapObjectFactory.Container.GetInstance<IMyService>();
    var sendingEmailsData = _myService.GetSendingEmailsData();
 
    if (sendingEmailsData.Count > 0)
    {
        var reader = new StreamReader(SiteCoreManager.SCHEDULE_BODY_PATTERN_FILE_PATH);
        string bodyPattern = reader.ReadToEnd();
 
        foreach (var sendingEmailItem in sendingEmailsData)
        {
            MailSender.Send(bodyPattern, sendingEmailItem   );
 
            // ایجاد تاخیر
            Task.Delay(1000);                   
        }
 
    }
             
}
نظرات مطالب
EF Code First #11
خوب منم همینو عرض میکنم. میگم انتقال ممکن نیست مگر به روش شما (محدود کردن ORM و صرفنظر از کلی از قابلیت هاشون).
اگه سرویس رو بین DAL و بقیه اجزا برنامه داشته باشیم چی؟ من از EF استفاده میکنم. سرویس من نه انتیتی ها بلکه viewmodel های مشخصی که هر بخش برنامه نیاز داره میگیره یا بر میگردونه. مثلا متدی که تو همون بخش MVC مثالشو گفتم در نظر بگیرید. اسمشو میذاریم GetMemberInfo. سرویس موظفه viewmodel مرتبط رو پر کنه و برگردونه. امروز از EF استفاده میکنه؛ پس عاقلانه ترین راه استفاده از پروژکشن هست. فردا روزی به هر دلیلی مجبورم به NH کوچ کنم. خوب باقی اجزا برنامه از این تغییر بی خبر میمونن. حالا NH هم پروژکشن داره هم tofeautre که بعنوان یه نمونه، فکر میکنم استفاده از امکان tofeautre اینجا بهتره. خوب کی از این تغییر باخبره؟ فقط سرویس. سرویسه که داره پیاده سازی های مختلفی میشه. بقیه اجزا کاملا از این تغییر مصون میمونن.
نظرات مطالب
روش از کار انداختن صفحه‌ی Add service reference در VS.NET
سلام
سوال شما مرتبط با بحث نیست (و مطابق معمول این موارد رو من حذف می‌کنم) ... فقط در حالت کلی این موارد را باید در نظر داشت:
استفاده از کاربران اکتیودایرکتوری به همراه برنامه‌های وب به شدت مشکل ساز است از این لحاظ که هر کاربر در اکتیو دایرکتوری با یک SID مشخص می‌شود و این SID تا زمانیکه کاربر تغییری نداشته (مثلا سرور کرش کرده، دوباره نصب شده یا کاربر حذف شده دوباره اضافه شده) معتبر است و در غیر اینصورت هرچند نام جدید با نام قبلی یکی است اما چون این SID یکی نیست، در برنامه دیگر شناسایی نخواهد شد (مشکل شایع کاربران شیرپوینت برای مثال). به عبارتی سیستم‌های تحت وب متکی بر تعیین اعتبار اکتیودایرکتوری تا زمانیکه کاربران آن حذف نشده‌اند ... خوب کار می‌کنند، اما، امان از روزی که مجبور به تعریف مجدد شوید. اینجا است که هیچ چیزی کار نمی‌کند (چون اکتیودایرکتوری فقط SID را می‌شناسد و نه اسم که فقط ظاهر کار است).
به همین جهت روش امنیتی Forms Authentication که قسمتی از آن تعریف کاربران در بانک اطلاعاتی است در دراز مدت برای شما مقرون به صرفه‌تر خواهد بود.
مطالب
Microsoft® SQL Server® 2012

نگارش نهایی Microsoft® SQL Server® 2012 چند روزی هست که ارائه شده. فعلا نسخه آزمایشی RTM آن در اختیار عموم است.
در ادامه جمع آوری لینک‌های مرتبط به این ارائه را مشاهده خواهید نمود:


و یک جدول مقایسه‌ای بین امکانات نگارش‌های رایگان SQL Server 2012 در اینجا

مطالب
بتای اول Silverlight 3.0 ارائه شد

نگارش بتای سیلورلایت سه چند روزی است که ارائه شده است.
ویژگی‌های جدید آن‌را در چند گروه می‌توان بررسی کرد:
  • بهبودهای گرافیکی : پشتیبانی از GPU و گرافیک سه بعدی - Perspective 3D و Pixel Shaders
  • امکان تولید برنامه‌های Out-of-the-Browser (امکان اجرای برنامه‌های سیلورلایت مستقل از مرورگر وب)
  • بهبودهای حاصل شده در امکانات برنامه نویسی آن: element binding, dynamic resources و ...
  • ارائه‌ی پیش نمایش expression blend نگارش 3 جهت پشتیبانی بهتر از Silverlight 3.0
  • .NET RIA Services : n-tier application pattern
  • پشتیبانی کامل از پخش ویدیوهایی با فرمت HD
  • و ...

کتاب الکترونیکی رایگانی که در MIX09 در این‌باره توزیع شده است
دریافت

برای مطالعه بیشتر:
A guide to Silverlight 3 new features
Silverlight 3 Announced!


مطالب
زیرنویس فارسی ویدئوهای مقدمات AngularJS - قسمت اول
سایت pluralsight یک دوره آموزشی با عنوان AngularJS Fundamentals تهیه کرده است، که به آموزش مقدمات AngularJS و اینکه چگونه می‌توانیم برنامه هایی با قابلیت تست پذیری، SPA و به سبک MVC بنویسیم، می‌پردازد.
فعلاً قسمت اول این مجموعه زیرنویس شده است که از اینجا  قابل دریافت می‌باشد، جهت مشاهده ویدئوها نیز پیشنهاد می‌شود از برنامه KMPlayer استفاده کنید.
لیست ویدئوهای قسمت اول این مجموعه به شرح زیر است :
Course Introduction
Module Introduction
Introduction to Angular
Angular Architecture
Demo: Hello World in Angular
The Angular Event Reg Application
Angular Seed
Summary
6 قسمت دیگر از این مجموعه باقیمانده است، که بعد از آماده شدن به همین ترتیب به صورت یک پست در سایت ارائه خواهد شد. اگر مایل به همکاری بودید در قسمت پروژه‌های سایت می‌توانید اقدام کنید.
برای تهیه زیرنویس‌ها هم از برنامه Subtitle Tools استفاده میکنم، البته ظاهراً خود ویدئوها دارای زیرنویس انگلیسی هستند که رایگان نیستند.