مطالب
خواندنی‌های 27 فروردین

  • اولین محصول نگارش 2010 مایکروسافت برای دریافت، exchange server 2010 beta (میل سرور)
مطابق سایت رسمی فوق اینطور به نظر میرسه که مایکروسافت قصد جدا سازی برنامه‌ها و مفهوم Office Web applications را از SharePoint دارد (هر چند مانند سابق توانایی یکپارچگی بی‌نظیری بین آفیس و شپرپوینت وجود خواهد داشت)
سایر اولین سری محصولات 2010 ، شامل Microsoft Office 2010 ، Microsoft Visio 2010 و Microsoft Project 2010 خواهند بود.
  • لیستی از 70+145 برگه مرجعه (+ و +)
  • مجموعه انتشارات مایکروسافت 25 امین سالگرد تاسیس خود را جشن می‌گیرد. به همین منظور دو کتاب زیر را به رایگان برای دریافت قرار داده‌اند:

عنوانی رو که براش انتخاب کردن جالب است "the world's most advanced open source database"
نظرات مطالب
نحوه اجباری کردن استفاده از WWW در ASP.NET MVC
یک نکته‌ی تکمیلی
اگر از IISهای جدید استفاده می‌کنید، می‌توان فیلتر عنوان شده‌ی در این بحث را حذف و از ماژول Url Rewrite خود IIS استفاده کرد.
الگویی که در بسیاری از سایت‌ها در مورد آن بحث شده‌است به صورت زیر است:
<system.webServer>
  <rewrite>
    <rules>
      <rule name="Enforce WWW" patternSyntax="ECMAScript" stopProcessing="true">
           <match url=".*" />
           <conditions>
                  <add input="{CACHE_URL}" pattern="^(.+):\/\/(?!www\.)(.*)" />
          </conditions>
          <action type="Redirect" url="{C:1}://www.{C:2}" redirectType="Permanent" />
       </rule>      
    </rules>
  </rewrite>
</system.webServer>
این الگو با IIS 7.5 کار نمی‌کند و خطای زیر را می‌دهد:
HTTP Error 500.50 - URL Rewrite Module Error.
The expression "{C:1}://www.{C:2}" cannot be expanded.
برای رفع آن باید از الگوی زیر استفاده کرد:
        <rule name="Enforce WWW" patternSyntax="ECMAScript" stopProcessing="true">
          <match url=".*" />
          <conditions>
            <add input="{CACHE_URL}" pattern="^(.+):\/\/(?!www\.)(.*)" />
            <add input="{HTTP_HOST}" pattern="localhost" negate="true" />
          </conditions>
          <action type="Redirect" url="https://www.dntips.ir/{R:0}" redirectType="Permanent" />
        </rule>
همچنین در این الگو با توجه به تعریف منفی localhost، برای آزمایش لوکال برنامه، مشکلی نخواهید داشت.
به علاوه باید دقت داشت که ماژول Url rewrite به صورت پیش فرض نصب نیست و باید از طریق web platform installer نصب شود.
HTTP Error 500.19 - Internal Server Error
Error Code 0x8007000d
اگر خطای فوق را مشاهده کردید به معنای عدم نصب ماژول Url rewrite بر روی سرور است.
مطالب
رفع مشکل تبدیلات UTC با تغییر اطلاعات TimeZone ایران در ویندوز
در سال جدید، حتی اگر گزینه‌ی daylight saving time را در تنظیمات ویندوز غیرفعال کنید:


با اجرای قطعه کد زیر که سعی می‌کند DateTimeOffset.UtcNow را بر اساس اطلاعات منطقه‌ی زمانی ایران، به زمان محلی تبدیل کند:
var iranStandardTime = TimeZoneInfo.GetSystemTimeZones()
                                       .FirstOrDefault(timeZoneInfo =>
                                                           timeZoneInfo.StandardName.Contains("Iran",
                                                            StringComparison.OrdinalIgnoreCase));
Console.WriteLine(iranStandardTime.BaseUtcOffset); // 03:30:00

var dateTime = DateTimeOffset.UtcNow;
var iranTime = TimeZoneInfo.ConvertTime(dateTime, iranStandardTime);
Console.WriteLine(iranTime); // 06/02/1402 12:34:23 ?.? +04:30 --> this is coming from the `adjustment rules`
باز هم در خروجی، درنظر گرفته شدن 4:30+ مشخص است و به همین جهت در تبدیل صورت گرفته، ساعت نهایی، یک ساعت جلوتر از ساعت واقعی خواهد بود. علت آن هم به مفهوم dynamic daylight saving time برمی‌گردد که اطلاعات بیشتر آن‌را در این مطلب می‌توانید مطالعه کنید.

