تبلیغات
سایت تخصصی کامپیوتر - مطالب فروردین 1389
  دسته بندی مطالب سایت
 بخش دانلود سایت                   
سیستم عامل

    ویندوز

    لینوكس

امنیت، سكیورتی و هك

    آنتی ویروس

    آپدیت آفلاین آنتی ویروس

    دیوار آتش

    ضد هك و جاسوسی

    هك و جاسوسی

ابزار اینترنت

    مروگرهای وب

    مدیریت دانلود

    مسنجرها

    برنامه های دیگر

    طراحی وب

    قالب سایت و وبلاگ

    ابزار جستجو

    شبكه

    ایمیل

    اف تی پی

مبدل و تبدیل كننده ها

    تبدیل كننده های تصویر

    تبدیل كننده های صوت

    تبدیل كننده های متن

    تبدیل كننده های دیگر

فشرده سازی

    برنامه های فشرده سازی

    ابزار كاربردی فشرده سازی

صوتی و تصویری - مالتی مدیا

    پخش صوت

    پخش تصویر

    میكس و مونتاژ صوت

    میكس و مونتاژ تصویر

    آهنگسازی

    ریتم، وی اس تی و سمپل

    فول آلبوم ها

    تك آهنگ

    موزیك ویدئو

    بی كلام

    فیلم

گرافیك

    طراحی و ویرایشگر

    فونت

    نمایش عكس و پی دی اف

    انیمیشن

    ابزار فلش

    آیكون

    پلاگین

    وكتور

ابزار سی دی و دی وی دی

    رایت سی دی/دی وی دی

    ساخت اتوران

    قفل گذاری

    ایمیج و كپی‌  CD/DVD

    ابزار سی دی/دی وی دی

    شبیه ساز

كاربردی

    حسابداری

    پشتیبانی اطلاعات

    جستجوی دسكتاپ

    فرهنگ لغت

    درایور

    مهندسی

    فایل و دیسك

    ابزار لینوكس

    آفیس

    بهینه ساز

    نرم افزارهای فارسی

    فكس و تلفن

    برنامه نویسی

    بازیابی اطلاعات

    ابزار رجیستری

    نوارابزار

    ابزار های مفید

    مترجم متن و لغت

    قفل گذاری

سرگرمی

    ابزار دسكتاپ

    محافظ نمایش

    پوسته برنامه

    پس زمینه

بازی

    اكشن

    ماشین سواری

    فكری

    ورزشی

    بازیهای فلش

موبایل

    برنامه

        نوكیا سری 60 ورژن 3 و 5

        نوكیا سری 9.1 و 9.2

        نوكیا سری 9.3 و 9.4

        نوكیا سری 40

        سیمبین یو آی كیو 3

        سونی اریكسون

        سامسونگ

        موتورولا

        آیفون

        پاكت پی سی

        جاوا

    بازی

        نوكیا سری 60 ورژن 3 و 5

        نوكیا سری 9.1 و 9.2

        نوكیا سری 9.3 و 9.4

        نوكیا سری 40

        NGage2

        سیمبین یو آی كیو 3

        سونی اریكسون

        سامسونگ

        موتورولا

        آیفون

        پاكت پی سی

        جاوا

    تم

        نوكیا سری 60 ورژن 3 و 5

        نوكیا سری 9.1 و 9.2

        نوكیا سری 9.3 و 9.4

        نوكیا سری 40

        سیمبین یو آی كیو 3

        سونی اریكسون

        سامسونگ

        موتورولا

        آیفون

        پاكت پی سی

    سرگرمی

        كلیپ های صوتی موبایل

        كلیپ های تصویری موبایل

        موزیك و رینگتون

        ایبوك

        اسكرین سیور

        پس زمینه

        عكس های اس ام اسی


بخش آموزش سایت                 
مفاهیم پایه فناوری اطلاعات
آموزش ویندوز XP
آموزش Word
آموزش Excel 2000
آموزش  Access
آموزش PowerPoint
آموزش اینترنت
آموزش Photoshop
آموزش Photoshop CS2
آموزش Flash MX
آموزش FrontPage XP
آموزش HTML
استفاده‌از‌نامه‌های‌الكترونیكی
آموزش نصب ویندوز ایكس پی
آموزش CSS
آموزش CIW
طرز نشستن مقابل كامپیوتر
اصطلاحات چت در روم ها
آموزش شبكه های بیسیم
مرجع كامل خطاهای مودم
مفاهیم‌و اصطلاحات‌اینتزنتی
آموزش ASP.NET
آموزش MaYA 5
آموزش كامل اسمبل كامپیوتر
آموزش WinRAR
آموزش نرم افزارهای كاربردی
كتابخانه الكترونیكی                 
كتابخانه الكترونیكی سایت

ترفندستان سایت                      
ترفند موبایل
ترفند ویندوز XP
ترفند ویندوز VISTA
ترفند ویندوز 7
ترفند سایر ویندوزها
ترفند دسكتاپ
ترفند رجیستری
ترفند مرورگر
ترفند DOS
ترفند شبكه
ترفند یاهو
ترفند گوگل
ترفند بازی
ترفند آفیس
ترفند امنیت
ترفند كیبورد
ترفند لینوكس
ترفند نرم افزار
ترفند سخت افزار
سایر ترفندها

ابزار رایگان برای وبمسترها    
ابزار رایگان برای وبمسترها


لینكدونی سایت

 به روزترین سایت دانلود
 «کنگاور شهر تمدن و تدین»
 تبلیغات درج اگهی رایگان نیازمندیها
 مرکز آگهی و تبلیغات رایگان
 پورتال تفریحی ایرانیان
 علم و فناوری روز دنیا
 فروشگاه فیلم و سریال آریا
 فروشگاه آنلاین ایرانیان
 �دانلود جزوه،مقاله،پروژه و... کامپیوتر�
 كامپیوتر 17
 شبكه خبری پرسپولیس
 وبلاگ دانلود رایگان
 وب سایــتی مانــدگــــار
 هاست
 ..:: تبلیغات رایگان ::..
 ایروونی
 نایت دانلود بزرگترین سایت دانلود
 *دانلود منابع گرافیک*
 " انجمن ستاره ایران "
 " فروشگاه نرم افزار کامپیوتری"
 یک میلیارد اس ام اس (ایران موب)
 ***انجام پروژه های سانترال ***
 "-._دانلود اهنگ روز_.-"
 سرای دیتا دنیای کامپیوتر
 آگهی رایگان
 پی سی ترفند
 هر فیلم 200 تومان
 مقالات تخصصی رایانه
 آخرین اخبار فن آوری اطلاعات و مقالات کامپیوتر
 جوانان خورگو یاران حسین
 یک وب
 شهردانلود
 یک میلیارد اس ام اس جدید
 حاشیه واخبار روز فوتبال
 dance and aerobic lessons
 ارهان دانلود
 .::.free-flash-games.::.
 Game Stars
 record20.com
 آموزش مایا
 " درج آگهی و تبلیغ رایگان "
 امیدكویر:اجتماعی،مذهبی،تفریحی
 نیازمندیهای دخترونه
 آموزش رایانه
 " بزرگترین مرجع عکس "
 پایگاه آموزشی خبری آی تی گل نرگس
 تیم آسان تبلیغ | خدمات بهینه سازی و سئو کاری رایگان سایت
 اسیر تنهایی
 آموزشی - فرهنگی - خبری
 بزرگترین فروشگاه اینترنتی لوازم زناشویی و جنسی
 فروش لوازم زناشویی و بهداشتی
 هاست
 گوناگون دین و مذهب
 سرگرمی و آموزشی آموزه
 تبادل لینک با گوگل
 دانلود نرم افزار بازی فیلم موزیک گرافیک آموزش در دانشکده دوستان
 وبلاگ تخصصی فوتبال و اتومبیل
 عشق
 .: پی سی اهر | pc-ahar :.
 "دانلود مستقیم فیلم و موزیک"

مشاهده همه پیوندها
ارسال لینک شما

  ابر برچسب ها

.:: به سایت تخصصی کامپیوتر خوش آمدید ::.

به سایت تخصصی كامپیوتر خوش آمدید--این سایت با تمامی سایت های و وبلاگ ها اقدام به تبادل لینك می نماید اول سایت تخصصی كامپیوتر را در سایت خود لینك كنید و سپس لینك خودتان را در قسمت لینك خود را ثبت كنید ثبت بفرمائید


   در این مقاله نحوه فرستادن Email از یک صفحه ASP.NET نشان داده شده است.
سه شنبه 31 فروردین 1389  نویسنده : علی کلهری  دسته بندی : عمومی و دیگر مطالب  نظرات نظر دهید!

 

برای فرستادن Email از یک صفحه ASP.NET بایستی از کلاس SmtpMail که در فضانام System.Web.Mail قرار دارد استفاده کرد که شامل متد استاتیک Send است. بهرحال ساده ترین راه برای فرستادن Email فراخوانی یک نمونه متد Send از کلاس MailMessage است. کلاس MailMessage در فضانام System.Web.Email قرار دارد که پیغام Email را نشان می دهد.

کلاس MailMessage در برگیرنده خاصیتهای مشابه شئ CDONTS است ( CDONTS رایجترین شئ برای فرستادن Email در ASP کلاسیک است).

بعنوان مثال خاصیتهایی چون: Body ،Priority ،Subject ،BodyFormat ،Bcc ،Cc ،From ،To.

بهرحال برای فرستادن Email بایستی نمونه ای از کلاس MailMessage ساخته شود و خواص آن مشخص شود:

۱- ابتدا نمونه ای از کلاس MailMessage ساخته می شود:

Dim ObjMM As New MailMessage

۲- سپس آدرس email دریافت کننده:

ObjMM.To="someone@someaddress.com"

۳- آدرس فرستنده email:

ObjMM.From="someoneelse@someotheraddress.com"

۴- همچنین می توان فیلدهای Cc و Bcc را داشت:

ObjMM.Cc="someone2@someaddress.com"
ObjMM.Bcc="someone3@someaddress.com"

۵- بوسیله خاصیت BodyFormat نحوه فرستادن email بصورت text و یا html مشخص می شود:

Obj.MM.BodyFormat=MailFormat.Text

۶- خاصیت Priority میزان Security میل و فرستادن آنرا مشخص می کند که شامل سه انتخاب High ،Normal و Low است:

ObjMM.Priority=MailPriority.Normal

۷- خاصیت Subject عنوان میل را مشخص می کند:

ObjMM.Subject="Hello there"

۸- بوسیله Body بدنه Email مشخص می شود ( پیغام ):

ObjMM.Body = "This is body!"

توجه داشته باشید که فضانام System.Web.Mail در صفحه ASP.NET فراخوانی شود:

<% @import NameSpace="System.Web.Mail" %>

بعد از تعیین خواص MailMessage ، متد Send از کلاس SmtpMail برای کلاس شبیه سازی شده MailMessage بصورت زیر فراخوانی می شود:

SmtpMail.Send(ObjMM)

کلاس SmtpMail برای فرستادن Email از سرویس Smtpی استفاده می کند که در ساختار IIS وجود دارد. به تعبیر دیگر با بکار بردن متد Send، از سرور داخلی SMTP برای فرستادن Email استفاده می شود. برای مشخص کردن سرور SMTP از نوع دیگر ( غیر از پیش فرض ) باید خاصیت SmtpServer آن بصورت زیر تعیین شود:

SmtpMail.SmtpServer= emailservername

در غیر اینصورت SmtpServer پیش فرض (Default) بصورت زیر است:

SmtpMail.SmtpServer=""

یکی از مهمترین کاربردهای فرستادن Email از طریق صفحات وب دریافت نظرات، اطلاعات و ... از طریق یک فرم html و ارسال آن به مدیر سایت است (Feedback).



این مطلب را به اشتراک بگذارید :


   بررسی معماری Client/Server در مدلهای تک لایه، دو لایه، سه لایه و چند لایه و اصول طراح معماری برنامه های تحت وب
سه شنبه 31 فروردین 1389  نویسنده : علی کلهری  دسته بندی : عمومی و دیگر مطالب  نظرات نظر دهید!

 

در اواسط دهه ۸۰ میلادی و زمانیكه اولین بار تولیدكنندگان تجهیزات شبكه، محصولات خود را به بازار عرضه كردند، واژه Client/Server وارد عرصه كامپیوتر گردید. در آن زمان واژه فوق صرفا در رابطه با تجهیزات سخت افزاری ( كامپیوتر ) استفاده می شد و كامپیوتری كه از آن بعنوان مركز ثقل ارائه خدمات در یك شبكه یاد می شد، را با نام Server و كامپیوتری كه از این امكانات استفاده می كرد را بعنوان Client می شناختند ( سایه نرم افزار بر این واژه حضور سنگینی نداشت ).

امروزه واژه فوق دارای یك معنی خاص است كه چندان مرتبط با سخت افرار نمی گردد. اغلب مردم هنوز واژه Client را به یك كامپیوتر فیزیكی نسبت داده و واژه Server را به كامپیوتر فیزیكی دیگری كه به آن متصل و سرویس هائی را ارائه می نماید، اطلاق می نمایند. مطلب فوق با اینكه درست است ولی صرفا یك بخش اندك از تمامی واقعیت های موجود در این زمینه است. واژه فوق امروزه در مقیاس وسیعتری به خدمت گرفته می شود. بمنظور آشنائی بیشتر با این واژه لازم است در ابتدا با ساختار و یا معماری عمومی یك نرم افزار آشنا شویم.

اغلب برنامه های كاربردی دارای سه لایه اصلی می باشند :

لایه Presentation: ( بالاترین لایه ) این لایه مسئول ایجاد ارتباط متقابل بین انسان و كامپیوتر است ( رابط كاربر). لایه فوق مسئولیت گرفتن اطلاعات ورودی از صفحه كلید، ماوس و سایر دستگاههای ورودی و نمایش اطلاعات ذیربط بر روی دستگاههای خروجی نظیر صفحه نمایشگر است. 

لایه Application یا Business Logic: لایه فوق مسئول اعمال و پیاده سازی سیاست های مورد نظر در یك نرم افزار است، در حقیقت با عملكرد لایه فوق است كه می توان تفاوت بین یك نرم افزار از نرم افزار دیگر را مشاهده و بعنوان مثال تفاوت بین یك نرم افزار ثبت سفارش و یا انبارداری را حس كرد.

لایه Service: این لایه مسئول ارائه سرویس های خاص و مورد نیاز برای سایر لایه ها نظیر سرویس های مربوط به فایل، چاپ، ارتباطی و از همه مهمتر دسترسی به بانك های اطلا عاتی است. در ادامه بحث خود را بر روی مجموعه ای از نرم افزارها ئی متمركز خواهیم كرد كه نیازمند سرویس های بانك اطلاعاتی باشند.

تعداد طبقات ( Tires )، در یك نرم افزار Client Server به نحوه ارتباط ( متراكم، معمولی ) هر یك از سه لایه گفته شده بستگی خواهد داشت. در ادامه به بررسی مدل های رایج در این زمینه خواهیم پرداخت.

مدل One-Tire
در این نوع نرم افزارها سه لایه گفته شده بصورت متراكم و فشرده در كنار یكدیگر قرار می گیرند. در مدل فوق لایه Presentation دارای آگاهی خاص و جزئی از ساختار بانك اطلاعاتی است. لایه Application اغلب بصورت موجی با لایه های Presentation و Service مرتبط خواهد بود. تمام سه لایه گفته شده بهمراه بانك اطلاعاتی، اغلب بر روی یكدستگاه كامپیوتر قرار گرفته و اجرا خواهند شد. نرم افزارهائی با این خصوصیت بسادگی طراحی شده و بكمك ابزارهای برنامه نویسی امروزی بسرعت نوشته خواهند شد.

در صورتیكه بخواهیم یك نرم افزار One-tire با چندین كاربر را طراحی نمائیم، می توان نرم افزار را بر روی چندین كامپیوتر اجرا و با به اشتراك گذاشتن بانك اطلاعاتی زمینه استفاده از داده های موجود در بانك را برای سایر كاربران نیز فراهم نمود. بانك اطلاعاتی را می توان بر روی یكدستگاه كامپیوتر معمولی در یك شبكه نظیر به نظیر ( Peer to Peer ) و یا بر روی یك سرویس دهنده فایل ( File Server ) نصب نمود. در این حالت هر یك از كامپیوترهائی كه برنامه بر روی آنها اجرا می گردد می بایست دارای یك نسخه از Database Engine بوده تا قادر به استفاده از داده های موجود در بانك اطلاعاتی باشند. در این مدل صرفا داده ها به اشتراك گذاشته شده و منطق بانك اطلاعاتی به اشتراك گذاشته نشده است. این نوع از نرم افزارها ( چند كاربره One Tire ) تا زمانیكه تعداد كاربران كم باشد موفق عمل می نمایند ولی با افزایش تعداد كاربران، با مشكل مواجه می شوند.

علت عمده بروز مشكل پایبند بودن این نوع از نرم افزارها به انجام عملیات مربوط به بانك های اطلاعاتی بر روی هر یك از سرویس گیرندگان است. مثلا اگر برنامه ای از این نوع نیاز داشته باشد كه لیست تمامی كاربرانی را كه نام آنها Reza است، را نمایش دهد، می بایست تمامی اطلاعات ( ركوردهای داده و ایندكس های مربوطه ) بمنظور پاسخگوئی به درخواست واصل شده، بر روی شبكه فرستاده شود. در برخی حالا ت خاص و با توجه به پیچیدگی درخواست های صادر شده برای اطلاعاتی خاص، ممكن است تمامی بانك اطلاعاتی برای سرویس گیرنده ارسال گردد.

اگر از یك سطح فنی به مسئله فوق نگاه كنیم، مدیریت Database Engine های مستقل بر روی سرویس گیرندگان بمنظور ممانعت از بروز تعارض ( Conflict ) بین دو سرویس گیرنده جهت تلاش برای دستیابی و یا بهنگام سازی برخی ركوردها مشكل است ( مسئله Record Locking ).

مدل Two Tire
بمنظور حل مشكل مطرح شده در مدل One-tire از بعد كارائی و مسائل فنی مربوطه، مدل فوق معرفی گردید. نرم افزارهائی كه با اتكا بر مدل فوق طراحی و پیاده سازی می گردنند در اغلب موارد دارای عملكردی مشابه مدل One Tire بوده با این تفاوت مهم كه Database Engine بر روی سرویس گیرنده ها اجرا نخواهد شد.

در مدل فوق بانك اطلاعاتی بر روی سرویس دهنده اجرا می گردد. از روش های متعددی برای ارتباط بین لایه Application(Logic) و Database Service استفاده می گردد. SQL ( زبان ساختیافته پرس و جو ) از متداولترین روش های موجود در این زمینه است. دستورات SQL به سرویس دهنده بانك اطلاعاتی ارسال شده و در آنجا عملیات مربوطه بصورت محلی انجام و نتیجه ( اطلاعات مربوط به درخواست ارسال شده ) برای سرویس گیرنده ها ارسال خواهد شد. در مدل فوق صرفا سرویس دهنده بانك اطلاعاتی از برنامه مجزا شده و لایه های Presentation و Busines Logic همچنان در هم تنیده هستند. دو لایه فوق همچنان دارای آگاهی اساسی ( محرمانه ) از بانك اطلاعاتی خواهند بود.

نوشتن برنامه هائی از این قبیل تا اندازه ای پیچیده تر از مدل قبل است. امروزه ابزارهای برنامه نویسی نیز مجهز به پتانسیل هائی شده اند كه طراحی و نوشتن این نوع از برنامه ها را سرعت می بخشد. اغلب ابزارهای برنامه نویسی دارای امكاناتی جهت استفاده از DataBase Engines بوده كه می توان از آنها در طراحی برنامه های One-Tire استفاده كرد ( نظیر Jet Engine كه توسط اكسس و ویژوال بیسیك استفاده می گردد) اما نرم افزارهای Two Tire نیازمند محصولات مجزای بانك اطلاعاتی نظیر Oracle , IBM DB2 , Sybase و SQL Sever می باشند.

مدل Three Tire
این مدل همانگونه كه احتمالا حدس زده اید تمامی سه لایه گفته شده را در بخش های مستقل قرار می دهد. در مدل فوق Business Logic یك سرویس است و می تواند بر روی كامپیوتر اختصاصی خود فعال و اجرا گردد. زمانیكه Business بصورت یك سرویس دهنده در نظر گرفته می شود با نام Application Server نامیده می شود. یك Application Server اغلب ممكن است بر روی همان كامپیوتری كه DataBase Engine قرار دارد، نصب گردد. شاید یكی از دلایل مهم جهت انجام این كار افزایش كارآئی سیستم باشد.

یكی از مزایای مهم و كلیدی، داشتن یك Application Server این است كه بتوان آن را در محلی قرار داد كه به بهترین نوع ممكن خدمات خود را ارائه نماید. در این مدل مسئله حائز اهمیت در این است كه تمامی Application Serverها بتوانند و می بایست سرویس بانك اطلاعاتی خود را از یك كامپیوتر مركزی دریافت دارند. ( ممكن است در برخی حالات تعدادی از كاربران نرم افزار از یك Application Server كه بر روی یك كامپیوتر مجزا قرار گرفته است استفاده نمایند و یك كاربر از راه دور ممكن است Application Server را بر روی یكدستگاه كامپیوتر اختصاصی اجرا نماید.) بهرحال محل Application Server و Database Server ارتباطی با كاربر نداشته و تمامی آنها با یك روش یكسان از نرم افزار و توانائی آن استفاده می نمایند.

