افزایش سرعت تولید نرم افزارهای تحت وب ASP.NET

22 بهمن

بسیاری از اوقات نرم افزارهای تحت وب asp.net مجموعه ای از پروژه های web application هستند که تنها یکی از آنها web application نهایی است که همه ی کدهای نهایی پروژه ها را در خود دارد. گاهی تغییرات کوچکی در کد باعث ریست کل application و کامپایل مجدد کد و در نتیجه مدت زمان بسیار طولانی انتظار برای تغییرات کوچک اعمال شده می شود.

اما با تنظیمات بسیار ساده نرم افزاری می توان سرعت تولید نرم افزار را افزایش داد و زمان انتظار را بسیار کم کرد.

در کل در سه زمینه امکان بهبود سرعت را داریم:

  1. زمان کامپایل
  2. اولین زمان اجرای نرم افزار تحت وب
  3. کارایی نرم افزار / سرعت دسترسی به پایگاه داده

چیزی که در این مقاله برای ما اهمیت دارد موارد 1 و 2 هستند تا بتوانیم سرعت تولید نرم افزار را بالا ببریم.

برای مورد سوم می توانیم از نرم افزارهای پر قدرتی نظیر dotTrace استفاده کنیم که به خوبی ما را در پیدا کردن گلوگاه های نرم افزار و رفع آنها کمک می کنند.

قرار دادن فایل های موقت IIS در یک Ramdisk

بسته به حجم نرم افزار تحت وب و نیز میزان حجم Ramای که دستگاه شما دارد، ممکن است استفاده از RAM disk برای نگهداری فایل های موقت IIS باعث افزایش باور نکردنی سرعت اجرای نرم افزار تحت وب گردد.

همانطور که از نام Ramdisk نیز مشخص است این نرم افزارها بخشی از حافظه Ram را در اختیار می گیرند و با آن مانند یک disk معمولی رفتار می کنند و بدین ترتیب با معرفی آدرس یک ramdisk به IIS برای نگهداری داده های موقت، تمامی این داده ها در RAM نگهداری خواهند شد و سرعت نوشتن و خواندن آنها به خوبی بهبود پیدا خواهد کرد.

با تغییر تنظیمات زیر در فایل web.config می توانیم آدرسی که می خواهیم فایل های موقت در آن قرار گیرند را مشخص کنیم. به فرض q: آدرس Ramdisk ما است.

<compilation ... tempDirectory="q:\temp\iistemp\"> ... </compilation>

بیشتر...

واژه ها:

.Net | ASP.NET | C#

مزایا و معایب ASP.NET MVC

27 فروردین

با وجود اینکه مدت زمان زیادی از پیاده سازی های MVC Design Pattern برای Web در زبان های مختلف نظیر جاوا می گذرد، اما مدت زمان چندانی نیست که Microsoft پیاده سازی خود را تحت نام ASP.NET MVC عرضه کرده است.

بد نیست در مورد مزایا و معایب MVC بیشتر بدانیم.

ASP.NET Web Forms چیست؟

ASP.NET Web Forms در تلاش برای فراهم کردن بستری مشابه برنامه نویسی ویندوز (و البته راحتی به برنامه نویسی در VB) ایجاد شد که در آن برنامه نویس نیازی نیست تا خود را درگیر جزئیات وب نماید. در ASP.NET Web Forms برنامه نویس از eventها استفاده می کند، بدون اینکه در وب event ای وجود داشته باشد. در برنامه نویسی برای ASP.NET Web Forms برنامه نویس به session و viewstate دسترسی دارد، با وجودی که web در طبیعت خود session-state ندارد.
کار کردن با ASP.NET Web Forms فوق العاده است. اما مشکلاتی نیز دارد که برای رفع بعضی از آنها می توان از مدل های دیگر برنامه نویسی نظیر MVC for Web استفاده کرد.

MVC چیست؟

MVC

بیشتر...

تعیین تصویر دلخواه برای وضعیت یاهو در ASP.NET

23 اسفند

