كنترل های پويا در ASP.NET ( بخش دوم ) 
در اين بخش به بررسی يك نمونه مثال كاربردی خواهيم پرداخت تا توان خود را جهت ايجاد كنترل های سرويس دهنده به صورت پويا افزايش دهيم .
به دليل استفاده از كنترل <asp:Literal > ، در ابتدا با اين كنترل و جايگاه استفاده از آن آشنا می شويم .

كنترل سرويس دهنده   <asp:Literal >
در زمان كدينگ برنامه های وب به مواردی برخورد خواهيم كرد كه لازم است متن و يا تگ های XHTML را به يك PlaceHolder به منظور كمك در مديريت و فرمت كنترل هائی كه به صورت پويا ايجاد شده اند ، اضافه نمائيم . به عنوان نمونه ، ممكن است لازم باشد كه يك پاراگراف ، خطوط خالی و يا كاراكترهای خاصی را به همراه كنترل ها استفاده نمائيم تا آنها با يك فرمت مناسب بر روی صفحه نمايش داده شوند . با توجه به اين كه متن ، رشته و يا تگ های XHTML را نمی توان در PlaceHolder قرار داد ، می بايست آنها را توسط اسكريپت در زمان ايجاد كنترل ها  به PlaceHolder اضافه نمود . در چنين مواردی می توان از كنترل   <asp:Literal >  استفاده نمود .
ايجاد كنترل Literal توسط اسكريپت همانند ساير كنترل های سرويس دهنده در ASP.NET است . بدين منظور كافی است كه  كنترل به عنوان يك كنترل Literal تعريف و به خصلت Text آن يك متن و يا رشته مبتنی بر XHTML نسبت داده شود و در ادامه آن را به  PlaceHolder اضافه كرد .از كنترل های Literal به تعداد مورد نياز می توان در يك PlaceHolder استفاده نمود .
در كد زير ، يك كنترل Literal تعريف تا در ادامه يك خط خالی در بين ساير كنترل های پويای ايجاد شده ، اضافه نمايد .

Dim MyBreak As Literal
MyBreak.Text = "<br/>"
MyPlaceHolder.Controls.Add(MyBreak)

مثال : ايجاد كنترل های سرويس دهنده با استفاده از اسكريپت
در اين مثال قصد داريم متناسب با هر يك از گروه مقالات تعريف شده در بانك اطلاعاتی مقالات ، دكمه هائی را بر روی يك فرم وب قرار دهيم تا كاربران پس از كليك بر روی هر يك از آنها ، مقالات مربوط به گروه انتخابی را مشاهده نمايند .دكمه ها به صورت پويا و در زمان اجراء ايجاد خواهند شد و متناسب با تغيير داده موجود در بانك ، وضعيت آنها نيز تغيير خواهد كرد . شكل زير ، خروجی برنامه را نشان می دهد .

 ايجاد كنترل های سرويس دهنده به صورت پويا


بدين منظور از يك بانك اطلاعاتی اكسس با نام Maghalat_Srco.mdb  كه شامل دو جدول Article_Type و Article_Spec  است ، استفاده خواهيم كرد  . در اولين جدول با نام Article_Type ، گروه های مختلف مقالات ذخيره می گردد .

جدول Article_Type

 نام فيلد

نوع

Group_ID

AutoNumber ، Primery Key

Name

Text

Description

Text

در جدول دوم با نام  Article_Spec ، مشخصات هر يك از مقالات ذخيره می گردد .

جدول Article_Spec

 نام فيلد

نوع

 Article_ID

AutoNumber ، Primery Key

Group_ID

Number , Integer

 Title

Text

در ادامه يك فرم وب با نام Show_Article_By_Group.aspx  را ايجاد می نمائيم كه در هر يك از بخش های  Script و Html آن از امكانات متعددی استفاده شده است .

