‫۱۲ سال و ۲ ماه قبل، شنبه ۱۴ مرداد ۱۳۹۱، ساعت ۱۳:۱۸
برای توضیحات بیشتر مراجعه کنید به قسمت پنجم. یک قسمت کامل به آن اختصاص داده شده.
‫۱۲ سال و ۲ ماه قبل، شنبه ۱۴ مرداد ۱۳۹۱، ساعت ۰۱:۲۳
در متن توضیح دادم. route پیش فرض به صورت خیلی کلی زیر تعریف شده:
{controller}/{action}/{id}
یعنی تطابق با «یک چیزی اسلش یک چیزی اسلش یک چیزی» و اکثر کاربردها را پوشش می‌دهد. یک چیزی اول می‌شود نام کنترلر. یک چیزی دوم می‌شود نام اکشن متدی در آن کنترلر (در صورت وجود) و الی آخر. بنابراین نیازی نیست به ازای هر کنترلر جدید یک route نوشت؛ یا به ازای هر متدی در آن به همین ترتیب.
‫۱۲ سال و ۲ ماه قبل، شنبه ۱۴ مرداد ۱۳۹۱، ساعت ۰۱:۱۱
قرار نیست برای هر کنترلر و View ایی که تعریف می‌شود، در فایل global.asax.cs تغییری انجام شود. route پیش فرض آن در اکثر موارد جوابگو است.
مگر اینکه بخواهید redirect‌های خاصی را تعریف کنید. مثلا لینک‌های تگ‌ها در بلاگر به این شکل بودند و هستند : http://site/search/label/tagname
برای اینکه این نوع لینک‌های رسیده و bookmark شده یا ثبت شده در سایت‌های مختلف به آدرس جدید http://site/tag/name هدایت شوند، می‌شود یک route برای آن نوشت:
 routes.MapRoute(
                "old_blogger", // Route name
                "search/label/{name}", // URL with parameters
                new { controller = "Tag", action = "Index", name = UrlParameter.Optional } // Parameter defaults
            );
به این ترتیب به صورت خودکار آدرس‌های قدیمی به آدرس‌های جدید (کنترلر Tag سایت) نگاشت خواهند شد و از این دست موارد. خلاصه فایل global.asax.cs نیاز به آنچنان تغییری ندارد و پیش فرض‌های آن در بسیاری از موارد کافی هستند. 
‫۱۲ سال و ۲ ماه قبل، جمعه ۱۳ مرداد ۱۳۹۱، ساعت ۱۲:۵۴
مآخذ:
- دقیقه 52 این ویدیو از زبان یکی از مدیران مایکروسافت.
- به علاوه به علت استفاده از دات نت در بینگ، تیم دات نت دست به بهبود گسترده‌ای در GC اون زده تا بتونه در حالت‌هایی که اشیاء مورد استفاده حجم بالایی دارند و مصرف حافظه بالا است بهتر عمل کنه: (^). در اینجا یک مصاحبه رو با تعدادی از اعضای bing در این زمینه مشاهده خواهید کرد.
‫۱۲ سال و ۲ ماه قبل، جمعه ۱۳ مرداد ۱۳۹۱، ساعت ۱۲:۴۸
افزونه server spy معرفی شده سرور سایت شما رو cloudflare-nginx نشون می‌ده. nginx عموما لینوکسی است (بنابراین فناوری‌های مرسوم تحت لینوکس مطرح خواهند بود). ضمن اینکه وردپرس هم با php نوشته شده (آشنایی با الگوهای متداول). یعنی برنامه php روی سرور لینوکس.
+
در مطلب فوق عنوان شده «در 90 درصد موارد». به این معنا که در 10 درصد باقیمانده موارد، شخص می‌تواند از الگو‌های متداول دیگری جهت شناسایی ساختار یک برنامه استفاده کند.
‫۱۲ سال و ۲ ماه قبل، جمعه ۱۳ مرداد ۱۳۹۱، ساعت ۰۴:۱۳
این مورد بیشتر به تداخل css کلی سایت با این کنترل مربوط می‌شود. بهترین کار استفاده از firebug است. ابتدا در برگه net آن بررسی کنید پیام 404 ایی مشاهده می‌شود؟ ممکن است چیزی از قلم افتاده باشد. سپس به وسیله firebug به صورت live شروع به ویرایش css المان انتخاب شده کنید تا به نتیجه برسید.

‫۱۲ سال و ۲ ماه قبل، پنجشنبه ۱۲ مرداد ۱۳۹۱، ساعت ۱۴:۱۲
یک نکته تکمیلی رو اینجا اضافه کنم.
نحوه عملکرد RedActor در نگارش جدید آن با نگارش قبلی که من استفاده کردم، کاملا تفاوت کرده و قسمت‌هایی از مطلب فوق دیگر معتبر نیست.
RedActor اینبار به خروجی json نیاز دارد. برای مثال به فایل مثال image_upload.php آن دقت کنید. در نگارش جدید به این نوع خروجی نیاز دارد:
    // displaying file    
$array = array(
'filelink' => '/images/'.$filename
);

echo stripslashes(json_encode($array));   
معادل آن در ASP.NET MVC به نحو زیر است:
var array = new { filelink = "Images/k1.jpg" };
return Json(array, System.Net.Mime.MediaTypeNames.Text.Plain, JsonRequestBehavior.AllowGet);
یک anonymously typed object دلخواه را مطابق array مثال PHP آن درست کنید و به Json result به نحو فوق ارسال کنید.
برای مابقی هم به همین ترتیب است. مثلا file_upload.php مثال آن اینبار به شکل زیر تعریف شده:
$array = array(
'filelink' => '/files/'.$_FILES['file']['name'],
'filename' => $_FILES['file']['name']
);

echo stripslashes(json_encode($array));
معادل ASP.NET MVC آن به نحو زیر است:
var array = new { filelink = "files/myfile.zip", filename="myfile.zip" };
return Json(array, System.Net.Mime.MediaTypeNames.Text.Plain, JsonRequestBehavior.AllowGet);