Skip to main content
title

کد نویسی برنامه نویسی asp.net


توزیع ترافیک در پروژه های ASP.NET Core

تصور کنید یک صبح کاری شلوغ است. کاربران از تهران تبریز مشهد و اصفهان همزمان وارد سایت شما می شوند. همه چیز عالی پیش می رود تا این که ناگهان سایت کند می شود. بعضی درخواست ها timeout می شوند و تیم پشتیبانی شروع به دریافت تماس های نگران کننده می کند. اینجاست که سوال اصلی مطرح می شود آیا زیرساخت شما برای این حجم ترافیک آماده بوده است یا نه

من در این مقاله دقیقاً مثل یک مشاور فنی کنار شما می نشینم و تجربه بیش از دو دهه کار عملی در شرکت برنامه نویسان دانش برتر سهند را با شما به اشتراک می گذارم. هدف فقط توضیح تئوری نیست. می خواهیم بفهمیم مشکل کجاست چرا رخ می دهد و چطور با استفاده از asp.net core آن را به شکلی اصولی حل کنیم.

توزیع ترافیک چیست و چرا اهمیت دارد

توزیع ترافیک یعنی مدیریت هوشمند درخواست های کاربران بین چند سرور یا چند نمونه از یک برنامه. به جای این که همه کاربران به یک سرور واحد متصل شوند بار کاری بین چند منبع تقسیم می شود.

در پروژه های asp.net core این موضوع اهمیت دوچندان دارد چون این فریم ورک اغلب برای سیستم های سازمانی فروشگاه های بزرگ و سامانه های پرترافیک استفاده می شود.

  • افزایش سرعت پاسخ دهی به کاربران
  • کاهش احتمال down شدن کل سیستم
  • امکان رشد تدریجی بدون بازنویسی کل پروژه
  • تجربه کاربری بهتر برای مخاطبان در شهرهای مختلف ایران

مشکل واقعی کسب و کارها در ایران

بسیاری از کسب و کارهای ایرانی مخصوصا در تهران و تبریز پروژه asp.net core خود را به صورت تک سروره راه اندازی می کنند. در ابتدا همه چیز خوب است اما با رشد ترافیک مشکلات زیر ظاهر می شود

  1. کندی شدید در ساعات اوج مصرف
  2. قطعی کامل سایت هنگام بروزرسانی یا ریست سرور
  3. ناتوانی در پاسخگویی همزمان به درخواست های زیاد
  4. افزایش نارضایتی کاربران و افت فروش

اینجا دقیقا جایی است که توزیع ترافیک از یک گزینه لوکس به یک ضرورت حیاتی تبدیل می شود.

معماری پایه توزیع ترافیک در ASP.NET Core

اجازه دهید خیلی ساده معماری پایه را توضیح بدهم. شما چند نمونه از برنامه asp.net core خود را اجرا می کنید. جلوی آن ها یک لایه قرار می گیرد که به آن load balancer می گویند. این لایه درخواست کاربران را دریافت کرده و بین سرورها پخش می کند.

اجزای اصلی این معماری

  • Client یا همان مرورگر کاربر
  • Load Balancer نرم افزاری یا سخت افزاری
  • چند Instance از برنامه asp.net core
  • دیتابیس مرکزی یا توزیع شده

نکته مهم این است که asp.net core ذاتا برای چنین معماری هایی طراحی شده و کاملا با آن سازگار است.

روش های توزیع ترافیک در پروژه های ASP.NET Core

استفاده از Load Balancer نرم افزاری

رایج ترین و مقرون به صرفه ترین روش برای شروع استفاده از load balancer نرم افزاری است. در ایران معمولا از nginx یا haproxy استفاده می شود.

این روش برای بسیاری از پروژه های شرکتی که توسط شرکت برنامه نویسان دانش برتر سهند پیاده سازی شده کاملا جواب داده و هزینه ها را کنترل کرده است.

استفاده از Reverse Proxy

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

مقیاس پذیری افقی در asp.net core

مقیاس پذیری افقی یعنی اضافه کردن سرورهای جدید به جای قوی تر کردن یک سرور. asp.net core به شکل پیش فرض برای این نوع مقیاس پذیری بسیار مناسب است.

Session و State در محیط توزیع شده

یکی از چالش های مهم در توزیع ترافیک مدیریت session کاربران است. اگر کاربر در یک درخواست به سرور اول و در درخواست بعدی به سرور دوم هدایت شود چه اتفاقی می افتد

راهکارهای عملی شامل موارد زیر است

  • استفاده از distributed cache مثل Redis
  • استفاده از دیتابیس برای نگهداری session
  • stateless کردن تا حد ممکن

