‫۱۲ سال و ۵ ماه قبل، جمعه ۸ اردیبهشت ۱۳۹۱، ساعت ۲۳:۴۴
فایل «خلاصه‌ی وبلاگ» رو به روز کردم. شامل تمام قسمت‌ها برای مطالعه آفلاین هست.
‫۱۲ سال و ۵ ماه قبل، جمعه ۸ اردیبهشت ۱۳۹۱، ساعت ۲۰:۵۱
سری «پایه» همین مباحث است. شما با این اطلاعات راحت می‌تونید یک پروژه رو جمع کنید.
ASP.NET MVC 4 نسبت به نگارش 3 آن، آنچنان تغییرات اساسی را به همراه ندارد. یک سری افزونه جدید دارد جهت فشرده سازی اسکریپت‌ها و cssها،‌ اندکی بهبود Razor و یک سری مسایل امنیتی که من لابلای همین سری به آن‌ها اشاره داشتم و ... از این نوع مباحث + مبحث Web API رو اضافه کردن که به نوعی ترکیب WCF با ASP.NET MVC است به نحوی شکیل!
البته مجوز نگارش 4 بتای آن که در دسترس هست، Go live است یعنی می‌تونید همین الان در محیط کار ازش استفاده کنید. هر زمان که نگارش نهایی آن آمد من یک سری ارتقاء به MVC4 رو اضافه خواهم کرد.
مابقی مسایل هم بیشتر تکنیک است تا مباحث پایه. مثلا تکنیک‌های استفاده از jQuery UI در ASP.NET MVC یا استفاده از Kendo UI در ASP.NET MVC و موارد مشابه.
‫۱۲ سال و ۵ ماه قبل، شنبه ۹ اردیبهشت ۱۳۹۱، ساعت ۱۴:۰۵
فکر نمی‌کنم کسی این دور و اطراف بزرگتر از SharePoint پروژه‌ای داشته باشه. SharePoint هم به وفور از فایل‌های Resx استفاده می‌کنه. محل آن‌ها هم پوشه‌های زیر داخل خود پروژه است و یا در اسمبلی‌های جداگانه:
C:\inetpub\wwwroot\wss\VirtualDirectories\80\App_GlobalResources
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\Resources
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\CONFIG\Resources
‫۱۲ سال و ۵ ماه قبل، جمعه ۸ اردیبهشت ۱۳۹۱، ساعت ۱۷:۳۷
یک پروژه نمونه که مدل آن به اسمبلی دیگری منتقل شده. همچنین منابع آن هم در اسمبلی جداگانه‌ای قرار دارند و نهایتا از تمام این‌ها در پروژه اصلی استفاده شده و بدون مشکل کار می‌کند: (^)
حدس من این است که از نکته تغییر «Access modifier» که در متن اشاره کردم، استفاده نکردید و هنوز سطح دسترسی منابع شما internal است که باید public شود.
‫۱۲ سال و ۶ ماه قبل، جمعه ۸ اردیبهشت ۱۳۹۱، ساعت ۰۳:۲۹
- در حالت کلی خیر. فقط اگر فایل پایه xyz.resx باشه، فایل‌های بعدی باید xyz.lang.resx باشند.
ضمنا برای این مسایل پوشه‌ی مخصوصی به نام «App_GlobalResources» در ASP.NET وجود دارد، ولی در ASP.NET MVC توصیه نمی‌شود. چون حاصل این فایل‌ها در زمان اجرا توسط موتور ASP.NET کامپایل می‌شوند و یک dll جداگانه را درست می‌کنند که مناسب استفاده در شرایط Unit test نیست (مقادیر نال خواهند بود). بنابراین بهتر است فایل‌های منبع هر View، داخل همان پوشه مربوطه تعریف شود تا بتوان ارتباط منطقی ‌آن‌هارا پیدا کرد و همچنین در این حالت مشکلی با آزمون‌های واحد هم نخواهد بود.
- این روش هم خوبه. چون نهایتا میشه رشته رو توسط Razor خوند و در View یا master page درج کرد.
ضمن اینکه با استفاده از فایل منبع زبان فارسی (xyz.fa.resx)، این راست به چپ سازی حداقل به صفحات زرد خطای ASP.NET به صورت خودکار اعمال می‌شود. یکبار تست کنید، جالب است.
‫۱۲ سال و ۶ ماه قبل، پنجشنبه ۷ اردیبهشت ۱۳۹۱، ساعت ۰۳:۴۷
یک سری از مجوز‌های سورس باز به این شکل هستند. نمونه دیگر آن LGPL است. مثلا NHibernate مجوز LGPL دارد. به این معنا که مجاز هستید از آن به شکل بایناری (یعنی فایل‌های dll کامپایل شده آن) در هر نوع پروژه تجاری، غیرتجاری، باز، بسته ... بدون محدودیت استفاده کنید. اما اگر سورس آن‌ها را مستقیما به پروژه خود اضافه و کامپایل کنید، نیاز است تا سورس کارتان را هم ارائه دهید.
‫۱۲ سال و ۶ ماه قبل، پنجشنبه ۷ اردیبهشت ۱۳۹۱، ساعت ۰۲:۵۶
مجوز آن «Microsoft Public License» است. به این معنا که مجاز هستید از آن در شکل «بایناری» در هر نوع پروژه‌ای استفاده کنید.
‫۱۲ سال و ۶ ماه قبل، سه‌شنبه ۵ اردیبهشت ۱۳۹۱، ساعت ۲۱:۱۶
برای توضیحات بیشتر لطفا مراجعه کنید به قسمت اول این سری که در مورد «چرا ASP.NET MVC» بحث شد.
‫۱۲ سال و ۵ ماه قبل، سه‌شنبه ۱۲ اردیبهشت ۱۳۹۱، ساعت ۰۴:۰۶
در حالت تئوری، بله می‌شود. مثلا پارامتر duration که بر حسب ثانیه است را مقدار دهی کرد (یک تبدیل واحد ساده است). یا در حالت متد CacheInsert ذکر شده نیز به همین ترتیب. اما در عمل IIS پروسه اجرایی سایت رو بر اساس تنظیمات Application pool در مدت زمان‌های مشخصی اصطلاحا Recycle می‌کنه؛ یعنی برنامه ری استارت میشه و کش از دست خواهد رفت. البته این زمان در تنظیمات IIS قابل تغییر است: (^)