دو سوال متداول در رابطه با برنامه های وب ASP.NET و يک نکته New Page 1



ساير




 

 

 

SAKHA RAVESH CO.

 ا مروز

 پنجشنبه  3  فروردين  1396  2017  Mar.  23   Thursday ToDay
صفحه اصلی  مقالات نکته هادايره المعارف خودآموزها | تازه ها خود آزمون ها    
  نسخه قابل چاپ  

    5 4 3 2 1 

 عنوان

 نويسنده

  مشاهده

 تعداد آراء

 امتياز

 دو سوال ، دو پاسخ و يک نکته !

 مديريت وب

10592

56

4

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

 

دو سوال ، دو پاسخ و يک نکته !

دو سوال ، دو پاسخ و يک نکته !

بدون هيچگونه مقدمه ای و اتلاف وقت شما ،  به طرح  دو سوال متداول در رابطه با برنامه های نوشته شده با استفاده از فنآوری ASP.NET پرداخته و پس از پاسخ به آنان ، ويژگی های برجسته  کنترل سرويس دهنده asp:xml را در قالب يک نکته توضيح خواهيم داد .

سوال اول : در زمان اجرای برنامه های ASP.NET  در ويندوز 2003 با خطای زير مواجه می شويم ، علت چيست و چگونه می توان آن را برطرف نمود؟

عدم اجرای يک برنامه ASP.NET در ويندوز 2003

"Page cannot be found"

  • علت : تمامی Web Service Extensions  در ويندوز 2003 به دليل مسائل امنيتی به صورت پيش فرض "غيرفعال" بوده  و امکان استفاده از آنان وجود ندارد .

  • رفع اشکال : برای رفع اشکال فوق ، مراحل زير را دنبال می نمائيم :
    - تايپ دستور
    inetmgr  از طريق  Run  (  اجرای برنامه  Internet Services Manager ) .
    - باز نمودن گره  "Webservice Extensions"   در IIS
    - در بخش سمت راست ليستی ازضمائمی که اجرای آنان ممنوع شده است ، نمايش داده می شود .
    - کليک بر روی ASP.NET و انتخاب گزينه allow 

پس از انجام مراحل فوق ، مشکل برطرف خواهد شد . فرآيند فوق در ارتباط با محيط IIS 6.0 در ويندوز 2003 است .

سوال دوم : در زمان اجرای برنامه های ASP.NET  با خطای زير مواجه می شويم ، علت چيست و چگونه می توان آن را برطرف نمود؟

عدم امکان اجرای يک برنامه ASP.NET 

"It is an error to use a section registered as allowDefinition='MachineToApplication'
beyond application level"

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

نمايش علت بروز خطاء در زمان ديباگ

"This error can be caused by a virtual directory
not being configured as an application in IIS

علت خطای فوق به دو موضوع متفاوت می تواند مرتبط باشد :

  • علت اول : زمانی که يک برنامه وب جديد با استفاده از ويژوال استوديو ايجاد می گردد، ويژوال استوديو دات نت به صورت اتوماتيک يک دايرکتوری مجازی را ايجاد و آن را به عنوان يک application  پيکربندی می نمايد . در صورتی که به صورت دستی يک دايرکتوری مجازی ايجاد گردد و به عنوان يک application  پيکربندی نشود ، امکان استفاده از برنامه وجود نداشته و با خطای فوق برخورد خواهيم کرد

  • رفع اشکال : برای رفع اشکال فوق ، مراحل زير را دنبال می نمائيم :
    - انتخاب دايرکتوری مجازی و کليک سمت راست برروی آن و انتخاب گزينه
    properties
    - کليک بر روی دکمه  "Create" در مجاورت Application name و textbox مربوطه . بدين ترتيب به صورت اتوماتيک "application" با استفاده از نام دايرکتوری مجازی ، ايجاد می گردد .
    - پس از دنبال نمودن مراحل فوق امکان دستيابی به برنامه فراهم می گردد .

  • علت دوم : زمانی که يک برنامه دارای زيردايرکتوری هائی است ، می توان برای زيردايرکتوری يک فايل web.config را استفاده نمود . در اين رابطه خصلت هائی وجود دارد که نمی توان آنان را در فايل web.config مربوط به زيردايرکتوری تنظيم نمود( نظير : authentication و  session state  ) . اينگونه تنظيمات را نمی توان در ارتباط با زيردايرکتوری اعمال نمود ، مگر اين که زيردايرکتوری خود به عنوان يک application پيکربندی شده باشد .
    در صورتی که قصد حفاظت فايل های موجود در يک زيردايرکتوری را داشته باشيم ، می توان اقدامات لازم را از طريق فايل
    web.config انجام داد ( از طريق web.config موجود در سطح ريشه و يا web.config موجود در زيردايرکتوری ) .
    مثلا" فرض کنيد دارای يک دايرکتوری با نام
    admin می باشيم و می خواهيم حفاظت لازم در خصوص عدم دستيابی کاربران غيرمجاز به صفحات admin را فراهم نمائيم . بدين منظور می توان از فايل web.config در سطح ريشه application استفاده  و اقدام به معرفی   location path  و  authorization نمود :
     