در پروژه های سازمانی ویژه کسب و کارهای تبریز ما معمولا ترکیب redis و طراحی stateless را پیشنهاد می دهیم.

تاثیر توزیع ترافیک بر performance و SEO

سرعت سایت یکی از فاکتورهای مهم تجربه کاربری و سئو است. وقتی توزیع ترافیک درست انجام شود زمان پاسخ کاهش پیدا می کند و این یعنی امتیاز بهتر نزد موتورهای جستجو.

اگر به مباحث سئو فنی علاقه دارید پیشنهاد می کنم مقاله زیر را هم ببینید

[suggest-article keyword="سئو فنی"]

اشتباهات رایج در پیاده سازی توزیع ترافیک

  • نادیده گرفتن session و state
  • وابستگی مستقیم سرورها به فایل سیستم محلی
  • عدم مانیتورینگ و لاگ مناسب
  • پیچیده کردن بیش از حد معماری در پروژه های کوچک

تجربه ما نشان داده که ساده شروع کردن و اصولی رشد دادن بهترین استراتژی است.

اگر مطمئن نیستید پروژه شما به توزیع ترافیک نیاز دارد یا نه

[call-action type="ticket"]

نقش شرکت برنامه نویسان دانش برتر سهند

ما با بیش از ۲۰ سال سابقه در طراحی و توسعه وب سایت های شرکتی سازمانی و ارگانی پروژه های asp.net core را کاملا اختصاصی و بدون استفاده از cms پیاده سازی می کنیم.

تکنولوژی هایی که استفاده می کنیم شامل asp.net core vue.js mssql و node.js است و تمرکز اصلی ما روی امنیت سرعت و مقیاس پذیری است.

زمان طراحی پروژه ها از یک ماه شروع می شود و هزینه ها از ۳۰ میلیون تومان بسته به پیچیدگی متغیر است.

نمونه سناریوی واقعی از یک پروژه پرترافیک

یکی از پروژه های ما برای یک شرکت بزرگ در تهران روزانه ده ها هزار درخواست همزمان داشت. با پیاده سازی توزیع ترافیک و بهینه سازی معماری توانستیم زمان پاسخ را بیش از ۴۰ درصد کاهش دهیم.

این تغییر مستقیما باعث افزایش رضایت کاربران و رشد فروش آنلاین شد.

ارتباط توزیع ترافیک با طراحی UI و UX

شاید در نگاه اول ارتباطی دیده نشود اما وقتی backend سریع و پایدار باشد طراح ui و ux می تواند تجربه روان تری برای کاربر بسازد.

ما در پروژه های خود با استفاده از bootstrap 5 رابط هایی طراحی می کنیم که حتی در شرایط ترافیک بالا هم حس سرعت و اعتماد را منتقل کند.

اگر قصد دارید زیرساخت سایت خود را برای رشد واقعی آماده کنید

[call-action type="ticket"]

پیشنهاد مطالعه بیشتر

[suggest-article keyword="طراحی سایت اختصاصی"]

پرسش های متداول

خیر حتی سایت های متوسط هم با رشد تدریجی به این نیاز می رسند

بله این فریم ورک ذاتا برای معماری های توزیع شده طراحی شده است

کانفیگ و راه اندازی سایت asp.net از صفر تا سطح سازمانی

تجربه ای واقعی از مسیر راه اندازی یک وب سایت پایدار امن و سریع با asp.net

تصور کن صاحب یک کسب و کار هستی یا مدیر یک سازمان که بعد از ماه ها برنامه ریزی بالاخره تصمیم گرفته ای وب سایت اختصاصی خودت را راه اندازی کنی. طراحی انجام شده کدها آماده هستند اما درست در همین نقطه اغلب افراد دچار سردرگمی می شوند. سوال هایی مثل سرور را چطور انتخاب کنم IIS را چگونه تنظیم کنم امنیت سایت چه می شود و چرا سایت من روی سرور بالا نمی آید این مقاله دقیقا برای همین نقطه نوشته شده است جایی که تجربه یک مشاور فنی می تواند مسیر تو را چند ماه جلو بیندازد

[call-action type="ticket"]

asp.net چیست و چرا هنوز انتخاب اول پروژه های جدی است

asp.net یک فریم ورک قدرتمند از مایکروسافت است که برای ساخت وب سایت ها و وب اپلیکیشن های مقیاس پذیر امن و سریع استفاده می شود. نسخه جدید یعنی asp.net core به شکل چشمگیری سبک تر سریع تر و انعطاف پذیرتر شده و امکان اجرا روی ویندوز لینوکس و حتی داکر را فراهم کرده است