SepidYahooStatus.dll
یکی از امکاناتی که یاهو در اختیار کاربران خود قرار داده است، امکان تعیین وضعیت یک کاربر است که با قرار دادن کد مربوط به آن و تعیین شناسه مورد نظر، وضعیت فرد با تصاویر خاص به صورت آنلاین یا آفلاین نشان داده می شود.
مثلا کد زیر وضعیت کاربر sepidweb را در یک صفحه وب نشان می دهد و کاربر با کلیک بر روی تصویر نشان داده شده می تواند از طریق یاهو مسنجر با آن کاربر ارتباط برقرار کند


<a href = 'ymsgr:sendim?sepidweb'>
<img src="http://opi.yahoo.com/online?u=sepidweb&m=g&t=14" border=0>
</a>

به طور پیش فرض یاهو 24 تصویر دارد که با تعیین پارامتر t در انتهای کد می توانیم معین کنیم کدام تصویر برای تعیین وضعیت نمایش داده شود. البته امکان دارد تعداد این تصاویر در آینده افزایش یابد.
برای دیدن این تصاویر می توان آدرس
http://opi.yahoo.com/online?u=sepidweb&m=g&t=1

را در مرورگر وارد کرد و با تغییر عدد انتهای آدرس که در آدرس بالا 1 است، باقی 23 تصویر ممکن را نیز دید.
بیشتر...

واژه ها:

.Net | ASP.NET | C#

برترین سیستم های متن باز برای دات نت

07 اسفند

معمولا وقتی از من در مورد انتخاب بین asp.net و php می پرسند، برجسته ترین ویژگی هایی که برای انتخاب یکی از این دو ذکر می کنم این است که اگرچه ممکن است #C یا VB بهترین زبان برای کد زدن نباشند، ولی در مقابل visual studio اگر بهترین IDE  نباشد، حداقل یکی از بهترین هاست. به شخصه با IDE های مختلفی مخصوصا با IDEهای جاوا (که معمولا برای php نیز به کار می روند) کار کرده ام. شاید از نظر امکانات از Visual Studio کم نداشته اند، چه بسا امکانات بیشتری هم داشتند. اما هیچ وقت با آنها به اندازه Visual Studio راحت نبوده ام. به نظر تنها IDE جامعی است که تقریبا همه ی امکانات مورد نیاز را در دسترس برنامه نویس قرار می دهد. از این نظر asp.net بهترین است. اما مهمترین نقطه ضعف آن نبود سیستم های کد باز یا متن باز است. نبود سیستم هایی برای دات نت که طراحان و توسعه دهندگان وب بتوانند برای پروژه های خود از آنها استفاده کنند گاهی در مقابل سیستم های آماده php واقعا باعث حسرت می شد.

از آن طرف همیشه بزرگترین نقطه قوت php وجود انواع و اقسام سیستم های متن باز است که همچنان بر تعداد و کیفیت آنها افزوده می شود. برخلاف مورد قبلی، هیچ وقت با سیستم های open source در net. احساس راحتی نمی کردم. راحتی نصب و کار کردن با wordpress با پیچیدگی، زشتی و مشکلات متعدد DotNetNuke قابل مقایسه نیست. DotNetNuke برخلاف wordpress به طور پیش فرض زشت است. معمولا تغییرات کوچک در DotNetNuke آن را بهتر و یا تغییر در ظاهر، آن را زیباتر می کند، اما در wordpress، عکس این موضوع صادق است.

اما خوشبختانه سیستم های متن باز بسیار مناسبی برای .net نیز وجود دارند که به نظر می رسد تا مدتی دیگر دست کمی از رقبای php خود نداشته باشند. براساس تجربیاتی که با نرم افزارهای مختلف دات نت داشته ام سیستم های زیر به خوبی جوابگوی تولید کنندگان نرم افزار و نیز کاربران دات نت هستند.

وبلاگ

BlogEngine.net

فروشگاه

nopCommerce

مدیریت محتوا و پورتال

mojoPortal

تالار گفتگو (Forum)

YAF

ویکی

ScrewTurn