پنجره ای به جهان فناوری اطلاعات
 
             
   

راهنما

 

اینجا هستید :

مطالب سایت

اینترنت و شبکه

مرتبط با "اینترنت و شبکه" :

»اصول طراحی سایت های اینترنتی

»جستجو گر ها و SEO Search Engine Optimization

»تجارت الکترونیک و بازاریابی اینترنتی

 

 

مطالب مرتبط

 

»

درباره من

»

تفاوت پردازنده های 32 و 64 بیتی

»

معرفی سایت های مختلف کامپیوتر (برنامه نویسی ، پایگاه داده ها ، بانک اطلاعات ، اطلاعات عمومی )

 

 

مطالب مشابه

 

»

پورتال چیست

»

پورتال و ارتباطات

»

نوجوانان در دنیای مجازی

»

آسیب های ناشی از اینترنت و راهکارهای پیشگیری از آن

»

چگونه چند کامپیوتر را به هم متصل کنیم (آموزش شبکه)

»

چهار اصل در تایپ خبرنامه

»

شهر کوچک، وب سایت بزرگ

»

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

»

وبلاگستان زبان فارسی

»

دسترسی به اینترنت از طریق کابل برق

»

نگاهی به جایگاه و حضور زنان در وب

»

سالم سازی فضای سایبر در مقابل راهکار صرفا فنی فیلترینگ

»

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

»

آیا Yahoo کاربران ایرانی را تحریم کرد؟!

»

اهمیت تبلیغات در اینترنت

»

وب 3

 

 

جستجو های مشابه

 

G نرم افزار چیست

G سایت کامپیوتر

G نرم افزار

G تکنولوژی های جدید کامپیوتر

G سخت افزار چیست

G تکنولوژی جدید کامپیوتر

G دات نت چیست

G روش نوشتن طرح

G مقاله در مورد XML

G تفاوت لینوکس و ویندوز

G ساختار سیستم فایل لینوکس

G سیستم ساختار فایل روی دیسک

G معرفی کتاب کامپیوتر

G طراحی سازمان های پیچیده

G گرافیک کامپیوتر چیست

 

 

سایر بخش های سایت

 
صفحه اول پنجره ای به جهان فناوری اطلاعات صفحه اول

درباره من درباره من

About me About me

تماس با من تماس

عضویت در خبرنامه عضویت در خبرنامه

جستجوی پیشرفته در سایت جستجوی پیشرفته

فید خوان آر اس اس - RSS Feeds

فیدخوان (RSS)

فید خوان اتم - ATOM Feeds

فیدخوان (ATOM)

 

 

پنجره ای به جهان فناوری اطلاعات

 
صفحه اول پنجره ای به جهان فناوری اطلاعات صفحه اول

طراحی وب سایت

تازه های رایانه و تکنولوژی

برنامه نویسی

پایگاه داده ها و بانک های اطلاعاتی

اینترنت و شبکه

امنیت

نکته ها و ترفند ها

معرفی نرم افزار

سخت افزار

گرافیک کامپیوتری

سیستم عامل

بازی های رایانه ای

کتاب الکترونیک ebook

تجارت، مدیریت و بازاریابی

حسابداری و امور مالی

تحقیق و توسعه

پیوند ها
 

 

 

پیوند های روزانه

   
 

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

 
 

 
 

دارای مقام مشورتی ویژه از اکوسوک سازمان ملل متحد
اولین موسسه خیریه دریافت کننده مجوز ملی از وزارت کشور
سوئیس SGS دارای گواهی استاندارد جهانی موسسات غیر دولتی از

 
 

 

تبلیغات

   
 

 
 

 

 

دات نت و جایگاه ASP.NET

کد مطلب : 249 چاپ - دات نت و جایگاه ASP.NET عضویت در خبرنامه سایت تماس با من

 

 

 

دات نت و جایگاه ASP.NET

شرکت مایکروسافت در جولای سال 2000 میلادی در کنفرانس پیاده کنندگان حرفه ای (PDC) ابتکار جدید خود یعنی دات نت را معرفی نمود.

 

●معرفی دات نت و جایگاه ASP.NET

شرکت مایکروسافت در جولای سال 2000 میلادی در کنفرانس پیاده کنندگان حرفه ای (PDC) ابتکار جدید خود یعنی دات نت را معرفی نمود. دات نت چیست ؟ در صورتیکه صفحه اختصاصی دات نت در سایت مایکروسافت را مشاهده کرده باشید با تعریف زیر مواجه می گردید : " پلات فورم (Plathform) مایکروسافت برای سرویس های وب XML " . مایکروسافت همچنین دات نت را بعنوان روشی برای توزیع و عرضه سرویس های نرم افزاری مطرح نموده است . تعاریف فوق گرچه برخی از ابعاد مهم دات نت را تشریح می نمایند ولی نگرش فوق صرفا" از یک بعد ساده و از زاویه یک شرکت مورد توجه قرار گرفته است . برای پیاده کنندگان نرم افزار دات نت یک الگوی جدید جهت طراحی و پیاده سازی نرم افزار است . در این مقاله به بررسی الگوی فوق پرداخته و از این رهگذر جایگاه ASP.NET در این پروژه نیز تبین خواهد شد.

تاکنون از خود پرسیده اید که برنامه های کامپیوتری چگونه کار می کنند ؟ چگونه کدهای نوشته شده به یکی از زبانهای سطح بالا نظیر ویژوال بیسیک به یک برنامه اجرایی تبدیل می شوند؟ در گذشته عملیات فوق از طریق بکارگیری کمپایلرها ( مترجم ها ) تحقق پیدا می کرد. کمپایلرها برنامه های خاصی هستند که کدهای نوشته شده به یکی از زبانهای سطح بالا را به زبان اختصاصی ماشین نظیر اسمبلی ترجمه می نمایند ( این کدها در ادامه به زبان ماشین ترجمه خواهند شد) . کدهای اسمبلی و کدهای زبان ماشین کاملا" وابسته به یک پلات فورم خاص خواهند بود. مثلا" کدهای ماشین نوشته شده برای یک پردازنده اینتل قادر به اجراء بر روی هر نوع ماشین دیگر نظیر مکینتاش نخواهند بود. ( در حقیقت کدهای ماشین قادر به اجراء بر روی ماشینی با مجموعه دستورات خاص خواهند بود و در این راستا ماشین دیگر که از پردازنده دیگر و به تبع آن از مجموعه دستورات خاصی استفاده می کند، قابل اجراء نخواهند بود ) .

برنامه های نوشته شده برای ویندوز به زبان ماشین ترجمه شده بگونه ای که قادر به استفاده از مجموعه توابع کتابخانه ای موجود در Win32 باشند. کتابخانه فوق شامل مجموعه ای از صدها تابع مختص ویندوز است . توابع فوق مستقیما" با ویندوز ارتباط و مسیولیت ارتباط با سطوح سطح پایین سخت افزار را برعهده خواهند گرفت . زمانیکه یک برنامه ویژوال بیسیک قصد نمایش یک MessageBox را داشته باشد ،تمامی پردازش های مربوطه تا زمانیکه برنامه ترجمه نشده و به یک فایل اجرایی تبدیل نگردد ،آغاز نخواهد شد. پس از ترجمه برنامه ، دارای یک فایل اجرایی با انشعاب .exe خواهیم بود. فایل فوق را می توان بر روی هر محیطی که سیستم عامل ویندوز بر روی آن نصب شده باشد، اجراء نمود.( در چنین شرایطی لزومی به حضور ویژوال بیسیک بر روی کامپیوتر مورد نظر نخواهد بود). در حقیقت کمپایلر ویژوال بیسیک کدهای سطح بالا را بگونه ای تبدیل نموده که برای سیستم عامل قابل فهم باشند. در نهایت سیستم عامل کدهای فوق را بگونه ای که قادر به اجراء بر روی یک کامپیوتر خاص باشند، ترجمه و اجراء خواهد نمود.

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

● در رابطه با رویکرد فوق برخی مسایل اساسی وجود دارد که در ادامه به آنها اشاره می گردد:

▪ رویکرد فوق کاملا" وابسته به پلات فورم است . این بدان معنی است که زمانیکه یک برنامه را مثلا" با ویژوال بیسیک می نویسید ،برنامه فوق صرفا" بر روی کامپیوترهایی که از ویندوز استفاده می نمایند، قابل اجراء خواهد بود.

▪ هیچگونه تضمینی وجود ندارد که دو برنامه اجرایی نوشته شده با زبانهای برنامه نویسی متفاوت دارای کدهای مشابه سطح پایین باشند. بنابراین اشتراک مجموعه ای از توابع برای زبانهای برنامه نویسی غیرممکن بنظر می رسد. ( مایکروسافت با ارایه تکنولوژی Com سعی در ارایه راهکاری جهت حل مشکل فوق را داشت ولی عملا در مراحل عملیاتی با مشکل مواجه گردید. مثلا" اگر قصد بکارگیری عناصر COM نوشته شده به زبان ویژوال بیسیک را بهمراه عناصر COM نوشته شده به زبان ویژوال C+ + را داشته باشید در زمان پاس دادن پارامتر بین آنها به مشکلات خاصی برخورد خواهید کرد.

▪ کتابخانه Win32 API چیزی بیش از مجموعه وسیعی از توابع نیست . توابع فوق هریک دارای تعاریف اختصاصی خود بهمراه پارامترهای مربوطه می باشند. در برنامه های ویژوال بیسیک و یا C++ به دفعات ممکن است این نیاز احساس گردد که مستقیما" یکی از توابع موجود در Win32 API فراخوانی گردد ، یافتن تابع مورد نظر جهت فراخوانی کار ساده ای بنظر نمی آید!

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

● دات نت

مایکروسافت با ارایه دات نت عملا" پاسخ های شایسته ای را نیز برای هر یک از مسایل گفته شده ارایه نموده است. از دیدگاه یک پیاده کننده نرم افزار ،دات نت دارای دو بخش اساسی است : CLR(Common Language Runtime) و کلاس های فریمورک دات نت (.NET framework Classes) . بخش های فوق بگونه ای به مسایل اشاره شده پاسخ های مناسبی را ارایه داده اند.

●Common Language Runtime(CLR )

در ابتدای مقاله به نحوه عملکرد کمپایلرهای کلاسیک در رابطه با ترجمه کدهای نوشته شده توسط یکی از زبانهای سطح بالا به دستورات قابل فهم برای کامپیوتر اشاره گردید . در دات نت فرآیند ترجمه یک برنامه سطح بالا به زبان ماشین بصورت کاملا" محسوس تغییر یافته است . کمپایلرهای سازگار با دات نت کدهای نوشته شده توسط یکی از زبانهای برنامه نویسی را به Win32 API Call ترجمه نخواهند کرد.کمپایلرهای فوق کدهای نوشته شده را به یک زبان میانه خاص با نام MSIL(Microsoft Intermediate Language) تبدیل خواهند کرد. در ادامه CLR کدهای زبان میانه ای (IL) را اخذ و on the fly آنان را به دستورالعمل های اختصاصی ماشین تبدیل خواهند کرد.

توجه داشته باشید که مرحله CLR به Runing Program صرفا" زمانی اتفاق خواهد افتاد که یک برنامه اجراء گردد. کمپایلر فایلی با محتویات کدهای MSIL را ایجاد خواهد کرد.زمانیکه فایل فوق اجراء می گردد ،کدهای MSIL به سمت CLR روانه شده و در ادامه با استفاده از مترجم JIT(Just-In-Time) کدهای IL به دستورات قابل فهم برای کامپیوتر تبدیل خواهند شد. ( یک برنامه در حال اجراء بکمک CLR )

● NET FramWork Classes

در برنامه های نوشته شده تحت ویندوز با استفاده از Win32 API زمینه استفاده از مجموعه ای وسیع از توابع فراهم می گردد. توابع فوق برای انجام عملیات متفاوتی نظیر: رابط گرافیکی کاربر ،عملیات متفاوت در رابطه با سخت افزار و سایر عملیات مرتبط ، باسیستم عامل مرتبط خواهند شد. بنابراین برنامه های تحت ویندوز برای ارتباط با سیستم عامل و بهره مندی از خدمات آن ، خواسته خود را از طریق فراخوانی توابع مربوطه در Win32 API انجام خواهند داد. برنامه های دات نت چگونه با سیستم عامل مرتبط خواهند شد؟ خوشبختانه Win32 API مربوط به گذشته بوده و برنامه های دات نت از کلاس های فریمورک دات نت استفاده می کنند. فریمورک فوق مجموعه ای سازمانیافته از کلاس هایی است که بمنظور انجام تمامی عملیات مورد نظر یک طراح و پیاده کننده نرم افزار طراحی و پیاده سازی شده اند.

برخلاف Win32 API ،کلاس های دات نت در یک سیستم سلسله مراتبی NameSpace سازماندهی شده اند.هر NameSpace می تواند دارای تعداد نامحدودی از کلاس ها باشد. مثلا" NameSpace پایه ای System شامل کلاس هایی است که از آنها برای نوع داده های اولیه نظیر : System.Int32, System.Array , System.string و غیره استفاده می شود. NameSpace ،System.Data شامل کلاس ها و سایر Namespace های مربوطه برای دستیابی به داده ها است . NameSpace ،System.IO شامل کلاس های مربوطه برای انجام عملیات متفاوت در رابطه با فایل ها و ورودی و خروجی است . دات نت دارای صدها کلاس بوده که تمامی آنها با استفاده از Namespace ها بدرستی سازماندهی شده اند. طراحان و برنامه نویسان می توانند در صورت نیاز اقدام به طراحی کلاس های اختصاصی و NameSpace مربوط به خود نموده و آنها را در برنامه های دات نت خود استفاده نمایند.

دقت داشته باشید که کلاس های فریمورک دات نت شامل یک کلاس برای هر یک از نوع داده ها در NameSpace ، System می باشد. زبانهای برنامه نویسی دات نت نظیر VB.NET,C#,Jscript.NET,? می بایست از این نوع ها استفاده نمایند . این بدان معنی است که هر نوع داده بمنزله یک کلاس در نظر گرفته خواهد شد. بنابراین زمانی که عملیاتی مطابق زیر را انجام می دهیم :

IN VB.NET: Dim i as Integer

IN C# : int i;

IN Jscript.NET : Var i;

در حقیقت یک نمونه از یک کلاس System.Int32 را ایجاد کرده ایم . با توجه به این امر که هر یک از زبانهای برنامه نویسی از نوع داده های یکسان استفاده و از مجموعه یکسانی از کلاس ها استفاده می نمایند ،ارتباط متقابل بین زبانها ی برنامه نویسی که زمانی بیش از یک آرزو نبود ،میسر خواهد شد . بدون دلیل نیست که CLR را Common Language Runtime نامیده اند. برنامه های نوشته شده توسط هر یک از زبانهای برنامه نویسی در نهایت و پس از ترجمه توسط کمپایلرهایی که دات نت را حمایت می نمایند ، به کدهای MSIL تبدیل خواهند شد ،بدین ترتیب این اطمینان و تضمین بوجود خواهد آمد که تا این مرحله ( مرحله ترجمه کدهای نوشته شده با یک زبان برنامه نویسی و ترجمه آنها به MSIL ) تمامی زبانهای برنامه نویسی از نوع داده ها و کلاس های موجود در فریمورک دات نت استفاده کرده اند.

● حل مشکلات سه گانه

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

▪ مشکل اول در مرحله تیوری نمی تواند باعث بروز مسایلی گردد . در تیوری مایکروسافت می تواند CLR و کلاس های فریمورک دات نت را برای هر نوع پلات فورم و سیستم عامل ارایه نماید.این بدان معنی است که کدهای MSIL تولیده شده توسط VB.NET را می توان بر روی لینوکس نیز اجراء نمود. در دنیای واقعی مایکروسافت تاکنون در زمیته تامین خواسته هایی اینچنین فعالیت های خاصی را انجام نداده است .

▪ در رابطه با مشکل دوم ( ارتباط متقابل بین زبانها ) با ارایه نوع های داده یی و توابع مورد نظر که در سطح سیستم عامل فعالیت می نمایند ،با مسیله فوق بدرستی برخورد و راهکار مناسبی ارایه شده است . بر اساس راهکار فوق ،تمامی زبانهای برنامه نویسی مورد حمایت در دات نت می بایست از کلاس های فریمورک دات نت استفاده نموده و پس از ترجمه اولیه کدهای MSIL را تولید نمایند.

▪ در رابطه با مشکل سوم ( ساختار آشفته Win32 API ) فریمورک دات نت ،تمامی کلاس ها را در یک ساختار سلسله مراتبی سازماندهی نموده و از این طریق دستیابی ،استفاده و شناخت عملکرد هر یک از آنان بمراتب راحت تر از win32 API انجام خواهد شد.

● جایگاه ASP.NET در دات نت

ASP.NET نسخه جدید ASP است که توسط مایکروسافت ارایه شده است . ASP از تمامی فاکتورهای تشریح شده دات نت که به آنها اشاره گردید بدرستی استفاده می کند. این بدان معنی است که صفحات ASP.NET می بایست با استفاده از یکی از زبانهای سازگار با دات نت نظیر : VB.NET,C#,Jscript.NET ایجاد گردنند.

زمانیکه یک صفحه ASP.NET بکمک یک مرورگر مشاهده می گردد ، در ابتدا ASP.NET engine بررسی خواهد کرد که آیا آخرین نسخه بهنگام سازی شده از کدهای IL برای صفحه ASP.NET وجود دارد؟ در صورتیکه این نسخه وجود داشته باشد ،کدهای IL روانه CLR شده و خروجی HTML تولیده شده توسط صفحه ASP.NET برای مرورگر سرویس گیرنده ارسال خواهد شد. در صورتیکه کدهای IL موجود نبوده و یا صفحه اولیه ASP.NET از زمانیکه کدهای IL آن تولید شده اند ،تغییر کرده باشد ،صفحه ASP.NET می بایست مجددا" ترجمه گردد. در چنین حالتی با توجه به زبانی که برای نوشتن کدهای صفحه ASP.NET استفاده شده است ،کمپایلر مربوطه فعال و کدهای IL تولید خواهند شد. کدهای IL فوق بر روی دیسک ذخیره تا مورد استفاده در آینده قرار گیرند.

در صورتیکه تاکنون صفحات ASP.NET را ایجاد کرده باشید ،به نقش بسیار مهم کنترل های وب واقف شده اید. از کنترل های فوق می توان بهمراه صفحات ASP.NET برای ایجاد عناصر HTML نظیر : Text Box,Labels,ListBoxes,? استفاده نمود. مثلا" برای ایجاد یک TextBox بکمک یک کنترل وب می توان از عبارتی مطابق زیر استفاده نمود :

در حقیقت صفحه ASP.NET می تواند شامل ترکیبی از کدهای Server-Side ( محصور شده در بلاک Script ) و in-line HTML باشد.

یک نمونه صفحه ASP.NET

Simple ASP.NET Demo

چگونه کدهای Server-Side و HTML موجود در یک صفحه ASP.NET ترجمه شده تا کمپایلر VB.NET قادر به شناخت آنان باشد؟. یکی از مهمترین عملیاتی که توسط ASP.NET engine می بایست انجام گیرد ،ترجمه کدهای HTML/Server-Side به کلاسی است که کمپایلر VB.NET ( و یا سایر کمپایلرهای Jscript.NET,C#) قار به تشخیص آنان باشند.پردازش فوق پیچیده بوده و از حوصله این مقاله خارج است . کافی است به این نکته اشاره گردد که صفحات به کلاسی تبدیل خواهند شد که خصوصیات خود را از کلاس page ( یکی از کلاس های فریمورک دات نت ) به ارث خواهند برد.در حقیقت تمامی کنترل های وب که در صفحات ASP.NET استفاده می گردند ،بصورت کلاس هایی در فریمورک دات نت در نظر گرفته خواهند شد. در این راستا تمامی کدهای Html که بصورت موردی در صفحات ASP.NET استفاده می گردنند ،بعنوان نمونه هایی از کلاس LiteralText در نظر گرفته خواهند شد.

اولین نسخه ASP.NET در ماه جولای سال 2001 عرضه گردیده است . (Beta Version) با استفاده از ASP.NET می توان کارهای بزرگ و شگفت انگیزی را انجام داد که اگر قصد انجام آنها را به کمک ASP کلاسیک داشتیم.

شرکت سخا روش

 

 

 

 

 

 

مطالب مشابه (مطالبی که هم گروه این مطلب هستند یا دارای ارتباط موضوعی هستند) :

 
پورتال چیست

پورتال و ارتباطات

نوجوانان در دنیای مجازی

آسیب های ناشی از اینترنت و راهکارهای پیشگیری از آن

چگونه چند کامپیوتر را به هم متصل کنیم (آموزش شبکه)

چهار اصل در تایپ خبرنامه

شهر کوچک، وب سایت بزرگ

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

وبلاگستان زبان فارسی

دسترسی به اینترنت از طریق کابل برق

نگاهی به جایگاه و حضور زنان در وب

سالم سازی فضای سایبر در مقابل راهکار صرفا فنی فیلترینگ

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

آیا Yahoo کاربران ایرانی را تحریم کرد؟!

اهمیت تبلیغات در اینترنت

وب 3

GPS راه حلی جدید برای حل معضل ترافیک

مروری بر پادکست Podcast یا پادپخش و روش ارایه محتوایی پادکستینگ

تلفن اینترنتی (VOIP) چیست؟

گام های لرزان اینترنت پرسرعت

رنجش وب 2 از رایانه های آلوده

اینترنت وتوانمندی های آن

ساختار سایت ، URL و نام فایلها

معمایی به نام محتوا

سهم ناچیز ایران درتجارت 22 تریلیون دلاری

شبکه اترنت (Ethernet) چیست؟

مشتری مداری رمز موفقیت شرکت سیسکو است

سرنوشت غم انگیز اینترنت در سال 2010

آموزش ساخت وبلاگ

GPRS چیست ؟