مزایای کلیدی asp.net برای کسب و کارها

  • امنیت بالا در سطح سازمانی
  • سرعت پردازش و پاسخ دهی عالی
  • مناسب برای پروژه های بزرگ و سفارشی
  • قابلیت اتصال قوی به دیتابیس MSSQL
  • پشتیبانی رسمی و طولانی مدت مایکروسافت

در شرکت برنامه نویسان دانش برتر سهند با بیش از بیست سال سابقه تمامی پروژه ها به صورت کاملا اختصاصی و بدون استفاده از CMS پیاده سازی می شوند همین موضوع باعث می شود کانفیگ و راه اندازی صحیح سایت asp.net اهمیت دوچندان پیدا کند

[suggest-article keyword="طراحی سایت اختصاصی"]

پیش نیازهای فنی قبل از راه اندازی سایت asp.net

قبل از اینکه حتی یک فایل روی سرور آپلود شود باید چند تصمیم مهم گرفته شود تصمیم هایی که مستقیما روی امنیت سرعت و هزینه نهایی تاثیر دارند

انتخاب سرور مناسب

انتخاب سرور اولین و مهم ترین قدم است. برای سایت های asp.net معمولا دو گزینه وجود دارد سرور ویندوز و سرور لینوکس

نوع سرورمزایامناسب برای
ویندوزسازگاری کامل با IIS و MSSQLسایت های سازمانی و دولتی
لینوکسهزینه کمتر و عملکرد مناسبپروژه های مدرن asp.net core

برای کسب و کارهای مستقر در تهران تبریز مشهد و اصفهان معمولا پیشنهاد ما استفاده از سرور مجازی با منابع اختصاصی است این انتخاب تعادل خوبی بین هزینه و کیفیت ایجاد می کند

نصب نرم افزارهای مورد نیاز روی سرور

  • نصب .NET Runtime متناسب با نسخه پروژه
  • فعال سازی IIS و ماژول های مرتبط
  • نصب SQL Server در صورت نیاز
  • تنظیم دسترسی پوشه ها

کانفیگ IIS برای اجرای صحیح سایت asp.net

IIS قلب تپنده اجرای سایت asp.net روی سرور ویندوز است کوچک ترین تنظیم اشتباه می تواند باعث خطای 500 یا عدم اجرای سایت شود

ساخت Application Pool استاندارد

برای هر سایت بهتر است یک Application Pool جداگانه ساخته شود این کار باعث افزایش امنیت و پایداری می شود

  • انتخاب No Managed Code برای asp.net core
  • تنظیم Identity روی ApplicationPoolIdentity
  • غیرفعال کردن 32 Bit در صورت عدم نیاز

اتصال سایت به Application Pool

بعد از ساخت سایت در IIS باید آن را به App Pool مربوطه متصل کنید همچنین مسیر فیزیکی پروژه باید به درستی تنظیم شده باشد

تنظیمات امنیتی حیاتی در سایت asp.net

امنیت موضوعی نیست که بعدا به آن فکر کنیم در پروژه های حرفه ای امنیت از لحظه راه اندازی باید لحاظ شود

فعال سازی HTTPS

استفاده از SSL نه تنها امنیت را افزایش می دهد بلکه یکی از فاکتورهای مهم سئو نیز محسوب می شود

تنظیم web.config یا appsettings

  • غیرفعال کردن نمایش خطا در محیط Production
  • مدیریت Connection String به صورت امن
  • محدود کردن دسترسی به فایل های حساس
[suggest-article keyword="امنیت سایت"]

بهینه سازی سرعت و عملکرد سایت asp.net

سرعت سایت تاثیر مستقیم روی تجربه کاربر و نرخ تبدیل دارد طبق آمار تاخیر بیش از سه ثانیه می تواند بیش از پنجاه درصد کاربران را از سایت خارج کند

فعال سازی Cache و Compression

  • استفاده از Response Caching
  • فعال سازی Gzip یا Brotli
  • بهینه سازی Query های دیتابیس

سئو تکنیکال در زمان راه اندازی asp.net

بسیاری از مشکلات سئو دقیقا از مرحله راه اندازی سایت شروع می شوند اگر ساختار URL و ریدایرکت ها درست نباشد بعدا هزینه زیادی برای اصلاح پرداخت خواهید کرد

نکات مهم سئو فنی

  • ساخت URL های تمیز و خوانا
  • مدیریت ریدایرکت ها
  • ایجاد Sitemap و Robots
  • استفاده صحیح از Status Code ها
