نظرات مطالب
طراحی افزونه پذیر با ASP.NET MVC 4.x/5.x - قسمت دوم
سلام
من میخوام یک مجموعه از application‌های تحت وب داشته باشم که همگی یک نوع طراحی UI داشته باشند و یک منو کلی داشته باشم که کاربر‌ها بتون از اون به هریک از application‌ها هدایت بشوند منتها چند نکته وجود داره :
  1. همه این برنامه‌ها به لحاظ عملکردی یکسری مشترکات دارند ( مثلا احراز هویت ، لیست کاربرها و ....)
  2. هر کدوم از این برنامه‌ها باید بتونن مستقل طراحی بشن در عین حال که از یک شکل ui استفاده می‌کنند
  3. به راحتی بتونم یک برنامه به مجموعه برنامه هام اضافه کنم یا یکی ازش کم کنم یا یکی را غیر فعال کنم ( باید معماری scalable باشد
در واقع یه چیزی شبیه مجمو.عه نرم افزار‌های گوگل
به نظر شما روش ارائه شده در این صفحه بدرد من می‌خوره؟
اگر نه از چه معماری استفاده کنم؟
نظرات مطالب
دسترسی به Collectionها در یک ترد دیگر در WPF
lock تعریف شده در اینجا، صرفا جهت کار با UI Dispatcher وجود دارد و هر برنامه یک UI Dispatcher بیشتر برای به روز رسانی UI ندارد (Application.Current.Dispatcher) و EnableCollectionSynchronization دات نت 4.5، شبیه به کار متد OnCollectionChanged نوشته شده جهت دات نت 4 را انجام می‌دهد. در متد OnCollectionChanged هم یک lock وجود دارد تا هربار از هر تردی، فقط یک مورد جهت ارسال به dispatcher برنامه، قابلیت ورود پیدا کند. هدف اصلی این است که اطلاعات دریافتی از تردهای مختلف، در ترد UI نمایش داده شوند یا به روز شوند و ترد UI هربار فقط یک آیتم را قبول می‌کند، آن هم نه از طریق تردهای دیگر. به همین جهت، این تردها باید صبر کنند تا عملیات قبلی UI خاتمه یابد.
نظرات مطالب
هدایت درخواست فایل‌های استاتیک در ASP.NET MVC به یک کنترلر
- دیالوگ لاگین در IDM برای حالت Basic authentication ظاهر می‌شود. 
+ نرم افزار IDM اگر از طریق افزونه‌های آن (^) اقدام به دریافت این فایل کند، مشکلی نخواهد داشت؛ چون این افزونه‌ها اطلاعات سشن جاری کاربر را به برنامه، جهت شبیه سازی و استفاده‌ی مجدد منتقل می‌کنند (اطلاعاتی مانند کوکی‌ها و تمام مشخصات جاری صفحه‌ی لاگین کرده). به عبارتی اگر شخصی به سایت لاگین کند و از طریق مرورگری که افزونه‌ی IDM بر روی آن نصب است، اقدام به دریافت فایل کند (بر روی لینک کلیک کند تا مرورگر توسط افزونه‌ی مربوطه، درخواست را به برنامه ارسال کند)، دریافت فایل از دید او معمولی و مانند قبل خواهد بود.
نظرات مطالب
Url Routing در ASP.Net WebForms
مرجع رسمی مسیریابی در وب فرم‌ها عنوان می‌کنه که URL routing allows you to configure an application to accept request URLs that do not map to physical files. یعنی چون آدرس شما الان پسوند پیدا کرده، دیگه وارد سیستم مسیریابی نمیشه و به صورت یک فایل فیزیکی پردازش میشه. یعنی در مسیر و پوشه‌ای شبیه به آدرسی که نوشتید به دنبال اون فایل می‌گرده (که نیست و به همین جهت خطای 404 رو دریافت می‌کنید). البته با تنظیم RouteTable.Routes.RouteExistingFiles = true امکان تغییر این پیش فرض هست. در این حالت درخواست تمام فایل‌های فیزیکی وارد سیستم مسیریابی میشن. البته در این مورد خاص باید یک IRouteHandler بنویسید تا این درخواست فایل رسیده رو پردازش کنه.
نظرات مطالب
نوشتن پرس و جو در Entity Framework‌ با استفاده از LINQ To Entity قسمت اول
در پرس و جوهای معمولی ، بدین شکل عمل می‌شود که در نهایت نتیجه با شرط یک Id  یا چیزی شبیه این مقایسه می‌شود .
var Id=1; 
var books = (from b in db.Books
                              where b.bookId == Id
                              select new
                              {
                                 //...

                              }).ToList();

حالا اگر شرط من بجای داشتن فقط یک Id  لیستی از Id باشد چطور عمل کنم ؟
var booksId= new list<int>(){ 1 , 2 , 6 , 7}; 
var books = (from b in db.Books
                              where b.bookId == ???
                              select new
                              {
                                 //...

                              }).ToList();

چطور میتونم لیستی رو که دارم بجای مقایسه با یک Id  ، با یک لیستی از Id‌ها مقایسه کنم و نتیجه را بگیرم ؟
نظرات مطالب
استفاده از نگارش سوم Google Analytics API در سرویس‌های ویندوز یا برنامه‌های وب
متوجه اشکال شدم.
من کدهای شما رو کپی کردم و نخوندم چه کردید، کدها رو که بررسی کردم متوجه شدم شما توی لیست اکانتها که واکشی میکنید اکانتی که میخوایم باید همنام یا شبیه آدرس سایت(SiteUrl) باشه و طبیعتا من وقتی توی گوگل آنالیز اکانت و پروفایلهام رو میسازم نام دلخواه میدم، شما بجای استفاده از آی دی از اسم استفاده کردید که از روی اسم آی دی رو در بیارید برای همین چون اسم اکانت با آدرس سایتم یکی نبود چیزی پیدا نمیکرد :
var account = accountList.Items.FirstOrDefault(x => x.Name.ToLowerInvariant().Contains(site));
برای پراپرتی هم به همین صورت.
نظرات مطالب
4# آموزش سیستم مدیریت کد Git : نصب و پیکر‌‏بندی
- OpenSSH کار مدیریت و اجرای دستورات کاربران راه دور سرور Git را انجام می‌دهد.
- در لینوکس OpenSSH هست. کار CopSSH (که دیگر رایگان نیست) ساده سازی نصب OpenSSH بر روی ویندوز است. البته OpenSSH را در ویندوز بدون نیاز به این ابزارهای جانبی، توسط cygwin می‌شود نصب کرد (اصل کار و درستش به این صورت است). شبیه CopSSH، مثلا sshwindows هم هست ولی بهتره وقت بگذارید روی cygwin.
- اگر ویندوزی می‌خواهید کار کنید و سرور Git راه اندازی کنید، از Bonobo Git Server استفاده کنید. راهنمای نصب
- همچنین Bitvise SSH Server هم برای ویندوز تهیه شده و از آن هم می‌شود جهت نصب سرور Git استفاده کرد.
- لیست کاملتر نصاب‌های سرور Git روی ویندوز
نظرات مطالب
استفاده از pjax بجای ajax در ASP.NET MVC
در مثالی که زده شد، فقط لینک‌هایی که دارای ویژگی withpjax هستند تحت کنترل این افزونه قرار می‌گیرند و نه هیچ لینک دیگری در برنامه و نه هیچ روش بازگشت دیگری:
  $(document).pjax('a[withpjax]', '#pjaxContainer', { timeout: 5000 });
البته این یک مثال است و اگر مثلا withpjax آن‌را حذف کنید:
$(document).pjax('a', '#pjaxContainer', { timeout: 5000 });
تمام لینک‌های صفحه تحت کنترل خواهند بود. شبیه به حالتی که عنوان کردید صفحه بندی گرید به هم خورده. برای اینکه این نوع تداخل‌ها رخ ندهند و هر لینکی در صفحه توسط این افزونه پردازش نشود، بهتر است از روش پیشنهادی استفاده کنید.
نظرات مطالب
CSS پویا در ASP.NET MVC
این روش را می‌شود کمی بهبود داد؛ برای اینکه بشود داخل فایل CSS با کدهای Razor هم کار کرد (یعنی چیزی شبیه به LESS اما پیاده سازی شده با Razor و تفسیر شده توسط موتور آن؛ مانند یک View یا Partial View معمولی و کامل. حتی می‌شود داخل آن if و else یا حلقه نوشت):
public class CSS
    {
        public string Color { set; get; }
    }

        public ActionResult GetDynamicStyle()
        {
            var color = "White";
            if (DateTime.Now.Hour > 18 || DateTime.Now.Hour < 8)
            {
                color = "Black";
            }

            this.Response.ContentType = "text/css";
            return PartialView(viewName: "~/Views/Home/_CSS.cshtml", model: new CSS { Color = color });
        }
با این محتوای Views/Home/_CSS.cshtml:
@model DynamicMvcCSS.Controllers.CSS

.foo {
    color: @Model.Color;
}
نظرات مطالب
نمایش فرم‌های مودال Ajax ایی در ASP.NET MVC به کمک Twitter Bootstrap
حال یه سوال اگه بخواهیم مثلا پس از اینکه کاربر اطلاعات را به شکل درست وارد کرده و اطلاعات هم به درستی ذخیره شده باشه یعنی تمام کار به درستی انجام شده باشه پس از بستن پنچره مودال یه پیام مثلا به شکل پاپ آپ به کاربر نشون بدیم مبنی بر صحت انجام کار باید به چه صورت عمل کرد یا مثل بالا جایی که شما نوشتین خطایی رخ داده است. منظورم شبیه چیزیه که تو همین وبلاگ عمل میشه یعنی اینجا پس از مثلا نوشتن این نظر و ارسال بدون اشکال به سرور به بنده یه پیام نشون میده که بدونم نتیجه‌ی کارمو
با تشکر :)