در صورتی که امروز اقدام به گرفتن ویژوال استدیو کنید، به جای 15.8 شما 15.9 را خواهید گرفت که خیلی هم خوب است. فقط بهتر است به جای این که از ویندوز 10 ورژن 17134 استفاده کنید، از 17763 استفاده کنید که به روزتر است و SDK آن به صورت پیش فرض توسط Visual Studio 15.9 نصب میشود. در صورتی که بخواهید در ویندوز 10 نگارش 17134 یا 16299 کد بزنید، در موقع نصب Visual Studio 15.9 درخواست نصب SDKهای آن را هم بدهید. همان طور که گفتیم، نباید کمتر از 16299 هم باشید. اساسا همان 16299 نیز دارای دردسر و باگ زیادی است، بهتر است 17134 یا 17763 باشید.
در مورد افزونه YSlow افزونه Firebug فایرفاکس پیشتر صحبت شد. این افزونه پس از آنالیز یک سایت، پیشنهاداتی را نیز جهت بهبود سرعت، ارائه میدهد.
همانطور که در شکل بالا مشخص است، عناصری مانند css و js ، قسمت expires اشان (تاریخ منقضی شدن کش آنها در سمت کلاینت) خالی است و پیشنهاد داده که به هر کدام از این عناصر، هدر مخصوص مشخص سازی مدت زمان کش شدن در سمت کلاینت اضافه شود.
ASP.Net در مورد کش کردن اطلاعات صفحات پویا به اندازهی کافی امکانات در اختیار برنامه نویس قرار میدهد اما در مورد اضافه کردن این هدر جهت یک فایل css غیر پویا شاید نتوان مطلب خاصی را یافت.
در IIS7 امکانات ویژهای برای این منظور در نظر گرفته شده که نحوه استفاده از آن در ASP.Net به صورت زیر است:
فایل وب کانفیگ سایت را باز کرده و به قسمت system.webServer چند سطر زیر را اضافه کنید:
<staticContent>
<clientCache httpExpires="Sun, 29 Mar 2020 00:00:00 GMT" cacheControlMode="UseExpires" />
</staticContent>
این مورد فقط مختص به IIS7 است و بر روی نگارشهای پایینتر کار نمیکند.
با این کار، تاریخ منقضی شدن هر آنچه که توسط موتور ASP.net سرو نمیشود به سال 2020 تنظیم خواهد شد. (کلیه محتوای غیرپویای سایت، اعم از تصاویر، فایلهای css ، js و غیره)
پس از این تنظیم مجددا YSlow را اجرا کرده و Performance Grade ایی را که نمایش میدهد بررسی نمائید.
بدیهی است اگر یکی از فایلهای css یا js شما تغییر کند، کلاینت، اطلاعات جدیدی را تا سال 2020 دریافت نمیکند. برای حل این مشکل یک کوئری استرینگ ساده به انتهای لینک مربوط به css یا js خود اضافه کنید تا URL جدید با URL قبلی آن یکسان نباشد (این کوئری استرینگ تاثیری روی محتوای ایستای ما ندارد). به این صورت این آدرس جدید، مجددا دریافت شده و تا سال 2020 کش خواهد شد.
نکته:
اعمال تنظیم فوق، در IIS7 ویندوز سرور 2008 مجاز است؛ اما در IIS7 ویندوز ویستا قفل شده است و قابل override نیست. برای تغییر آن، فایل زیر را پیدا کنید:
open %systemroot%\System32\inetsrv\config\applicationHost.config
<section name="staticContent" overrideModeDefault="Deny" />
<section name="staticContent" overrideModeDefault="Allow" />
مآخذ:
YSlow: Add expires header to images in IIS 7
IIS7: How to set cache control for static content?
نظرات مطالب
مروری بر قابلیت جدید ASP.NET FriendlyUrls
سلام؛ من کتابخانه رو به پروژه اضافه کردم. اما برای فعال سازیش به مشکل برخوردم. EnableFriendlyUrls رو نمیشناسه و خطا میده
System.Web.Routing.RouteCollection' does not contain a definition for 'EnableFriendlyUrls' and no extension method 'EnableFriendlyUrls' accepting a first argument of type 'System.Web.Routing.RouteCollection' could be found (are you missing a using directive or an assembly reference?)
استفاده هم زمان این روش با url routing که مشکلی به وجود نمیاره؟
اشتراکها
کتاب معرفی Microsoft Power BI
The Project File Tools Visual Studio extension provides package name and version IntelliSense, tooltips for packages, and more, when editing a .csproj
file in Visual Studio
بازخوردهای پروژهها
کوئری نویسی در Entity Framework
از آنجایی که استفاده از ORMها در پروژهها مرسوم شده و Entity Framework نیز به عنوان یک ORM برتر در حوزه .Net پیشرفت قابل ملاحظه ای داشته ؛ بسیاری از برنامه نویسان به استفاده از آن ترغیب شده اند و از آن در پروژههای خود استفاده میکنند.
یکی از مشکلاتی که میتواند گریبان گیر برنامه نویسان شود ، عدم آشنایی کافی با نحوه کوئری نویسی صحیح برای Entity Framework است (یا همان Linq To Entities).
تا به حال مطالب بسیار خوب و کاربردی در این زمینه در سایت منتشر شده است.امیدوارم که این روند با همکاری شما و همه دوستان برنامه نویس ادامه داشته باشد.
با تشکر
حسین مرادی نیا
نظرات اشتراکها
ایجاد ایندکس توسط ویژگیها در EF 6.1
بالاخره Entity Framework تونست Index Key رو بدون نیاز به Migration پشتیبانی کنه.
اشتراکها