در بخش Html از سه كنترل سرويس دهنده با اهداف زير استفاده شده است :

  • <asp:PlaceHolder> : تعريف يك ناحيه برای نمايش كنترل هائی كه آنها را به صورت پويا و در  زمان اجراء متناسب با داده موجود در بانك اطلاعاتی ايجاد خواهيم كرد . در اين مثال ، برای هر گروه مقاله تعريف شده در بانك اطلاعاتی يك button به صورت پويا ايجاد خواهد شد . 

  • <asp:AccessDataSource> : با استفاده از كنترل منبع داده فوق ، به بانك اطلاعاتی Maghalat_Srco.mdb دستيابی و در اولين مرتبه ( زمان استقرار صفحه در حافظه و از طريق روتين page_Load ) ، متناسب با داده موجود در جدول Article_Type  ، دكمه های مورد نظر را ايجاد خواهيم كرد . از كنترل فوق در مرتبه دوم و از طريق روتين Get_Articles نيز استفاده خواهد شد تا متناسب با دكمه ای كه كاربر بر روی آن كليك نموده است ، مقالات مربوط به آن گروه از جدول Article_Spec  بازيابی و در Gridview نمايش داده شوند .

  • <asp:GridView> : از كنترل فوق به منظور نمايش مقالات مربوط به يك گروه خاص استفاده می گردد ( ساده ترين نوع استفاده از يك GridView  ) .


در بخش script از دو روتين Page_Load و   Get_Article با اهداف زير استفاده شده است .

  • Page_Load : در اين روتين ، پس از دستيابی به بانك اطلاعاتی اشاره شده ، اطلاعات موجود در جدول Article_Type بازيابی و متناسب با داده موجود ،  دكمه هائی برای هر يك از گروه مقالات ايجاد خواهد شد . علاوه بر ايجاد پويای هر  button  ، سبك نمايش Button و توليد Event handler مورد نياز ( Get_Articles ) نيز از طريق اين روتين انجام خواهد شد .

  • Get_Articles : در اين روتين ، متناسب با اين كه كاربر بر روی كدام button كليك نموده است ، يك query به صورت پويا و پارامتريك ايجاد و اجراء می گردد . در نهايت زمينه نمايش ركوردهای بازيابی شده در Gridview نيز فراهم می گردد .

<%@ Import Namespace="System.Data.OleDb" %>
<%@ Import Namespace="System.Drawing" %>

<SCRIPT Runat="Server">

Sub
Page_Load

Dim DBConnection As OleDbConnection
Dim DBCommand As OleDbCommand
Dim DBReader As OleDbDataReader
Dim SQLString As String
Dim Counter As Integer = 0

DBConnection = New OleDbConnection( _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath("~/OurDataBase/Maghalat_Srco.mdb"))
DBConnection.Open()

SQLString = "SELECT DISTINCT Group_ID , Name FROM Article_Type order by Name"
DBCommand = New OleDbCommand(SQLString, DBConnection)
DBReader = DBCommand.ExecuteReader()

While DBReader.Read()
  Dim MyButton as New Button
  MyButton.Text = DBReader("Name")
  MyButton.CommandName = DBReader("Group_ID")
  MyButton.Width = Unit.Parse("100px")
  MyButton.Font.Size = FontUnit.Parse("8pt")
  MyButton.Font.Name = "Tahoma"
  AddHandler MyButton.Command, AddressOf Get_Articles
  ButtonArea.Controls.Add(MyButton)
  Dim MyBlank As New Literal
  MyBlank.Text = "&nbsp;&nbsp;"
  ButtonArea.Controls.Add(MyBlank)
  Counter += 1
  If Counter Mod 3 = 0 Then
      Dim MyBreak As New Literal
      MyBreak.Text = "<br/>"
      ButtonArea.Controls.Add(MyBreak)
  End If
End While
DBReader.Close()
DBConnection.Close()

End Sub

Sub
Get_Articles (Src as Object, Args As CommandEventArgs)