در مدل فوق لایه Presentation دارای آگاهی خصوصی از بانك اطلاعاتی نبوده و لایه فوق از طریق لایه Application Server و بكمك یك استراتژی خاص با بانك اطلاعاتی مرتبط خواهد بود. مرورگرها در حالت خاص دارای هیچگونه شناختی از ساختار بانك اطلاعاتی در سایت Amazon.com نمی باشند ولی با این حال قادر به ارتباط با بانك اطلاعاتی و خرید یك كتاب هستند. در مدل فوق با نگرش وب، سرویس گیرنده از طریق یك پروتكل خاص با یك Application Server مرتبط می گردد. برنامه هائی از این نوع ( مدل Three Tire ) پیچیده تر از مدل های قبلی بوده و هنوز ابزارهای برنامه نویسی خاصی در این زمینه وجود ندارد و برنامه نویسان مجبور به نوشتن حجم بالائی از كدها خواهند بود.

مدل N Tire
این مدل امروزه بسرعت رایج و مطرح شده است. در حقیقت مدل Three Tire در حالت خاص به سمت N-Tire میل خواهد كرد. در این حالت یك Application Server می تواند درخواست خود را از چندین سرویس دیگر داشته باشد. هر یك از سرویس های صدا زده شده نیز خود می توانند سرویس های دیگری را جهت پاسخگوئی به درخواست واصل شده، فعال نمایند. واژه MiddleWare اغلب جهت تشریح ارتباط یك برنامه یا Business Logic بر روی یك Application Server استفاده می گردد.

چه میزان از Bussines Logic می بایست بر روی Application Server قرار گیرد؟
بدون شك یكی از بخش های مهم هر نرم افزار كه دائما می تواند دستخوش تغییرات گردد، مجموعه قوانینی است كه با اعمال آنها سیاست عملكردی یك نرم افزار تعیین می گردد. مثلا در یك سیستم بازرگانی می توان قانونی را داشته باشیم كه برای خریدهای بالای یكصد هزار تومان مجوز مدیر مربوطه فرض است. در این حالت می توان قانون فوق را بصورت یك روتین ( سرویس ) و بصورت جامع طراحی و در لایه Application قرار داد، سرویس فوق می تواند توسط سایر سرویس های موجود در این لایه و یا سایر لایه ها مورد استفاده قرار گیرد. بدیهی است در صورتیكه این سیاست به نوعی تغییر نماید و قرار شود از این پس خریدهای بالای یكصد و پنجاه هزار تومان مكلف به تایید مدیریت مربوطه باشند، بسادگی با اعمال تغییر در روتین فوق و تزریق سیاست جدید، زمینه استفاده اتوماتیك از آن برای سایر سرویس های استفاده كننده فراهم می گردد.

نحوه و زمان تغییر سیاست فوق از دیدگاه استفاده كننده و لایه Presentation مهم نبوده و تغییرات بصورت خودكار در تمامی سرویس های موجود در سایر لایه ها حس خواهد شد. بنابراین مجموعه قوانین و سیاست هائی كه در روند عملیاتی یك نرم افزار نقش تعیین كننده ای را دارند، می بایست در لایه Application قرار گرفته تا بدینوسیله امكان درج تغییرات و اعمال سیاست های جدید مركزیت یافته و مسائل مربوط به پشتیبانی و ارتقا یك نرم افزار با اطمینان خاطر و صرف كمترین زمان و هزینه صورت پذیرد.

در برخی از موارد می توان این سیاست ها را در قالب مجموعه ای از سرویس ها در لایه Presentation قرار داد. بررسی صحت داده های ورودی یك نمونه مناسب در این زمینه است. در این مورد اغلب قوانین جهت بررسی اعتبار و صحت داده های ورودی بر روی لایه Presentation قرار خواهد گرفت. بدیهی است در چنین حالتی بجای ارسال اطلاعات بررسی نشده به لایه Application و بكارگیری یك روتین جهت بررسی صحت داده ها، می توان این عملیات را در لایه Presentation قرار داد تا بدینوسیله از یكطرف ترافیك محیط انتقال داده ها افزایش نیابد و از طرف دیگر كاربران رودرو با لایه Presentation بازخوردهای سریعی را از سیستم داشته باشند. بهرحال در چنین حالاتی بخشی از منطق عملكرد یك نرم افزار را در لایه Presentation قرار داده ایم. در صورتیكه حجم Logic اضافه شده در لایه Presentation كم و ناچیز باشد، در اینصورت لایه فوق بصورت انحصاری مسئولیت های پیش فرض خود را دنبال خواهد كرد. در چنین وضعیتی سرویس گیرنده را Thin Client می گویند. در حالتیكه بر روی سرویس گیرنده، Logic بالائی قرار گرفته باشد، به آن Fat Client می گویند.بهترین نمونه از یك Thin Client، مرورگرهای وب بوده كه قادر به ارتباط با انواع نرم افزهائی است كه بر روی وب سایت قرار دارند.

جمع بندی
واژه Client Server دارای معانی بمراتب بیشتری نسبت به جداسازی یك كامپیوتر سرویس گیرنده و سرویس دهنده از یكدیگر است واژه فوق بسرعت در دنیای نرم افزار نیز مطرح و دارای جایگاه ویژه ای در این زمینه شده است. از دیدگاه فوق یك روتین ( سرویس ) می تواند ارائه دهنده خدمات خاصی به سایر سرویس ها باشد. در چنین وضعیتی سرویس ارائه دهنده خدمات را Server و سرویس استفاده كننده از یك خدمات را Client می گویند. با تعمیم سیاست های طراحی نرم افزار از مدل های One Tire به Two-Tire و Three Tire و نهایتا N-Tire و تاكید بر نگرش ساختیافته و اصولی به عملكرد هر یک از لایه ها، مفهوم روتین های سرویس دهنده ( Server ) و روتین های سرویس گیرنده (Client) جایگاه ممتازی را پیدا نمودند.

یك سرویس می تواند در عین خدمات دهی به سایر سرویس های متقاضی، خود نیز از خدمات سایر سرویس ها استفاده نماید. بنابراین یك سرویس دهنده در چنین حالتی بصورت اختصاصی صرفا رسالت سرویس دهی و یا سرویس گیری را انجام نخواهد داد. اگر از دیگاه هر لایه به عملكرد سرویس ها نظری داشته باشیم، قطعا تمامی آنها مسئولیت ارائه یك سرویس خاص را در لایه مربوطه برعهده خواهند داشته و قدرمطلق تمامی آنها ارائه خدمات است. مهمترین مزیت نگرش فوق حركت بi سمت تولید سرویس هائی خواهد بود كه اولا امكان استفاده از آنان در چندین نرم افزار فراهم شده و ثانیا زمینه تحقق اصل بسیار مهم استفاده مجدد از كدهای نوشته شده (Reusable Code) نیز فراهم می گردد. امروزه با توجه به نیاز روزافزون به طراحی و پیاده سازی نرم افزارهای متكی بر وب، مدل های Three Tire و N-Tire بشدت مورد توجه طراحان و پیاده كنندگان نرم افزارهای متكی بر بستر وب قرار گرفته است.



این مطلب را به اشتراک بگذارید :


   بررسی و آشنائی با محیط زمان اجرای دات نت یعنی CLR و ویژگیهای آن از جهت انتقال برنامه ها، بحث نسخه و مدیریت حافظه
سه شنبه 31 فروردین 1389  نویسنده : علی کلهری  دسته بندی : عمومی و دیگر مطالب  نظرات نظر دهید!

 

CLR یا Common Language Runtime در مرکز NET platform. واقع شده است. در حقیقت CLR عملی را که runtime ها در زبان های پیشین انجام می داند انجام می دهد. برای مثال ویژوال بیسیک 6 دارای یک Runtime مخصوص به خود بود که کارهای مدیریت حافظه، فراخوانی فایلها و از این دست اعمال را برای برنامه های بیسیک انجام می داد، همچنین ویژوال سی نیز دارای چنین ابزاری بود. CLR یک runtime مشترک است برای تمامی زبانهایی که بر مبنای NET. طراحی شده اند.

نسخه
در ویژوال بیسیک 6 و کلا ً سیستم های قبلی که بر COM استوارند نسخه یک COM مساله بزرگی برای انتشار آن است. در حالی که شما می توانستید نسخه های مختلفی از یک COM داشته باشید ولی در استفاده از ProgID ها دارای محدودیت بودید. برای مثال در ویژوال بیسیک هنگام استفاده از Word.Application نمی توانستید نسخه آن را انتخاب کنید، یعنی برای مثال Word.Application.9. در CLR تمام اجزا در GAC یا Global Assemblies Cache بار می شوند. بعبارت دیگر اطلاعات اسمبلی ها در GAC قرار می گیرند. در CLR دو ویژگی برای اسمبلی هایی که در GAC قرار می گیرند وجود دارد:

Side-by-side versioning: بدین معنی که نسخه های مختلف یک اسمبلی در کنار هم بدون تداخل وجود دارند.

Automatic QFE: اگر نسخه جدیدی از یک اسمبلی که با نسخه قبلی سازگاری دارد در GAC قرار گیرد، CLR این مساله را تشخیص می دهد و از آن لحظه به بعد از نسخه جدید استفاده می کند.

نسخه ها در CLR از چهار قسمت Major.Minor.Revision.Build تشکیل شده اند. اگر در Major و Minor تغییری داده شود، این بدین معناست که این نسخه از اسمبلی دیگر با نسخه های قبلی سازگاری ندارد.

انتقال
برنامه هایی که به زبان ویژوال بیسیک قدیمی نوشته می شوند در هنگام انتقال به کامپیوترهای دیگر دچار مشکلات فراوان می شوند. تمامی اجزا باید در رجیستری ثبت شوند. اگر نسخه جدیدی ایجاد شود امکان دارد برنامه هایی که از نسخه قدیمی استفاده می کردند را از کار بیندازد. ولی درNET. هم مساله نسخه ها تقریبا ً حل شده است و هم نحوه انتقال. کافی است در کامپیوتر مقصد NET Framework. نصب شده باشد. در این صورت به راحتی با استفاده از دستور xcopy داس می توانید برنامه خود را انتقال بدهید!

شایان ذکر است که این نوشته صرفا ً توضیح مختصری درباره هر کدام از قسمت های NET. می دهد و برای هر کدام از این اجزا می توان یک مقاله مفصل نوشت.

مدیریت حافظه
درباره مدیریت حافظه CLR بیشتر در زمینه VB بحث می کنیم.

مدیریت بهتر بر Garbage Collection:
Runtime در ویژوال بیسیک دارای سیستم خود کار برای Garbage Collection ها است. در ویژوال بیسیک 6، runtime به شکل خودکار منابع را از شئ هایی که دیگر توسط برنامه استفاده نمی شوند می گیرد. برای مثال فرض کنید می خواهیم یک فایل LOG ایجاد کنیم، برای این کار می توان از دو شئ Scripting.Stream و Scripting.FileSystemObject استفاده کرد. اگر این دو شئ را در تابعی به کار ببریم، بعد از اتمام عملیات، runtime منابع اختصاص داده شده به این دو شئ را می گیرد. اما مواردی وجود دارد که runtime به آسانی امکان تشخیص شئ و زمان بلااستفاده بودن آن را ندارد.

Cyclical References:
یکی از مهمترین زمانهایی که runtime مربوط به VB نمی تواند تشخیص بدهد که آیا یک شئ به منابعی احتیاج دارد یا اینکه کارش به پایان رسیده زمانی است که در متن برنامه حالتی به نام Cyclical Reference بوجود بیاید. به عنوان مثال اگر شئ A به صورت reference از شئ B استفاده کند و همچنین شئ B از A.

هر شئ COM مسئول نگهداری تعداد دفعاتی است که فعال شده است. بدین صورت که هر بار از روی آن ساخته شود با AddRef و هربار که یک برنامه آن را رها کند با Release از IUnKnown interface شمارنده ای را یکی افزایش یا کاهش می دهد. اگر آن شمارنده به صفر برسد شئ تمامی منابع خود را آزاد می کند، اما اگر هنگامی که یک شئ COM غیر فعال شود ولی از Release استفاده نشود یک شئ بلا استفاده در حافظه می ماند.

runtime مربوط به VB 6 این کار را به صورت خودکار انجام می دهد، اما هنگامی که دو شئ به هم اشاره می کنند بحث فرق می کند و runtime به شکل حالت ساده نمی تواند یک شئ را از حافظه بردارد. برای مثال به قطعه برنامه زیر توجه کنید.

'Class : CCyclicalRef

Dim m_objRef as Object

Public Sub Initialize(objRef as Object)
    Set m_objRef = objRef
End Sub

Private Sub Class_Terminate()
    Call Msgbox("Terminating.")
    Set m_objRef = Nothing
End Sub

در کلاس CCyclicalRef متدی با نام Initialize تعریف شده است که در پارامتر های خود یک شئ را می پذیرد و از روی آن یک شئ دیگر می سازد. حال از کلاس تعریف شده در کد زیر استفاده می کنیم.

Dim objA as New CCyclicalRef
Dim objB as New CCyclicalRef

Call objA.Initialize(objB)
Call objB.Initialize(objA)

Set objA = Nothing
Set objB = Nothing

ابتدا دو نمونه از روی کلاس CCyclicalRef با نامهای objA و objB ساختیم، حال هر دوی این شئ ها یک بار ساخته شده اند و شمارنده آنها یک است. با استفاده از متد Initialize هر دوی شئ ها، آدرس حافظه یکدیگر را مبادله می کنند و به این شکل از روی هر دوی آنها یک بار دیگر ساخته می شود و شمارنده هر دو، 2 می شود. شماره یک مربوط به خود برنامه است و شماره دوم مربوط به شئ هایی که به هم اشاره می کنند. سپس هر دوی آنها را برابر nothing قرار می دهیم تا آنها را از حافظه حذف کنیم. در اینجا شمارنده هر دو یکی کم و برابر یک می شود. بنابراین برنامه terminate شده است ولی هنوز شئ در حافظه وجود دارد.

Garbage Collector در CLR:
روش Garbage Collector در CLR با VB 6 Runtime تفاوت دارد. در روش جدید که خود ِ CLR و GC مسئول اجرای آن هستند، آخرین باری که از nothing استفاده می شود ولی هنوز شئ در حافظه مانده باشد، GC این وضعیت را درک می کند و آن شئ را بعد از مدتی از حافظه خارج می کند. شئ هایی هستند که مانند COM مسئول غیر فعال کردن خود نیستند، GC آنها را نیز تشخیص داده و اگر برنامه ای دیگر از آنها استفاده نکند، از حافظه حذف می شوند.

Finalize:
GC متد Object.Finilize را قبل از اینکه هر شئ را از حافظه حذف کند صدا می زند. این متد می تواند در هر زمانی بعد از اینکه برنامه دیگر از شئ استفاده نکرد صدا زده شود، لذا در هنگام استفاده از این متد باید نکته را در نظر گرفت. درNET. بهتر است قبل از اینکه یک شئ بوسیله nothing از بین برود از متد Dispose یا Close استفاده شود تا سریعا ً از حافظه حذف شود.

روش سریعتر تخصیص حافظه به شئ ها
هر زمان که یک برنامه یک شئ بسازد حافظه ای به آن اختصاص می یابد، آن حافظه در virtual memory است که برای هر برنامه اختصاص می یابد و به آن heap گفته می شود. CLR مفهومی به نام Managed Heap دارد بدین معنی که شئ ها را مدیریت می کند و آنها را در یک Heap ِ مدیریت شده قرار می دهد و CLR مسئول حفاظت آنهاست.

از مزایای این روش این است که راندمان سرعت اختصاص دادن حافظه بالا می باشد. به طور کلی وقتی کُد های مدیریت نشده در Heap های مدیریت نشده قرار می گیرند، به دنبال جایی در حافظه می گردند که بتوانند خود را در آن قرار دهند. در CLR شئ‎ای که ساخته می شود همیشه در بالای آخرین شئ‎ای که ساخته شده در heap قرار می گیرد. تصویر مربوطه را در این آدرس مشاهده کنید.

ابتدا CLR حافظه ای برای شئ های A، B و C بر روی Heap در نظر می گیرد. سپس شئ B از حافظه حذف می شود، در ادامه نیز برنامه یک شئ دیگری به نام D می سازد و آن را بر روی آخرین شئ‎ای که ساخته شده بود یعنی C قرار می دهد. این روش برای اختصاص حافظه سریع است. اما اگر CLR به انتهای heap برسد چه عملی باید انجام دهد؟ همان طور که مشاهده کردید این روش به شکل افزایشی شئ ها را در حافظه قرار می دهد. وقتی CLR دیگر نتواند از حافظه استفاده کند GC را فرا می خواند. GC هم فضاهایی مانند B را کاملا ً آزاد می کند و هم شئ ها را فشرده می کند و در پایین heap قرار می دهد تا بالای heap آزاد باشد.

خلاصه از کتاب Professional VB.NET از Wrox



این مطلب را به اشتراک بگذارید :


   هر برنامه ای که بر مبنای دات نت تعریف می شود از سه قسمت مهم و اصلی تشکیل شده است: اسمبلی، ماژول و تایپ.
سه شنبه 31 فروردین 1389  نویسنده : علی کلهری  دسته بندی : عمومی و دیگر مطالب  نظرات نظر دهید!

 

هر برنامه ای که بر مبنای NET. تعریف می شود از سه قسمت مهم و اصلی تشکیل شده است: Assemblies ، Modules و Types . اسمبلی ها اصلی ترین جز برای انتقال برنامه های NET. هستند (Deployment). ماژول ها فایلهایی هستند که اسمبلی از روی آنها ساخته می شود و تایپ ها، واحد های پایه برای تعریف داده ها، property ها و توابع هستند.

اسمبلی ها
اسمبلی تشکیل شده از manifest و یک یا چند فایل ماژول، XML یا HTML.

Manifest نیز دارای اجزای زیر است:

• اطلاعاتی درباره خود اسمبلی که به صورت text ذخیره شده است. نمونه این اطلاعات، نام، ورژن، عمومی یا غیر عمومی بودن اسمبلی و ... است.
• نوع حفاظتی اسمبلی را توضیح می دهد. هر اسمبلی می تواند برای اجرا شدن نوع خاصی از لایه امنیتی داشته باشد که بر سه نوع است: Required ،Optional و Denied.
• اطلاعاتی درباره اسمبلی های دیگر که یک اسمبلی به آنها وابسته است از قبیل نام و نسخه آنها.
• اطلاعاتی از قبیل زبان محلی اسمبلی، تاریخ، واحد پول و غیره.

ماژول ها
ماژول ها یا فایلهای DLL هستند یا فایلهای EXE Windows PE (Portable Executable) که حاوی IL ، Meta Data و به صورت اختیاری دارای manifest می باشد. هر اسمبلی فقط یک manifest می تواند داشته باشد، بنابراین اگر ماژولی حاوی manifest نیز بود فقط همان ماژول است که manifest دارد. CLR دو روش برای کامپایل هر فایل IL دارد، یکی install-time است که در زمان نصب برنامه فعال می شود و دیگری JIT یا کامپایلر just-in-time که به صورت method by method برنامه را کامپایل می کند. یعنی هنگامی که برنامه هر متد را صدا می زند کامپایل هم می شود . به صورت عادی برنامه ها به روش JIT کامپایل می شوند. Meta Data حاوی اطلاعات بیشتری درباره تعریف تایپ ها می باشد و به صورت IL است.

تایپ ها
تایپ ها دو نوع هستند، Value و Reference . هر تایپ دارای property ، method و field است. در ادامه درباره تایپ ها توضیحات بیشتری داده خواهد شد.

خلاصه از کتاب Professional VB.NET از Wrox



این مطلب را به اشتراک بگذارید :


   آشنائی با مایکروسافت دات نت و شناخت قابلیتها و بررسی ویژگیهای آن
سه شنبه 31 فروردین 1389  نویسنده : علی کلهری  دسته بندی : عمومی و دیگر مطالب  نظرات نظر دهید!

با اینکه مایکروسافت می دانست با ابزارهای قبلی شرکت می توان برنامه های اینترنتی نوشت ولی برای قبضه کردن بازار احتیاج به تکنولوژی جدیدی داشت . مایکروسافت از سال 1998 که ویژوال استودیو 6 را به بازار وارد کرد در پی حل این مشکلات بود تا در سال 2000 NET. را در کنفرانس برنامه نویسان حرفه ای PDC به جهان معرفی کرد . از آن روز تا به حال مایکروسافت حدود 80 % از توانش را برای تکمیل NET. مصرف کرده است . در همین راه پروتکلهای جدیدی مانند SOAP یا Simple Object Access Protocol را ایجاد کرد . همچنین نسل جدیدی از برنامه نویسی به عنوان Web Service را تهیه کرده است.

مهم ترین اهداف NET.

طراحی برنامه های اینترنتی بر سبک برنامه های Win32 GUI: همانطور که اشاره شد برنامه نویسی برای Win32 GUI از قدرت خوبی برخوردار است ، در NET. برنامه های اینترنتی نیز از همین قدرت برخوردارند .

داشتن رابط گرافیکی خوب اینترنتی: به علت تغییرات اساسی که در برنامه در این سیستم داده شده برنامه اینترنتی قابلیت گرافیکی در حد برنامه های Win32 GUI دارند .

انتقال ساده به سیستم های دیگر: در NET. براحتی می توان برنامه ها را با یک کپی ساده به کامپیوتر های دیگر انتقال داد .

پشتیبانی از زبانهای مختلف: در NET. به زبانهای برنامه نویسی مایکروسافت مثل ویژوال بیسیک ، سی شارپ و یا ++C محدود نیستیم . به طوری که در حال حاضر نسخه های Cobol.NET و Pascal.NET در حال ساخته شدن است . اما شرکت مایکروسافت زبان ویژوال بیسیک را به عنوان زبان اصلی برگزیده است . این مساله ریشه در تاریخ مایکروسافت دارد !

Platform های آینده: هم اکنون NET. برای ویندوز نوشته شده است ولی در آینده نزدیک نسخه های Unix و Linux و همچنین برای Mobile و PDA نیز ارائه خواهد شد . این امر این امکان را می دهد که برنامه ای که برای ویندوز در NET. نوشته اید در تمامی سیستم عامل ها و دستگاه های بالا قابل اجرا باشد. در ادامه توضیحات کامل برای این مبحث ارائه خواهد شد .

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

CLR زیر ساختار NET.
قلب NET Framework. همان CLR یا Common Language Runtime می باشد . CLR مسئول اجرای فایل ها ، فراخوانی آنها به حافظه و کامپایل کردن آنها به زبان MSIL یا Microsoft Intermediate Language است . بعدا ً کدهای IL در هنگام اجرا، بوسیله برنامه کامپایلر just-in-time به زبان ماشین تبدیل می شود . این بدین معناست که در NET. دو مرحله برای کامپایل شدن وجود دارد . اولین مرحله وقتی است که برنامه به هر زبان NET. که باشد به IL کامپایل می شود که این کد کامپایل شده به IL قابلیت پخش در تمام NET Framework. را دارد و بستگی به سیستم عامل ندارد . مرحله دوم زمان اجرا است که کامپایلر just-in-time کد IL را به زبان آن ماشینی که برنامه در آن می خواهد اجرا شود کامپایل می کند. CLR عهده دار برنامه نویسی شی گرا در سطح زبان های NET. است ، برای مثال شما می توانید یک object در سی شارپ داشته باشید و آن را در ویژوال بیسیک فرا بخوانید و همچنین بوسیله وراثت تغییراتی در آن object بدهید . همچنین CLR بر Garbage Collection ها نیز نظارت می کند . بحث کامل درباره CLR در ادامه خواهد آمد .

کلاس های پایه در NET Framework.
این لایه حاوی تمامی کلاس ها و آبجکت هایی است که معمولا ً مورد نیاز برنامه نویسان می باشد ، از جمله ADO.NET که نسل جدید ADO است ، XML که قسمت زیادی از NET. از این تکنولوژی استفاده می کند ، Threading یا آبجکت هایی برای برنامه نویسی ِ هر thread .

ASP.NET و Windows Forms
در مرحله بعدی دو روش کلی برنامه نویسی تحت اینترنت و تحت client قرار دارد که هر کدام خواص و آبجکت های مخصوص آن روش برنامه نویسی را دارا هستند .

خلاصه از کتاب Professional VBNET. از Wrox



این مطلب را به اشتراک بگذارید :


   این مقاله نحوه نشان دادن قابلیتهای مرورگر با استفاده از ASP.NET را نشان می دهد.
سه شنبه 31 فروردین 1389  نویسنده : علی کلهری  دسته بندی : عمومی و دیگر مطالب  نظرات نظر دهید!

 

اگرچه در حال حاضر جنگ مرورگرها تقریبا تمام شده است اما این موضوع دلیلی بر شناخته نشدن قابلیتهای مرورگرها نیست. در اینجا توانایی ASP.NET در نشان دادن قابلیتهای مرورگرها بحث شده است. بعنوان نمونه، مثال ۱ نوع مرورگر را به ما نشان می دهد.

<html><body>
You are using <% =Request.Browser.Type %>
</body></html>

برای نمونه اگر شما از IE 5 استفاده می کنید نتیجه خروجی چنین باید باشد:

You are using IE5

در مثال ۱ Request.Browser.Type یک رشته را که همان نام ونسخه‎ی مرورگر است را بر می گرداند. اما این موضوع چگونه صورت میگیرد ؟

شئ HTTPBrowserCapabilities 
در حقیقت خاصیت Browser در شئ Request کلاسی از HTTPBrowserCapabilities است که در فضانام System.Web قراردارد. وقتی که این کلاس روی یک صفحه ASP.NET نمونه سازی می شود خواص صفحه سرویس گیرنده ای را نشان می دهد که از آن برای اجرا شدن کد استفاده شده است. شئ Request در برگیرنده این خاصیت مرورگر است که این کلاس را میتوان معادل کلاس MSWC. BrowserCapabilities در ASP کلاسیک در نظر گرفت.

در لیست زیر اکثر خاصیتهای شی HTTPBrowserCapabilities تشریح شده است:

ActiveXControls: نشان می دهد که مرورگر اکتیویکس را ساپورت می کند یا نه.
AOL: چک می کند که مرورگر از نوع AOL است یا نه.
Cookies: نشان می دهد که مرورگر کوکی ها را ساپورت می کند یا نه باید توجه داشت که این خاصیت وضعیت فعال بودن یا غیر فعال بودن کوکی ها را نشان نمی دهد.
Crawler: نشان میدهد که مرورگر سرویس گیرنده از موتورهای جستجو تاثیر می پذیرد یا نه.
Browser: نوع مرورگر را نشان می دهد.
Frames: نشان می دهد که مرورگر از قابلیت Frame برخورداراست یا نه.
MajorVersion: نسخه اصلی مرورگر را نشان می دهد بعنوان مثال در IE5 عدد 5 نشانگر نسخه اصلی است.
MinorVersion: نسخه جزیی (کوچکتر) مرورگر را نشان می دهد بعنوان مثال در IE5.1 عدد .1 نشانگر نسخه جزیی است.
Type: نوع ونسخه مرورگر را بصورت یک رشته بازمیگرداند..
VBScript: نشان می دهد که مرورگر VBScript را ساپورت می کند یا نه.
Version: نسخه اصلی و جزیی مرورگر را بعنوان یک رشته برمی گرداند.

در زیر نمونه کامل یک مثال آورده شده است.

<%@ page language="VB" %>
<%@ Import Namespace="System.Web" %>
<html>
<body>
<head><title>HTTPBrowserCapabilities Demo</title></head>

<%
Dim browserObj As HTTPBrowserCapabilities
browserObj = Request.Browser
%>
<font face="verdana, arial" size=2>

<p>Your browser supports ActiveX controls: <%=browserObj.ActiveXControls %> </p> 
<p>Your browser type: <%=browserObj.Type %> </p>
<p>Your browser version: <%=browserObj.Version%> </p>

... Add any other property that you would like to display

</font>
</body>
</html>



این مطلب را به اشتراک بگذارید :


   بررسی مجموعه رویدادهایی که هنگام فراخوانی یک صفحه ASP.NET روی می دهند مانند Init و Load...
سه شنبه 31 فروردین 1389  نویسنده : علی کلهری  دسته بندی : عمومی و دیگر مطالب  نظرات نظر دهید!

 

هنگامی که یک صفحه ASP.NET فراخوانی شود مجموعه رویدادهای زیر به ترتیب رخ می دهند:

Init: اولین رویدادی که هنگام فراخوانی صفحه انجام می گردد.
Load: این رویداد قبل از همه رویدادهای مربوط به کنترل های موجود درون صفحه رخ می دهد.
PreRender: این رویداد بعد از همه رویدادهای مربوط به کنترل های موجود درون صفحه رخ می دهد.
Unload: هنگامی که صفحه از حافظه تخلیه می گردد این رویداد رخ می دهد.
Disposed: این رویداد بعد از آزاد سازی حافظه از صفحه روی می دهد.

جهت رسیدگی به این رویدادها می توان برای هر یک، روال مجزائی نوشت. بعنوان مثال روال رسیدگی کننده به رویداد Load می تواند مانند زیر باشد:

<Script Runat="Server">

Sub Page_Load
   ' Place any code that you want to execute here
End Sub
</Script>

توجه داشته باشید که شما با ایجاد روالی بنام Page_Load می توانید به رویداد Load مربوط به یک صفحه رسیدگی کنید. بعبارت دیگر جهت رسیدگی به رویدادهای Disposed ،Unload ،PreRender ،Load ،Init باید از روال هایی با نامهای Page_Unload ،Page_PreRender ،Page_Load ،Page_Init و Page_Disposed استفاده نمود.

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

مهمترین تفاوت میان رویدادهای Load و PreRender این است که رویداد Load قبل از همه رویدادهای مربوط به کنترل های درون صفحه انجام می شود. جهت روشن شدن مطلب به مثال زیر توجه فرمائید. این صفحه دارای سه رویداد Button_Click ،Page_Load و Page_PreRender می باشد. اگر بر روی دکمه موجود کلیک شود ابتدا روال Page_Load، بعد روال Button_Click و در نهایت روال Page_PreRender اجرا می گردد.

<Script Runat="Server">

Sub Page_Load
   Response.Write( "<li> Page_Load" )
End Sub

Sub Button_Click( s As Object, e As EventArgs )
   Response.Write( "<li> Button_Click" )
End Sub

Sub Page_PreRender
   Response.Write( "<li> Page_PreRender" )
End Sub

</Script>

<html>
<head><title>EventOrder.aspx</title></head>
<body>

<form runat="Server">

<asp:Button
   Text="Click Here!"
   OnClick="Button_Click"
   Runat="Server" />

</form>

</body>
</html>

 



این مطلب را به اشتراک بگذارید :


   اولین برنامه در ASP.NET و شرح قسمتهای آن
سه شنبه 31 فروردین 1389  نویسنده : علی کلهری  دسته بندی : عمومی و دیگر مطالب  نظرات نظر دهید!

 

یک صفحه ASP.NET بطور عمده دارای دو بخش است: قسمت تعریف کد و قسمت اجرا. قسمت تعریف کد شامل تعریف کلیه موارد و زیربرنامه هایی است که در قسمت اجرای کد استفاده می شوند. قسمت اجرای کد بخشی از صفحه است که در هنگام فراخوانی صفحه اجرا می شود و حاصل آن کد HTML است که به مرورگر ارسال می گردد.

بعنوان مثال در زیر یک صفحه ASP.NET ساده آمده است که حاصل اجرای آن نمایش زمان جاری است. این صفحه به ویژوال بیسیک نوشته شده است.

<Script Runat="Server">
Sub Page_Load
myLabel.Text = DateTime.Now()
End Sub
</Script>
<html>
<head><title>Simple.aspx</title></head>
<body>
<asp:Label
ID="myLabel"
Runat="Server" />
</body>
</html>

قسمت تعریف کد
قسمت تعریف کد در لیست ۱ آن قسمت از صفحه است که با برچسب <Script Runat="Server"> شروع شده و با برچسب <Script/> تمام می شود. در لیست بالا یک زیربرنامه بنام Page-Load تعریف شده است که در هنگام فراخوانی صفحه، بطور خودکار اجرا می شود. این زیربرنامه صفت Text مربوط به ابزار Label را با زمان و تاریخ جاری مقداردهی می کند.

قسمت اجرای کد
قسمت اجرای کد در این صفحه عبارت است از مابقی صفحه در زیر قسمت تعریف کد. شما حتما تاکنون متوجه شده اید که عمده قسمت اجرای کد می تواند همان HTML معمولی باشد. در این قسمت از ابزار Label از مجموعه ابزارهای ASP.NET برای نمایش یک متن یا برچسب بروی صفحه HTML استفاده شده است. نحوه تعریف ابزار Label در زیر آمده است:

<asp:Label ID="myLabel" Runat="Server"/>

هنگامی که این صفحه اجرا می شود این ابزار هم به کد متناظر HTML تبدیل می شود.



این مطلب را به اشتراک بگذارید :


 


.:: صفحات وب ::.

(تعداد کل صفحات=69) :   1، 2، 3، 4، 5، 6، 7، ...،  
منوی اصلی سایت

  آرشیو

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

 
این سایت را صفحه خانگی خود كنید! ذخیره كردن صفحه! اضافه کردن این سایت به علاقه مندیها! لینک ATOM لینک RSS نسخه موبایلی سایت


زبان های سایت

مسئولین و نویسندگان سایت

علی كلهری

وحید جلوخانی

مهرداد رحمانی

خشایار همتی

 

  نظرسنجی
" به نظر شما در حال حاضر کدامیک از مادربردهای زیر بهتر و با کیفیت تر و پیشرفته تر است؟ "





  جستجو در سایت



  لینك سرا
  • سیب دانلود | مرجع دانلود نرم افزار و بازی
    فقط دانلود
    دانلود رایگان | وطن دانلود
    دانلودها
    سایت رسمی استاد محمد نوری
    گروه موسیقی و تئاتر ژوو
    تبلیغات پارسیان
    ITCOM
    دنیای كامپیوتر
    دانلود نرم افزار کامپیوتر موبایل
    Iran Hot Links
    لینکستان بابلی
    ملاردی ها دات کام
    وب سایتان را ثبت کنید!!!
    فهرست وب سایت های ایرانی
    دانلود نرم افزار + کرک
    تاریخ تمدن باستان
    فهرست وب سایت های ایرانی
    ..:دنیای بازیهای رایانه ای:..
    اس ام اس عاشقانه
    ۞★ خوشگل ترین ها ★۞
    جاده ی متروک
    " ...::جک,لطیفه,معما و داستانهای جالب::... "
    .:: دومیـــــــــم | سرگرمی و تفریح ::.
    دایرکتوری وبلاگ های ایرانی
    همه لینکها

  • آمار زنده سایت و اطلاعات فنی
    کل بازدید : [cb:stat_total_view]
    بازدید امروز :[cb:stat_today_view]
    بازدید دیروز : [cb:stat_yesterday_view]
    بازدید این ماه : [cb:stat_this_month_view]
    بازدید ماه قبل : [cb:stat_last_month_view]
    تعداد کل پست ها : [cb:stat_total_post]
    آخرین بازدید : [cb:stat_last_view_date]
    آخرین بروز رسانی : [cb:stat_modify_date]

    اطلاعات فنی سایت

     

     

     

     

     

     

     Soqoo Link Exchange

     Text Backlink Exchanges

     Iranbloglist.com

     Text Back Links Exchanges

     Text Back Link Exchange

     linkcsere

     Text Back Links Exchange

     Blog Ratings

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


      كنفرانس اینترنتی سایت

    شما نیز می توانید بصورت رایگان در كنفرانسهای اینترنی سایت تخصصی كامپیوتر شركت كنید، فقط كافی است نرم افزار oovoo را از لینك زیر دانلود و نصب كنید و آی دی ما را اد كنید . كنفرانس های اینترنتی سایت در روز پنجشنبه هر هفته ساعت 22 برگزار می شود.

    دانلود نرم افزار oovoo

    oovoo id : itiband


      لوگوی دوستان







    :: كپی بردای از مطالب این سایت فقط با ذكر منبع مجاز می باشد  ::

    itiband.mihanblog.Com © 2010 | Privacy Policy | Terms Of Use | Website Template by itiband