[call-action type="ticket"]

هزینه و زمان راه اندازی سایت asp.net

در شرکت برنامه نویسان دانش برتر سهند زمان طراحی و راه اندازی سایت از یک ماه شروع می شود هزینه پروژه ها نیز از سی میلیون تومان آغاز می گردد این هزینه شامل طراحی اختصاصی امنیت بالا و پنل کاربری حرفه ای است

سوالات متداول کاربران

بله اگر ساختار پروژه درست طراحی شود asp.net می تواند برای سایت های کوچک نیز بسیار پایدار و سریع باشد

طراحی سایت با Asp.net


Asp.net یک زبان یا بهتر بگوییم یک تکنولوژی برای طراحی سایت داینامیک میباشد که توسط شرکت بزرگ و قدرتمند مایکروسافت طراحی و ساخته شده است چنانچه مایل به آموختن زبان asp.net می باشید باید از قبل با زبانهای vb و c# نیز آشنایی داشته باشید.

با توجه به اینکه زبان های قدیمی کامپیوتری از امکانات کمی برخوردار هستند شاهد این هستیم که روز به روز بر تعداد زبان های برنامه نویسی اضافه میشود.  asp.net را میتوان نسل پیشرفته ای از asp دانست که مایکروسافت به خوبی آنرا برای برنامه نویسان آماده و مهیا کرده است.   asp.net را میتوان کامل ترین زبان برنامه نویسی دانست که به وسیله آن میتوان از یک زبان ماشین تا بالاترین سطح برنامه نویسی که همان ویژوال است برای طراحی سایت استفاده نمود، به طبع استفاده از این زبان برنامه نویسی در برابر سایر زبان های برنامه نویسی مزایای ویژه ای دارد.
برتری زبان برنامه نویسی asp.net نسبت به سایر زبان های برنامه نویسی

 یکی از بزرگترین برتری های آن امکانات اینترنت آن است.

یکی دیگر از مزایای مهم استفاده از asp.net میتوان به استفاده از آن برای طراحی سایت شرکتی از کوچک تا سایت های تجاری بزرگ اشاره کرد.

Asp.net به عنوان یک زبان برنامه نویسی runtime شناخته میشود و ساختار آن نیز بر اساس framework می باشد که میتواند تمام لایه های برنامه نویسی را در بالای سیستم عامل در برگیرد در این زبان برنامه نویسی تمامی تکنولوژی های موجود در مایکروسافت و سایر شرکتها قرار داده شده است.

در .net تمامی اعمال به کارگرفتن حافظه و طبقه بندی فایل ها بر عهده ی  framework.net نهاده شده است تا بتوان برنامه ای نوشت که برای اجرا به سیستم عامل متکی نباشد و به صورت مستقل بتواند به فعالیت خود ادامه دهد.

 قلب  framework، clr می باشد که مسئول اجرای فایل ها ، فراخوانی داده ها  به حافظه و کمپایل کردن آنها به زبان msil  می باشد. پس از آن کد های IL به هنگام اجرا شدن توسط برنامه ی کمپایلر just in time به زبان ماشین تغییر پیدا میکنند. تمامی اینها برای این است که به شما بگوییم .net در دو مرحله کامپایل را انجام میدهد. اولین مرحله زمانی اتفاق می افتد که برنامه به Il  کمپایل شود که این کد وابستگی به سیستم عامل ندارد و مرحله ی بعد از آن زمانی اجرا می باشد که کمپایلر just in time کد IL  را برای اجرا به زبان ماشین ترجمه میکند.

طراحی سایت با دات نت
Asp.net توسعه یافته دارای ویژگی های مهمی است:
بهبود عملکرد

Asp.net یکی از تکنولوژی های قدرتمند server-side برای طراحی سایت به صورت داینامیک است. asp.net می تواند در مقید سازی، کمپایل just in time ، بهینه سازی و سرویسcache را ارائه دهد و این دقیقا بر خلاف پردازشگر های مفسر می باشد.
پشتیبانی از ابزار جهانی

Asp.net از جعبه ابزاری کامل و محیط طراحی توسعه یافته ای برخوردار است، با توجه به تغییرات خوبی که در برنامه داده شده است برنامه اینترنتی با قابلیت گرافیکی را پیدا کرده است
قدرت و انعطاف پذیری

با توجه به اینکه این زبان برنامه نویسی از CLR استفاده مینماید در بحث قدرت و انعطاف پذیری توسعه برنامه های کاربردی حرف زیادی برای گفتن خواهد داشت. کتابخانه ی .net نسبت به سایر زبانهای برنامه نویسی از کاملتر می باشد.
سادگی

asp.net باعث ساده شدن کار ها میشود و شما با استفاده از آن میتوانید به صورت داینامیک قسمت های مختلفی را به طراحی سایت خود اضافه و یا از آن حذف کنید.
مدیریت

ASP.Net  بر پایه ی متن پیکربندی سلسله مراتبی که در محیط سرور و برنامه های کاربردی وب ظاهرمی شود، کار می کند. این بدان دلیل است که اطلاعات پیکربندی در قالب متن ذخیره میشود و تنظیمات اعمال شده ی جدید بدون هیچ ابزار مدیریتی ظاهر میشوند.  تمام این سادگی برای آن است که چنین مدیرتی سبب گسترش برنامه ی کاربردی در asp.net میشود. برای توسعه آن نیز تنها کافی است فایل های لازمه را روی سرور کپی کرد. برای توسعه نیز حتی به راه اندازی مجدد سرور نیازی نیس و با جایگزینی کد های کمپایل شده یا توسعه یافته گسترش می یابد.
قدرت و توانایی

Asp.net در بالاترین سطح توانایی ساخته شده است و میتواند در محیط های چند پردازنده ای به خوبی کار کرده ، آنها را مدیریت نموده وسرعت عمل بیشتری داشته باشد.
مشتری مداری و قابلیت تمدید

asp.net  به گونه ای ساخته شده است که به کاربران عادی و شرکت های توسعه دهنده این اجازه داده شده است که بتوانند افزونه های دلخواه خود را نوشته و به برنامه اضافه کنند.
امنیت

asp.net از امنیت بالایی برخوردار است و می توان با استفاده از آن و پیکربندی برنامه های کاربردی در سطوح مختلف امنیت قابل قبولی ایجاد نمود.

امکانات دات نت نیوک

پنج شنبه ۱۶ بهمن ۱۳۹۳

• مدیریت اعضاء و ثبت نام
یکی از بخش‌های حرفه ای این پرتال مدیریت اعضاء و ثبت نام کاربران می‌باشد. بطور پیش فرض ۴ روش جهت عضویت اعضاء در پرتال موجود می‌باشد که توسط مدیر سایت یکی از آنها قابل انتخاب بوده و هر لحظه قابل تغییر می‌باشد.
- عضویت در سایت غیر فعال باشد.
- عضویت در سایت توسط مدیر سایت صورت بگیرد، یعنی مدیر سایت بطور دستی کاربر را به سایت اضافه نموده و مشخصات کاربری فرد به آدرس ایمیل او ارسال گردد.

- عضویت افراد تحت کنترل باشد، بدین صورت که پس از تکمیل فرم عضویت توسط کاربر، نامه ای حاوی لینک و کد تاییدیه به آدرس ایمیل شخص ارسال تا نسبت به صحیح بودن آدرس ایمیل کاربران اطمینان حاصل گردد، نهایتا کاربر پس از کلیک بر روی آن لینک فرآیند عضویت در سایت را تکمیل می‌نماید.

- عضویت برای عموم افراد آزاد بوده و کاربران تنها با پر نمودن فرم ثبت نام، به عنوان یکی از اعضاء سایت شناخته می‌شود.

شما همچنین می‌توانید هنگام ثبت نام اعضاء اطلاعات خاصی را از آنها درخواست کنید که تا زمانیکه آن اطلاعات وارد نشود، عضویت کاربر تکمیل نگردد. 





• امکان ایجاد انواع صفحات (نامحدود)

شما با نصب این پرتال قادر خواهید بود تا به تعداد نامحدود برای خود صفحه ایجاد نموده و یا صفحات موجود را ویرایش یا حذف نمایید. هر صفحه،‌ برای خود می‌تواند دارای مشخصات منحصر به فرد نظیر پوسته، نام، سطح دسترسی،‌ تاریخ شروع و پایان و بسیاری مشخصه‌های دیگر باشد.




• ایجاد منو و زیر منو (نامحدود) 


با ایجاد هر صفحه جدید در سایت، یک زبانه با نام صفحه شما در منوی سایت ایجاد می‌گردد. شما می‌توانید موقعیت قرار گیری نام صفحه در منو را تعیین نموده و یا تعیین نمایید که این زبانه به صفحه لینک داده شود یا به یک فایل و یا اینکه یک صفحه می‌تواند مخفی بوده و در منوی سایت نمایش داده نشود.

• مدیریت نامحدود دامنه ها

یکی از برجسته‌ترین ویژه گی‌های پرتال dotnetnuke، مدیریت نامحدود دامنه‌ها از طریق خود پرتال می‌باشد. بدین صورت که شما تنها با یکبار نصب پرتال قادر خواهید بود تا بی نهایت سایت را بوسیله آن ایجاد نمایید، برای این منظور کافی است تا نام دامنه مورد نظر خود را در پرتال اضافه نموده تا یک سایت مستقل با ظاهر، مدیریت و محتوای کاملا مستقل داشته باشید. شما می‌توانید میزان فضای هر سایت، تعداد اعضاء سایت، ماژول‌های قابل استفاده در هر سایت و سایر ویژه گی‌های دیگر را کنترل نمایید. 

• مدیریت امنیت و سطوح دسترسی

در مورد امنیت پرتال می‌توان به جرات اعلام کرد که این پرتال جزء امن‌ترین پرتال‌های حال حاضر دنیا بوده و تمام موارد امنیتی در هر قسمت آن مد نظر قرار گرفته است. به عنوان مثال شما می‌توانید برای هر صفحه تعیین نمایید که چه کسانی قادر به مشاهده و ویرایش آن باشند، علاوه بر آن ماژول‌های قرار گرفته درون صفحات نیز می‌توانند مستقلاً دارای سطوح دسترسی مجزا از صفحات باشند. در حالت کلی ۴ سطح دسترسی برای صفحات در این پرتال موجود می‌باشد. 

- مدیران: تنها کاربرانی که اجازه مدیریت وب سایت را داشته باشند، مجاز به دیدن این صفحات می‌باشند. این یک تنظیم مناسب برای هنگامی می‌باشد که مثلاً شما در حال کار کردن بر روی یک صفحه بوده و تمایلی به مشاهده ان توسط سایر افراد تا زمان اتمام کار آن صفحه نمی‌باشید (این سطح دسترسی حالت پیش فرض صفحات جدید می‌باشد)



- کاربران ناشناس: تمامی بازدید کنندگان قادر به مشاهده این صفحه می‌باشند. کاربر نا شنان به کاربری گفته می‌شود که یا عضو سایت نبوده و یا در صورت عضویت با نام کاربری خود وارد سایت نشده است. اعمال این سطح دسترسی به معنای قابل مشاهده بودن صفحه برای تمامی بازدید کنندگان می‌باشد. 

- اعضاء سایت: کاربرانی که فرم عضویت در سایت را پر نموده و دارای نام کاربری و کلمه عبور می‌باشند.


- گروه‌های کاربری دلخواه: این سطح دسترسی مربوط به اعضاء سایت می‌باشند که شما آنها را درون گروه خاصی قرار داده باشید (مثلاً خانواده، دوستان و....)

• مدیریت نقش‌ها و گروه‌های کاربری

شما می‌توانید گروه‌های کاربری خاصی را بنابر نیاز ایجاد نموده و اعضاء خاص سایت را در این گروه‌ها قرار دهید، مثلا اگر سایت خبری دارید می‌توانید یک گروه به نام خبرگزاران را ایجاد نموده و به آنها اجازه مدیریت خبرها را دهید. 

• مدیریت فایل و پوشه‌ها (آپلود، دانلود،‌ ویرایش)

پرتال dotnetnuke از یک برنامه داخلی جهت مدیریت فایل‌ها و پوشه‌ها استفاده می‌نماید. این امر باعث می‌شود تا جهت مدیریت فایل‌های خود نیازی به دسترسی به هاست نداشته باشید و از طریق خود پرتال فایل و اسناد را مدیریت نمایید. به کمک این برنامه شما قادر خواهید بود تا فایل‌ها و پوشه‌ها را ایجاد، ویرایش، حذف، انتقال و یا کپی نمایید. 

• مدیریت خبرنامه و گروه‌های خبری 


یکی دیگر از قسمت‌های مدیریتی این پرتال،‌ بخش خبرنامه و گروه‌های خبری می‌باشد. به کمک این قسمت شما می‌توانید اخبار، اطلاعات و یا یک فایل را بصورت ایمیلی از طرف پرتال به اعضاء سایت خود ارسال نمایید. شما می‌توانید یک یا چند گروه کاربری خاص (مثلا گروه خبرگزاران) را انتخاب نموده تا نامه شما فقط به اعضائی که جزء این گروه می‌باشند ارسال گردد. 

• راهنمای جامع و لحظه به لحظه


