نظرات مطالب
بررسی تصویر امنیتی (Captcha) سایت - قسمت دوم
در واقع باید متن رو مثلا شامل دو بخش،بخش اول،و بخش دوم هم تاریخ و زمان فعلی هستش که با یه splitter از هم جدا شدن و بعد رمزنگاری کرد،و در سمت سرور ابتدا بخش دوم رو با تاریخ و زمان فعلی(submit شدن فرم) مقایسه کرد و درصورتیکه اختلاف اونها بیشتر از 3 دقیفه(یا 2 یا ...) بود captcha غیر معتبر هستش. 
نظرات مطالب
چند نکته در مورد WPF MediaElement و ویندوز XP
یک نکته‌ی دیگر:
ممکن هست جهت پخش فایل‌های mp4 ، از یک سری codec استفاده کرده باشید. مثلا: Haali's Media Splitter و FFDShow

تا زمانیکه در media player ویندوز در پاسخ به سؤال «فایل‌های mp4 را هم پخش کنم یا نه؟»، گزینه‌ی به خاطر سپاری پاسخ را تیک نزده باشید، در WPF Media Element با خطای زیر مواجه خواهید شد:
Media file download failed.
Exception from HRESULT: 0xC00D0FEA
مسیرراه‌ها
AngularJS
مطالب
اجرای یک Script حاوی دستورات Go در سی شارپ
سلام ؛

سال نو مبارک ! امیدوارم سال بسیار خوبی در پیش داشته باشید :)

از زمانی که استفاده از ORM‌های Code First رایج شده ، اجرای اسکریپت‌های طولانی جهت ایجاد دیتابیس خیلی استفاده ندارد، اما حالت خاص همیشه پیش می‌آید.
مثلا قصد داریم پیش از آغاز برنامه پس از ایجاد دیتابیس توسط Entity Framework به یک سری جداول فیلدی با نوع داده‌ی Geometry اضافه کنیم. یا باید به دیتابیس یک سری Stored Procedure و View اضافه کرد.
Script‌ها ی Generate شده توسط SQL Server حاوی دستور Go هستند. ADO.NET اجرای Script که حاوی Go باشد را پشتیبانی نمی‌کند.
اما روش‌ها و ترفند‌های زیادی برای اجرای یک فایل Script طولانی حاوی دستور Go روی دیتابیس وجود دارد :
        private static string GetScript()
        {
            string path = AppDomain.CurrentDomain.BaseDirectory +
                          @"Scripts\script.sql";
            var file = new FileInfo(path);

            string script = file.OpenText().ReadToEnd();
            return script;
        }

        private static void ExecuteScript()
        {
            string script = GetScript();

            //split the script on "GO" commands
            var splitter = new[] {"\r\nGO\r\n"};
            string[] commandTexts = script.Split(splitter,
                                                 StringSplitOptions.RemoveEmptyEntries);
            foreach (string commandText in commandTexts)
            {
                using (var ctx = new DbContext())
                {
                    if (!string.IsNullOrEmpty(commandText))
                    {
                        ctx.Database.ExecuteSqlCommand(commandText);
                    }
                }
            }
        }

در اینجا به جای آنکه تلاش کنیم یک فایل را روی دیتابیس یک جا اجرا کنیم دستورات را جدا کرده و تک به تک اجرا می‌کنیم. 
بروزرسانی: