تبلیغات
مقالات آموزشی برنامه نویسی و شبکه - مطالب آموزش ASP.NET

تکنولوژِی ORM ، ساخت سایت بدون کد نویسی !

با سلام

همانطور که می دانید ، دیگر زمان پروسیجر نویسی و سیستم های چند لایه بر مبنای ado.net به سر اومده و دیگه الان همه از ORM استفاده می کنن !


ORM چیست ؟


ORM تکنولوژی جدید مایکروسافت برای حذف کد نویسی های طاقت فرسای ado.net است.
ORM باعث میشه که دیگه نیاز نباشه ساعت ها وقت و انرژی روی نوشتن کلاس های لایه های نرم افزارتون صرف کنین.

تکنولوژِی ORM - netnic.ir

لایه بندی در asp.net :
تا قبل از بوجود آمدن ORM ، شما باید یه کلاس برای برقراری ارتباط با دیتابیس ایجاد می کردید که همون لایه Data Access نرم افزارتون میشد
بعد باید برای تمامی جداول و فیلد های دیتابیستون یک کلاس می نوشتین که نام کلاس ، نام جدولتون و خصوصسات کلاستون ، ستون های جدولتون بود.

بدین صورت شما دیتابیستون رو بصورت شیء گرا در می آوردید که ابن کلاس های لایه Bussiness نرم افزارتون میشد.
بعد یک کلاس مادر برای تمام کلاس های جداولتون می نوشتین که توابعی مثل DELETE  و INSERT  و UPDATE  و SELECT رو برای کلاس هاتون ایجاد کنه و کلی هم باید پروسیجر روی دیتابیستون ایجاد می کردین و ....

با کمی دقت خواهید فهمید که چقدر زمان برای انجام این کار صرف میشد
 
ORM آمد ، خداحافظ ado.net ! خداحافظ کلاس نویسی های وقت گیر !
ORM تکنولوژی جدیدی است که باعث میشه که دیگه لازم نباشه این همه کد نویس های وقت گیر و خسته کننده بزنین :)

EntityFrameWork چیست ؟

 
EntityFrameWork تکنولوژی جدید مایکروسافت است که کامل شده تکنولوژی ORM است.

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

در EntityFrameWork  شما ابتدا موجودیت هاتونو دیزاین می کنین و بعد به راحتی می تونین دیزاینتونو به هر نوع دیتابیسی تبدیل کنین (حداول بوسیله EntityFrameWork  بصورت خودکار ساخته میشه) و بعد هم به راحتی می تونین کلیه کلاس هایی که باید روزها براش نوشتنش وقت میزاشتین رو در چند ثانیه بسازین :)

به قرن بیستم خوش آمدید !

واسه همینه که عاشق مایکروسافتم :)
همیشه سعی می کنه کارهای تکراری خسته کننده رو اتوماتیک کنه تا شما روی کارهای مهم تر تمرکز کنین و وقتتون رو روی کارهای خفن تر و مهم تر بذارید و وقت کافی برای خلاقیت و ایجاد سایت های عجیب و غریب و غیر طبیعی داشته باشید :)


و این بود نتیجه تحقیقات من
امیدوارم از این آموزش خوشتون اومده باشه.

در مقالات بعدی نحوه کار با EntityFrameWork  رو آموزش میدم.

اول برم خودم یاد بگیرم ، بعد میام به شما یاد میدم

"نت نیک"

نوشته شده در تاریخ چهارشنبه 22 آذر 1391    | توسط: ح.م    | طبقه بندی: آموزش ASP.NET،     | نظرات()


x-method چیست و چه مزایا و معایبی دارد ؟

سلام
برخی از دوستان سوال پرسیده بودن که x-method چیه ؟
یا پرسیده بودن که چرا در حین استفاده از x-method گاهی ارور های عجیب غریب می گیرن
؟

اول باید بگم که اصلا این x-method چی هست ؟

ببینین دوستان ، بصورت عادی شما رکوردارو تک تک از دیتابیس می گیرین (با ExecuteReader یا ....) ، ایده ایکس متد اینه که شما خروجی sql رو بصورت یک رشته xml ای و یکجا از دیتابیس بگیرین (با ExecuteScalar) این ایده جالبی بوده که استادم به ما معرفی کرد.

در این روش کل رکورد های شما به قالب xml در میاد و بعد بصورت یک رشته (انگار که دارین یه مقدار تکی رو از دیتابیس میگیرین) با دستور ExecuteScalar از sql دریافت میشه.

این روش سرعت انتقال اطلاعات از دیتابیس به صفحات وبتونو بسیار افزایش میده ولی یه سری مشکلات و نواقصی هم داره که در ادامه مطلب خواهم گفت.
x-method چیست و چه مزایا و معایبی دارد ؟ - netnic.ir

نوشته شده در تاریخ سه شنبه 21 آذر 1391    | توسط: ح.م    | طبقه بندی: آموزش ado.net، آموزش ASP.NET،     | نظرات()


آموزش روش های ذخیره و نگهداری اطلاعات در asp.net

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

در مبحث برنامه نویسی تحت ویندوز که همه چیز کویته و مشکلی وجود نداره ، ولی در بحث تحت وب ، چون بحث سرور و کلاینت و  post و post back شدن بوجود میاد داشتن یک متغیر که بشه اطلاعات رو توش ذخیره کرد و همیشه ازش استفاده کرد بصورت عادی ممکن نیست ، چون :

1- با هر بار لود شدن صفحه ، کل متغیر هایی که تیو صفحه تعریف کردین ، دوباره از اول تعریف میشن و عملا دیتاهای توشون می پره.

2- بحث صفحات پبش میاد و بصورت معمولی هیچ صفحه ای به متغیر های داخل صفحه قبل دسترسی نداره.


برای ذخیره کردن اطلاعات در asp.net روش های جالبی وجود داره که در ادامه توضیح خواهم داد.

سوالی که پیش میاد ، اینه که : خوب چرا اطلاعات رو توی دیتابیس نریزیم ؟ اصلا چه کاریه که بیایم توی خود asp.net اطلاعات رو یه جا ذخیره کنیم ؟

در جواب باید بگم که اطلاعاتی که قراره مرتب به روز بشه (مثل تعداد افزارد آنلاین یا کاربران آنلاین سایت و یا ...) رو نمیشه توی دیتابیس بریزیم ، چون سرور SQL تون زیر این همه بار میزاد. (اونم 2 قلو
)

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

به نظرتون اون موقع دیگه SQL  مجال پاسخگویی به درخواست های دیگرتونو هم داره ؟

مسلما به 24 ساعت نکشیده ، سرور SQL هنگ می کنه و شرکت هاستینگ محترم با شما تماس می گیره و میگه که دیگه از سایت شما میزبانی نمی کنیم ، (برو به سلامت) !

حق هم داره بنده خدا ، شما اومدی کار خودتو راحت کردی ، سرور رو ناراحت !


در ادامه روش های بهینه تر و کاربردی تر ذخیره اطلاعات در asp.net رو آموزش میدم






نوشته شده در تاریخ شنبه 11 آذر 1391    | توسط: ح.م    | طبقه بندی: آموزش ASP.NET،     | نظرات()


آموزش تغییر مقدار انتخاب شده در دراپ داون لیست (DropdownList) از طریق متن

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

فرض کنین که یک دراپ داون لیست داریم که دارای گزینه های : خودرو - موتور سیکلت و دوچرخه است

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

حال می خوایم با کد نویسی کاری کنیم که گزینه دوم بصورت انتخاب شده در بیاد.

برای این کار می تونین در رویداد لود صفحه بصورت زیر عمل کنیم :




یا حق

آموزش تغییر مقدار انتخاب شده در دراپ داون لیست (DropdownList) از طریق مقدار




نوشته شده در تاریخ جمعه 10 آذر 1391    | توسط: ح.م    | طبقه بندی: آموزش ASP.NET،     | نظرات()


روش گرفتن اطلاعات از دیتالیست ، گرید ویو و رپیتر در asp.net

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

در asp.net این کار با کنترل های داده ای مانند گرید ویو ، دیتالیست ، رپیتر و ... انجام می شود.

یکی از سوالاتی دوستان پرسیدن ، این بود که چطوری به یکی کنترل در یکی از ستونهای یک سطر خاص ار کنترل گرید ویو یا دیتالیست یا رپیتر دست پیدا کنن ؟
دانلود فیلم آموزش پکت تریسر - netnic.ir
علامت سوال روی سرتون ظاهر نشه

ببینین ، بذارین بهتر بگم : مثلا شما 10 تا رکورد رو تیو یک عدد گرید ویو می ریزید.

مثلا هر رکورد دارای 3 فیلده  (هر رکورد یک سطر و هر فیلد یک ستون از جدول دیتابیس است )

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

خوب برفرض که کاربرتعداد ها رو هم وارد کرد .

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

سوال دوستان این بود که این کار رو چطوری انجام بدن ؟  چطوری مثلا میشه به کنترل با آی دی MyDropDownList که در سطر دوم یک گرید ویو یا رپیتر یا دیتالیسته دست پیدا کنیم و مقدار داخلشو بخونیم ؟


نوشته شده در تاریخ پنجشنبه 9 آذر 1391    | توسط: ح.م    | طبقه بندی: آموزش ASP.NET،     | نظرات()


کنترل لاگین در asp.net

با سلام

برخی دوستان درباره لاگین سوال کرده بودن ،که در بخش لاگین سایت امکان داره که از کنترل لاگین خود asp.net استفاده نکنن ؟!

ببینین دوستان ، در asp.net مفهومی داریم با عنوان "یوزر کنترل" که چیز ترسناکی نیست ، یوزر کنترل یعنی اینکه شما چند تا کنترل رو با همدیگه باکس کنین و یه سری کد براشون بنویسین

مثلا من خودم با 2 تا DropDownList و یک عدد TextBox یک یوزر کنترل برای دریافت تاریخ از کاربر ساختم و یه اسمی هم روش گذاشتم ، دیگه توی صفحات سایتم هر جا نیاز باشه تاریخی از کاربر بگیرم ، نمیام چند ساعت خودمو الاف چیدن کنترل ها و .... کنم ، یه راست یوزر کنترلی که برای این کار ساختم رو شوت می کنم توی صفحه و تمام.

نکته: یوزر کنترلی که می سازین بصورت یک فایل جدا و با پسوند ascx. ذخیره میشه و توی هر سایت خواستین که استفاده اش بکنین ، کافیه که فایل بوزر کنترل رو توی روت سایتتون بریزین و از تیو همون سلوشن اکسپلورر درگش کنین توی صفحه.

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

من که خودم کلا از این کنترل خوشم نمیاد .... ترجیج میدم خودم با 2 تا تکست باکس لاگینمو بسازم ؛ البته کار من هم درست نیست و بهتره که بیام و برای خودم یک یوزر کنترل برای لاگین بسازم که هی نخوام دوباره کاری کنم.

و این بود داستان کنترل لاگین.

یا حق

دانلود فیلم آموزش پکت تریسر - netnic.ir

نوشته شده در تاریخ پنجشنبه 9 آذر 1391    | توسط: ح.م    | طبقه بندی: آموزش ASP.NET،     | نظرات()


آموزش دانلود فایل های حجیم در asp.net

با سلام

دانلود فایل  یکی از معضلات بزرگ برنامه نویسان وب است.
قرار دادن لینک مستقیم فایل ها بر روی سایت ، باعث میشه که هیچ کنترلی روی دانلود فایل ها نداشته باشین ، مثلا شاید بخواین فقط کاربرانی که لاگین کردن بتونن فایلا رو دانلود کنن ، یا اینکه نخواین سایت های دیگه لینک فایل های شما را به راحتی روی سایت خودشون قرار بدن و ...

یکی دیگر از مشکلات وقتی پیش میاد که حجم فایل شما زیاد باشه (300 مگ - 700 مگ و یا 2 گیگ!)

در ادامه مطلب روش های مختلف ایجاد لینک غیر مستقیم در asp.net را یاد خواهیم گرفت و همچنین روش هایی جهت آسان نمودن دانلود فایل های با حجم بالا در asp.net را نیز همراه با چند مثال عملی می آموزیم.
آموزش دانلود فایل های حجیم در asp.net - netnic.ir

نوشته شده در تاریخ پنجشنبه 9 آذر 1391    | توسط: ح.م    | طبقه بندی: آموزش ASP.NET،     | نظرات()


غیر قابل دسترس نمودن وب سایت، هنگام بروزرسانی در asp.net

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

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

یکی از امکاناتی که همراه با ASP.NET 2.0 معرفی شد، App_Offline.htm می باشد. اگر شما یک صفحه HTML به نام App_Offline.htm به روت (root) وب سایت خود اضافه نمایید، دیگری وب سایت به هیچ درخواستی جواب نمی دهد و درخواست ها را به صفحه ی App_Offline.htm ارجاع می دهد.

صفحه App_Offline.htm می تواند شامل پیام های مناسبی همچون "سایت در حال بروز رسانی می باشد" و یا "لطفا چند دقیقه دیگر مراجعه نمایید" و غیره باشد.

این ترفند استفاده های دیگری نیز دارد. به طور مثال می توان جهت unlock و unload نموده دیتابیس های SQL Express و یا Microsoft Access که در حال حاضر در پوشه App_Data در حال استفاده (in use) هستند، مورد استفاده قرار گیرد.

تذکر:

اندازه صفحه App_Offline.htm حداقل باید 512 بایت باشد. در غیر اینصورت اگر کاربر از مرورگر IE6 استفاده نماید، به جای اینکه محتوای صفحه App_Offline.htm را ملاحظه نماید، یک پیغام خطای 404 ملاحظه می نماید.

نوشته شده در تاریخ سه شنبه 14 خرداد 1392    | توسط: ح.م    | طبقه بندی: آموزش ASP.NET،     | نظرات()