درصورتیکه با پرتال dotnetnuke کار نموده باشید، حتما ملاحظه نموده اید که هرکجا که فیلدی جهت وارد نمودن اطلاعات باشد و یا مواردی که نیاز به راهنمایی باشد، حتماً یک آیکن کوچک به شکل علامت سوال موجود می‌باشد که با حرکت ماوس بر روی آن و یا کلیک بر روی آن آیکن راهنمایی لازم در مورد آن قسمت ارائه خواهد شد. این راهنما بر اساس زبان انتخابی تغییر نموده و پاسخگویی سوالات شما در آن مورد خاص خواهد بود.

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


پرتال dotnetnuke بطور کامل با تمامی زبان‌های دنیا سازگار بوده و تمامی آنها را پشتیبانی می‌نماید. زبان‌های مختلف بصورت یک فایل فشرده و به عنوان بسته زبانی قابل اضافه شدن به پرتال بوده و به محض افزودن یک بسته زبانی جدید تمام کنترل‌های پرتال بر اساس زبان انتخابی تغییر خواهد نمود، از ویژه گی‌های جالب این پرتال این می‌باشد که محتوای درون صفحات نیز می‌تواند بر اساس زبان انتخابی تغییر نماید. این باعث جلوگیری شدید از افزونگی حجم پایگاه داده خواهد شد که یکی از ویژه گی‌های ممتاز این پرتال محسوب می‌شود. 

• تاریخ و تقویم شمسی و میلادی


تمامی قسمت‌های این پرتال از دو تاریخ شمسی و میلادی به طور کامل پشتیبانی می‌نماید. همچنین یک تقویم بازشونده درون پرتال تعبیه شده است تا بوسیله آن بتوان براحتی بین روزها، ماه‌ها و سال‌ها حرکت نمود و تاریخ مورد نظر خود را انتخاب نمود.

• مدیریت آگهی‌ها و فروشندگان


یکی از بخش‌های عمومی سایت‌های نسبتاً پربازدید، بخش تبلیغات و کسب درآمد از نمایش بنرهای تبلیغاتی مشتریان می‌باشد. در پرتال dotnetnuke در مورد این موضوع نیز پیش بینی شده است و یک بخش مدیریتی کاملی برای مدیریت اطلاعات شرکت‌های مختلف آگهی دهنده، نظیر اطلاعات شرکت، تعداد نمایش یک بنر، تعداد کلیک بر روی یک بنر،‌ هزینه نمایش هر بنر و ... در نظر گرفته شده است. 

• معرفی سایت به موتورهای جستجوی گوگل، یاهو، مایکروسافت

به کمک این بخش شما می‌توانید به راحتی سایت خود را در موتور‌های جستجوی فوق ثبت نموده و ضمن ارائه نقشه سایت (SiteMap) به این موتورها،‌ آنها را از آخرین وضعیت اطلاعات و صفحات موجود در پرتال خود آگاه سازید این امر باعث دسترسی سریعتر این موتورهای جستجو به اطلاعات سایت شما شده،‌ بنابراین از نتیجه مطلوب‌تری در جستجوها برخوردار خواهید شد.

• بازیابی صفحات و ماژول‌های پاک شده

هر ماژول و یا صفحه ای که توسط شما پاک شود، عملاً از دست نرفته و در محلی به نام سطل بازیابی نگهداری می‌شود تا درصورت پشیمان شدن از حذف آن مورد قادر به بازگردانی آن باشید. همچنین درصورتیکه که نسبت به حذف آن ماژول یا صفحه اطمینان پیدا نمودید می‌توانید از طریق همین قسمت، آن مورد را برای همیشه پاک نمایید.

• مدیریت ظاهر و پوسته سایت (Skin)

در این پرتال، بخش گرافیکی سایت (پوسته) بطور کامل از محتوای سایت (متن) مجزا می‌باشد. این بدان معناست که شما می‌توانید گرافیک و ظاهر سایت خود را بدون اینکه تاثیری روی عبارات صورت گیرد تغییر دهید. برای مثال محتوای سایت را می‌توان به عنوان یک انسان عریان و گرافیک (پوسته) آن را به عنوان لباس‌های مختلف در نظر گرفت. در این حالت یک شخص می‌تواند لباس‌های مختلفی را که هر کدام بطور کامل ظاهرش را تغییر می‌دهد بپوشد، اما همواره محتوای سایت (متن) ثابت و مجزا از بخش گرافیکی (ظاهر) سایت می‌باشد. در حال حاضر حدود ۲۰۰ پوسته آماده موجود بوده و این رقم روز به روز افزایش می‌یابد.





• امکان بلاک بندی صفحات بطور دلخواه  