اعمال محدوديت در دستيابی به يک زيردايرکتوری: سطح ريشه

<location path="Admin">
  <system.web>
     <authorization>
       <allow roles="administrators" />
       <deny users="*" />
    </authorization>
  </system.web>
</location>

در صورتی که  اصرار به داشتن يک فايل web.config در سطح زيردايرکتوری به منظور حفاظت فايل های موجود در زيردايرکتوری را داشته باشيم ، می توان صرفا" اقدام به معرفی Authorization mode نمود :

اعمال محدوديت در دستيابی به يک زيردايرکتوری : سطح زيردايرکتوری

<configuration>
  <system.web>
    <authorization>
      <allow roles="administrators" />
      <deny users="*" />
    </authorization>
  </system.web>
</configuration>

بدين ترتيب ، حفاظت لازم در رابطه با دستيابی غيرمجاز به زيردايرکتوری فراهم می گردد .

نکته : استفاده از کنترل asp:xml برای نمايش داده های XML  
کنترل سرويس دهنده asp:xml يکی از کنترل های بسيار مفيد و در عين حال قدرتمند دات نت  است که بدون نياز به نوشتن حتی يک خط  کد می توان صرفا" با  معرفی فايل Xml و Xslt و يا ساير فايل های Stylesheet  ، اطلاعات  موجود در يک سند XML  را در يک صفحه aspx . نمايش داد . برای استفاده از مزايای کنترل فوق، می توان  از کد  زير استفاده نمود :
 

استفاده از کنترل سرويس دهنده asp:xml

<asp:Xml id="Xml1" runat="server"
      DocumentSource =" XML فايل  "
      TransformSource=" XSLT فايل " >

پس از استقرار کد فوق در يک صفحه aspx . ، کنترل اشاره شده،  سند XML  را به صورت اتوماتيک لود و پس از اعمال Stylesheet مشخص شده ، نتايج در خروجی نمايش داده می شود ( تمامی عمليات  اشاره شده بدون نوشتن کد انجام خواهد شد ) .  همانند ساير کنترل های سرويس دهنده ، می توان به صورت پويا و از طريق code behine مقادير مورد نظر را به  DocumentSource  و TransformSource  نسبت داد .
در صورتی که از يک
DataSet استفاده می نمائيد و قصد داريد مقادير موجود در DataSet را به Xml نسبت دهيد ، می توان ازخصلت DocumentContent  کنترل سرويس دهنده  xsp:xml به منظور مشخص نمودن فرمت xml  استفاده نمود :
 

 مشخص نمودن فرمت xml

Xml1.DocumentContent = DataSet1.GetXml()

xml1 ، شناسه مربوط به کنترل <asp:xml> است .



جستجو

مقالات                 
دايره المعارف       
دوره های آموزشی


 

 

مشاهده گروه ها



              

 

 تهيه شده در شرکت سخا روش -  1382