Dim SQLString As String
SQLString = "SELECT Title ,Description FROM Article_Spec " & _
"WHERE Group_ID = " & Args.CommandName & "

ArticlesSource.SelectCommand = SQLString

End Sub

</SCRIPT>

<form Runat="Server">
ايجاد كنترل های سرويس دهنده به صورت پويا

<asp:PlaceHolder id="ButtonArea" Runat="Server"/>

<asp:AccessDataSource id="ArticlesSource" Runat="Server"
    DataFile="~/OurDataBase/Maghalat_Srco.mdb"
    SelectCommand="SELECT Title , Description FROM Article_Spec "/>

<asp:GridView id="BookGrid" DataSourceID="ArticlesSource" Runat="Server" />
 
 
</form>

توضيحات

  • پس از استقرار صفحه در حافظه ، بانك اطلاعاتی فعال و متناسب با داده موجود در جدول Article_Type ، برای هر گروه مقاله يك button ايجاد خواهد شد .

  • برای هر ركورد يك شی جديد Button ايجاد و به خصلت Text آن ، مقدار Name ( مربوط به ركورد بازيابی شده كه نشاندهنده نام گروه مقاله است )  نسبت داده می شود . برای نمايش مطلوب Button ، برخی خصلت های آن مقداردهی می گردند ( نظير نوع فونت و يا اندازه آن ) .

  • با توجه به اين كه دكمه ها به عنوان يك Command button پيكربندی شده اند ، خصلت CommandName معادل Group_ID  در نظر گرفته شده و در ادامه مقدار Group_ID به روتين Get_Articles  ارسال تا مقالات مربوط به گروه انتخابی را در يك GridView نمايش دهد .

  • يك Command Event توسط اسكريپت برای button مشخص می گردد كه به برنامه فرعی Get_Articles  اشاره می نمايد . در نهايت ، button به PlaceHolder اضافه می شود .

  • از طريق حلقه تكرار ، هر يك از دكمه ها ايجاد و به PlaceHolder اضافه می شوند . در اين مثال ، شش button ايجاد خواهد شد چراكه جدول Article_Type حاوی شش ركورد است ( شش نوع گروه برای مقالات تعريف شده است ) و متناسب با كاهش و يا افزايش گروه مقالات تعداد Button بر روی فرم وب تغيير خواهد كرد.

  • بلافاصله پس از هر Button يك زوج فضای خالی به منظور تفكيك افقی دكمه ها از يكديگر قرار می گيرد . بدين منظور از كنترل Literal كه مقدار خصلت Text آن معادل  "nbsp;&nbsp&"  در نظر گرفته شده است ، استفاده می گردد . اين كنترل پس از اين كه يك Button در PlaceHolder مستقر گرديد ، در مكان مربوطه درج خواهد شد .

  • همچنين از يك خط خالی پس از نمايش سه button در هر سطر ، استفاده شده است . اين كاراكتر با استفاده از يك كنترل  Literal به PlaceHolder  اضافه شده است كه مقدار خصلت آن  " </br >"   در نظر گرفته شده است .

  • از يك شمارنده برای تشخيص اضافه شدن يك  Literal به PlaceHolder استفاده شده است تا به كمك آن بتوانيم تشخيص دهيم كه آيا در يك سطر سه Button نمايش داده شده است و يا خير.
    در صورتی كه عبارت Counter Mod 3 = 0  درست باشد يك خط خالی به كمك كنترل Literal  به PlaceHolder اضافه خواهد شد .

+ نوشته شده توسط امین حاجی علیزاده در یکشنبه بیست و ششم آذر ۱۳۸۵ و ساعت 12:28 |
شبكه : از به هم پيوستن چند کامپيوتر به يکديگر و برقراری ارتباط بين آنها يک شبکه تشکيل می گردد.
Lan : به شبکه محلی که در آن کامپيوتر ها نزديک به هم بوده و ارتباط آنها از طريق Hub ،Switch و يا Wireless باشد اطلاق می شود.
Intranet و Internet : منظور از اينترانت همان شبکه جهانی اينترنت است که در محيط بسته (Lan) پياده سازی شده و با دنيای خارج از آن ارتباطی ندارد.
Protocol : عبارتست از قراردادی که تعدادی کامپيوتر طبق آن با يکديگر ارتباط برقرار کرده و به تبادل اطلاعات می پردازند.
TCP/IP: يک پروتکل جامع در اينترنت بوده و تمام کامپيوترهايی که با اينترنت کار می کنند از آن تبعيت می کنند.
IP Address : در اينترنت هر کامپيوتر دارای يک آدرس IP است. هر IP متشکل از 4 عدد بوده که با يک نقطه ازهم جدا می شوند. ( مثل 217.219.175.11 ) هر کدام از اين اعداد حداکثر می توانند 254 باشند. هر IP دارای يک Mask می باشد که از روی آن می توان تعداد IP های يک شبکه محلی را تشخيص داد.
Valid IP : به IP هايی گفته می شود که در اينترنت معتبر بوده و قابل شناسايی باشند.
Invalid IP : به IP هايی گفته می شود که در اينترنت فاقد هويت و غير قابل شناسايي می باشند. از اين IP ها معمولا در شبکه های Lan در صورت نداشتن Valid IP به ميزان کافی و يا جهت امنيت شبکه استفاده می شود. از Invalid IP بدليل نداشتن هويت در اينترنت نمی توان برای اتصال به اينترنت استفاده کرد. بلکه بايد از تکنيکهايی مثل NAT يا Proxy استفاده کرد.
Proxy : در مفهوم عاميانه به سانسور کردن سايتها تعبير مي شود. اما از نظر فنی راه حلي است براي اينکه ما بتوانيم از Invalid IP ها برای اتصال به اينترنت استفاده کنيم. در اين روش بايد يک Proxy Server در شبکه نصب شود. در کل اين روش مطلوب نبوده و داراي نقاط ضعف عمده زير است:
نياز است که کاربران تنظيمات خاصی را در کامپيوتر خود انجام دهند.
در اين روش بسياری از پروتکلها پشتيباني نشده و قابل استفاده نيستند.

با اين حال برخی از مراکز اينترنتی نظير دانشگاهها، مؤسسات دولتی و امنيتی و ... برای کنترل بيشتر کاربران خود و گزارشگيري از سايتهای مرور شده توسط هر کاربر از Proxy استفاده می کنند. از جمله نرم افزارهای Proxy Server می توان به Squid، ISA، CacheXpress و . . . اشاره کرد.
NAT : يک تکنيک خوب برای بکارگيری Invalid IP است. در اين روش تقريبا تمام پروتکل ها پشتيبانی می شوند و مهمتر اينکه نياز به تنظيم خاصی بر روی کامپيوتر کاربران نيست. از جمله نرم افزارهايی که کار NAT را انجام می دهند می توان به ISA و Winroute اشاره کرد.
DNS : پروتکل تبديل اسم Domain به IP می باشد. در شبکه به دستگاهی که اين کار را انجام می دهد DNS Server گفته می شود. (62.217.156.205 = www.yahoo.com )
Routing : اگر کامپيوتري بخواهد با يک کامپيوتر ديگر در اينترنت ارتباط برقرار کند، Packet هايش الزاما از چندين Node (کامپيوتر يا Router ) عبور می کند تا به مقصد برسد. به عملی که يک Node بر روی Packet ها و ارسال آنها به Node ديگر برای رسيدن به مقصد انجام می دهد Routing گفته می شود.
Mail Server : در شبکه به سروری گفته می شود که کار دريافت، ارسال و نگهداری Email را انجام ميدهد. از جمله نرم افزارهايی که براي Mail Server مورد استفاده قرار می گيرند می توان به MDaemon و Exchange اشاره کرد.
Web Server : به سروری گفته می شود که صفحات Web بر روی آن قرار گرفته و Page های آن از طريق اينترنت قابل دستيابی است.
FTP Server : به سروری گفته می شود که فايلهای مورد نياز برای Download کردن کاربران بر روی آن قرار گرفته است. و کاربران می توانند فايلهای موجود در FTP Server را Download کنند.
Domain : به نام يک شبکه که منحصر بفرد بوده و در اينترنت Register شده است گفته می شود. مثل persiannetworks.com . يک شبکه می تواند دارای يک يا چند Domain باشد. البته يک شبکه می تواند بدون Domain يا دارای Domain محلی نيز باشد.
Domain Registration : به عمل ثبت Domain گفته می شود. چنانچه شما بخواهيد يک Domain برای خود رجيستر کنيد ابتدا بايد يک نام را که تا کنون در اينترنت استفاده نشده است انتخاب کنيد. سپس توسط شرکتهايی که عمل Domain Registration را انجام مي دهند آنرا بنام خود به مدت زمان معين Register کنيد.
Host : به کامپيوترهای ميزبان که صفحات Web يا فايلهای FTP بر روی آن قرار دارند Host گفته می شود.
PC 2 Phone : به امکان ايجاد ارتباط تلفنی بوسيله اينترنت از طريق يک کامپيوتر با يک تلفن PC2Phone گفته می شود.
Phone 2 Phone : به امکان ايجاد ارتباط تلفنی بوسيله اينترنت از طريق يک تلفن با يک تلفن ديگر Phone2Phone گفته می شود.
ISP : به مراکز سرويس دهی اينترنت ISP گفته می شود. (Internet Service Provider)
ITSP : به مراکز سرويس دهی Phone2Phone گفته می شود. (Internet Telephony Service Provider)
DVB : به کارت سخت افزاری اطلاق می شود که در يکي از Slot های کامپيوتر قرار می گيرد و بوسيله يک کابل به ديش متصل شده و از طريق آن می تواند Receive کند.
Receiver : يک Device است که به ديش وصل شده و عمل دريافت اطلاعات از ديش را انجام می دهد.
Transiver : يک Device است که به ديش وصل شده و عمل ارسال اطلاعات به ديش را انجام می دهد.
Cache Server : در حقيقت Proxy Server ای است که بتواند هنگام کارکردن کاربران، سايتهای بازديد شده توسط آنها را در خود نگهداري کرده و در صورتی که کاربر ديگری بخواهد همان سايتها را بازديد نمايد با سرعت بيشتر و صرفه جويی در پهنای باند پاسخ خود را از طريق Cache Server دريافت کند. وجود Cache Server در شبکه می تواند تا 50 درصد در اندازه پهنای باند صرفه جويي کند و راندمان شبکه را بالا ببرد. (در شرايط بهينه اين ميزان تا 60 درصد هم افزايش می يابد.) Cache Server هم می تواند سخت افزاری باشد (مثل Cache Force) و هم مي تواند نرم افزاری باشد.(مثل: 1- Squid که تحت Linux و Windows قابل نصب است. 2- ISA که تحت Win2000 قابل نصب است. 3- CacheXpress که تحت Linux و اکثر Windowsها قابل نصب است.)
Accounting/Billing : به نرم افزارهای مديريت کاربران در يک ISP گفته می شود. اين نرم افزارها کنترل ميزان استفاده کاربران از شبکه اينترنت را برعهده دارند. پر استفاده ترين نرم افزار در اين زمينه، NTTacPlus است.
Firewall : هم بصورت سخت افزاری و هم بصورت نرم افزاری وجود دارد و وظيفه آن بالا بردن ضريب امنيتی شبکه به منظور جلوگيری از Hack شدن و سوء استفاده توسط افراد سودجو می باشد.
Filtering : هم بصورت سخت افزاری و هم بصورت نرم افزاری وجود دارد و وظيفه آن جلوگيري از ورود کاربران به سايتهای غير مجاز می باشد.
MultiPort : دستگاهی است که معمولا در ISPها مورد استفاده قرار مي گيرد. داراي يک کارت PCI بوده و بر روی Mainboard يک کامپيوتر نصب می شود. با نصب MultiPort می توان Comport های يک کامپيوتر را افزايش داد و تعداد زيادی Modem به يک کامپيوتر متصل کرد.
RAS : به کامپيوتری گفته می شود که تعداد زيادی Modem به آن متصل بوده و کاربران می توانند به آن Connect کرده و از اينترنت استفاده کنند.
Access Server : به دستگاههايی گفته مي شود که کاربران اينترتنی قادر باشند به آن Connect کرده و از طريق آن به اينترنت دسترسی پيدا کنند.
VOIP Gateway : به دستگاههايی گفته می شود که کاربران تلفنی قادر باشند به آن Connect کرده و از طريق آن با کشورهاي مختلف ارتباط تلفنی برقرار کنند.
VOIP Carrier : به تشکيلاتی گفته می شود که با VoIP Gateway از طريق اينترنت در ارتباط بوده و ارتباط های تلفنی بين VoIP Gateway و کشورهای مختلف را برقرار می سازد.


انواع راههاي ارتباط كاربر به ISP:(خط آنالوگ، خط Leased، خط E1 ،Wireless ،ADSL)

هر ISP می تواند براي دستيابی به اينترنت از يک يا چند روش از روشهای زير استفاده کند.
خط آنالوگ، خط Leased، خط E1 ،Wireless ،ADSL ،Receive Only Sattelite ،Send/Rec Sattelite.

انواع دستگاههای ارتباطی كه كاربر را به ISP متصل می كند(برای خطوط آنالوگ و E1 ) عبارتند از:
روترهای Cisco : امروزه استفاده از روترهای Cisco به منظور برقراری ارتباط کاربران با ISP از جمله رايج ترين روشهای موجود است.
Multiports : همانگونه که قبلا گفته شد از Multiport برای افزايش دادن پورتهای Com و اتصال مودمهای External به آنها استفاده مي شود. رايج ترين Multiport محصول شرکت Moxa مي باشد که دارای دو مدل Desktop (روميزی) و Rackmount (قابل نصب در Rack ) می باشد. Multiport ها دارای مدلهای 8پورت، 16 پورت و 32 پورت هستند. از انواع ديگر مولتی پورت می توان به Equinox اشاره کرد.
Moxa Async Server : محصول شرکت Moxa بوده و دارای CPU می باشد و در شبکه مستقيما به Hub وصل می شود. و تعداد زيادي خطوط تلفن به آن وصل می شود و کاربران از طريق آن می توانند به شبکه وصل شوند.
Lucent Max TNT : محصول شرکت Lucent بوده و همانند Router قادر است هم به منظور Access Server برای ISP ها و هم به منظور VoIP Gateway براي ITSP ها مورد استفاده قرار بگيرد. در اين دستگاه کلا امکان نصب 10 Module وجود دارد. برخي از اين Module ها عبارتند از:

modem, ISDN, VoIP, V.110, and PHS MultiDSP module: support for analog
Digital modem module: support for analog modem and ISDN users
Analog modem module
Channelized T1/E1
Ethernet module

ضمنا اين دستگاه داراي چهار Ethernet با سرعت 10MB/s و يک Ethernet با سرعت 100MB/s می باشد. اين دستگاه توانايی پشتيبانی از انواع خطوط مخابراتی را دارد. هر ماديول MultiDSP توانايی پشتيبانی از 96 پورت Dialup را دارد. بنابراين اگر 10 ماديول MultiDSP را به Max وصل کنيم توانايی پشتيبانی از 960 خط را خواهد داشت!
Lucent Max 3000 : اين دستگاه هم مانند Max TNT محصول Lucent بوده و دارای مشخصات زير است :
داراي 2 WAN براي اتصال خطوط E1 می باشد. 32MB اندازه Ram و 16MB اندازه ظرفيت Flash آن می باشد.
Taicom TopServer : اين دستگاه محصول شرکت Taicom بوده و دارای 30 مودم Internal برای اتصال به خطوط آنالوگ می باشد.
USRobotics Net Server : اين دستگاه هم محصول شرکت USRobotics بوده و از خطوط معمولی و E1 پشتيبانی می کند.
Zyxel ModemPool : محصول Zyxel بوده که حاوی تعداد زيادی مودم است که در يک Box جاسازی شده اند و می توان آنرا به يک کامپيوتر متصل کرده و از آن استفاده نمود. اخيرا يک شرکت ايراني بنام قاصدک نيز يک ModemPool مشابه بنام Ghasedak را توليد کرده است.
Quintum: Tenor : دستگاه تک منظوره ای است که فقط برای VoIP مورد استفاده قرار می گيرد. در انواع متنوع 2، 4 و 8 پورت موجود ميباشد.
ChannelBank : دستگاهی است که از آن برای تبديل خطوط E1 به خطوط تلفن معمولی و بالعکس استفاده می شود.
+ نوشته شده توسط امین حاجی علیزاده در یکشنبه نوزدهم آذر ۱۳۸۵ و ساعت 14:23 |

سيستم پيكربندی  ASP.NET 2.0 

پياده كنندگان برنامه های وب كه از  فن آوری ASP كلاسيك به منظور پياده سازی برنامه های وب در گذشته ای نه چندان دور استفاده می كردند ( و شايد هم اينك نيز استفاده می نمايند ) ، به ياد دارند كه اطلاعات پيكربندی برنامه های فوق به صورت باينری و در محلی با نام متابيس IIS ، ذخيره می گردد . پياده كنندگان برنامه های وب برای اعمال تغييرات لازم در متابيس از دو گزينه متداول استفاده می كردند : نوشتن اسكريپت های مورد نياز و يا استفاده از كنسول مديريتی برنامه IIS ( سرويس دهنده وب مايكروسافت ) .
برخلاف ASP كلاسيك ، در ASP.NET 1.x حضور متابيس ها كم رنگ گرديد و در مقابل ، استفاده از يك سيستم پيكربندی مبتنی بر xml مورد توجه قرار گرفت . عليرغم اين كه سيستم فوق دارای انعطاف بمراتب بيشتری نسبت به نسخه قبلی است ولی امكانات مديريتی مناسبی را به منظور ويرايش فايل های پيكربندی در اختيار پياده كنندگان برنامه های وب قرار نمی دهد . تنها گزينه موجود برای ويرايش يك فايل پيكربندی ، برخورد با فايل پيكربندی به عنوان يك فايل xml و بهنگام سازی آن فايل بر اساس ماهيت فايل های xml است .  مهمترين مشكل رويكرد فوق ، برخورد با تمامی بخش های فايل پيكربندی به عنوان گره های xml است .
در ASP.NET 2.0 ، امكانات و پتانسيل های متعددی به منظور مديريت پيكربندی برنامه های وب ارائه شده است با اين هدف كه بتوان با سادگی و سرعت بيشتری پيكربندی يك برنامه وب را انجام داد .خواندن و ويرايش فايل های پيكربندی در يك ماشين محلی و يا از راه دور از جمله مهمترين ويژگی های ارائه شده در ASP.NET 2.0 می باشد .
اطلاعات پيكربندی يك برنامه ASP.NET  در دو فايل مهم Xml ذخيره می گردد . از Xml برای تشريح خصلت ها و رفتار جنبه های مختلف برنامه های ASP.NET استفاده می‌شود . سيستم  پيكربندی ASP.NET از دو فايل پيكربندی استفاده می نمايد :

  • machine.config : فايل پيكربندی سرويس دهنده 

  • Web.Config : فايل پيكربندی برنامه

با توجه به ماهيت فايل های پيكربندی ( فايل هائی از نوع  xml ) ، عناصری كه مسئوليت تشريح پيكربندی را برعهده دارند نسبت به حروف بزرگ و كوچك حساس می باشند .

+ نوشته شده توسط امین حاجی علیزاده در یکشنبه نوزدهم آذر ۱۳۸۵ و ساعت 10:7 |
انواع صفحات وب اطلاعات موجود در صفحات وب می تواند بصورت ايستا و پويا ايجاد گردند. در موارديکه اطلاعات بصورت ايستا در صفحات وب قرار می گيرند، مولفين صفحات از قبل آنها را آماده کرده و بر روی يک وب سايت ذخيره می نمايند. نظرات و ديدگاه های ملاقات کننده سايت و درخواست کننده صفحه، هيچگونه دخالتی در محتويات صفحه مورد نظر نخواهد داشت . در صفحات وب پويا اطلاعات موجود در يک صفحه متناسب با شرايط متعدد بصورت کاملا" سفارشی آماده خواهد گرديد. فرض کنيد در رستورانی برای صرف ناهار رفته باشيم . ليست غذاهای موجود ( منو) که در اختيار شما قرار می گيرد يک ليست ايستا بوده و شما در صورت تمايل مجبور خواهيد بود که يکی از آنها را انتخاب نمائيد. شما صرفا" درخواست آن غذا را خواهيد کرد و غذای مورد نظر شما از طرف سرويس دهنده رستوران در اختيار شما گذاشته خواهد شد. تمامی مراحل مربوط به آماده سازی غذا از قبل انجام شده و نقش شما صرفا" انتخاب و درخواست است . وضعيت فوق نظير صفحات وب ايستا است . در صورتيکه رستوران مورد نظر غذائی از پيش آماده شده را نداشته باشد و از شما بخواهد که با اختيار کامل غذای مورد نظر خود را انتخاب نمائيد. در چنين مواردی تمهيدات لازم برای آماده سازی غذا بر اساس درخواست مورد نظر ايجاد شده و غذای درخواست شده متناسب با نوع درخواست و تمايل فرد متقاصی ايجاد می گردد. صفحات وب پويا نير وضعيتی مشابه را دارند. در ادامه به ويژگی هريک از اين نوع صفحات اشاره خواهد شد. ¨ صفحات وب ايستا ،‌ امروزه بر روی اينترنت و وب ، با سايت های متعددی که شامل ‌ تعداد بيشماری از صفحات وب ايستا می باشند ، برخورد مي نمائيم. واژه " ايستا " ، در رابطه با يك صفحه وب دارای چه تعريفی است ؟ اين نوع صفحات ، صفحاتی هستند كه شامل كدهای Html بوده و در يك محيط اديتور تايپ و با انشعاب Htm و يا Html ذخيره مي گردد. مولف صفحه وب قبل از اينكه هر نوع درخواستي برای آن وجود داشته باشد ، بطور كامل محتوی صفحه را مشخص كرده است . محتويات اين نوع از صفحات ( متن ،‌تصوير ، لينك ها و … ) و شكل ظاهری آنها همواره يكسان خواهد بود ، صرفنظر از اينكه چه كسی ، در چه زمانی و يا چگونه صفحه را مشاهده خواهد كرد. بنابراين می توان گفت ، محتويات اين قبيل از صفحات قبل از اينكه درخواستی ايجاد گردد ، توسط مديريت سايت ايجاد و مشخص شده اند.
+ نوشته شده توسط امین حاجی علیزاده در شنبه هجدهم آذر ۱۳۸۵ و ساعت 17:8 |