بنابر نوع طراحی پوسته سایت، قاب هایی (Pane) درون صفحات تعبیه شده که تنها برای ویرایشگران صفحه قابل نمایش می‌باشد. این قاب‌ها مکان هایی هستند که ماژول‌های شما در آن قرار می‌گیرند و  پیکره کلی یک صفحه را تشکیل می‌دهند. فرض کنید شما ۵ قاب به نام‌های قاب بالا،‌ قاب وسط، قاب راست،‌ قاب چپ و قاب پایین را درون صفحه خود دارید و بنابر تمایل خود ماژول درج متن را در قاب بالا قرار داده،‌ در قاب چپ ماژول وضعیت آب و هوا، در قاب وسط ماژول اخبار سایت، در قاب راست ماژول تماس با و قاب پایین را خالی می‌گذارید، در این صورت شما قادر خواهید بود محل قرار گیری ماژول‌های خود را بر اساس سیلقه شخصی خود تعیین نماید

• امکان چاپ، ویرایش و مدیریت محتوای هر بلاک

هر بلاک دارای امکاناتی نظیر چاپ محتوای موجود در آن بلاک، سطح دسترسی به محتوای آن، قاب محل قرار گیری بلاک و تنظیماتی دیگری می‌باشد

 • مدیریت سبک‌ها از درون سایت 

درصورتیکه به پوسته یک سایت دسترسی وجود نداشته باشد و یا در مواردی که نیاز به اعمال تغییر کوچکی در فایل CSS پوسته باشد، در این حالت شما براحتی قادر خواهید بود تا از طریق خود پرتال کد‌های CSS پوسته را ویرایش نمایید.

• ارائه آمار کامل از وضعیت سایت 

پرتال dotnetnuke دو قسمت جهت گزارش دهی دارد که یکی از آنها گزارش مربوط به آمار کاربران، سایت‌های لینک دهنده به پرتال و تعداد بازدید یک صفحه طی دوره‌های زمانی مختلف را در فایل لاگ ذخیره کرده و نمایش می‌دهد و قسمت دوم مربوط به گزارش عملکرد داخلی پرتال بوده که از هر عملی که درون پرتال انجام شود، گزارش تهیه می‌نماید، مثلاً درصورتیکه شما یک ماژول را درون صفحه ای قرار دهید، اطلاعات مربوط به ماژول، صفحه ای که این ماژول در آن قرار گرفته، کاربری که این ماژول را قرار داده و صحت عملکرد این ماژول درون پایگاه داده پرتال ثبت می‌شود تا در موارد خاص مورد استفاده قرار گیرد.

• مدیریت ماژول ها
ماژول‌ها بسته‌های برنامه ای بوده که هرکدام براساس هدف خاصی برنامه نویسی شده و تحت پرتال کار می‌کنند و در واقع تمام اطلاعات پرتال توسط ماژول‌ها ارائه می‌شوند. پرتال ایرایشان بطور پیش فرض به همراه چند ماژول عمومی نصب می‌شود و با توجه به هسته قدرتمند موجود، شما قادر هستید در هر زمانی هر ماژول خاصی را درون پرتال نصب و استفاده نمایید و یا در صورت عدم نیاز به یک ماژول آن را حذف نمایید.

• جستجوگر داخلی سایت

پرتال dotnetnuke دارای یک موتور جستجوی داخلی می‌باشد که تمام اطلاعات موجود در ماژول‌ها هنگام جستجو بررسی می‌نماید تا نتیجه جستجوی کاملی را ارائه دهد

• پشتیبانی کامل از پروتکل SSL

این پروتکل توسط کمپانی Netscape برای اولین بار به منظور انتقال اطلاعات بصورت امن بین دونقطه در اینترنت تهیه شد و پس از مدتی علاوه بر مرورگر Netscape Navigator و خانواده آن، مرورگر Internet Explorer نیز از آن استفاده کرد. در این روش تبادل اطلاعات میان مرورگر و سایتی که در حال مرور شدن است، بوسیله کلید‌های خصوصی (private key) کد می‌شود و چنانچه در طول مسیر اطلاعات شنود شود، قابل استفاده نخواهد بود. بنابراین بخوبی می‌توان از این پروتکل برای کاربردهای تجاری استفاده کرد. در حال حاضر بسیاری از وب سایت‌ها علاوه بر پروتکل معمول http از SSL نیز حمایت می‌کنند و شما می‌توانید برای دسترسی امن به اطلاعات این سایت‌ها از طریق یک لینک SSL ، از https استفاده کنید.
گفتگو در مورد طراحی سایت و سئو