دات نت نیز در پشت صحنه، همین اطلاعات را دریافت و تحت عنوان Adjustment rules، مورد استفاده قرار می‌دهد:


همانطور که مشاهده می‌کنید، آخرین گزینه‌ی پویای آن به بازه‌ی زمانی 1402 تا سال 9378 تنظیم شده‌است و در طی این بازه، دات نت هنوز همان 4:30+ را جهت تبدیلات منطقه‌ی زمانی ایران به رسمیت می‌شناسد؛ مگر اینکه در به‌روز رسانی‌های بعدی ویندوز، این مشکل برطرف شود و یا ... می‌توانید از این وصله، جهت رفع این مشکل استفاده کنید:


پس از افزودن اطلاعات این فایل رجیستری به ویندوز، نه فقط daylight saving time غیرفعال می‌شود، بلکه اجزای dynamic daylight saving time نیز از سال 2023 به بعد، غیرفعال خواهند شد و اینبار دات نت، سال 1401 را سال آخر تنظیمات ساعت تابستانی درنظر می‌گیرد:


مابقی موارد در اینجا ذکر نشده‌اند، چون به عنوان ورودی دارای daylight saving time غیرفعال تشخیص داده می‌شوند.

اکنون اگر مجددا همان مثال ابتدای بحث را اجرا کنیم، بجای 4:30، عدد 3:30 قابل مشاهده است.
 

اشتراک‌ها
15 نکته برای بالا بردن سرعت برنامه‌های ASP.NET

Performance of your ASP.NET web application is important. There is a lot of evidence to suggest that slow loading times and clunky interaction, will drive customers elsewhere. Even in the case of internal applications where the users have no option but to use the application, their satisfaction is tightly coupled to speed.

There are a ton of ways to improve the performance of a website, let's look at fifteen of them. 

15 نکته برای بالا بردن سرعت برنامه‌های ASP.NET
اشتراک‌ها
نگاهی به تاریخچه‌ی ASP.NET - قسمت اول

The first version of ASP.NET was released 17 years ago and during these years, it is fascinating to see how the ASP.NET team constructively reacted through these years to the major shifts happening on the web. Initially a platform that was closed and tried to hide and abstract the web; ASP.NET has metamorphized into an open source and cross platform - one that fully embraces the nature of the web. This is the first part of a series of 3 articles that will cover the history of ASP.NET from its launch to the latest ASP.NET Core releases.  

نگاهی به تاریخچه‌ی ASP.NET - قسمت اول
اشتراک‌ها
OpenSilver 1.0 منتشر شد

Today we are thrilled to announce the release of OpenSilver 1.0
As Silverlight is reaching end of support, OpenSilver is now powerful enough to run complex line-of-business applications of all sizes. 

OpenSilver 1.0 منتشر شد
اشتراک‌ها
مدیریت خطا در ASP.NET Core

This is the eighth of a series of posts on ASP .NET Core in 2019. In this series, we’ll cover 26 topics over a span of 26 weeks from January through June 2019, titled A-Z of ASP .NET Core! 

مدیریت خطا در ASP.NET Core
اشتراک‌ها
NET Core 3.0. و تولید برنامه‌های دسکتاپ

At Build 2019, Microsoft announced the release date for .NET Core 3.0 to be this coming September. This release includes the highly touted support for desktop platforms like WinForms and WPF. Today, there’s still a large developer base that’s building desktop applications using these .NET Windows desktop frameworks and by using .NET Core 3.0, you can now build desktop applications on the .NET Core platform. 

NET Core 3.0. و تولید برنامه‌های دسکتاپ
اشتراک‌ها
آپدیت مایکروسافت برای ویندوز ۱۰ ورژن 22H2 برای حل مشکل daylight در ایران
This update affects the Islamic Republic of Iran. The update supports the government’s daylight saving time change order from 2022. 
این به‌روزرسانی از دستور تغییر ساعت تابستانی دولت ایران در سال جدید پشتیبانی می‌کند. 
آپدیت مایکروسافت برای ویندوز ۱۰ ورژن 22H2 برای حل مشکل daylight در ایران