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

 بررسی استانداردهای کنسرسيوم وب در دات نت New Page 1

ساير امکانات

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

شنبه 23 مهر 1384 2005 Oct. 15 Saturday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
XML در دات نت ( بخش دوم ) | مديريت وب | 1332 | 3 | 4

بررسی جايگاه XML در دات نت

XML در دات نت ( بخش دوم )

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

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

  • Xml Information set : کنسرسيوم وب مشخصاتی را بعنوان مجموعه اطلاعات مرتبط با XML ، استاندارد و ارائه نموده است .استاندارد فوق، شامل مجموعه ای از تعاريف بمنظور استفاده توسط ساير مشخصاتی است که بنوعی به اطلاعات موجود در يک سند XML مراجعه می نمايند. يک سند XML ، حاوی تعدادی از مجموعه اطلاعات ارائه شده در استاندارد فوق است . مشخصات فوق ، اطلاعات لازم بمنظورتشريح ساختار يک سند XML را ارائه می نمايد .يک سند XML شامل يک مجموعه اطلاعات است، اگر " خوش - شکل " بوده و محدوديت های تعريف شده در رابطه با Namespace را در مجموعه اطلاعات ومشخصات XML ، تامين نمايد . اغلب استانداردهای XML کنسرسيوم وب، از تعاريف ارائه شده در مشخصه فوق ، اقتباس ( مشتق ) شده اند.برای اطلاعات تکميلی می توان به آدرس http://www.w3.org/TR/xml-infoset مراجعه کرد .

  • XML 1.0 Namespace . استاندارد فوق ،ضوابط لازم بمنظور ايجاد يک شی داده بصورت يک سند XML ، را تعريف می نمايد . مشخصات فوق همچنين ،ساختار فيزيکی و منطقی يک سند XML و ساير خصايص مربوطه را تعريف می نمايد. برای اطلاعات تکميلی می توان به آدرس http://www.w3.org/Tr/REC-xml مراجعه استفاده کرد.namespace ها درXML يک namespace را تعريف و نحوه استفاده از namespace در زمان ايجاد يک گرامر XML را که شامل المان ها و خصلت هائی است، مشخص می نمايد . برای اطلاعات تکميلی می توان به آدرس http://www.w3.org/TR/REC-xml-names مراجعه کرد .

  • XML Path Language ( XPath) 1.0 : استاندارد XPath ، گرامر و سمنتيک مورد نياز برای آدرس دهی بخش های متفاوت يک سند XML را مشخص می نمايد. XPath ، همچنين شامل امکانات پايه برای انجام عمليات در رابطه با رشته ها ، اعداد و منطق است . برای مشاهده اطلاعات تکميلی می توان به آدرس http://www.w3.org/TR/XPath مراجعه کرد .

  • XSL Transformation (XSLT) 1.0 : استاندارد XSLT ، گرامر و سمنتيک XSLT را تعريف و زبانی برای تبديل اسناد XML به فرمت های ديگر است . تبديل مورد نظر( بيان شده ) در XSLT يک Style Sheet ناميده می شود . برای مشاهده اطلاعات تکميلی می توان به آدرس http://www.w3.org/TR/XSLT مراجعه کرد .

  • Document Object Model )DOM) : استاندارد DOM سطح يک و دو، اينترفيس لازم را بمنظور دستيابی و انجام عملياتی نظير: بهنگام سازی Style ،محتويات و ساختار يک سند از طريق برنامه نويسی ، فراهم می نمايد . برای مشاهده اطلاعات تکميلی می توان به آدرس http://www.w3.org/DOM مراجعه کرد .

  • XML Schema Definition Language )XSD) : استاندارد XSD ، روشی برای تشريح ساختار ، محتويات و سمنتيک يک سند XML است . Schema امکان استفاده از واژه های مشترک را فراهم می نمايد . برای مشاهده اطلاعات تکميلی می توان به آدرس http://www.w3.org/XML/Schema مراجعه کرد .

جدول زير نسخه های پياده سازی شده هر يک از استانداردهای فوق را در دات نت نشان می دهد :

استاندارد کنسرسيوم وب | namespace مربوطه در دات نت
XML 1.0 and Namespaces in XML | System.Xml
XPath | System.Xml System.Xml.XPath
XSLT | System.Xml.Xsl
DOM Level 1 | System.Xml
DOM Level 2 Core | System.Xml
XML Schemas | System.Xml System.Xml.Schemas
XML Schema Object Model(SOM) | System.Xml.Schemas

دات نت با ارائه namespace و کلاس های پايه از استانداردهای ارائه شده توسط کنسرسيوم وب، حمايت می نمايد . جدول زير نسخه های پياده سازی شده استانداردهای کنسرسيوم وب، در دات نت را نشان می دهد .

W3C XML standard | .NET Framework namespace | .NET Framework class
XML 1.0 and Namespaces in XML | System.Xml | Not applicable
XPath | System.Xml System.Xml.XPath | XPath base class
XSLT | System.Xml.Xsl | XslTransform base class
DOM Level 1 | System.Xml | XmlDocument class
DOM Level 2 Core | System.Xml | XmlDocument class
XML Schemas | System.Xml System.Xml.Schemas | XmlSchema
XML Schema Object Model(SOM) | System.Xml.Schemas | XmlSchema

مروری بر کلاس های XML در دات نت
کلاس های پايه تجريدی در دات نت ، اساس مبادله اطلاعات می باشند . جدول زير کلاس های پايه در فريمورک دات نت را نشان می دهد :

Abstract base class | کلاس های مشتق شده
XmlReader | XmlTextReader XmlNodeReader XmlValidatingReader
XmlWriter | XmlTextWriter
XmlNavigator | XmlPathNavigator
XmlResolver | XmlUrlResolver

مقايسه بين MSXML 4.0 و دات نت
ماکروسافت دو روش متفاوت بمنظور کار با XML ، در اختيار برنامه نويسان قرار داده است :

  • MSXML، که در ابتدا پارسر XML ناميده می شد.
  • کلاس های XML فريمورک دات نت

MSXML 4.0 ، با پارسر MSXML جايگزين شده است . عملکرد MSXML 4.0 در اغلب موارد مشابه کلاس های فريمورک دات نت است . تفاوت عمده در نحوه استفاده از عناصر است . در MSXML بمنظور ارائه امکانات از اشياء COM)Componenet Object Model) استفاده شده ( ازManaged code استفاده نمی گردد ) و دارای امکانات از قبل ساخته ای برای SAX)Simple API for XML) است .
MSXML 4.0 ، شامل سرويس های زير است :

  • DOM
  • XSD
  • XPath 1.0
  • XSLT 1.0
  • SAX ( يک مدل برنامه نويسی و مشابه با DOM است )
  • Schema Object Model)SOM) ، شامل امکانات API اضافه ، بمنظور دستيابی به سندهای XML Schema از طريق برنامه نويسی است .

کلاس های XML فريمورک دات نت ، عمليات مشابهی را نظير MSXML 4.0 انجام می دهند. طراحی کلاس های فوق بگونه ای است که امکان استفاده از آنان در يک محيط مديريت يافته، خصوصا" سرويس های وب XML ،وجود دارد .
جدول زير ويژگی هر يک را نشان می دهد :

استاندارد کنسرسيوم وب | MSXML ( محيط مبتنی بر COM ) | کلاس های XML فريمورک دات نت ( محيط مديريت يافته دات نت )
XML 1.0 and Namespaces in XML | yes | yes
XPath | yes | yes
XSLT | yes | yes
DOM Level 1 | yes | yes
DOM Level 2 Core | no | yes
XML Schemas | yes | yes
XML Schema Object Model(SOM) | yes (فقط خواندنی) | yes
Simple API for Xml (SAX) | yes | no

XML و امنيت در دات نت
XML ،مهمترين امکان ذخيره سازی داده ها و انتقال اطلاعات د ر فريمورک دات نت محسوب می گردد. بنابراين تمام ملاحظات امنيتی در فريمورک دات نت، به رويکردهای امنيتی XML مربوط می گردد . دستيابی به سرويس های وب XML می تواند محدود به سرويس گيرندگان تائيد شده و مجاز باشد( مشابه دستيابی کاربران مجاز به يک وب سايت ) .

مدل مبتنی بر شی XML برای رمزنگاری اشياء
کلاس SecurityElement ، مدل XML لازم بمنظور رمزکردن اشياء را ارائه می نمايد. کلاس فوق ، بمنظور استفاده همراه يک سيستم ايمنی در نظرگرفته شده است و امکان استفاده از آن بعنوان يک کلاس شی XML عمومی وجود نخواهد داشت .

XML signature . کنسرسيوم وب در حال پياده سازی مشخصه ای برای امضاء ديجيتالی مبتنی بر XML است . System.Security.Cryphtography.xml ،مدلی مبتنی بر XML برای استفاده از سيستم امنيتی فريمورک دات نت بوده که از امضاهای XML حمايت می نمايد. مدل فوق اين امکان را به اشياء XML خواهد داد که از طريق يک امضاء ديجيتالی تاييد گردند . رمزنگاری باعث حفاظت اطلاعات در مقابل نمايش و يا تغييرات شده وبدين ترتيب يک کانال ايمن ارتباطی ايجاد خواهد شد .

رمزنگاری سرويس های وب XML بمنظور انتقال . برنامه های مبتنی بر دات نت از پروتکل SOAP ، بمنظور ارتباط با سرويس های وب XML استفاده می نمايند( فرمت اوليه پيام ها ) . کتابخانه کلاس فريمورک دات نت ، ضمائم SOAP را بمنظور اجراء ، همراه با يک متد سرويس وب XML ، ارائه می نمايد . namespace ، شامل کلاس هائی است که پروتکل های مورد نياز برای انتقال داده ها را فراهم می نمايد .

ارسال مدارک تائيد شده .در موارديکه يک سند XML ايمن شده باشد ،بدون ارسال مدارک لازم، امکان دستيابی و استفاده از آن وجود نخواهد داشت. کلاس XmlTextReader ،امکان ارسال مدارک را از طريق استفاده از کلاس CredentialCache موجود در System.Net فراهم می نمايد .

جستجو
جستجو

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

مقالات
مشاهده گروه ها

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


بررسی مفاهيم اوليه ADO.NET

 بررسی مفاهيم اوليه ADO.NET New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

شنبه 23 مهر 1384 2005 Oct. 15 Saturday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
مفاهيم اوليه ADO.NET | مديريت وب | 3524 | 10 | 3.6

ADO

مفاهيم اوليه ADO.NET

برای استفاده مفيدتر از اين مقاله، توصيه می گردد، مقاله معماری برنامه های مبتنی بر داده را در ابتدا مطالعه نمائيد . ADO.NET ، نسل جديدی از ADO شرکت ماکروسافت است . نسخه ADO ، با استفاده از مجموعه ای اشياء ActiveX Data Object طراحی و پياده سازی شده بود. ADO.NET گرچه در سطح ارائه پتانسيل های لازم در برخی موارد دارای شباهت هائی با ADO است ولی از نظر مدل برنامه نويسی دارای ساختاری کاملا" متفاوت( نسبت به ADO ) است.

تعريف ADO.NET

ADO.NET، مجموعه ای از کلاس ها بمنظور کار با داده ها است.

بموازات رشد اينترنت ، طراحی و پياده سازی برنامه های مبتنی بر وب به امری متداول و نيازی همگانی مطرح شده است . در اين راستا برنامه های متعددی ، از XML بمنظور ارسال اطلاعات خود در شبکه استفاده کرده و هر روز به تعداد اين برنامه ها نيز اضافه می گردد. ADO.NET ، يک مدل برنامه نويسی مناسب بمنظور يکپارچگی بين ويژگی های XML و ADO.NET در فريمورک دات نت را ارائه می نمايد.

مزايای ADO.NET
تکنولوژی فوق نسبت به ADO دارای مزايای زير است :

  • Interoperability . تکنولوژی ADO.NET از XML بعنوان فرمت ارسال اطلاعات از يک منبع داده به مقصد مورد نظر استفاده می نمايد ( داده های مستقرشده در حافظه محلی)

  • Maintainability . بموازات افزايش کاربران يک برنامه ، ما شاهد بروز مسائلی در رابطه با منابع موجود در سيستم خواهيم بود. با استفاده از يک برنامه N-Tire ، می توان منطق برنامه را بين چندين Tire اضافی توزيع نمود. معماری ADO.NET ، از حافظه Cache بمنظور نگهداری نسخه هائی از داده استفاده و بدين ترتيب امکان بهره برداری از اطلاعات فوق برای ساير Tire های اضافی فراهم می گردد .

  • Programmability . مدل برنامه نويسی ADO.NET کاملا" از Strongly typed data حمايت و باعث می گردد که که کدها مختصرتر و با شفافيت خاصی، بسادگی نوشته گردند .

  • Performance . تکنولوژی ADO.NET اين امکان را فراهم می آورد تا عمليات مازاد در ارتباط با تبديل نوع داده ها ،حذف گردد( از Strongly typed data استفاده می گردد ) .

  • Scalability . مدل برنامه نويسی ADO.NET باعث تشويق برنامه نويسان برای صرفه جوئی در منابع سيستم و ارائه آنان برای برنامه های در حال اجراء بر روی بستر وب می گردد. با توجه به اينکه داده در حافظه محلی Cache می گردد، ضرورتی به نگهداری بلاک هائی از بانک اطلاعاتی و يا نگهداری اتصالات فعال با بانک اطلاعاتی برای مقاطع زمانی بعد ، وجود نخواهد داشت .

Namespace های مرتبط با داده
فريمورک دات نت ، پتانسيل ها ی( عمليات ) خود را به چندين Namespace تقسيم و ADO.NET نيز از اين قاعده مستثنی نخواهد بود . ADO.NET عمدتا" در Namespace با نام System.Data ، پياده سازی شده است.Namespace فوق،بصورت فيزيکی در اسمبلی System.Data.dll قرار دارد. برخی از بخش های ADO.NET در Namespace با نام System.Xml قرار دارند ( مثلا" کلاس XmlDataDocument ) مشخصات هر يک از Namespace های مرتبط با داده ها بشرح زير می باشد :

  • System.Data ، هسته ADO.NET بوده و شامل کلاس هائی است که بخش غيرمتصل معماری ADO.NET را شکل می دهد ( کلاس DataSet )

  • System.Data.Common ، کلاس های کاربردی و اينترفيس مورد نياز برای NET Data Providres . را فراهم می نمايد.

  • System.Data.sqlclient ، ارائه دهنده داده: SQL Server.Net Data Provider

  • System.data.OleDB ، ارائه دهنده : OLEDB.NET Data Provider

  • System.Data.sqltypes ، کلاس ها و ساختارهای مورد نياز برای Native SQL Server Data Types را ارائه می نمايد.( يک جايگزين سريع و ايمن برای داده های نوع ديگر).

  • System.Xml ، کلاس ها واينترفيس های لازم بمنظور حمايت استاندارد د از پردازش های مبتنی بر XML را ارائه می نمايد. ( مثلا" کلاس XmlDataDocument)

تغييرات ADO و ADO.NET
تغييرات متعددی در ADO.NET نسبت به ADO اعمال شده است . اغلب تغييرات فوق ، با توجه به مطالعات انجام شده در رابطه با موارد مثبت و منفی ADO صورت گرفته است . دستاورد اين تغييرات، قدرت و انعطاف مطلوب برای ADO.NET است .

با توجه به اينکه تمامی ارائه دهندگان داده دات نت، عمليات تراکنشی را ارائه نمی نمايند ، ADO.NET ، پتانسيل های خود را به کلاس های مجزائی تقسيم و در اختيار قرار می دهد، بدين ترتيب شی اتصال ADO.NET بمراتب کم حجم تر نسبت به شی اتصال ADO خواهد بود.
Recordset در ADO ، يک شی بسيار بزرگ است . شی فوق، امکان حمايت از چندين نوع Cursor را فراهم می نمايد ( از نوع سريع تا نوع سمت سرويس گيرنده غير متصل) . سفارشی نمودن تمام امکانات شی فوق، مشکل و در برخی موارد غيرممکن است. ADO.NET ، پتانسيل های Recordset مربوط به ADO را به چندين کلاس تفسيم کرده است .مثلا" DataReader معادل يک Cursor سريع ، DataSet يک مدل غيرمتصل Cache شده با امکان رديابی ، ثبت و کنترل نسبت دهی و DataAdapter قابليت سفارشی نمودن نحوه ذخيره سازی و بهنگام سازی داده ها و اعمال تغييرات در يک DataSet را دارا است .

مدل اشياء ADO.NET

مدل اشياء ADO.NET شامل دو بخش اصلی است :

  • کلاس های DataSet .کلاس های فوق ، اين امکان را فراهم می نمايند که داده ها را در يک Cache غير متصل ، ذخيره و مديريت کرد. DataSet مستقل از هر نوع منبع داده بوده و بنابراين ويژگی های آن برای تمامی برنامه ها در دسترس و قابل استفاده خواهد بود ( صرفنظر از محلی که داده ها از آنجا سرچشمه می گيرند ) .

  • کلاس های NET Data Provider . کلاس های فوق ، مختص يک منبع داده خاص می باشند. بنابراين NET Data Providers . ، می بايست برای يک منبع داده ئی خاص نوشته گردد و صرفا" با همان منبع داده ، کار نمايد . کلاس های فوق، قابليت اتصال به يک منبع داده ،بازيابی از منبع داده و بهنگام سازی داده های موجود در يک منبع داده را فراهم می نمايند .

مدل اشياء ADO.NET ، شامل کلاس های زير است :

  • SQL Server .NET Data Provider

  • OLE DB .NET Data Provider

  • other .NET Data Providers

استفاده از کلاس های ADO.NET در مدل متصل
NET Data Provider . ، کلاس های مورد نياز ADO.NET را بمنظور استفاده در سناريوی متصل (Connected) ارائه می نمايد. NET data Provider. ها ، بگونه ای طراحی شده که کم حجم و حداقل لايه بين کد مربوطه و منبع داده ايجاد و بدين ترتيب کارائی سيستم افزايش خواهد يافت . فريمورک دات نت دارای دو Provider است :

  • SQL Server .NET ، امکان دستيابی بهينه به بانک های اطلاعاتی SQL server 2000 و SQL Server 7 را فراهم می نمايد . بمنظور استفاده از Provider فوق، می بايست از Namespace با نام System.Data.sqlclient در برنامه مورد نظر استفاده گردد . استفاده از Provider فوق در مقايسه با OLE DB.NET دارای کارائی بمراتب بيشتری است (چون از طريق يک OLE DB و يا ODBC عبور داده نمی شود) .

  • OLE DB.NET ، امکان دستيابی به SQL Server 6.5 و ساير بانک های اطلاعاتی نظير Oracle , Sybase , DB2/400 و Access را فراهم می نمايد . بمنظور استفاده از Provider فوق، می بايست از Namespace با نام System.Data.OleDb در برنامه مورد نظر استفاده گردد .

کلاس های هر يک از Data Provider ها، از مدل رايج اشياء ADO.NET تبعيت می نمايند . در SQL Server .NET Data Provider ، اسامی کلاس ها با پيشوند sql شروع می شود . مثلا" کلاس مربوطه به Connection دارای نام sqlConnection است . در OLE DB.NET Provider ، اسامی کلاس ها با پيشوند OleDb شروع می گردد . مثلا" کلاس Connection دارای نام OleDbConnection است .
در آينده NET Date Provider . ، بيشتر و با پيشوندهای ديگری ايجاد خواهند شد .
در فهرست زير پيشوندهای متفاوت بصورت Xxx نشان داده شده اند :

  • XxxConnection ، باعث ايجاد يک اتصال( ارتباط) به منبع داده می شود . مثلا" کلاس sqlConnection ، باعث ايجاد يک اتصال به منبع داده ئی از نوع SQL Server می گردد .

  • XxxCommand ، باعث اجرای يک دستور از منبع داده می گردد . مثلا" کلاس sqlCommand می تواند باعث اجرای يک Stored Procedure و يا يک عبارت SQL در منبع داده ئی از نوع SQL Server می گردد .

  • XxxDataReader ، کلاس فوق، باعث خواندن مجموعه ای داده از يک منبع داده ، بصورت فقط خواندنی و صرفا" بسمت جلو می گردد .مثلا" کلاس sqlDataReader ، باعث خواندن سطرهائی از جداول يک منبع داده ئی از نوع SQL Server می گردد . کلاس فوق، توسط متد ExecuteReader مربوط به کلاس XxxCommand بعنوان نتيجه اجرای يک عبارت SELECT SQL برگردانده می گردد .

مثال : کلاس XxxDataReader ، امکان دستيابی فقط خواندنی و صرفا" بسمت جلو در ارتباط با داده های موجود در يک منبع داده را فراهم می نمايد. مثلا" برای استفاده از sqlDataReader برای خواندن داده از يک بانک اطلاعاتی SQL server ، می بايست مراحل زير را انجام داد.

  • يک شی sqlConnection ، بمنظور اتصال ( ارتباط) به بانک اطلاعاتی SQL Server تعريف نمائيد.

  • يک شی sqlCommand تعريف که شامل عبارت SQL SELECT برای پرس و جو(Query) در ارتباط با بانک اطلاعاتی باشد .

  • يک شی sqlDataReader تعريف نمائيد.

  • فعال نمودن (Open) شی sqlConnection

  • اجرای شی sqlCommand با استفاده از متد ExecuteReader و نسبت دهی نتايج به شی sqlDataReader

  • استفاده از متد Read مربوط به شی sqlDataReader برای حرکت بسمت جلو در طول داده ها و پردازش سطرهای مربوطه

  • بستن sqlDataReader

  • بستن sqlConnection

استفاده از ADO.NET در مدل غيرمتصل
کلاس های ADO.NET که در مدل غير متصل استفاده می گردد توسط NET Data Providers . ، ارائه و در Namespace با نام System.Data موجود می باشند. فهرست زير کلاس هائی استفاده شده در مدل غير متصل ، را نشان می دهد :

  • XxxDataAdapter ، با استفاده از کلاس های Connection , DataReader و Coomand می توان يک DataSet را مديريت نمود.مثلا" کلاس sqlDataAdapter ، قادر به مديريت بين يک Dataset و يک بانک اطلاعاتی SQL Server 7 است .

  • XxxConnection ، ارتباطی با يک منبع داده ئی خاص را ايجاد ( برقرار) می نمايد . مثلا" کلاس sqlConnection ،باعث برقراری يک اتصال با منبع داده ئی از نوع SQL Server می گردد .

  • XxxCommand ، قادر به اجرای Stored Procedure و يا عبارات SQL در يک منبع داده ئی از نوع SQL Server می باشد .

  • XxxDataReader ، کلاس فوق، باعث خواندن مجموعه ای داده از يک منبع داده ، بصورت فقط خواندنی و صرفا" بسمت جلو می گردد .مثلا" کلاس sqlDataReader ، باعث خواندن سطرهائی از جداول يک منبع داده ئی از نوع SQL Server می گردد . کلاس فوق، توسط متد ExecuteReader مربوط به کلاس XxxCommand بعنوان نتيجه اجرای يک عبارت SELECT SQL برگردانده می گردد .

مثال : مراحل زير نحوه کار در يک محيط غير متصل را نشان می دهد :

  • باز نمودن يک اتصال

  • پر نمودن DataSet با استفاده از متد Fill مربوط به DataAdapter

  • بستن اتصال

  • پردازش DataSet ( مرتب سازی ، فيلترسازی، خلاصه سازی، نمايش داده ها در کنترل های ويندوز و وب ) . DataSet بصورت خودکار هرگونه تغييرات را رديابی و ثبت خواهد کرد .

  • باز نمودن اتصال .، می توان از همان اتصالی که قبلا" ايجاد شده بود استفاده گردد .

  • بهنگام سازی منبع داده با در نظر گرفتن تغييراتی که در DataSet اعمال شده است ( از طريق متد Upadate مربوط به DataAdapter ).

  • بستن اتصال

جستجو
جستجو

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

مقالات
مشاهده گروه ها


بررسی مفاهيم اوليه ارتباط ADO.NET و XML

 بررسی مفاهيم اوليه ارتباط ADO.NET و XML New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

شنبه 23 مهر 1384 2005 Oct. 15 Saturday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
مفاهيم اوليه ارتباط ADO.NET وXML | مديريت وب | 1569 | 7 | 3.7

مفاهيم اوليه ارتباط XML و ADO

مفاهيم اوليه ارتباط ADO.NET و XML

در اين مقاله به بررسی پتانسيل های ADO.NET که در ارتباط با XML و سرويس های وب XML می باشند ، پرداخته می گردد .

مقدمه
XML در دات نت يکی از مهمترين عناصر محسوب و دارای نقشی کليدی است ( قلب دات نت ) . ASP.NET و سرويس های وب از XML بعنوان روشی ذاتی برای دستيابی به داده ها استفاده می نمايند . سرويس های وب از پروتکل SOAP که خود مبتنی بر XML روی HTTP است ، استفاده می نمايند . پيکربندی و تنظيمات دات نت با فرمت XML ذخيره می گردند . ADO.NET از طريق چندين سطح متفاوت با XML مرتبط می گردد که اين پيوستگی و ارتباط دارای يک مزيت بزرگ خواهد : ارتباط بين داده های رابطه ای و سلسله مراتبی . بنابراين ، می توان XML را نظير چسبی در نطر گرفت که تمام اجزای دات نت را بيکديگر متصل می نمايد. برنامه ها و عناصری که با استفاده از دات نت ايجاد می گردند ، قادر به برقراری ارتباط بکمکXML می باشند . بمنظور کار با XML در دات نت، بيش از دويست کلاس ايجاد شده که در Namespace با نام System.Xml مستقر می باشند . XML با ADO.NET بطور واقعی مرتبط و از اين طريق پلی بين داده های رابطه ای و سلسله مراتبی ايجاد می گردد .

ADO.NET و XML
ADO.NET ، بصورت کامل با XML مرتبط است . مدل اشياء ADO.NET ، بگونه ای طراحی شده است که XML را بعنوان هسته اساسی خود ، نه بعنوان يک چيز اضافه نظير ADO 2.x ، پذيرفته است . تکنولوژی ADO.NET ، اين امکان را فراهم می نمايد که داده های رابطه ای سنتی را بسادگی به فرمت XML تبديل کرد.در اين راستا ، همچنين امکان تبديل داده ها از XML ، به مجموعه ای از جداول و رابطه ها نيز وجود دارد. XML ، يکی از روش های قابل حمل و قدرتمند برای ارائه داده در محيط ها ی ( پلات فرم ) مستقل و باز است. يکی از خصايص مهم داده های XML ، ماهيت مبتنی بر متن آنان است . بدين ترتيب داده های XML ، بسادگی بين برنامه ها و سرويس ها ارسال خواهند شد.( در ADO Recordset داده ها بصورت باينری ارسال می گردند) . بمنظور پردازش داده های مبتنی بر XML ، می بايست برنامه مورد نظرنوشته گردد . داده های XML ، ممکن است از طريق يک منبع خارجی ( يک بنگاه تجاری خاص ) ، يک سرويس وب XML ، پست الکترونيکی (Email) ، سرويس دهنده Microsoft Biztalk و يا منابع ديگر ، توزيع شوند.
مدل اشياء ADO.NET ، امکانات حمايتی متعددی را در رابطه با XML ارائه می نمايد. قوانين و توصيه های زير در زمان استفاده از XML بهمراه ADO.NET ، پيشنهاد می گردد :

  • امکان خواندن داده ازيک DataSet با فرمت XML ، وجود خواهد داشت. روش فوق، زمانی مفيد خواهد بود که بخواهيم داده هائی را بين برنامه ها و يا سرويس ها در يک محيط توزيع شده ارسال نمائيم .

  • امکان پرنمودن (Fill) يک DataSet با داده ها ی XML وجود خواهد داشت. روش فوق، زمانی مفيد خواهد بود که داده های XML را از طريق برنامه و يا سرويس ديگر دريافت و بخواهيم يک بانک اطلاعاتی را با استفاده از آنان ، بهنگام نمائيم .

  • می توان يک XML Scehma را بمنظور ارائه داده ها در يک DataSet ايجاد نمود. از XML Schema ، بمنظور انجام عملياتی نظير سريال سازی داده های XML به يک Stream و يا يک فايل استفاده می گردد.

  • می توان داده های XML را از طريق يک فايل و يا يک Stream ، درون يک درخت DOM)Document Object Model) لود و در ادامه ،امکان انجام عمليات بر روی داده ها بصورت XML و يا يک DataSet ، وجود خواهد داشت .بدين منظور لازم است از يک XML Schema ، برای تشريح ساختار داده ها جهت DataSet استفاده کرد .

  • امکان ايجاد Typed Dataset وجود خواهد داشت . Typed DataSet ، يک زير کلاس از DataSet بوده که بهمراه آن خصلت ها و متدهائی بمنظور بکارگيری ساختار DataSet اضافه شده است .

مثال
در اين مثال نحوه استفاده از XML در مدل غير متصل ADO.NET تشريح می گردد . در مثال فوق ، از XML بمنظور ارسال داده بين بخش های متفاوت سيستم استفاده می شود :

  • مرحله يک : برنامه سرويس گيرنده ، يک سرويس وب XML را بمنظور درخواست داده از بانک اطلاعاتی فرا می خواند .

  • مرحله دو : سرويس وب XML ، يک Query به يک منبع داده را انجام تا داده های مورد نظر را بدست آورد .

  • مرحله سه : سرويس وب XML ، نتايج را در يک DataSet لود می نمايد.

  • مرحله چهار : سرويس وب XML ، داده ها را به فرمت XML ترجمه و داده های XML را برای برنامه سرويس گيرنده برمی گرداند .

  • مرحله پنج : برنامه سرويس گيرنده ، پردازش های لازم در رابطه با داده های XML را انجام می دهد. مثلا" سرويس گيرنده می تواند داده XML را در يک DataSet لود و آنها را به کنترل های رابط کاربر نظير يک DataGrid نسبت دهد. پس از آمادگی برنامه سرويس گيرنده ، يک سرويس وب XML ، بمنظور بهنگام سازی منبع داده با داده های تغيير يافته فعال و فرا خوانده می گردد.

  • مرحله شش : سرويس وب XML ، داده های XML جديد را درون يک DataSet لود و از داده های جديد ، بمنظور بهنگام سازی منبع داده استفاده می نمايد.

جستجو
جستجو

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

مقالات
مشاهده گروه ها


ارائه روشی مناسب بمنظور ارتباط اتوماتيک به مقالات سخا روش

 ارائه روشی مناسب بمنظور ارتباط اتوماتيک به مقالات سخا روش New Page 1

ساير امکانات

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
ارتباط اتوماتيک به مقالات ما | مديريت وب | 13438 | 44 | 3.3

ارتباط اتوماتيک به مقالات منتشر شده در سايت سخاروش

ارتباط اتوماتيک به مقالات ما

يکی از اهداف اوليه ابداع کامپيوتر، حذف عمليات تکراری است . حجم توليد اطلاعات در سطح جهان روندی کاملا" تصاعدی و شگفت انگيز را طی می نمايد . استفاده از اطلاعات در صورتيکه به توليد و ارائه دانش و دانائی منتهی گردد ، می تواند دستاوردهای مثبتی را برای يک جامعه بدنبال داشته باشد ، درغيراينصورت فقط سرمايه ها ی ملی که مهمترين آن عنصر زمان است را ازدست داده ايم . در عصر اطلاعات ، فرصت برای کسب تجارب موازی وجود نداشته و می بايست تمامی تجارب موفق در امتداد هم قرار گيرد . اعتقاد عملی به اصل فوق ، شرط اوليه ورود به يک جامعه مبتنی بر اطلاعات در عصر حاضر است . پس می بايست بپذيريم که اطلاعات اندک هر يک از ما متعلق به جامعه ما بوده و اطلاعات ديگران نيز همچنين . در اينصورت است که ضريب نفوذ اطلاعات در يک جامعه رشد و شرايط مطلوبی برای توسعه در تمامی ابعاد در يک کشور ايجاد می گردد. حضور موفقيت آميز در عرصه تکنولوژی اطلاعات و ارتباطات با اعتقاد و تحقق اصل فوق ، ميسر می گردد. در اين راستا لازم است تمامی کارشناسان و متخصصين پس از بررسی و آناليز مناسب اطلاعات، اقدام به ارائه دانش و تجارب خود بر اساس يک سيتستم مدون نمايند. جملگی می بايست عمليات و کارهای تکراری را حذف نمائيم و همه چيز را در ابعاد ملی نگاه کنيم نه از زاويه منافع شخصی . بهرحال در دورانی زندگی می کنيم که زمان کهنه شدن علم بمراتب سريعتر از ابداع آن است .بديهی است در چنين شرايطی، با اتکاء به اطلاعات بسيار ناچيز خود و عدم اشاعه و انتشار آنان ، شاهد حضور ديواری بلند به بزرگی حجم اطلاعات توليد شده در سطح جهان ، پيرامون خود خواهيم شد . در ديوار احاطه شده پيرامون خود ، نمی توان به اندک اطلاعات خود افتخار و آن را توشه ای برای زيستن در عصر اطلاعاتی درنظرگرفت.
در دو سال اخير به همت و پشتکار سخت کوشان اين مرزو بوم ، سايت های متعدد فارسی ايجاد و هر کدام بر اساس سياست هائی اقدام به ارائه خدمات متنوع خود می نمايند. برخی از اين سايت ها ، در اقدامی قابل ستايش اقدام به نشر و ارائه مقالات در رابطه با موضوعات متنوع ، می نمايند . يک مقاله پس از صرف زمانی طولانی آماده و بر روی سايت قرار می گيرد. آيا منطقی است که سايت های متعدد موجود ، اقدام به ارائه مقالات با موضوع يکسان نمايند ؟ آيا ما با کمبود مطلب در اين زمينه مواجه هستيم ؟ با وجود دريائی عظيم از اطلاعات مرتبط با دنيای وسيع کامپيوتر ، نبايد در اين زمينه نگرانی وجود داشته باشد و اگر نگرانی هست به از دست رفتن زمان ملی برای ارائه مطالب و مقالات تکراری ، برمی گردد. در اين راستا هدف مطرح شدن افراد و يا سايت خاصی نبوده و همه می بايست در کنار هم و برای رسيدن به آينده ای مشترک و توام با موفقيت حرکت نمائيم . قطعا" موفقيت در آينده به تمامی ما تعلق خواهد داشت و هر يک از ما نيز می بايست پذيرای مسئوليت خود در صورت عدم موفقيت باشيم . برآيند دانش و دانائی تمامی اقشار يک جامعه ، معيار اصلی سنجش موفقيت در يک جامعه مبتنی بر تکنولوژی اطلاعات ؛ می باشد. هر يک از ما در اين زمينه رسالتی سنگين را برعهده داشته و می بايست عاشقانه در اين راه حرکت و سهمی در توليد و ارائه دانش داشته باشيم .
خوشبختانه عرضه تکنولوژی های جديد، زمينه تحقق بسياری از آرزوی های گذشته را فراهم نموده و از اين فرصت طلائی می بايست حداکثر استفاده را نمود قبل از اينکه زمان را از دست دهيم . بر همين اساس اين شرکت امکانی را فراهم نموده است که بتوان حداقل از کار تکراری در عرضه و ارائه مقالات با موضوع يکسان جلوگيری بعمل آيد. در اين راستا از تکنولوژی هائی نظير XML و XSL استفاده شده است . مديران محترم سايت های معظم موجود ، می توانند با دنبال نمودن روشی که در اين مقاله ارائه شده است ، بصورت اتوماتيک از ليست مقالات منتشر شده بر روی سايت سخاروش ، آگاهی و اين فرصت را برای مخاطبان خود نيز فراهم آورند که با وارد شدن به يک سايت ، بصورت همزمان از مقالات منتشر شده بر روی سايت ديگر نيز آگاهی پيدا نمايند . وضعيت فوق را می توان تعميم و يک پورتال برای تمامی مقالاتی که در زمينه تکنولوژی اطلاعات تهيه و ارائه می گردد ، گسترش نمود. بدين ترتيب از يکطرف ، کاربران ، قادر به مشاهده و آگاهی همزمان از مقالات منتشر شده بر روی ساير سايت ها بوده و از طرف ديگر تهيه کنندگان و ارائه دهندگان مقالات می توانند با ورود به سايت فوق بصورت کاملا" Online از مقالات منتشر شده در ساير سايت ها ، آگاهی و با توجه به موضوع مقالات ، اقدام به ارائه مقالات با موضوع غيرتکراری نمايند .
شکل زير نحوه انجام عمليات در طرح پيشنهادی را نشان می دهد .

با استفاده از روش فوق، بمحض انتشار يک مقاله جديد در سايت سخاروش ، ساير سايت ها که از امکان فوق استفاده و تنظيمات مورد نظر را انجام داده باشند ، بصورت اتوماتيک ليست مقالات جديد ( صرفا" ليست مقالات بهمراه لينک مربوطه ) را بر روی سايت خود ، خواهند داشت .

عمليات انجام شده بر روی سايت سخا روش :

  • ايجاد اتوماتيک ليست مقالات جديد ( پنج مقاله جديد ) بصورت XML

  • ارائه دو تمپليت پيشنهادی XSL بمنظور تبديل سند XML به HTML جهت نمايش بر روی سايت ديگر( امکان نوشتن فايل های XSL ديگر نيز توسط سايت های استفاده کننده ، وجود دارد ) .

Srco1.xsl : در اين فرمت ليست مقالات بهمراه نام مقاله و شرح مقاله نمايش داده می شود . تاريخ نشر مقاله ، همزمان با قرار گرفتن موس بر روی لينک مربوطه نمايش داده می شود.( جدول يک )
قسمت Bold شده ، در يک خط قرار گيرد.( در زمان Copy&Paste)

<?xml version="1.0" encoding="Utf-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="/Articles">
<p>
<xsl:value-of select="Site/Description"/>
<a>
<xsl:attribute name="href"><xsl:value-of select="Site/Link"/></xsl:attribute>
<xsl:value-of select="Site/title"/>
</a>
</p>
<dl>
<xsl:for-each select="Article">
<dt>
<a> <xsl:attribute name="href"><xsl:value-of select="Link"/></xsl:attribute>
<xsl:attribute name="title" >&#1578;&#1575;&#1585;&#1610;&#1582; &#1606;&#1588;&#1585; : <xsl:value-of select="DatePublish" /> </xsl:attribute>
<xsl:value-of select="title"/>
</a>
</dt>
<br/>
<xsl:value-of select="Description"/>
</xsl:for-each>
</dl>
</xsl:template >
</xsl:stylesheet>

خروجی بر روی سايت ديگر

Srco2.xsl : در اين فرمت ليست مقالات نمايش داده می شود .تاريخ نشر مقاله ، همزمان با قرار گرفتن موس بر روی لينک مربوطه نمايش داده می شود.( جدول دو )
قسمت Bold شده ، در يک خط قرار گيرد.( در زمان Copy&Paste)

<?xml version="1.0" encoding="Utf-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="/Articles">
<p>
<xsl:value-of select="Site/Description"/>
<a><xsl:attribute name="href"><xsl:value-of select="Site/Link"/></xsl:attribute>
<xsl:value-of select="Site/title"/></a>
</p>
<dl>
<xsl:for-each select="Article">
<dt>
<a>
<xsl:attribute name="href"><xsl:value-of select="Link"/></xsl:attribute>
<xsl:attribute name="title" > &#1578;&#1575;&#1585;&#1610;&#1582; &#1606;&#1588;&#1585; : <xsl:value-of select="DatePublish" /> </xsl:attribute>
<xsl:value-of select="title"/>
</a>
</dt>
</xsl:for-each>
</dl>
</xsl:template >
</xsl:stylesheet>

خروجی بر روی سايت ديگر

  • ارائه تابع DisplaySrco جهت استفاده در صفحات ASP کلاسيک و ASP.NET .

تابع DisplaySrco جهت استفاده در صفحات ASP کلاسيک ( جدول سه )

<% Function displaySrco(ByVal strSource, ByVal strXSL)
Dim xmlHTTP, xmlSrcoSource, xmlStyle
Dim strXSLFile
' Use the XMLHTTPConnection object to grab the feed
Set xmlHTTP = Server.CreateObject("Microsoft.XMLHTTP")
xmlHTTP.Open "GET", strSource, False
on error resume next
xmlHTTP.Send
ResponsePage =xmlHTTP.responseText
if ResponsePage="" then
Response.write("سايت غير فعال است ")
else
Active =True
end if
' Load the feed into a DOM object
Set xmlSrcoSource = Server.CreateObject("Microsoft.XMLDOM")
xmlSrcoSource.async = False
xmlSrcoSource.loadXML(xmlHTTP.ResponseText)
' Load the XSL style sheet
strXSLFile = Server.MapPath(strXSL)
Set xmlStyle = Server.CreateObject("Microsoft.XMLDOM")
xmlStyle.async = False
xmlStyle.load(strXSLFile)
' Render the feed using the style sheet
displaySrco = xmlSrcoSource.transformNode(xmlStyle)
' Release resources
Set xmlStyle = Nothing
Set xmlSrcoSource = Nothing
Set xmlHTTP = Nothing
End Function %>

تابع DisplaySrco جهت استفاده در صفحات ASP.NET ( جدول چهار)

<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="System.Xml.Xsl" %>
<%@ Import Namespace="System.Xml.XPath" %>
<%@ import namespace="System.Net" %>
<script language="VB" runat="server">
Private Sub displaySrco(ByVal strSource As String, ByVal strXSL As String)
Dim wrRequest As WebRequest, wrResponse As WebResponse
Dim xmlReader As XmlTextReader, xmlWriter As XmlTextWriter
Dim xPathDoc As XPathDocument, xslt As New XslTransform()
Try
' Create a connection with srco.ir
wrRequest = WebRequest.Create(strSource)
' Use a proxy if required.
wrRequest.Proxy = New WebProxy("212.121.212.121:8080/")
wrResponse = wrRequest.GetResponse()
' Set up an XML reader and writer
xmlWriter = New XmlTextWriter(Response.Output)
xmlReader = New XmlTextReader(wrResponse.GetResponseStream())
' Open as an XPath document
xPathDoc = New XPathDocument(xmlReader)
' Load the XML style sheet
xslt.Load(Server.MapPath(strXSL))
' Display the content
xslt.Transform(xPathDoc, Nothing, xmlWriter)
Catch strErr As Exception
Response.Write("<p>" & strErr.ToString() & "</p>")
End Try
End Sub
</script>

عمليات سايت های استفاده کننده :

هر يک از سايت های علاقه مند ، جهت مشاهده اتوماتيک ليست مقالات سخاروش ، می بايست مراحل زير را دنبال نمايند :

  • مرحله اول : دريافت يکی از فايل های Srco1.xsl و يا Srco2.xsl که در جداول يک و دو ارائه شده است . در اين راستا می توا ن ، عمليات جذاب Copy&paste را انجام و پس از تکثير فايل در يک ويرايشگر معمولی ( مثلا" Notepad ) آن را با نام دلخواه و با انشعاب XSL در مسير مربوطه ذخيره کرد.

  • مرحله دوم : محل ذخيره فايل XSL می بايست در مسيری باشد که صفحه مربوطه قصد استفاده از سرويس فوق را دارد. مثلا" در صورتيکه قصد استفاده از سرويس فوق ، در ناحيه ای خاص و بر روی صفحه اصلی سايت ؛ وجود داشته باشد ، می بايست فايل های فوق را در فهرست ريشه وب ، ذخيره کرد.

  • مرحله سوم : با توجه به تکنولوژی استفاده شده در سايت خود ( مثلا" ASP کلاسيک و ASP.NET ) ، تابع ارائه شده در يکی از جداول سه و چهار را انتخاب و در صفحه ای که قصد استفاده از سرويس فوق را داريد ، درج نمائيد. ( عمليات Copy&Paste)

  • مرحله چهارم : فراخوانی تابع بهمراه پارامترهای مربوطه در صفحه ای که قصد نمايش ليست مقالات جديد سخاروش را داريد :

مثال : فراخوانی تابع DisplaySrco در صفحات ASP کلاسيک درصورت استفاده از Srco1.xsl
( در صورتيکه فايل فوق با نام ديگری ذخيره شده است ، می بايست در هنگام فراخوانی تابع از آن نام استفاده گردد ) .

<%= displaySrco("http://www.Srco.ir/Articles/NewArticles.xml", "Srco1.xsl") %>

مثال : فراخوانی تابع DisplaySrco در صفحات ASP کلاسيک و استفاده از Srco2.xsl
( در صورتيکه فايل فوق با نام ديگری ذخيره شده است ، می بايست در هنگام فراخوانی تابع از آن نام استفاده گردد ) .

<%= displaySrco("http://www.Srco.ir/Articles/NewArticles.xml", "Srco2.xsl") %>

مثال : فراخوانی تابع DisplaySrco در صفحات ASP.NET درصورت استفاده از Srco1.xsl
( در صورتيکه فايل فوق با نام ديگری ذخيره شده است ، می بايست در هنگام فراخوانی تابع از آن نام استفاده گردد ) .

<%= displaySrco("http://www.Srco.ir/Articles/NewArticles.xml", "Srco1.xsl") %>

مثال : فراخوانی تابع DisplaySrco در صفحات ASP.NET و استفاده از Srco2.xsl
( در صورتيکه فايل فوق با نام ديگری ذخيره شده است ، می بايست در هنگام فراخوانی تابع از آن نام استفاده گردد ) .

<%= displaySrco("http://www.Srco.ir/Articles/NewArticles.xml", "Srco2.xsl") %>

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

جستجو
جستجو

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

مقالات
مشاهده گروه ها


تشريح انواع Data Provider و نحوه انتخاب آنان

 تشريح انواع Data Provider و نحوه انتخاب آنان New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

شنبه 23 مهر 1384 2005 Oct. 15 Saturday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
ارتباط به منابع داده در ADO.NET ( بخش اول ) | مديريت وب | 3969 | 7 | 3.3

ارتباط به منابع داده در ADO.NET ( بخش اول )

ارتباط به منابع داده در ADO.NET ( بخش اول )

بمنظوراتصال به يک منبع داده ، می بايست در ابتدا يک Net Data Provider . ، انتخاب گردد . Data Provider ، کلاس های لازم بمنظور اتصال به يک منبع داده ، خواندن اطلاعات ، ويرايش ، بهنگام سازی و انجام عمليات متفاوت بر روی داده ها را ارائه می نمايد . در اين مقاله به تشريح انواع Data Provider پرداخته و با نحوه انتخاب مناسب آنان بمنظور استفاده در برنامه ها ، آشنا خواهيم شد .

NET Data Provider . چيست؟
NET Data Provider .، يک Component کليدی ارائه شده بهمراه معماری ADO.NET بوده که امکان ارتباط بين يک منبع داده و يک Component ، يک سرويس وب XML و يا يک برنامه را فراهم می نمايد. يک NET Data Provider .، امکان اتصال به منبع داده ، بازيابی داده ها ، انجام عمليات بر روی داده ها و بهنگام سازی منبع داده را فراهم می نمايد. بهمراه فريمورک دات نت ، Provider های زير ارائه شده است :

  • SQL Server .NET Data Provider

  • OLE DB .NET Data Provider

در آينده برای ساير منابع داده ، NET Data Provider . مربوطه ايجاد و در دسترس عموم برنامه نويسان قرار خواهد گرفت. هر Provider ، مسئوليت پياده سازی کلاس های عمومی ADO.NET را برعهده خواهد داشت . دستاورد رويکرد فوق ، ارتباط با منابع داده متفاوت با استفاده از يک روش يکسان از طريق محيط های برنامه نويسی خواهد بود .

کلاس های NET Data Provider .
ADO.NET ، از NET Data Provider . ، بمنظور ارتباط به منبع داده ، بازيابی ، عمليات برروی داده ها و بهنگام سازی منبع داده استفاده می نمايد . هر Provider ، بگونه ای طراحی می گردد که دارای حجم اندکی بوده و يک لايه حداقل بين کد های نوشته شده و منبع داده را ايجاد نمايند . ( افزايش کارائی بدون قربانی نمودن پتانسيل ها !)

فريمورک دات نت ، دارای دو Data Provider است :

  • SQL Server .NET . امکان دستيابی بهينه به SQL Server 2000 و بانک های اطلاعاتی SQL Server 7.0 را فراهم می نمايد. بدين منظور می بايست از namespace با نام System.Data.Sqlclient بهمراه برنامه ها، استفاده گردد . Provider فوق، نسبت به OLE DB .NET Data Provider ، دارای کارآئی بمراتب بيشتری است (برای ارتباط با منبع داده از لايه های اضافه ديگر نظير: OLE DB و يا ODBC استفاده نمی گردد ).

  • OLE DB .NET . امکان دستيابی به SQL Server 6.5 و يا نسخه های قبل از آن ، بانک های اطلاعاتی نظير اوراکل ، Sybase ، DB2/400 و اکسس ماکروسافت را فراهم می نمايد . بمنظور استفاده از Provider فوق ، می بايست از namespace با نام System.Data.OleDb بهمراه برنامه ها ، استفاده گردد .

علاوه بر موارد فوق ، ماکروسافت در صدد ارائه يک ODBC .NET Data Provider برای دستيابی به ساير منابع داده است .
ADO.NET ، از يک مدل شی گراء در رابطه با NET Data Providers . استفاده می نمايد . در SQL Server .NET Data Provider ، اسامی کلاس ها با پيشوند Sql آغاز می گردد . مثلا" کلاس Connection ، SqlConnection ناميده می شود. در OLE DB .NET Data Provider ، اسامی کلاس ها با پيشوند OleDb ، آغاز می گردد . مثلا" کلاس Connection دارای نام OleDbConnection ، می باشد. چهار کلاس اساسی زير، سهم عمده ای در شکل دهی يک NET Data Provider . را برعهده دارند .

  • XxxConnection . کلاس فوق ، بمنظور ايجاد يک Connection به يک منبع داده خاص استفاده می گردد . مثلا" کلاس SqlConnection ، باعث اتصال به منابع داده SQL Server ، می گردد .

  • XxxCommand . کلاس فوق ، بمنظور اجرای يک دستور از طريق يک منبع داده ، استفاده می گردد . مثلا" کلاس SqlCommand ، امکان اجرای Stored Procedure و عبارات SQL در رابطه با يک منبع داده SQL Server ، را فراهم می نمايد .

  • XxxDataReader . از کلاس فوق ، بمنظور خواندن اطلاعات از يک منبع داده بصورت فقط خواندنی و Forward-only ، استفاده می گردد . مثلا" کلاس SqlDataReader ، امکان خواندن سطرهائی از جداول در رابطه با يک منبع داده SQL Server را فراهم می نمايد . کلاس فوق، بعنوان خروجی متد ExecuteReader از کلاس XxxCommand ، برگردانده می شود. ( اغلب بعنوان ماحصل اجرای يک عبارت SELECT SQL )

  • XxxDataAdapter . کلاس فوق ، از اشياء XxxCommand استفاده تا يک DataSet را حاوی داده های مورد نظر نمايد. در اين راستا ، امکان بهنگام سازی اطلاعات نيز فراهم می گردد . مثلا" کلاس SqlDataAdapter ، امکان مديريت ارتباط بين يک Dataset و داده های ذيربط در يک منبع داده SQL Server را فراهم می نمايد.

نحوه انتخاب يک Data Provider
انتخاب يک NET Data Provider . مناسب برای يک برنامه، بستگی به نوع منبع داده ئی دارد که قصد ارتباط با آن وجود دارد.

نحوه مراجعه به يک NET Data Provider .
با استفاده از Solution Explorer در ويژوال استوديو دات نت ، می توان مديريت مراجعات به اسمبلی هائی که مسئوليت NET Data Provider . را بر عهده دارند ، انجام داد . اسمبلی System.Data.dll ( بصورت فيزيکی يک فايل DLL است ) مسئوليت پياده سازی SQL Server .NET Data Provider و OLE DB .NET Data Provider را از طريق Namespace های System.Data.SqlClient و System.Data.OleDb ، بر عهده داشته و اسمبلی System.Data.Odbc.dll چنين رسالتی را در رابطه با ODBC .NET Data Provider ، انجام خواهد داد . اسمبلی فوق ، در زمان نصب ويژوال استوديو دات نت ، نصب نخواهد شد . برای دريافت اسمبلی فوق ، می توان از طريق آدرس : http://msdn.microsoft.com/download ، اقدام و پس از کليک نمودن بر روی NET Framework .، گزينه ODBC .NET Data Provider را انتخاب کرد . بدين ترتيب، زمينه دريافت فايل فوق فراهم می گردد . پس از دريافت اسمبلی فوق ، می توان بصورت دستی (Manaually) در يک پروژه به آن مراجعه و از ODBC .NET Data Provider فوق ، استفاده کرد .

SQL Server .NET Data Provider
Provider فوق ، لايه ای نازک بين يک برنامه و SQL Server ايجاد می نمايد. با توجه به اينکه اين Provider ، از پروتکل اختصاصی خود ( TDS: Tabular Data Stream ) بمنظور ارتباط با يک سرويس دهنده SQL استفاده می نمايد ، حجم آن اندک و دستيابی به سرويس دهنده SQL مستقيما" و بدون استفاده از لايه های اضافه ديگر ، انجام می گيرد . بدين ترتيب کارائی و قابليت توسعه سيستم ، بهبود پيدا خواهد کرد .

OLE DB .NET Data Provider
Provider فوق ، بمنظور اتصال به يک منبع داده از OLE DB و COM بصورت ذاتی استفاده می نمايد . بنابراين می بايست از يک OLE DB Provider استفاده گردد که خود از OLE DB .NET Data Provider استفاده می نمايد . بمنظور استفاده از OLE DB .NET Data Provider ، می بايست نوع Provider بصورت يک رشته ، مشخص گردد . واژه Provider در رشته فوق بيانگر نوع OLE DB منبع داده ئی است که به آن متصل می گرديم .
مثلا" "Provider = MSDAORA" ، شما را به يک بانک اطلاعاتی اوراکل متصل می نمايد . در زمانيکه از SQL Server .NET Data Provider ، استفاده می شود ، نيازی به استفاده از واژه Provider نخواهد بود ( فرض می شود که SQL Server 7.0 و يا قبل از آن باشد) . جدول زير نمونه هائی در اين زمينه را نشان می دهد :

مثال

منبع داده

Provider = SQLOLEDB;Data Source = Tehran ;Initial
Catalog = pubs;User ID = sa ; Password = 999;

SQL Server 6.5

Provider = MSDAORA ; Data Source = ORACLE817 ; User
ID = OLEDB ; Password = OLEDB ;

Oracle server

Provider = Microsoft.Jet.OLEDB.4.0;
Data Source = C:\Mydb\Firstdb.mdb ;

Microsoft Access database

ODBC .NET Data Provider
Provider فوق ، بمنظور اتصال به يک منبع داده از توابع API مربوط به ODBC بصورت ذاتی استفاده می نمايد. اين Provider ، بصورت يک اسمبلی مجزاء و با نام System.Data.Odbc.dll ، پياده سازی شده و بصورت پيش فرض در تمپليت های پروژه در ويژوال استوديو دات نت ، انتخاب نشده و می بايست بصورت دستی به آن مراجعه گردد .

مثال

Provider/Driver

منبع داده

Driver ={Microsoft ODBC for Oracle };
Server = ORACLE817;UID=OLEDB;
PWD = OLEDB; 		ORA ODBC

Oracle Server

Driver = {Microsoft Access Driver (*.mdb)};
DBQ = C:\Mydb\Firstdb.mdb ; 		Jet ODBC

Microsoft Access database

خلاصه
برای انتخاب يک NET Data Provider . ، موارد زير پيشنهاد می گردد :

  • اگر منبع داده از نوع SQL Server 7.0 و يا SQL Sever 2000 می باشد ، SQL Server .NET Data Provider انتخاب گردد .
  • اگر منبع داده از نوع SQL Server 6.5 و قبل از آن باشد ، OLE DB .NET Data Provider انتخاب گردد .

  • اگر منبع داده شامل هر نوع منبع داده نامتجانس باشد که امکان دستيابی به آن از طريق OLE DB Provider ، وجود داشته باشد ،
    از     OLE DB .NET Data Provider     استفاده گردد .

  • اگر منبع داده شامل هر نوع منبع داده نامتجانس باشد که امکان دستيابی به آن از طريق ODBC driver ، وجود داشته باشد ،
    از     ODBC .NET Data Provider     استفاده گردد .

در بخش دوم اين مقاله به بررسی نحوه تعريف يک Connection خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


بررسی برنامه ها و ابزارهای کمکی پروتکل TCP/IP

 بررسی برنامه ها و ابزارهای کمکی پروتکل TCP/IP New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

شنبه 23 مهر 1384 2005 Oct. 15 Saturday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
مفاهيم اوليه پروتکل TCP/IP ( بخش سوم ) | مديريت شبکه | 5916 | 14 | 3.4

مفاهيم اوليه پروتکل TCP/IP ( بخش سوم )

مفاهيم اوليه پروتکل TCP/IP ( بخش سوم )

در بخش اول اين مقاله، پروتکل TCP/IP بهمراه لايه های آن معرفی گرديد . در بخش دوم ، به بررسی برخی از پروتکل های مهم موجود در پشته TCP/IP اشاره گرديد . در اين بخش ، به بررسی برنامه ها و ابزارهای کمکی موجود در رابطه با پروتکل TCP/IP ، خواهيم پرداخت .
نسخه TCP/IP پياد ه سازی شده در ويندوز، بهمراه خود مجموعه ای از برنامه های کاربردی را ارائه نموده است . با استفاده از برنامه های فوق ، امکان اجرای ويندوز 2000 بر روی يک کامپيوتر بمنظور دستيابی به مجموعه ای گسترده از اطلاعات موجود در يک شبکه ، وجود خواهد داشت . ويندوز 2000 ، سه گروه عمده از ابزارهای مبتنی بر TCP/IP را ارائه می نمايد : برنامه های عيب يابی ، برنامه های ارتباطی و نرم افزارهای سمت سرويس دهنده .
در ادامه به تشريح امکانات موجود در هر گروه خواهيم پرداخت .

برنامه های عيب يابی
برنامه های عيب يابی ، امکان تشخيص و برطرف نمودن مسائل مرتبط با شبکه را برای کاربران فراهم می نمايند. برخی از اين ابزارها عبارتند از :

  • ARP . برنامه فوق ، Cache مربوط به ARP) Addreee Resolution Protocol) را نمايش و امکان اصلاح آن را فراهم می نمايد . بمنظور استفاده از برنامه فوق ، کافی است ARP -a را در خط دستور تايپ و در ادامه جدول مربوط به ARP Cache ، نمايش داده می شود. با استفاده از برنامه فوق می توان يک Entry ايستا را به جدول مربوطه اضافه ( arp -s 157.55.85.212 00-aa-00-62-c6-09 ) ، و يا اقدام به حذف يک host از جدول نمود ( arp -d ) .

  • Hostname . برنامه فوق ، نام کامپيوتر ميزبان را نمايش می دهد . برای استفاده از برنامه فوق ، کافی است Hostname را در خط دستور ، تايپ و نام کامپيوتر خود را مشاهده نمود.

  • IPConfig . برنامه فوق ، پيکربندی جاری پروتکل TCP/IP را نمايش ( آدرس IP ، آدرس فيزيکی ، نام کامپيوتر و ... ) و امکان بهنگام سازی آن را فراهم می نمايد. بمنظور آشنائی با پتانسيل های برنامه فوق ، ipcongig/help را در خط دستور تايپ تا با عملکرد اين برنامه و سوئيچ های مربوطه آشنا گرديد .

  • Nbtstat . برنامه فوق ، جدول محلی اسامی NetBIOS را نمايش می دهد .جدول فوق ، شامل ليستی از اسامی کامپيوتر ها بهمراه IP مربوطه است ( mapping )

  • Netstat . برنامه فوق ، اطلاعات مربوط به جلسه کاری (Session) پروتکل TCP/IP را نمايش می دهد .

  • Ping . برنامه فوق ، پيکربندی و ارتباط مبتنی بر IP بين دو کامپيوتر را بررسی و تست می نمايد. Ping يک درخواست ICMP را از کامپيوتر مبداء ارسال و کامپيوتر مقصد از طريق يک پاسخ ICMP به آن جواب خواهد داد .بمنظور تست ارتباط با استفاده از يک آدرس IP و يا نام يک کامپيوتر ، فرمان [ PING [IP_Address or Computer_Name را تايپ نمائيد. بمنظور تست پيکربندی TCP/IP بر روی کامپيوتر خود ، از Local Loopback استفاده نمائيد . Local loopback ، شامل آدرس 127.0.0.1 است. ( Ping 127.0.0.1 )

  • Tracert . برنامه فوق ، رديابی يک بسته اطلاعاتی تا رسيدن به مقصد مورد نظر را انجام می دهد .

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

  • FTP . برنامه فوق، با استفاده از پروتکل TCP ، اقدام به ارسال فايل بين ويندوز 2000 و کامپيوترهائی که بر روی آنان نرم افزار سرويس دهنده FTP نصب شده است ، می نمايد .

  • Telnet . برنامه فوق ، امکان ارتباط از راه دور به منابع شبکه موجود در کامپيوترهائی که سرويس دهنده Telnet بر روی آنان نصب شده است را فراهم می نمايد .

  • Tftp . برنامه فوق از پروتکل UDP ، برای ارسال فايل های کوچک بين ويندوز 2000 و کامپيوترهائی که بر روی آنان سرويس دهنده TFTP)Trivial File Transfer Protocol ) نصب شده است را فراهم می نمايد.

نرم افزارهای سمت سرويس دهنده
اين نوع نرم افزارها امکان چاپ و انتشار سرويس ها را برای سرويس گيرندگان مبتنی بر TCP/IP در ويندوز 2000 ، فراهم می نمايد.

  • سرويس چاپ TCP/IP . برنامه فوق ، سرويس استاندارد چاپ TCP/IP را ارائه می نمايد. سرويس فوق ، امکان ارسال چاپ را برای کامپيوترهائی که بر روی آنان سيستم های عاملی بجز ويندوز 2000 نصب شده باشد ، به چاپگر های متصل شده به يک کامپيوتر مبتنی بر ويندوز 2000 ، فراهم می نمايد .

  • سرويس های اطلاعاتی اينترنت (IIS) . برنامه IIS ، نرم افزارهای سرويس دهنده متعددی نظير وب ، اخبار ، پست الکترونيکی و ارسال فايل مبتنی بر TCP/IP را در اختيار قرار می دهد. IIS ، در سيستم هائی که از نسخه های Server ويندوز 2000 استفاده می نمايند ، بصورت پيش فرض نصب می گردد . پيشنهاد می گردد در صورتيکه به عملکرد اين برنامه نيازی وجود ندارد ، اقدام به حذف (Uninstall ) آن از روی سيستم نمود .

مثال
مثال 1 - هدف : استفاده از برنامه Ping بمنظور اطمينان از صحت عملکرد پروتکل TCP/IP

  • مرحله يک : بعنوان يک کاربر مجاز ، به شبکه وارد شويد .
  • مرحله دو : گزينه Command Prompt را از مسير Start | Programs | Accessories انتخاب نمائيد.
  • مرحله سه : دستور Ping 127.0.0.1 را در پنجره مربوطه تايپ نمائيد .

نتايج : پس از انجام مراحل فوق ، نتايج زير می بايست نشان داده شود :

  • نتيجه يک : می بايست چهار بسته اطلاعاتی ارسال و چهار بسته اطلاعاتی دريافت و هيچگونه بسته اطلاعاتی گم نگردد . در غير اينصورت در رابطه با نصب TCP/IP مشکلاتی وجود دارد .
  • نتيجه دو : در صورتيکه چهار بسته اطلاعاتی ارسال و دريافت گردد ، نشاندهنده صحت عملکرد و نصب پروتکل TCP/IP است .
نتايج حاصل از اجرای برنامه Ping

C:\>ping 127.0.0.1
Pinging 127.0.0.1 with 32 bytes of data:

Reply from 127.0.0.1: bytes=32 time<10ms TTL=128
Reply from 127.0.0.1: bytes=32 time<10ms TTL=128
Reply from 127.0.0.1: bytes=32 time<10ms TTL=128
Reply from 127.0.0.1: bytes=32 time<10ms TTL=128

Ping statistics for 127.0.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms

مثال 2 - هدف : استفاده از برنامه های Ping و Hostname بمنظور صحت عملکرد TCP/IP

  • مرحله يک : بعنوان يک کاربر مجاز ، به شبکه وارد شويد .
  • مرحله دو : گزينه Command Prompt را از مسير Start | Programs | Accessories انتخاب نمائيد.
  • مرحله سه : در پنجره مربوطه ، دستور hostname را تايپ نمائيد.
  • مرحله چهارم : در پنجره مربوطه ، دستور Ping Computer_Name را تايپ نمائيد . نام کامپيوتر ، مقدار برگردانده شده در اثر اجرای فرمان hostname است .

نتايج : پس از انجام مراحل فوق ، نتايج زير می بايست نشان داده شود :

  • نتيجه يک : نام کامپيوتر ( در اين رابطه هر کامپيوتر دارای نام اختصاصی مربوط به خود خواهد بود )
  • نتيجه دو : آدرس IP کامپيوتر ( در اين رابطه هر کامپيوتر دارای آدرس IP مربوط به خود خواهد بود )
مرحله اول : مشخص نمودن نام کامپيوتر

C:\> hostname
Srco

مرحله دوم : استفاده از دستور Ping بهمراه نام کامپيوتر

C:> Ping Srco
Pinging Srco.Test.com [ 10.10.1.1] with 32 bytes of data:

Reply from 10.10.1.1: bytes=32 time<10ms TTL=128
Reply from 10.10.1.1: bytes=32 time<10ms TTL=128
Reply from 10.10.1.1: bytes=32 time<10ms TTL=128
Reply from 10.10.1.1: bytes=32 time<10ms TTL=128

Ping statistics for 10.10.1.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms

در بخش چهارم اين مقاله به بررسی ، Name Resoulation ، خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


بررسی معماری فرم های وب

 بررسی معماری فرم های وب New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
فرم های وب ( بخش دوم ) | مديريت وب | 2342 | 7 | 4.3

فرم های وب ( بخش دوم )

فرم های وب ( بخش دوم )

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

  • محتويات ويژوال که عمدتا" توسط تگ های Html ، مشخص می گردند .

  • کدها که منطق لازم بمنظور ارتباط با عناصر ويژوال را مشخص می نمايند.

يک فرم وب ، از لحاظ فيزيکی توسط فايلی با انشعاب aspx . ، ارائه می گردد . در صورتيکه انشعاب صفحات Html ، را به aspx . ، تغيير دهيم ، نتايج يکسانی را مشاهده خواهيم کرد ( فرم های وب بنوعی با صفحات Html سازگار می باشند) .يکی از نکات جالب و قابل توجه فرم های وی ، قابليت تفکيک کد از فرم بوده و شايد به همين دليل است که فرم های وب دارای جايگاهی خاص در رابطه با پياده سازی برنامه های وب می باشند. در اين راستا ، می توان از دو رويکرد متفاوت استفاده کرد :

  • استقرار کدها در يک فايل مجزاء . با استفاده از روش فوق ، می توان کدهای مرتبط با بخش ويژوال يک فرم را در فايلی مجزاء و با انشعاب خاص ذخيره نمود. انشعاب فايل فوق ، بستگی به زبان استفاده شده برای نوشتن کدها دارد . مثلا" در صورتيکه از VB.NET ، استفاده می گردد ، انشعاب اين نوع از فايل ها vb . ، و در صورتيکه از زبان سی شارپ ( #C) استفاده می گردد ، انشعاب آن cs . ، در نظر گرفته می شود .

  • در روش دوم، می توان کدها را مستقيما" در صفحه اصلی و بهمراه بخش ويژوال قرار دارد. بدين منظور از تگ Script استفاده می گردد . بهمراه تگ فوق، از خصلت RUNAT که دارای مقدار "SERVER" ، است ، استفاده می گردد.

<SCRIPT RUNAT="SERVER">
...
</SCRIPT>

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

بخش ويژوال فرم مشخص شده توسط يک فايل با انشعاب aspx .
HelloCodeBehind.aspx

<!-- HelloCodebehind.aspx -->
 <%@ Page Language="VB" Src="HelloCodebehind.aspx.vb" Inherits= MyWebPage %>
<HTML dir="rtl" >
<HEAD>
</HEAD>
<BODY>
<FORM RUNAT="SERVER">نام خود را وارد نمائيد :&nbsp;
<asp:textbox id=txtName Runat="server"></asp:textbox>
<p>
<asp:button id=cmdEcho onclick=cmdEcho_Click Text="نمايش" runat="server" tooltip="بر روی دکمه فوق کليک تا نام شما نمايش داده شود">
</asp:button></p>
<asp:label id=lblGreeting runat="server"></asp:label>
<P></P>
</FORM>
</BODY>
</HTML>

کد رابط کاربر ، در فايلی با نام HelloCodeBehind.aspx.vb ، قرار گيرد . ( صفحه Code Behind مربوط به فرم وب )

کدهای مرتبط با فرم وب، موجود در فايل HelloCodeBehind.aspx.vb

' HelloCodebehind.aspx.vb
Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Public Class MyWebPage
Inherits System.Web.UI.Page
Protected txtName As TextBox
Protected cmdEcho As Button
Protected lblGreeting As Label
Protected Sub cmdEcho_Click(Source As Object,e As EventArgs)
lblGreeting.Text="مجددا سلام (اين مرتبه از طريق جداسازی بخش ويژوال و کد) , " & txtName.Text
End Sub
End Class

Page Class
Namespace کليدی در فرم های وب و سرويس های وب ، System.web است . حمايت های لازم در ارتباط با فرم های وب در namespace با نام System.Web.UI و حمايت های لازم در ارتباط با کنترل های سرويس دهنده نظير : TextBox ,Button در namespace با نام System.web.UI.WebControls قرار دارد. کلاسی که بصورت اتوماتيک خروجی را برای يک صفحه aspx . را توليد می نمايد ، Page class ناميده و در namespace با نام System.web.UI قرار داشته و کلاس ها از Page مشتق می شود.( همانگونه که در صفحه Code Behind نشان داده شده است) .

توارث از Page class
عناصر موجود در فايل .aspx ، کدهای موجود در فايل Code Behind ( يا بلاک های اسکريپت ) و کلاس پايه page با يکديگر همکاری تا خروجی مورد نظر را توليد نمايند. اين همکاری توسط ASP.NET بصورت اتوماتيک بخدمت گرفته شده تا يک کلاس برای فايل aspx . که مشتق شده از کلاس Code Behind است که خود نيز از کلاس page مشتق شده است، ايجاد گردد . ارتباط فوق ، توسط خصلت توارث در فايل aspx . ، ايجاد می شود. شکل زير ، سلسله مراتب توارث را نشان می دهد . در اين شکل Mywebpage ، کلاسی است که ما پياده سازی نموده و از کلاس page مشتق شده است .آخرين کلاس مشتق شده page ( در شکل بصورت My .aspx نشان داده شده است ) ، توسط ASP.NET در زمان Runtime بصورت اتوماتيک ايجاد می گردد . کلاس فوق ، باعث توسعه کلاس page شده (در شکل mywebpage نشان داده شده است ) تا از اين طريق ، يکپارچگی کنترل ها و متن HTML در يک فرم وب ، را شاهد باشيم. اين کلاس، ترجمه و به يک فايل اجرائی تبديل و در زمانی که صفحه توسط يک مرورگر درخواست می گردد ، اجراء خواهد شد . کد اجرائی مسئول ايجاد تگ های Html لازم بمنظور ارسال برای مرورگر ، خواهند بود.

چرخه حيات فرم های وب
بمنظور شناخت عميق تر معماری فرم های وب ، چرخه حيات برنامه ارائه شده ( Hellocodebehind.aspx ) را دنبال خواهيم کرد .

1 - کاربر درخواست صفحه وب HelloCodeBehind.aspx را از طريق مرورگر می نمايد .
2 - سرويس دهنده وب ، Page class را از طريق فايل aspx . و صفحه Code Behind مرتبط با آن را ترجمه خواهد کرد . سرويس دهنده وب ، کد را اجراء و تگ های Html را توليد و آنها را برای مرورگر ارسال می نمايد ( کنترل های سرويس دهنده با تگ های Html جايگزين می گردند) . در چنين حالتی ، کد زير برای مرورگر ارسال خواهد شد (،کد فوق ، مشابه کد اوليه موجود بر روی سرويس دهنده نيست).

کدهای ارسالی برای مرورگر

<!-- HelloCodebehind.aspx -->
<HTML dir="rtl" >
<HEAD>
</HEAD>
<BODY>
<form name="_ctl0" method="post" action="HelloCodebehind.aspx" id="_ctl0">
<input type="hidden" name="__VIEWSTATE" value="dDw2MjkzODE3NTs7Ppdej/imiZ1bxKfJJN4dIewZmRTv" />
نام خود را وارد نمائيد :&nbsp;
<input name="txtName" type="text" id="txtName" />
<p>
<input type="submit" name="cmdEcho" value="نمايش" id="cmdEcho" title="بر روی دکمه فوق کليک تا نام شما نمايش داده شود" /></p>
<span id="lblGreeting"></span>
<P></P>
</form>
</BODY>
</HTML>

3 - مرورگر ، تگ های Html را تفسير و يک فرم ساده را نمايش می دهد . با توجه به اينکه اولين مرتبه ای است که فرم نمايش داده می شود ، Textbox خالی است و هيچگونه پيامی نمايش داده نمی شود.

4 - کاربر يک نام را تايپ و دکمه " نمايش" را فعال می نمايد . مرورگر تشخيص می دهد که يک دکمه "Submit" ، فعال شده است ( کليک ) . متد ارسال Post و Action مربوط به صفحه نيز همان صفحه است ( يعنی HelloCodeBehind.aspx ) . در چنين حالتی با واقعيتی بنام Postback مواجه می شويم که باعث می گردد ، مجددا" به فايل اوليه aspx . ، مراجعه گردد.( با فشردن دکمه "نمايش " ، اطلاعات درج شده در فرم برای فايل اوليه aspx . ، ارسال خواهد شد . در حقيقت Action مربوط به صفحه ، همان صفحه در نظر گرفته شده است ) .

5 - سرويس دهنده وب در اين مقطع ، پردازش ها ی لازم در خصوص صفحه را انجام خواهد داد. زمانيکه کاربر بر روی دکمه "نمايش" ، کليک می نمايد ، يک "رويداد" فعال و يک event Handler در کلاس mywebpage صدا زده می شود ( Event Handler ، مسئوليت برخورد با رويداد را برعهده دارد ).

Event Handler مربوط به رويداد کليک دکمه " نمايش"

Protected Sub cmdEcho_Click(Source As Object,e As EventArgs)
lblGreeting.Text="مجددا سلام (اين مرتبه از طريق جداسازی بخش ويژوال و کد) , " & txtName.Text
End Sub

6 - خصلت Text مربوط به کنترل سرويس دهنده Textbox يعنی txtName ، بمنظور خواندن نام درج شده توسط کاربر، استفاده می گردد. يک پيام با آن ترکيب و به کنترل Label نسبت داده می شود. (lblGreeting) ، عمليات نسبت دهی فوق ،مجددا" با استفاده از خصلت Text مربوط به کنترل سرويس دهنده label ، انجام خواهد شد .
7 - سرويس دهنده مجددا" تگ های Html را برای کنترل های سرويس دهنده توليد و آنان را برای مرورگر ارسال می نمايد. شکل زير Html مربوطه را نشان می دهد.

Html ارسالی برای مرورگر

<!-- HelloCodebehind.aspx -->
<HTML dir="rtl" >
<HEAD>
</HEAD>
<BODY>
<form name="_ctl0" method="post" action="HelloCodebehind.aspx" id="_ctl0">
<input type="hidden" name="__VIEWSTATE" value="dDw2MjkzODE3NTt0PDtsPGk8Mj47PjtsPHQ8O2w8aTw1Pjs
+O2w8dDxwPHA8bDxUZXh0Oz47bDzZhdis2K/Yr9inINiz2YTYp9mFICj
Yp9mK2YYg2YXYsdiq2KjZhyDYp9iyINi32LHZitmCINis2K/Yp9iz2KfYs
tuMINio2K7YtCDZiNmK2pjZiNin2YQg2Ygg2qnYrykgLCAgINix2LbYpzs
+Pjs+Ozs+Oz4+Oz4+Oz68aL2z9KBk2
+V2CRgUVzgE/7CJMA==" />
نام خود را وارد نمائيد :&nbsp;
<input name="txtName" type="text" value="رضا" id="txtName" />
<p>
<input type="submit" name="cmdEcho" value="نمايش" id="cmdEcho" title="Click to echo your name" /></p>
<span id="lblGreeting">مجددا سلام (اين مرتبه از طريق جداسازی بخش ويژوال و کد) , رضا</span>
<P></P>
</form>
</BODY>
</HTML>

8 - مرورگر ، صفحه را تفسير و شکل مطابق زير را نمايش خواهد داد .

View State
يکی از خصايص مهم فرم های وب ، بخاطر سپردن تمام اطلاعات درج شده در فرم ها ، توسط سرويس دهنده وب است . با توجه به اينکه پروتکل HTTP ، بصورت Stateless است ،فرآيند نگهداری وضعيت بصورت اتوماتيک انجام نشده و می بايست برنامه نويسی گردد. يکی از ويژگی های منحصر بفرد ASP.NET ، نگهداری اطلاعات فوق ( View State ) ، توسط فريمورک دات نت بصورت اتوماتيک و بکمک يک کنترل مخفی است .

کنترل مخفی بمنظور نگهداری State Information

<input type="hidden" name="__VIEWSTATE" value="dDw2MjkzODE3NTt0PDtsPGk8Mj47PjtsPHQ8O2w8aTw1Pjs
+O2w8dDxwPHA8bDxUZXh0Oz47bDzZhdis2K/Yr9inINiz2YTYp9mFICj
Yp9mK2YYg2YXYsdiq2KjZhyDYp9iyINi32LHZitmCINis2K/Yp9iz2KfYs
tuMINio2K7YtCDZiNmK2pjZiNin2YQg2Ygg2qnYrykgLCAgINix2LbYpzs
+Pjs+Ozs+Oz4+Oz4+Oz68aL2z9KBk2
+V2CRgUVzgE/7CJMA==" />
...

در بخش سوم اين مقاله به بررسی مدل رويدادها در فرم های وب ، خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


بررسی کتابخانه کلاس فريمورک دات نت

 بررسی کتابخانه کلاس فريمورک دات نت New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
کتابخانه کلاس فريمورک دات نت ( بخش اول ) | مديريت وب | 2553 | 7 | 3

کتابخانه کلاس فريمورک دات نت

کتابخانه کلاس فريمورک دات نت ( بخش اول )

کتابخانه کلاس فريمورک دات نت ( Net Class library .) ، زمينه استفاده از امکانات و ويژگی های Runtime را فراهم و باعث تسهيل در پياده سازی برنامه های مبتنی بر دات نت می گردد . در اين راستا ، پياده کنندگان می توانند با ايجاد توابعی از کلاس های موردنظر خود ، کلاس ها را توسعه نمايند .کتابخانه کلاس دات نت ، فريمورک دات نت را پياده سازی می نمايد . تمامی برنامه ها ( برنامه های وب ، ويندوز و سرويس های وب XML ) از کتابخانه کلاس های فريمورک دات نت بصورت يکسان استفاده می نمايند .اين کلاس ها در namespace نگهداری ( ذخيره ) می گردند. تمامی زبانهای مبتنی بر دات نت نيز به کتابخانه يکسانی دستيابی دارند . در مجموعه مقالاتی که در اين زمينه ارائه خواهد شد به بررسی اين کتابخانه بزرگ خواهيم پرداخت .

فراموش نکنيم که :

کنابخانه کلاس فريمورک دات نت ، عنصری حياتی و ضروری برای ايجاد برنامه های مبتنی بر دات نت است .

تمامی نرم افزارهای توليد شده در فريمورک دات نت از CLR)Common Language runtimr ) ، استفاده می نمايند. حتی ساده ترين برنامه مبتنی بر CLR ، نيازمند استفاده از بخش هائی از کتابخانه کلاس فريمورک دات نت، خواهد بود . اکثر نرم افزارهای توليد شده در دات نت از مجموعه زيادی از سرويس های ارائه شده توسط کتابخانه فوق ، استفاده می نمايند. بمنظور شناخت مناسب فريمورک دا ت نت ، لازم است که با پتانسيل های ارائه شده توسط کتابخانه کلاس فريمورک دات نت، بيشتر آشنا شويم .

مروری بر کتابخانه کلاس فريمورک دات نت
کتابخانه کلاس فريمورک دات نت ، بصورت يک ساختار سلسله مراتبی و متشکل از namespace است . هر namespace می تواند شامل نوع هائی نظير : کلاس ، اينترفيس و يا ساير namespace های زيرمجموعه ( فرزند) باشد . namespace ريشه، System نام دارد و هر برنامه مبتنی بر فريمورک دات نت از برخی از نوع های موجود در آن ، استفاده خواهد کرد. System ، بمنزله مادر تمامی کلاس های ديگر در کتابخانه است.

فراموش نکنيم که :

کتابخانه دارای يک ساختار سلسله مراتبی و شامل namespace است .

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

System Namespace
Namespace فوق ، مادر تمام کتابخانه کلاس فريمورک دات نت است . اين namespace دارای مجموعه ای وسيع از namespace های فرزند است . namespace فوق دارای طيف گسترده ای از نوع ها است . برخی از اين نوع ها عبارتند از :

  • نوع های اساسی تعريف شده توسط سيستم CTS)Common Type System) مربوط به CLR ، شامل نوع های Int16 ,Int32 , Char,Boolean و ساير نوع های استاندارد بهمراه نوع های مرجعی نظير : Array و Delegates است .

  • کنسول ( Console) ، کلاس فوق، متدهای Readline و WriteLine و موارد ديگری را ارائه می نمايد.

  • Math ، اين کلاس دارای تعدادی زيادی عضو بوده و روش های استانداردی بمنظور محاسبه : علامت يک عدد ، کسينوس ، لگاريتم و نظاير اينها را ارائه می نمايد. ( توابع عمليات متداول رياضی ) . مثلا" می توان از متد Sqrt ، بمنظور محاسبه ريشه دوم يک عدد استفاده کرد .

  • Enviroment ، از کلاس فوق ، بمنظور دستيابی به اطلاعات مربوط به محيط برنامه در حال اجراء ، استفاده می گردد . يک برنامه می تواند از دايرکتوری جاری ، نوع سيستم عاملی که بر روی آن اجرا شده و ميزان حافطه استفاده شده و مواردی مشابه ، آگاه گردد .

  • GC ، کلاسی است که از آن بمنظور نحوه و زمان Garbage Collection ، استفاده می گردد . با فراخوانی متد Collect کلاس فوق ، يک برنامه می تواند باعث آغاز سريع فرآيند Garbage Collection گردد. ( موضوع فوق، ايده ئی جالب نخواهد بود ، چراکه CLR ، نسبت به زمانی که می بايست Garbage Collection تحقق يابد ، شناخت کاملتری دارد .) .

  • Random . از کلاس فوق ، بمنظور محاسبه اعداد شبه تصادفی استفاده می گردد ( ساير اعضاء ) .

فراموش نکنيم که :

System ، بمنزله namespace ريشه در کتابخانه کلاس فريمورک دات نت ، مطرح می باشد .

به استثنای نوع های پايه CLR ، ساير نوع های موجود در System ، بنظر مجبور به استقرار در محل فوق شده اند چراکه عملا" نمی توان namespace مناسبتری را برای آنان در نظر گرفت .نوع های فوق ، در مجموعه گسترده ای از برنامه ها قابل استفاده خواهند بود.

Namespace های فرزند System
System ، دارای تعداد زيادی Namespace فرزند است . برخی از آنان نيز دارای فرزندان مربوط بخود باشند. جدول زير ساختار سلسله مراتبی برخی از namespace های مهم ، را نشان می دهد.

System
 | Collections
 |  | Specialized |
 | ComponentModel
 |  | Design |
 | Configuration
 |  | Assemblies |
 |  | Install |
 | Data
 |  | OleDb |
 |  | SqlClient |
 | Diagnostics
 | DirectoryServices
 | Drawing
 |  | Drawing2D |
 |  | Imaging |
 |  | Printing |
 |  | Text |
 | EnterpriseServices
 | Globalization
 | IO
 | Management
 | Messaging
 | Net
 |  | Sockets |
 | Reflection
 |  | Emit |
 | Resources
 | Runtime
 |  | CompilerServices |
 |  | InteropServices |
 |  | Remoting |
 |  | Serialization |
 | Security
 |  | Cryptography
 |  |  | X509Certificates
 |  |  | Xml
 |  | Permissions |
 |  | Policy |
 |  | Principal |
 | ServiceProcess
 | Text
 |  | RegularExpressions |
 | Threading
 | Timers
 | Web
 |  | Services |
 |  | UI |
 | Windows
 |  | Forms |
 | Xml
 |  | Schema |
 |  | Serialization |
 |  | XPath |
 |  | Xsl |

در ادامه به بررسی برخی از namespace های خواهيم پرداخت .

System.Collections ، شامل نوع هائی برای ايجاد و کار با جداول hash ، بردارها ، صف ها ، پشته ها ، ليست ها و ساير ساختمان داده های مفيد است . اين نوع ها بصورت کاملا" عمومی تعريف شده اند .مثلا" کلاس های پشته و صف بگونه ای تعريف شده اند که شامل اشياء بعنوان اعضای خود باشند . اين بدان معنی است که آنها می توانند شامل مقاديری از هر نوع CTS ( سيتم نوع ها ) باشند. نظير ساير امکانات موجود در کتابخانه کلاس فريمورک دات نت ،نوع های فوق ، می توانند از طريق هر زبان مبتنی بر CLR ، استفاده گردند. اين Namespace ، همچنين شامل namespace های فرزند خود است . مثلا" System.Collection.Specialized ، نوع هائی را برای کاربردهائی خاص نظير يک مجموعه از رشته ها ارائه می نمايد.

فراموش نکنيم که :

System.Collections ، نوع های عمومی نظير پشته و صف را تعريف می نمايد.

System.ComponentModel ، شامل نوع هائی برای ايجاد انواع متفاوتی از عناصر مبتنی بر فريمورک دات نت می باشد. ازجمله نوع هائی که در namespace فوق ، وجود دارد می توان به کلاس Component ، اشاره کرد . از کلاس فوق ، بعنوان عنصری پايه برای فرم های ويندوز و ساير کلاس های موجود در کتابخانه کلاس فريمورک دات نت ، استفاده می گردد عناصری که اينترفيس IComponent را پياده سازی می نمايند ، در اين namespace تعريف شده اند. کلاس Container نيز در اين namespace تعريف شده است . هرشی Container ، دو اينترفيس را پياده سازی و در اين namespace قرار دارد : يک نمونه از اينترفيس IContainer همراه با يک اينترفيس ISite برای هر يک از عناصری که Container آنان را ميزبان می نمايد. اين namespace همچنين شامل نوع هائی برای licensing عناصر است . System.ComponentModel ، همچنين شامل namespace فرزند است . مثلا" System.ComponenetModel.Design ، شامل مجموعه ای از نوع ها ئی است که امکان سفارشی نمودن عناصر مبتنی بر فريمورک دات نت را در زمان طراحی ، فراهم خواهد کرد .

فراموش نکنيم که :

System.ComponentModel ، زير ساخت لازم بمنظور ايجاد عناصر نرم افزاری را ارائه می نمايد .

System.Configuration ، نوع هائی نظير کلاس ConfigurationsSettings را ارائه که امکان دستيابی به اطلاعات پيکربندی مرتبط با يک برنامه مبتنی بر فريمورک دات نت را فراهم می نمايد. namespace فوق ، همچنين شامل namespace های فرزند اختصاصی خود است . مثلا" System.Configuration.Assemblies ، بمنظور کار با اطلاعات پيکربندی مشخص شده توسط اسمبلی و يا System.Configuration.Install ، بمنظور ايجاد نصب کننده های سفارشی برای نرم افزارهای مبتنی بر CLR ، استفاده می گردد .

فراموش نکنيم که :

System.Configuration ، امکانات لازم در خصوص پيکربندی اسمبلی ها و ايجاد نصب کننده ها را فراهم می نمايد.

System.Data ، يکی از مهمترين namespace ها در کتابخانه کلاس فريمورک دات نت است . نوع های موجود در اين namespace ، مسئول پياده سازی ADO.NET می باشند . ADO.NET ، رويکردی استاندارد بمنظور دستيابی به داده ها در رابطه با برنامه های مبتنی بر فريمورک دات نت است . namespace های فرزند آن ، System.Data.OleDb ( امکان دستيابی به منابع داده را با استفاده از OLE DB Provider ، فراهم می نمايد ) و System.Data.SqlClient ( امکان دستيابی به داده های ذخيره شده در سرويس دهنده SQL ماکروسافت را فراهم می نمايد ) می باشند.

فراموش نکنيم که :

System.Data ، شامل نوع هائی است که ADO.NET را ايجاد می نمايند.

در بخش دوم اين مقاله به بررسی ساير namespace ها ، خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


آشنائی با مفاهيم اوليه برنامه نويسی در دات نت

 آشنائی با مفاهيم اوليه برنامه نويسی در دات نت New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

شنبه 23 مهر 1384 2005 Oct. 15 Saturday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
مفاهيم اوليه برنامه نويسی در دات نت ( بخش اول ) | مديريت وب | 2780 | 3 | 3.7

مفاهيم اوليه برنامه نويسی در دات نت

مفاهيم اوليه برنامه نويسی در دات نت ( بخش اول )

دات نت محيطی جديد بمنظور طراحی، پياده سازی و اجرای برنامه های کامپيوتری را در اختيار طراحان و پياده کنندگان نرم افزار قرار می دهد. با استفاده از پلات فرم فوق ، می توان بسرعت اقدام به پياده سازی نرم افزار نمود.
برنامه های توليده شده ، امکان استفاده از پتانسيل های محيط Common Language Runtime) CLR ) را خواهند داشت . آشنائی با مفاهيم اوليه برنامه نويسی در محيط فوق ، دارای اهميت خاص خود بوده و سرعت در استفاده مطلوب از محيط فوق ، را بدنبال خواهد داشت . در مقالاتی که در اين زمينه ارائه خواهد شد به بررسی مفاهيم اوليه برنامه نويسی محيط فوق ، خواهيم پرداخت . در اين راستا ، در ابتدا با نحوه نوشتن يک برنامه آشنا و در ادامه به تشريح برخی از مفاهيم مهم در اين زمينه ، خواهيم پرداخت .

نوشتن يک برنامه در فريمورک دات نت
تمامی زبانهای حمايت شده در دات نت ، از سيستم نوع يکسان ، کتابخانه کلا س فريمورک مشابه و CLR استفاده خواهند کرد . بدين ترتيب، تمامی برنامه های نوشته شده با يکی از زبانهای حمايت شده ، خصايص مشابهی را به اشتراک می گذارند. شايد مهمترين تفاوت قابل توجه در رابطه با زبان های برنامه نويسی حمايت شده در دات نت ، به گرامر هر يک از آنها برگردد . ( در مثال هائی که در اين مقاله ذکر می گردد ، از ويرايشگر Notepad ،در مقابل ويژوال استوديو دات نت، استفاده شده است . مثال های ارائه شده به اندازه کافی ساده بوده تا بتوان بکمک آنان با فرآيندهای ترجمه و اجراء ، بسرعت آشنا گرديد ).

نوشتن يک برنامه
برای نوشتن يک برنامه ساده در دات نت ، مراحل زير را دنبال می نمائيم :

  • فاز اول : ايجاد برنامه
    برنامه Notepad را فعال و پس از درج کدهای زير آن را با نام Hello.vb ، ذخيره نمائيد .

يک برنامه نمونه نوشته شده به زبان VB.NET

Imports System
Public Class MainApp
Public Shared Sub Main( )
Console.WriteLine( "Welcome to .NET Programming " )
End Sub
End Class

  • فاز دوم : ترجمه و ايجاد يک فايل اجرائی
    برای اجراء برنامه ايجاد شده در مرحله قبل ، در ابتدا کمپايلر VB.NET را از طريق خط دستور و بصورت زير فعال می نمائيم : ( دستور فوق را می توان از طريق خط دستور ويندوز و يا خط دستور موجود در ويژوال استوديو ، فعال کرد )

vbc Hello.vb

در ادامه و پس از ايجاد فايل اجرائی (hello.exe ) ، امکان اجرای برنامه فراهم می گردد.

استفاده از Namespace
با استفاده از VB.NET ، می توان به کلاس ها مراجعه و از آنان استفاده کرد . در مثال زير ، يک نمونه از کلاس System.Io.FileStream ، ايجاد شده است .

Dim aFileStream As System.IO.Filestream

مراجعه به Namespace های مورد نياز در يک برنامه روشی مناسبتر در اين زمينه است . با استفاده از namespace ، ضرورتی به توصيف تمامی مراجعات به کتابخاته کلاس ، وجود نخواهد داشت .

Imports System.IO
.....
Dim aFileStream As Filestream

مثلا" برای دستيابی به اشياء System ، می بايست از Namespace با نام System در برنامه استفاده گردد. ( Imports) .

تعريف namespace و کلاس
VB.NET ، امکانات حمايتی لازم در خصوص ايجاد Namespace های خاص و کلاس های مربوط به آن را ارائه می نمايد. (نکته : مدل زير يک روش عمومی برای نامگذاری namespace است ) :

CompanyName.TechnologyName
.For Example:
Microsoft.Office

namespace در VB.NET
در VB.NET با استفاده از عبارت namespace می توان يک namespace را تعريف کرد . با استفاده از namespace تعريف شده ، امکان کپسوله نمودن کلاس های ايجاد شده ، فراهم خواهد شد.

Namespace CompVB
Public Class StringComponent
....
End Class
End Namespace

برخی از ويژگی های namespace عبارتند از :

  • namespace می تواند درون ساير namespace ها ، مستقر گردند .

  • يک namespace می تواند در چندين فايل تعريف گردد .

  • يک فايل حاوی کد مبداء می تواند چندين namespace را تعريف نمايد.

نقاط ورود ، حوزه ، تعاريف
هر برنامه اجرائی می بايست شامل يک نقطه ورود خارجی باشد . مکان فوق ، محلی را که برنامه اجرای خود را از آنجا آغاز می نمايد ، مشخص می نمايد..در VB.NET تمامی کد می بايست در متدهای يک کلاس قرار بگيرد.

نقاط ورود در VB.NET
بمنظور ارائه کد نقطه ورود در VB.NET ، در ابتدا می بايست يک ماژول و يا يک کلاس مشخص گردد .

Public Module modMain

Public Class clsMain

در ادامه می بايست نقطه ورود برای برنامه ، مشخص گردد. نقطه ورود ، می بايست بعنوان يک متد عمومی که main ناميده می شود ، در نظر گرفته شود.( کمپايلر به دانش فوق نياز خواهد داشت ) . در يک کلاس ، متد فوق می بايست بصورت اشتراکی تعريف گردد .امکان تعريف متد فوق در يک ماژول بصورت اشتراکی ، وجود نخواهد داشت . نحوه تعريف ( مشخص نمودن ) نقاط ورود برای يک ماژول و يا يک کلاس ، بصورت زير است :

Public Module modMain
Public Sub Main( )
...
End Sub
End Module

Public Class clsMain
Public Shared Sub Main( )
...
End Sub
End Class

حوزه
VB.NET ، از نقطه بعنوان يک عملگر resolution حوزه ، استفاده می نمايد . مثلا" در صورت استفاده از متد WriteLine مربوط به کلاس Console ، از گرامر Console.WriteLine ، استفاده می شود.

تعاريف
در VB.NET ، الزامی به تعريف يک متغير قبل از استفاده از آن نمی باشد . پيشنهاد می گردد که در چنين مواردی متغيرها با صراحت تعريف گردند. در اين راستا می توان از عبارت options ، استفاده کرد. بمنظور ايجاد نمونه ای از يک شی ، از New استفاده می گردد. مثال زير ، نحوه تعريف يک شی از نوع Comp در namespace با نام Lib و با نام MyComp را نشان می دهد .

Dim myComp As New Lib.Comp( )

کنسول ورودی و خروجی
می توان از کلاس Console ، مربوط به CLR وابسته به System Namespace ، برای ورودی و خروجی هر نوع رشته و مقادير عددی توسط متدهای Read , ReadLine و Write,WriteLine استفاده کرد . برنامه زير، نحوه نمايش يک رشته در خروجی را نشان می دهد .

برنامه نمونه :

Imports System
Public Class MainApp
Public Shared Sub Main( )
Console.WriteLine( "Welcome to .NET Programming " )
End Sub
End Class

ترجمه و اجراء يک برنامه فريمورک دات نت
اکثر جنبه های برنامه نويسی در دات نت برای تمامی زبانهای سازگار ، يکسان است . هر کمپايلر حمايت شده باعث توليد کدهای "خود تشريح " MSIL)Microsoft Intermediate Language) ، می گردد . تمامی کدهای مديريت يافته ( Managed code ) با استفاده از CLR)Common Language runtime) ، اجراء خواهند شد . CLR ، امکان يکپارچگی بين برنامه ها ، مديريت اتوماتيک حافظه ، برخورد يکدست با موارد خاص و استثناء ، امنيت پيشرفته و در نهايت يک مدل برنامه نويسی ساده و همگن را ارائه می نمايد.

گزينه های کمپايلر
فريمورک دات نت، دارای يک کمپايلر خط دستوری برای VB.NET است ( vbc.exe ) . برای ترجمه برنامه Hello.vb ، بکمک کمپايلر فوق ، از دستور زير استفاده می شود :

vbc Hello.vb

گرامر فوق، باعث فراخوانی کمپايلر VB.NET می گردد. در اين مثال خاص، صرفا" نام فايل مورد نظر برای کمپايلر مشخص شده و در ادامه ، کمپايلر فايل اجرائی را توليد خواهد کرد ( Hello.exe ) .

گزينه های خط دستور
در VB.NET ، می توان ليست کاملی از گزينه های همراه کمپايلر را با استفاده از ?/ ، مشاهده نمود ( ?/ Vbc ) . از گزينه های مفيد در اين زمينه، می توان به سوئيچ out/ ، ( نام فايل خروجی را مشخص می نمايد) و سوئيچ target/ ، ( نوع کد مقصد را مشخص می نمايد") ، اشاره کرد. بصورت پيش فرض ، نام فايل خروجی مشابه نام فايل ورودی و با انشعاب exe . ، خواهد بود. مقدار پيش فرض برای تعيين نوع کد مقصد ، يک برنامه اجرائی است ( سوئيچ t/ ، دارای عملکردی معادل با سوئيچ target/ است ). دستور زير نحوه استفاده از سوئيچ های فوق را نشان می دهد :

vbc /out :hello.exe /t:exe hello.vb

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

Vbc / r:assembll.dll , assemb2.dll / out :output.exe input.vb

در بخش دوم اين مقاله به بررسی فرآيند اجراء مديريت يافته ( اداره شده ) ، خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


بررسی انواع داده ساده و مرکب

 بررسی انواع داده ساده و مرکب New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

شنبه 23 مهر 1384 2005 Oct. 15 Saturday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
XSD چيست ؟( بخش سوم ) | مديريت نرم افزار | 1140 | 0 | 0

XSD چيست ؟( بخش سوم )

XSD چيست ؟( بخش سوم )
در بخش اول اين مقاله به بررسی مقاهيم و جايگاه نکنولوژی XSD اشاره و در بخش دوم به بررسی بررسی گرامر XSD پرداخته گرديد . در اين بخش به بررسی انواع داده ساده ( simple type ) و مرکب ( complex type ) ، خواهيم پرداخت .

انواع داده ( ساده ، مرکب )
جهت توصيف داده ها در يک سند XML با استفاده از تکنولوژی XSD ، از دو نوع ساده و مرکب استفاده می گردد که بمنظور بکارگيری آنان در گرامر XSD ، نشانه هائی با همين عنوان يعنی <SimpleType> و <ComplexType> در نظر گرفته شده است . قبل از تشريح هر يک از موارد فوق ، لازم است جايگاه استفاده از هر يک بدرستی مشخص گردد .

نوع داده مرکب <ComplexType> زمانی استفاده ميگردد که :

  • عنصر داده دارای عناصر زير مجموعه باشد و/ يا .

  • عنصر داده دارای خصائص (Attribute) باشد .

نوع داده ساده <SimpleType> زمانی استفاده ميگردد که :

  • تصميم داريم با اعمال شرايط و يا محدوديتهائی بر روی يک نوع داده استاندارد (مثل String) يک نوع داده جديد (User Define Data Type) ايجاد نمائيم و / يا

  • عنصر مورد نظر دارای عناصر زير مجموعه و يا خصائص (Attribute) نمی باشد.

بمنظور آشنائی با برخی از مفاهيم اوليه در اين خصوص ، مجددا" به مثال ارائه شده در بخش دوم مقاله ، مراجعه می نمائيم .

يک سند XSD نمونه بمنظور بررسی انواع داده

<?XML Version = "1.0"?>
<XSD:Schema xmlns:xsd='http://www.W3.org/2001/xmlschema'>
<XSD:Element Name="student" Minoccurs="0" MaxOccurs="Unbounded">
<XSD:ComplexType>
<XSD:Sequence>
<XSD:Element Name="ID" Type="XSD:String" MinOccurs="1" MaxOccurs="1"/>
<XSD:Element Name="GPA" Type="XSD:String" MinOccurs="1" MaxOccurs="1"/>
</XSD:Sequence>
</XSD:ComplexType>
</XSD:Element>
</XSD:Schema>

درمثال فوق ، عنصر Student دارای دو زير عنصر ID و GPA است. بنابراين می بايست عنصر Student بصورت مرکب توصيف گردد. بدين منظور لازم است پس از توصيف عنصر مربوطه و پيش از توصيف عناصر زير مجموعه آن از نشانه <ComplexType> استفاده شده و در ادامه عناصر زير مجموعه را درون بلاکی از اين نشانه قرار دهيم.( خطوط چهارم و نهم )
فرض کنيد ، می خواهيم بر روی عنصر GPA که از نوع استاندارد String است ، محدوديتی خاص را اعمال نمائيم، بطوريکه طول آن چهار حرف و فرمت آن به صورت (Digit.DigitDigit) باشد .بمنظور تامين خواسته فوق ، لازم است يک نوع داده جديد با لحاظ نمودن محدوديت اشاره شده ، بر روی نوع داده استاندارد String تعريف گردد . با توجه به ضرورت تعريف يک نوع داده جديد ، می بايست از نشانه <SimpleType> استفاده گردد . تشريح نوع داده جديد بر اساس تکنولوژی XSD ، بصورت زير خواهد بود. ( در مقالات بعد، بصورت مفصل تر به بررسی اعمال محدوديت ، ارزش ها و الگوهای مختلف ، پرداخته خواهد شد ).

تعريف يک نوع داده ساده با اعمال محدوديت

<XSD:simpletype name="studentgpa" minoccurs="1" maxoccurs="1">
<XSD:restriction base="XSD:string">
<XSD:length value="4"/>
<XSD:pattern value="\d{1}.\d{2}"/>
</XSD:restriction>
</XSD:simpletype>

با توجه به تعريف نوع ساده مورد نظر و لحاظ نمودن محدوديت های مربوطه ، سند XSD مثال قبل به شکل ذيل خواهد بود :

يک سند XSD نمونه بمنظور بررسی انواع داده با لحاظ نمودن محدوديت ( روش اول )

<?XML Version = "1.0"?>
<XSD:Schema xmlns:xsd='http://www.W3.org/2001/xmlschema'>
<XSD:Element Name="student" Minoccurs="0" MaxOccurs="Unbounded">
<XSD:ComplexType>
<XSD:Sequence>
<XSD:Element Name="ID" Type="XSD:String" MinOccurs="1" MaxOccurs="1"/>
<XSD:Element Name="GPA" Type="StudentGpa"/>
</XSD:Sequence>
</XSD:ComplexType>
</XSD:Element>
 <XSD:simpletype name="studentgpa" minoccurs="1" maxoccurs="1">
<XSD:restriction base="XSD:string">
<XSD:length value="4"/>
<XSD:pattern value="\d{1}.\d{2}"/>
</XSD:restriction>
</XSD:simpletype> </XSD:Schema>

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

يک سند XSD نمونه بمنظور بررسی انواع داده با لحاظ نمودن محدوديت ( روش دوم )

<?XML Version = "1.0"?>
<XSD:Schema xmlns:xsd='http://www.W3.org/2001/xmlschema'>
<XSD:Element Name="student" Minoccurs="0" MaxOccurs="Unbounded">
<XSD:ComplexType>
<XSD:Sequence>
<XSD:Element Name="ID" Type="XSD:String" MinOccurs="1" MaxOccurs="1"/>
<XSD:Element Name="GPA" Type="string" minoccurs="1" maxoccurs="1"/>
 <XSD:simpletype >
<XSD:restriction base="XSD:string">
<XSD:length value="4"/>
<XSD:pattern value="\d{1}.\d{2}"/>
</XSD:restriction>
</XSD:simpletype> </XSD:Sequence>
</XSD:ComplexType>
</XSD:Element>
</XSD:Schema>

تفاوت موجود در ارتباط با هر يک از روش های ارائه شده به قابليـت استفاده مجدد از نوع تعريف شده برمی گردد. در حالت اول، نوع داده جديد studentgpa را ميتوان در هر محلی از سند (در تشريح هر يک از عناصر ديگر ) استفاده کرد (قابليت استفاده مجدد). در حالت دوم، نوع تعريف شده صرفا" بر روی عنصر GPA اعمال و امکان استفاده مجدد از وجود نخواهد داشت (غير قابل استفاده مجدد) .

جمع بندی
 بمنظور تشريح عناصر ( نوع ساده و يا نوع مرکب ) ، از سه روش متفاوت استفاده می گردد :

  • روش اول : ميتوان در يک خط نام عنصر و نوع آن و حداقل و حداکثر حضور آن در سند را تعيين نمود .در واقع روش فوق ، عليرغم اينکه از نشانه <Simpletype> استفاده نشده است ، يک عنصر ساده را تشريح می نمايد.چرا که نوع داده اين نوع عناصر از انواع داده استاندارد بوده و در انتهای خط نيز توصيف با علامت " / " خاتمه يافته است . توصيف عناصر ID و GPA در مثال ابتدای مقاله از مصاديق اين روش توصيف عناصر است .

    <XSD:element name="name" Type="type" minoccurs="int" maxoccurs="int"/>

  • روش دوم : در اين روش نام عنصر، حداقل و حداکثر حضور آن در سند به عنوان عنصر مادر تشريح شده و سپس عناصر زير مجموعه آن در داخل يک بلاک <Complextype> تعيين ميگردند . اين نوع توصيف در خصوص انواع داده مرکب يعنی عناصری که دارای زير مجموعه و يا خصائص (attribute) ميباشند، استفاده می گردد . توصيف عنصر Student در مثال ابتدای مقاله از مصاديق اين روش است .

    تعريف يک نوع مرکب

    <XSD:Element Name="name" Minoccurs="int" MaxOccurs="int">
    <XSD:ComplexType>
    .
    .
    .
    </XSD:ComplexType>
    </XSD:Element>

  • روش سوم : در اين روش نام عنصر ، حداقل و حداکثر حضور آن در سند توصيف و سپس محدوديت اعمال شده بر روی نوع داده استاندارد در يک بلوک <Simpletype> جهت تعريف يک نوع داده جديد، توصيف ميگردد. در واقع روش فوق، نوع ديگر توصيف انواع داده ساده Simpletype بوده که با اعمال محدوديت بر روی يکی از انواع داده استاندارد ايجاد شده است . تعريف studentgpa در مثال قبل از مصاديق بکارگيری اين روش در توصيف عناصر است.

    تعريف يک نوع ساده

    <XSD:element name = "name" minoccurs="int" maxoccurs="int" />
    <XSD:simpletype>
    <XSD:restriction>
    .
    .
    .
    </XSD:restriction>
    </XSD:simpletype>
    </XSD:element>

توانائی ايجاد انواع داده جديد با اعمال محدوديت بر روی انواع داده استاندارد از ويژگيهای بسيار مهم و توانمند تکنولوژی XSD ميباشد .
در بخش چهارم اين مقاله به بررسی خصلت ها ، خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


نحوه تعريف Attribute

 نحوه تعريف Attribute New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

شنبه 23 مهر 1384 2005 Oct. 15 Saturday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
XSD چيست ؟( بخش چهارم) | مديريت نرم افزار | 1115 | 2 | 3

XSD چيست ؟

XSD چيست ؟( بخش چهارم)
آنچه تاکنون گفته شده است :
بخش اول : مقاهيم و جايگاه نکنولوژی XSD
بخش دوم : گرامر XSD
بخش سوم :انواع داده ( ساده ، مرکب )
در اين بخش به بررسی Attribute خواهيم پرداخت .

در تشريح ساختار داده های يک موجوديت (Entity) ، برخی مواقع به اجزاء و يا المانهائي برخورد خواهيم کرد که ارتباط تنگاتنگی با موجوديت داشته و بنوعی بعنوان يک خصلت يا ويژگی موجوديت مورد بررسی ، شناخته می گردند.نحوه حضور اين اجزاء در ساختمان داده موجوديت از قبيل مقادير پيش فرض،مقادير ثابت يا خصلت تغيير ناپذيری از ويژگی های مهم اين اجزاء محسوب می گردند . بعنوان مثال فرض کنيد در يک سازمان بزرگ برای تشکيل پرونده پرسنل، از يک فيلد اطلاعاتي با نام مليت استفاده می شود.بيش از 98 درصد پرسنل شرکت مزبور دارای مليت ايرانی بوده و تنها ممکن است يک و يا دو درصد از پرسنل ، مليت غير ايرانی داشته باشند.با توجه به وضعيت فوق ، می توان فيلد مليت را به صورت پيش فرض مقدار دهی و از تکرار آن در سند XML مربوطه جلوگيری و صرفا" مليت افراد غير ايرانی را در سند مشخص نمود. در چنين مواردی علاوه بر حفظ يکپارچگی اطلاعات به مقدار زيادی در حجم اطلاعات سند XML نيز صرفه جوئی خواهد شد . در تکنولوژی XSD برای معرفی اينگونه اجزاء ، نشانه ای تحت عنوان <Attribute> پيش بينی شده است . گرامر استفاده از attribute بصورت زير است :

گرامر استفاده از attribute

<XSD:attribute Name="name" Type="simple type" Use="how used" Value="value"/>

Name : نام Attribute را مشخص و يک خصلت اجباری است .
Type : نوع داده attribute را مشخص و جزء خصلت های اجباری است ( نوع داده حتما" بايد از انواع داده ساده (simple type) باشد).
Use : نحوه استفاده از attribute را مشخص و می تواند مقادير زير را داشته باشد :

توضيحات | مقدار نسبت داده شده
خصلت اجباری است | Required
خصلت دارای مقدار پيش فرض است | Default
خصلت دارای مقدار ثابت و غير قابل تغيير است | Fixed
خصلت اختياری است | Optional
خصلت محافظت شده است | Prohibited

Value : اگر ويژگی Use دارای ارزش Default و يا Fixed باشد آنگاه ارزش مورد نظر می بايست مشخص و در غير اينصورت نيازی به استفاده از ويژگی فوق ، نخواهد بود.

جايگاه فيزيکي و نحوه تعريف attribute در يک سند XSD
 همانگونه که در بخش سوم اين مقاله اشاره گرديد ، عناصر مرکب (ComplexType) عناصری هستند که دارا عناصر زير مجموعه و يا attribute باشند . بنابراين جايگاه فيزيکی attribute در داخل يک بلاک Complextype است (انتهای بلاک و پس از توصيف کليه عناصر زير مجموعه) . بمنظور بررسی نحوه استفاده از attribute ، مثال ارائه شده در بخش سوم اين مقاله را مجددا" بررسی می نمائيم .در مثال فوق ، قصد داريم عنصر ID را بصورت يک attribute تعريف نمائيم . در چنين حالتی توصيف سند بصورت زير خواهد بود :

نحوه استفاده از Attribute در يک سند XSD

<?XML Version = "1.0"?>
<XSD:Schema xmlns:xsd='http://www.W3.org/2001/xmlschema'>
<XSD:Element Name="student" Minoccurs="0" MaxOccurs="Unbounded">
<XSD:ComplexType>
<XSD:Element Name="GPA" Type="XSD:String" MinOccurs="1" MaxOccurs="1"/>
 <XSD:Attribute Name="ID" Type="XSD:String" Use="Required" />
</XSD:ComplexType>
</XSD:Element>
</XSD:Schema>

روش های توصيف attribute
جهت توصيف يک attribute از دو روش متفاوت استفاده می گردد . اگر نوع داده attribute مورد نظر از انواع داده استاندارد و يا از پيش تعريف شده باشد ، آنگاه طبق گرامر ارائه شده ، می توان توصيف يک attribute را بصورت زير انجام داد :

روش اول : توصيف يک Attribute

<XSD:attribute Name="name" Type="simple type" Use="how used" Value="value"/>

اما اگر بخواهيم نوع داده attribute را با اعمال محدوديت بر روی يک نوع داده استاندارد تشريح نمائيم ، می توان از گرامر زير استفاده کرد :

روش دوم : توصيف يک Attribute

<XSD:attribute Name="name" Use="how used" Value="value" >
<XSD:simpletype>
<XSD:restriction Base="simple type">
<XSD:facet Value="value" />
</XSD:restriction>
</XSD:simpletype>
</XSD:attribute>

facet ، حالات و ارزش های متفاوت آن در مقالات بعد به طور مفصل بررسی خواهد شد. جهت تشريح بهتر روش دوم، به بررسی يک مثال ديگر می پردازيم . فرض کنيد که در مثال قبل ، قصد داريم بر روی نوع داده attribute ID ، محدوديتی خاصی را اعمال نمائيم :"طول رشته پنج و کاراکترهای آن عدد باشند " ، در چنين حالتی توصيف سند بصورت زير خواهد بود :

مثال : توصيف يک سند با اعمال محدوديـت در رابطه با Attribute

<?XML Version = "1.0"?>
<XSD:Schema xmlns:xsd='http://www.W3.org/2001/xmlschema'>
<XSD:Element Name="student" Minoccurs="0" MaxOccurs="Unbounded">
<XSD:ComplexType>
<XSD:Element Name="GPA" Type="XSD:String" MinOccurs="1" MaxOccurs="1"/>
 <XSD:Attribute Name="ID" Use="Required">
 <XSD:simpletype>
<XSD:restriction Base="XSD:String">
<XSD:Length="5" />
<XSD:Pattern = "\d{5}" />
</XSD:restriction>
</XSD:simpletype>
</XSD:attribute>
</XSD:ComplexType>
</XSD:Element>
</XSD:Schema>

همانگونه که مشاهده می گردد ( با اندکی دقت ! ) ، توصيف های ارائه شده برای خصلت ID داخلی بوده و امکان استفاده مجدد از آن وجود نخواهد داشت . در صورت نياز به استفاده مجدد از توصيف يک Attribute در مکان هائی ديگر از سند ، می بايست توصيف Attribute مورد نظر در خارج از محدوده داخلی قرار گيرد .
در بخش پنجم اين مقاله به بررسی حالات متفاوت ساختار ، خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


نحوه ايجاد يک Connection

 نحوه ايجاد يک Connection New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

شنبه 23 مهر 1384 2005 Oct. 15 Saturday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
ارتباط به منابع داده در ADO.NET ( بخش دوم ) | مديريت وب | 2575 | 6 | 3

ارتباط به منابع داده در ADO

ارتباط به منابع داده در ADO.NET ( بخش دوم )
در بخش اول اين مقاله به تشريح انواع Data Provider پرداخته و با نحوه انتخاب آنان بمنظور استفاده در برنامه ها ، آشنا شديم . در اين بخش به بررسی نحوه ايجاد يک Connection خواهيم پرداخت . Connection String ، بخشی ضروری بمنظور ارتباط با يک منبع داده است . خصلت ConnectionString مربوط به شی Connection ، اطلاعات لازم را در اختيار شی Connection قرار می دهد .

امنيت بانک اطلاعاتی
در زمان دستيابی به داده از طريق ADO.NET ، می بايست با استفاده از يک روش ايمن به بانک اطلاعاتی مرتبط گرديد. بمنظور نيل به هدف فوق ، اطلاعات امنيتی نظير نام کاربر و رمز عبور می بايست قبل از ايجاد هر گونه ارتباط با بانک اطلاعاتی در اختيار وی گذاشته شوند ( ارسال اطلاعات اوليه بمنظور اطمينان از معتبر بودن کاربر ) .امنيت بانک اطلاعاتی ، بستگی به نوع بانک اطلاعاتی مربوطه خواهد داشت .
استفاده از امنيت سرويس دهنده SQL
سرويس دهنده SQL ، با استفاده از دو روش متفاوت اقدام به تائيد کاربر می نمايد : تائيد کاربران بر اساس سيستم امنيتی ويندوز ( Microsoft Windows Authentication ) و حالت ترکيبی ( Mixed Mode Authentication ) .

روش Windows Authentication
در مدل فوق ، اين امکان برای يک کاربر فراهم خواهد شد که با استفاده از يک Account ويندوز به بانک اطلاعاتی مرتبط گردد . خصلت امنيتی شبکه برای کاربر در زمان ورود به شبکه ايجاد می گردد . زمانيکه يک کاربر شبکه سعی در ارتباط با بانک اطلاعاتی سرويس دهنده SQL می نمايد ،عمليات تائيد وی آغاز و در ادامه بر اساس سياست های امنيتی ورود به شبکه که قبلا" برای وی تعريف و تنظيم شده است ، امکان دستيابی وی به بانک اطلاعاتی محقق و يا با درخواست وی بدلايل امنيتی مخالفت خواهد شد . در چنين حالتی ضرورتی به يک Login مجدد ( ورود نام و رمز عبور توسط کاربر) وجود نخواهد داشت . استفاده از روش فوق ، بمنظور ارتباط با بانک اطلاعاتی دارای مزايای زير است :

  • متعبرسازی ايمن بهمراه رمزنگاری رمزهای عبور
  • Auditing
  • تاريخ سررسيد رمز عبور
  • تعريف حداقل طول رمزعبور
  • غير فعال شدن ( قفل نمودن ) رمز عبور پس از انجام چندين تلاش نافرجام جهت ورود به شبکه

نکته : با توجه به اينکه کاربران و گروههای ويندوز ، صرفا" توسط ويندوز نگهداری و پشتيبانی می گردند ، سرويس دهنده SQL اطلاعات مربوط به يک گروه کاربران را در زمان اتصال به بانک اطلاعاتی می خواند . در صورتيکه تغييراتی در رابطه با مجوزهای دستيابی برای يک کاربر متصل شده ايجاد گردد ، تغييرات ايجاد شده در زمان آتی که کاربر به سرويس دهنده SQL مرتبط می گردد ؛ در نظر گرفته شده و متناسب با تغييرات ايجاد شده با کاربر برخورد خواهد شد .

روش Mixed Mode Authentication
در روش فوق ، اين امکان برای کاربران فراهم می گردد که به يک سرويس دهنده SQL بر اساس Windows Authentication و يا SQL Server Authentication متصل گردند . کاربرانی که از طريق ويندوز NT 4.0 و يا ويندوز 2000 به بانک اطلاعاتی مرتبط می گردند ، قادر به استفاده از ارتباطات trusted در Windows Authentication و يا Mixed Mode Authntication می باشند . زمانيکه کاربری با استفاده از يک نام و رمز عبور خاص و بکمک يک ارتباط non-trusted به بانک اطلاعاتی متصل می گردد ، سرويس دهنده SQL خود عمليات تائيد کاربر را بررسی می نمايد ( آيا يک account سرويس دهنده SQL پيکربندی و تنظيم شده است ؟) . در صورتيکه ماحصل بررسی فوق منفی باشد ، کاربر تائيد نشده و وی با يک پيام خطاء مواجه خواهد شد.
نکته : در صورتيکه کاربری سعی در ارتباط با يک سرويس دهنده SQL 7.0 ، ( مورد نظر سرويس دهنده SQL 2000 نمی باشد ) را داشته و يک نام خالی ( blank) را وارد نمايد ، سرويس دهنده SQL 7.0 ، از Windows Authentication استفاده می نمايد.علاوه بر اين ، در صورتيکه کاربری سعی در ارتباط با يک سرويس دهنده SQL 7.0 نمايد که برای Windows Authentication پيکربندی شده باشد ( استفاده از يک Login خاص ) ، login مورد نظر ناديده گرفته شده و از روش Windows Authentication استفاده خواهد شد .
روش SQL Server Authentication بمنظور سازگاری با نسخه های قبلی ارائه شده است . زيرا بر نامه های نوشته شده برای سرويس دهنده SQL 7.0 ، و يا قبل از آن می بايست از نام و رمز عبور سرويس دهنده SQL استفاده نمايند. علاوه بر اين ، زمانيکه يک نمونه از سرويس دهنده SQL تحت ويندوز 98 اجراء می گردد ، چون روش Windows Authentication در نسخه وينوز 98 حمايت نمی گردد ، مجددا" از روش SQL Server Authentication استفاده خواهد شد .بنابراين سرويس دهنده SQL از Mixed Mode در زمان اجراء ويندوز 98 استفاده می نمايد ( ولی صرفا" SQL Server Authentication حمايت می گردد ) .

Connection String چيست ؟
بمنظور انتقال اطلاعات بين يک منبع داده و برنامه ، می بايست در ابتدا دارای يک ارتباط ( اتصال ) با منبع داده باشيم . خصلت ConnectionString ، اطلاعات ضروری و مورد نياز در ارتباط با تعريف يک اتصال به منبع داده را از طريق يک رشته مشتمل بر مجموعه ای از پارامترها ، ارائه می نمايد. جدول زير چندين پارامتر متداول در رابطه با Connection string را نشان می دهد .

توضيحات | پارامتر
از خصلت فوق بمنظور تنظيم و يا برگرداندن نام Provider مرتبط با Connection استفاده می گردد . امکان استفاده از خصلت فوق، صرفا" برای اشياء OleDbConnection وجود خواهد داشت . | Provider
مدت زمان انتظار برحسب ثانيه بمنظور ارتباط با بانک اطلاعاتی را مشخص می نمايد. ( پيش فرض 15 ) . | Connection TimeOut or Connect TimeOut
نام بانک اطلاعاتی | Initial Catalog
نام سرويس دهنده SQL استفاده شده در زمانيکه يک Connection فعال شده باشد و يا نام فايل در رابطه با يک بانک اطلاعاتی Access را مشخص می نمايد . | Data Source
رمز عبور برای SQL Server account | Password
SQL Server Login account | User ID
ايمن بودن ارتباط را مشخص می نمايد. مقادير مورد نظر می تواند True,False و SSPI باشد . ( SSPI معادل True است ) | Integrated Security or Trusted Connection
زمانيکه مقدار آن False باشد ، اطلاعات حساس امنيتی نظير رمز عبور بعنوان بخشی از ارتباط (زمانيکه ارتباط فعال می گردد) ، برگردانده نخواهد شد. تنظيم خصلت فوق به True می تواند يک ريسک امنيتی باشد مقدار پارامتر فوق بصورت پيش فرض False است . | Perisist Security Info

نحوه تنظيم يک Connection String
بمنظور ايجاد و مديريت يک Connection می بايست يکی از اشياء Connection مربوط به ADO.NET را استفاده نمود : شی SqlConnection و يا شی OleDbConnection . تنظيم خصلت ConnectionString صرفا" زمانی که Connection بسته می گردد، ميسر خواهد بود . بمنظور Reset نمودن يک Connection String می بايست Connection مورد نظر را بست و مجددا" آن را فعال نمود.

مثال
در اين بخش به بررسی چندين مثال بمنظور آشنائی با نحوه استفاده از Connection String بهمراه پارامترهای مربوطه ، خواهيم پرداخت . دقت داشته باشيد که تمامی Connection String ها ، دارای پارامترهای يکسان نمی باشند .
مثال 1 - نحوه اتصال به يک بانک اطلاعاتی SQL Server 2000 با استفاده از شی SqlConnection و VB.NET

پارامتر | مقدار
Product | SQL Server 2000
Server name | Tehran
DatabaseName | Northwind
Security | Mixed mode
Username | sa
Password | 110
Timeout | 1 minute
نحوه اتصال به بانک اطلاعاتی
Dim cnNorthwind as New _ system.Data.SqlClient.SqlConnection() cnNorthwind.ConnectionString = _ "User ID = sa;" & _ "Password= 110;" & _ "Initial Catalog=Northwind;"&_ "Data Source =Tehran;" & _ "Connection TimeOut= 60;"

مثال 2 - نحوه اتصال به يک بانک اطلاعاتی Access با استفاده از يک OleDbConnection و ويژوال بيسيک

پارامتر | مقدار
Product | Microsoft Access 2000
Database location | \Samples\Northwind.mdb
نحوه اتصال به بانک اطلاعاتی
Dim cnNorthwind as New _ system.Data.OleDb.OleDbConnection( ) cnNorthwind.ConnectionString = _ "Provider = Microsoft.Jet.OLED.4.0" & _ "Data Source= \Samples\Northwind.mdb;"

مثال 3 - نحوه اتصال به يک بانک اطلاعاتی SQL Server 6.5 با استفاده از شی OleDbConnection و #C

پارامتر | مقدار
Product | SQL Server 6.5
Server name | Myserver
DatabaseName | Pubs
Security | Windows authentication
نحوه اتصال به بانک اطلاعاتی
System.Data.oleDb.OleDbConnection cnNorthwind = new System.Data.OleDB.OleDbConnection ( ); cnNorthwind.ConnectionString = "Provider = SQLOLEDB;" + "Data Source =Myserver;" + "Initial Catalog= Pubs;" + "Integrated Security=SSPI;" ;

ساده ترين روش تنظيم يک Connection string استفاده ار ويژوال استوديو دات نت است :

  • برنامه ويژوال استوديو را فعال نمائيد.

  • يک ASP.NET Application و يا Windows Application را با استفاده از VB ، ايجاد نمائيد.

  • کنترل SqlConnection را بر روی فرم مورد نظر قرار دهيد( Darg&Drop ) .

  • در پنجره Properties ، خصلت ConnectionString را تنظيم نمائيد.

  • پنجره ويرايشگر کد را فعال و کدی را که بصورت اتوماتيک ايجاد شده است ، مشاهده نمائيد.

در بخش سوم اين مقاله بررسی نحوه مديريت يک Connection خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


نحوه تشريح يک عنصر در سند XSD

 نحوه تشريح يک عنصر در سند XSD New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
XSD چيست ؟( بخش پنجم) | مديريت نرم افزار | 1123 | 2 | 3

XSD چيست ؟( بخش پنجم)

XSD چيست ؟( بخش پنجم)
آنچه تاکنون گفته شده است :
بخش اول : مقاهيم و جايگاه نکنولوژی XSD
بخش دوم : گرامر XSD
بخش سوم :انواع داده ( ساده ، مرکب )
بخش چهارم : بررسی Attribute
در اين بخش به بررسی نحوه تشريح يک عنصر در سند XSD خواهيم پرداخت .
دو راه متفاوت جهت تشريح عناصر يک سند XML با استفاده از متد XSD وجود دارد:

  • روش اول : در اين روش ، زير مجموعه های يک عنصر و خصلت های آن در داخل يک بلاک <COMPLEXTYPE> و بعد از تعريف عنصر اصلی مستقر و تشريح می گردند.روش فوق ، توصيف داخلی يا Nested ناميده می شود .

  • روش دوم : در اين روش ، توصيف عناصر زير مجموعه در داخل بدنه اصلی Schema ارائه گرديده و سپس در داخل بلاک <Complextype> به عناصر مربوطه مراجعه خواهد شد. روش فوق ، توصيف عمومی يا Global ناميده می شود.

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

مثال : توصيف يک سند ( بررسی تعاريف عمومی و داخلی )

<?XML Version = "1.0"?>
<XSD:Schema xmlns:xsd='http://www.W3.org/2001/xmlschema'>
<XSD:Element Name="student" Minoccurs="0" MaxOccurs="Unbounded">
<XSD:ComplexType>
<XSD:Element Name="ID" Type="XSD:String" MinOccurs="1" MaxOccurs="1"/>
 <XSD:Element Name="GPA" Type="XSD:String" MinOccurs="1" MaxOccurs="1"/>
</XSD:ComplexType>
</XSD:Element>
</XSD:Schema>

در مثال فوق،عنصر Student به عنوان يکي از زير مجموعه های عنصر ريشه يا همان Schema توصيف و لذا به عنوان يک تعريف عمومی مطرح و می توان ازآن در هر محل ديگر سند جاری و يا حتی اسناد ديگر استفاده نمود . اما عناصر ID و GPA به صورت عناصر زير مجموعه عنصر Student و آنهم در داخل آن (Nested) تشريح گرديده اند، لذا توصيف اين عناصر صرفا" در عنصر Student معتبر بوده و در هيچ محل ديگر سند جاری و يا اسناد ديگر، قابل استفاده نخواهند بود . فرض کنيد در ساختار سند فوق ،عنصر ديگری با نام Teacher ، وجود داشته باشد که دارای دو زير عنصر ID و GPA می باشد. با توجه به فرضيات فوق ، مناسب است از روش دوم استفاده و تعاريف مربوط به عناصر ID و GPA را در داخل عنصر ريشه قرار دهيم . بدين ترتيب ، قادر خواهيم بود از تعاريف دو عنصر فوق در عناصر Student و Teacher بصورت يکسان استفاده نمائيم . به مثال ذيل توجه کنيد :

مثال : توصيف يک سند و ضرورت استفاده از تعريف عمومی

<?XML Version = "1.0"?>
<XSD:Schema xmlns:xsd='http://www.W3.org/2001/xmlschema'>
<XSD:Element Name="student" Minoccurs="0" MaxOccurs="Unbounded">
<XSD:ComplexType>
<XSD:Element Ref="ID" MinOccurs="1" MaxOccurs="1"/>
 <XSD:Element Ref="GPA" MinOccurs="1" MaxOccurs="1"/>
</XSD:ComplexType>
</XSD:Element>
<XSD:Element Name="Teacher" Minoccurs="0" MaxOccurs="Unbounded">
<XSD:ComplexType>
<XSD:Element Ref="ID" MinOccurs="1" MaxOccurs="1"/>
 <XSD:Element Ref="GPA" MinOccurs="1" MaxOccurs="1"/>
</XSD:ComplexType>
</XSD:Element>
<XSD:Element Name="ID" Type="XSD:String"/>
<XSD:Element Name="GPA" Type="XSD:String"/>
</XSD:Schema>

در مثال فوق ، از خصلت Ref در مقابل Name استفاده شده است .در صورت نياز به هر نوع تغييردر توصيف عناصر ID وGPA کافی است تغيير مورد نظر را صرفا" در يک محل ( محلی که توصيف آنان انجام شده است ) اعمال نمود . بدين ترتيب ، تمام سند و در هر مکانی که از عناصر فوق استفاده شده است ، متاثر از تغيير ايجاد شده بصورت اتوماتيک می گردد .
روش های فوق ، در خصوص انواع داده ساده (Simpletype) نيز صادق است . همانگونه که در بخش سوم اين مقاله اشاره گرديد ، تعريف يک عنصر ساده (Simpletype) را میتوان بصورت داخلی (Nested) و يا بصورت زير مجموعه ای از عنصر ريشه (Schema) ، انجام داد. در حالت دوم ، امکان استفاده مجدد از تعريف انجام شده وجود داشته و می توان از آن در هر مکانی از توصيف جاری و يا حتی توصيفهای ديگر استفاده نمود. مثال ارائه شده در بخش سوم اين مقاله ، نحوه اعمال محدوديت بر روی يک نوع داده استاندارد نظير String و ايجاد نوع داده جديدی با نام StudentGpa را نشان می دهد . مثال فوق ، در اين راستا می تواند مفيد واقع شود .

دسترسي به ساير توصيف ها
همانگونه که اشاره گرديد، عناصر و انواع داده ئی که بعنوان عنصر زير مجموعه ريشه Schema در يک توصيف قرار می گيرند ، امکان استفاده مجدد از آنان در ساير توصيف ها وجود خواهد داشت . بدين منظور و در اولين مرحله می بايست از Import و يا Include استفاده گردد مثال زير ، نحوه استفاده از Include را نشان می دهد .

مثال : نحوه و جايگاه استفاده از Include

<?XML Version = "1.0"?>
<XSD:Schema Xmlns:XSD="http://www.w3.org/2001/xmlschema"
TargetNameSpace="URI goes here">
<XSD:Include Schemalocation="XSDfilename goes here"/>
.
.
.
</XSD:Schema>

از گرامر فوق ، زمانی استفاده می شود که توصيف جاری و يا بعبارت ديگر Targetnamespace و توصيفی که می خواهيم از عناصر و يا انواع داده آن استفاده نمائيم ، در يک موقعيت فيزيکی و يا Location قرار داشته باشند . به مثال ذيل توجه فرمائيد :

مثال : نحوه استفاده از Include

<?XML Version = "1.0"?>
<XSD:Schema Xmlns:XSD="http://www.w3.org/2001/xmlschema"
TargetNameSpace="http://www.srco.ir/students">
<XSD:Include Schemalocation="StudentGpa1.xsd"/>
<XSD:Element Name="teacher" Minoccurs="0" MaxOccurs="Unbounded">
<XSD:ComplexType>
<XSD:Sequence>
<XSD:Element Ref = "StudentGPA" Minoccurs="1" MaxOccurs="1" />
<XSD:Element Name="University" Type="XSD:String" />
</XSD:Sequence>
</XSD:Complextype>
</XSD:Element>
</XSD:Schema>

در مثال فوق ، موقعيت فيزيکی توصيف جاری و توصيفی که می خواهيم از آن استفاده نمائيم (StudentGpa1.xsd) يکسان است . در تشريح عنصر Teacher ، از تعريف StudentGpa که در سند StudentGpa1.xsd توصيف شده است، استفاده گرديده است .
در صورتيکه موقعيت فيزيکی سند جاری و يا Targetnamespace و سندی که می خواهيم از تعاريف آن استفاده نمائيم يکسان نباشد ، می بايست از گرامر ذيل استفاده گردد :

مثال : نحوه و جايگاه استفاده از Import

<?XML Version = "1.0"?>
<XSD:Schema Xmlns:XSD="http://www.w3.org/2001/xmlschema"
TargetNameSpace="URI goes here">
<XSD:Import Namespace="URI goes here"
Schemalocation = "XSD filename goes here"/>
.
.
.
</XSD:Schema>

فرض کنيد در مثال قبل ، موقعيت فيزيکی سند جاری و يا Targetnamespace و سندی که تعريف studentgpa در آن توصيف شده است يکسان نباشد ، در چنين مواردی می توان از Import استفاده و توصيف سند مورد نظر را بصورت زير انجام داد :

مثال : نحوه استفاده از Import

<?XML Version = "1.0"?>
<XSD:Schema Xmlns:XSD="http://www.w3.org/2001/xmlschema"
TargetNameSpace="http://www.srco.ir/Teachers">
<XSD:Import Namespace = "http://www.srco.ir/students"
Schemalocation="StudentGpa1.xsd"/>
<XSD:Element Name="teacher" Minoccurs="0" MaxOccurs="Unbounded">
<XSD:ComplexType>
<XSD:Sequence>
<XSD:Element Name = "TeacherGPA" Type = "StudentGpa1:StudentGpa"
Minoccurs="1" MaxOccurs="1" />
<XSD:Element Name="University" Type="XSD:String" />
</XSD:Sequence>
</XSD:Complextype>
</XSD:Element>
</XSD:Schema>

همانگونه که مشاهده می گردد ، موقعيت فيزيکی سند جاری و سندی که از آن استفاده شده است ، يکسان نمی باشد (به نحوه استفاده از تعريف عنصر studentGpa توجه نمائيد ) .
در بخش ششم اين مقاله ، به بررسی انواع داده در XSD و نحوه مستند سازی اسناد مربوطه ، خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


بررسی فرآيند ارسال و پاسخ به درخواست ها

 بررسی فرآيند ارسال و پاسخ به درخواست ها New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
فرم های وب ( بخش چهارم) | مديريت وب | 1955 | 1 | 5

فرم های وب

فرم های وب ( بخش چهارم)

آنچه تاکنون گفته شده است :
بخش اول : مفاهيم اوليه فرم های وب
بخش دوم : بررسی معماری فرم های وب
بخش سوم ، بررسی مدل رويدادها در فرم های وب
در اين بخش به بررسی معماری کنترل سرويس دهنده و برنامه نويسی Request/Response خواهيم پرداخت . معماری کنترل سرويس دهنده که از آن با نام Request/response نيز ياد می گردد، يکی از مباحث مهم در ASP.NET بوده که به بررسی فرآيند ارسال و پاسخ به درخواست ها ، اشاره می نمايد.

کلاس HttpRequest
namespace با نام System.Web ، شامل کلاسی با نام HttpRequest است که از آن بمنظور خواندن مقادير نسخه های متفاوت HTTP ارسالی توسط يک سرويس گيرنده در زما ن درخواست يک درخواست وب ، استفاده می گردد. جدول زير ، خصلت های عمومی ، کلاس فوق را نشان می دهد .

مفهوم | خصلت
آرايه ای رشته ای از نوع های حمايت شده MIME توسط سرويس گيرنده | AcceptTypes
اطلاعاتی در رابطه با قابليت های مرورگر | Browser
طول اطلاعات ارسالی توسط سرويس گيرنده بر حسب بايت | ContentLength
مجموعه کوکی های ارسال شده توسط سرويس گيرنده | Cookies
مجموعه متغيرهای فرم | Form
مجموعه هدرهای HTTP | Headers
روش استفاده شده جهت ارسال اطلاعات توسط سرويس گيرنده ( Get و يا Post ) | HttpMethod
مجموعه ای ترکيبی از آيتم های Querystring , Form , ServerVariables و Cookies | Params
درخواست مجازی برای مسير جاری | Path
مجموعه متغيرهای Query String مربوط به HTTP | QueryString
مجموعه متغيرهای سرويس دهنده وب | ServerVariables

خصلت Request مربوط به کلاس Page ، يک شی Httprequest را برمی گرداند . در ادامه می توان با استفاده از خصلت های HttpRequest اطلاعات مورد نياز را بازيابی نمود. مثلا" کد زير ، طول محتويات ارسالی ( ContentLength) توسط سرويس گيرنده را مشخص و در ادامه با استفاده از شی Response ، نتايج در خروجی نمايش داده می شود.

Dim length As Integer = Request.ContentLength
Response.Write("ContentLength = " & length & "<br>")

مجموعه ها (Collections )
کلاس HttpRequest دارای تعدادی مجموعه بوده که بعنوان خصلت های کلاس فوق ، ارائه شده اند . مجموعه ها از نوع NamedValueCollection می باشند (موجود در namespace با نام System.Collections.Specialized ) . بمنظور دستيابی به يک مقدار می توان از يک کليد رشته ای استفاده نمود. مثلا" کد زير ، مقادير متغيرهای سرويس دهنده QUERY_STRING و HTTP_USER_AGENT را با استفاده از مجموعه ServerVariables ، بازيابی می نمايد .

Dim strQuery As String = _
Request.ServerVariables("QUERY_STRING")
Dim strAgent as String = _
Request.ServerVariables("HTTP_USER_AGENT")

متغيرهای سرويس دهنده ، بمنزله قلب برنامه نويسی مبتنی بر CGI مطرح بوده و سرويس دهنده وب ، اطلاعات ضروری وموردنياز را با استفاده از متغيرهای محيطی در اختيار يک اسکريپت CGI و يا برنامه متقاضی ، قرار خواهد داد . ASP.NET ، امکان استفاده از اطلاعات سطح پائين فوق را برای برنامه نويسان فراهم می آورد.
يکی از عمليات متداول در رابطه با فرم های وب ، بازيابی اطلاعات از کنترل های موجود بر روی فرم است . در HTML ، کنترل ها توسط خصلت name مشخص و سرويس دهنده می تواند از آنان بمنظور مشخص نمودن مقادير متناظر ، استفاده نمايد. روش استفاده شده بمنظور ارسال اطلاعات برای سرويس دهنده ، بستگی به استفاده از متد HTTP GET و يا HTTP POST خواهد داشت. در موارديکه از GET استفاده می شود ، داده موجود در فرم ، بخشی از query string خواهد بود. در چنين مواردی می توان از مجموعه QueryString بمنظور بازيابی مقادير مورد نظر استفاده نمود. زمانيکه از متد POST استفاده می گردد ، داده موجود در فرم، بعنوان محتويات و پس از HTTP header ارسال می گردد. مجموعه Forms ، در ادامه می تواند بمنظور بازيابی مقادير کنترل ها استفاده گردد . بمنظور تشخيص روش ارسال اطلاعات ، می توان از مقدار متغير سرويس دهنده REQUEST_METHOD ( مقدار متغير فوق GET و يا POST خواهد بود ) ، استفاده نمود.( استفاده از مجموعه QueryString در موارديکه اطلاعات با GET ارسال شده و استفاده از مجموعه Forms در موارديکه اطلاعات با استفاده از روش POST ارسال شده باشد ) .
در ASP.NET نگرانی خاصی در رابطه با روش استفاده شده بمنظور ارسال اطلاعات وجود نخواهد داشت . در اين رابطه از يک مجموعه Params که ترکيبی است از مجموعه های ServerVAriables , QueryString ,Forms و Cookies می باشد ، استفاده می گردد.

يک برنامه نمونه
بمنظور آشنائی با روش های ارسال اطلاعات توسط سرويس گيرنده ، به بررسی برنامه ای خواهيم پرداخت که مسئوليت نمايش مجذور اعداد است . برنامه زير در فايلی با نام Tavan.aspx ذخيره شده است .

برنامه محاسبه توان دوم اعداد ( Tavan.aspx )

<!-- Tavan.aspx -->
<%@ Page Language="VB" Trace="true"%>
<script runat="server">
Sub Page_Init(sender As Object, e As EventArgs)
Dim strQuery As String = _
Request.ServerVariables("QUERY_STRING")
Response.Write("QUERY_STRING = " & strQuery & "<br>")
Dim strAgent as String = _
Request.ServerVariables("HTTP_USER_AGENT")
Response.Write("HTTP_USER_AGENT = " & strAgent & "<br>")
Dim length As Integer = Request.ContentLength
Response.Write("ContentLength = " & length & "<br>")
Dim strCount As String = Request.Params("txtCount")
Dim count As Integer = Convert.ToInt32(strCount)
Dim i As Integer
For i = 1 To count
Response.Write(i*i)
Response.Write("<br>")
Next
End Sub
</script>

بمنظور مشخص نمودن تعداد اعدادی که می بايست توان دوم آنان محاسبه و نمايش داده شود از يک فرم استفاده که کاربر پس از تکميل ، ( درج تعداد اعدادی که می بايست توان دوم آنان مشخص گردد ) برای سرويس دهنده ارسال خواهد شد . در اين راستا از دو صفحه مجزاء استفاده شده است که در يکی از آنان از متد GET بمنظور ارسال اطلاعات استفاده شده ( GetTavan.aspx ) و در صفحه ای ديگر از متد POST برای ارسال اطلاعات استفاده شده است ( PostTavan.aspx ) . صفحات فوق ، دارای اينترفيس مشابهی می باشند .
در ابتدا نسخه GetTavan.aspx را بررسی می نمائيم . همانگونه که در جدول زير مشاهده می گردد برای ايجاد صفحه فوق از تگ های HTML استفاده شده است .

فرم ورود اطلاعات برای محاسبه توان دوم ( GetTavan.aspx )

<!-- GetTavan.aspx -->
<html dir = "rtl">
<head>
</head>
<body>
<P><B>برنامه نمايش توان دوم اعداد </B></P>
<P>استفاده از متد GET بمنظور ارسال اطلاعات </P>
<form method="get" action = Tavan.aspx>
تعداد اعداد مورد نظر ، بمنظور نمايش توان دوم را مشخص نمائيد :
<INPUT type=text size=2 value=5 name=txtCount>
<P></P>
<INPUT type=submit value=نمايش name=cmdTavan>
</form>
</body>
</html>

شکل زير فرم ورود اطلاعات را نشان می دهد . پس از مشخص نمودن تعداد اعدادی که می بايست توان دوم آنان محاسبه و نمايش داده شود ، اطلاعات مورد نظر با استفاده از متد GET برای Tavan.aspx ، ارسال می گردد.

تگ form دارای خصلتی بمنظور مشخص نمودن متد ( GET و يا POST ) و عمليات ( صفحه مقصد ) است . کنترل ها ، دارای خصلتی با نام name بوده که توسط کد سرويس دهنده و بمنظور بازيابی داده ، استفاده می شود . پس از اجرای GetTavan.aspx ، و فشردن دکمه " نمايش " ، اطلاعاتی در رابطه با HTTP و مجذور اعداد مورد نظر نمايش داده می شود. با توجه به فعال بودن Tracing ، جزئيات مربوط به درخواست توسط ASP.NET نمايش داده می شود . شکل زير خروجی درخواست GET را نشان می دهد :

همانگونه که مشاهده می شود ، داده موجود در فرم، به query string تبديل و طول محتويات (ContentLength ) ، مقدار صفر را خواهد داشت .
درادامه ، نسخه PostTavan.aspx را بررسی می نمائيم . همانگونه که مشاهده می گردد ، هر دو صفحه دارای اينترفيس مشابهی بوده و صرفا" روش ارسال اطلاعات آنان با يکديگر متفاوت است .

فرم ورود اطلاعات برای محاسبه توان دوم ( PostTavan.aspx )

<!-- GetTavan.aspx -->
<html dir = "rtl">
<head>
</head>
<body>
<P><B>برنامه نمايش توان دوم اعداد </B></P>
<P>استفاده از متد GET بمنظور ارسال اطلاعات </P>
<form method="Post" action = Tavan.aspx>
تعداد اعداد مورد نظر ، بمنظور نمايش توان دوم را مشخص نمائيد :
<INPUT type=text size=2 value=5 name=txtCount>
<P></P>
<INPUT type=submit value=نمايش name=cmdTavan>
</form>
</body>
</html>

شکل زير فرم ورود اطلاعات را نشان می دهد . پس از مشخص نمودن تعداد اعدادی که می بايست توان دوم آنان محاسبه و نمايش داده شود ، اطلاعات مورد نظر با استفاده از متد POST برای Tavan.aspx ، ارسال می گردد.

پس از اجرای PostTavan.aspx ، و فشردن دکمه " نمايش " ، اطلاعاتی در رابطه با HTTP و مجذور اعداد مورد نظر نمايش داده می شود. با توجه به فعال بودن Tracing ، جزئيات مربوط به درخواست توسط ASP.NET نمايش داده می شود . شکل زير خروجی درخواست Post را نشان می دهد :

همانگونه که مشاهده می شود ، در اين وضعيت query string خالی بوده و طول محتويات ارسالی 50 است . داده موجود در فرم، بعنوان محتويات و پس از اطلاعات مربوط به هدر HTTP ارسال می گردد . در اين راستا ، ASP.NET از مجموعه Form بمنظور دستيابی به داده موجود در فرم ، استفاده می نمايد.
در بخش پنجم اين مقاله به بررسی کلاس HttpResponse خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


بررسی انواع داده در XSD

 بررسی انواع داده در XSD New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
XSD چيست ؟( بخش ششم) | مديريت نرم افزار | 1131 | 1 | 5

XSD چيست ؟( بخش ششم)

XSD چيست ؟( بخش ششم)
آنچه تاکنون گفته شده است :
بخش اول : مقاهيم و جايگاه نکنولوژی XSD
بخش دوم : گرامر XSD
بخش سوم :انواع داده ( ساده ، مرکب )
بخش چهارم : بررسی Attribute
بخش پنجم : تشريح يک عنصر در سند XSD
در اين بخش به بررسی انواع داده در XSD ، خواهيم پرداخت .
تعيين نوع داده يکی از ويژگی های مهم XSD بوده که با استفاده از آن ميتوان عناصر و يا خصلت ها را با فرمت صحيح و دلخواه اعتبار سنجی نمود . تکنولوژی XSD ، دامنه گسترده و وسيعی از انواع داده را حمايت و در عين حال به کاربر امکان تعريف نوع داده دلخواه را نيز خواهد داد .

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

تعريف يک نوع داده در XSD

.
.
.
<XSD:Element Name="ID" Type="XSD:String" MinOccurs="1" MaxOccurs="1"/>
 .
.
.

جدول زير ، انواع داده مهم حمايت شده در XSD را نشان می دهد .

انواع داده حمايت شده در XSD
نوع داده | توضيحات و مثال
anyuri | Uniform Resource Locator Example : http://www.srco.ir
base64Binary | MIME STYLE base64 encoded binary data
hexBinary | Hexadecimal encoded binary data
boolean | TRUE(1) Or FALSE(0)
byte | Numbers between -128 To 127
dateTime | Date in a subset of the ISO8601 format Time and Timezone are optional Example: 2003-04-15T10:40:15.000-05:00
date | Date in a subset of the ISO8601 format Example: 2003-04-15
decimal | Positive or negative arbitrary precision decimal value Examples: -5.34,0,5.34,5000.00
double | double precision 64-bit floating point
duration | Duration of time specified in years , months , days , hours , minutes and seconds format , as defined in the ISO8601 standards extended format PnYnMnDTnHnMnS.nY is then number of years , nM is the number of months and so on .The P is required but the other items are optional Example:To specify duration of one year and two months you would specify : P1Y2M
float | Single precision 32-bit floating point
gDay | Day in Gregorian format Example: --31 every 31th day,regardless of month
gMonth | Month in Gregorian format Example: --06-- every may
gMonthDay | Month and day in Gregorian format Example: --07-31 every july 31th
gYear | Year in Gregorian format Example: 2000
gYearMonth | Year and month in Gregorian format Example:2000-02
Int | Integer.Sign is optional Range: -2147483648 to 2147483647
Integer | The standard mathematical concept of integer numbers Range: An infinite set of negative or positive numbers
Language | Any valid XML language value as defined by RFC 1766 Example: en-US
Long | Integer Range: -9223372036854775808 to 9223372036854775807
Name | XML 1.0 name type
NCName | XML namespace ncname (An XML name without the prefix and colon)
negativeInteger | Range : Negative infinity to -1
nonNegativeInteger | Range : 0 to infinity
positiveInteger | Range : 1 to infinity
nonPositiveInteger | Range : Negative infinity to 0
normalizedString | String of character data. Newline,tab and carriage-return characters are converted to spaces before schema processing.
Short | Range : -32768 to 32767
String | String of character data .(characters that match CHAR from XML 1.0)
Time | Time in hh:mm:ss.sss-TimeZone format . Time zone is optional . The time zone is based on the number of hours ahead or behind coordinated universal time (as define in ISO8601) Example : 11:45:33.20-05:00 where 05:00 means 5 hours behind universal time .
Token | string of character data . Like normalizedstring the newline,tab and carriage-return characters are converted to spaces before schema processing . In addition , adjacent space characters are collapsed to a single space and leading and trailing spaces are removed .
unsignedByte | Unsigned byte . Range : 0 to 255
unsignedInt | Unsigned integer . Range : 0 to 4294967295
unsignedlong | Unsigned long integer . Range : 0 to 18446744073709551615
unsignedShort | Unsigned short integer. Range : 0 to 65535
QName | XML namespace QName.
NOTATION | XML 1.0 NOTATION attribute type. to retain compatibility between XSD and XML DTD 1.0s. these should only be used with attributes.
NMTOKEN | Name token value. string consisting of one word in a set of letters , digits and other characters in any combination .to retain compatibility between XSD and XML DTD 1.0s. these should only be used with attributes.
NMTOKENS | List of name tokens separated by whitespace. to retain compatibility between XSD and XML DTD 1.0s. these should only be used with attributes.
ID | The ID value must be unique throughtout all elements in the XML document. This attribute is refrenced by other attributes such as idref and idrefs. to retain compatibility between XSD and XML DTD 1.0s. these should only be used with attributes.
IDREF | References the value in an ID attribute within the XML document. to retain compatibility between XSD and XML DTD 1.0s. these should only be used with attributes.
IDREFS | References multiple ID type values separated by whitespace. to retain compatibility between XSD and XML DTD 1.0s. these should only be used with attributes.
ENTITY | XML 1.0 ENTITY attribute type. to retain compatibility between XSD and XML DTD 1.0s. these should only be used with attributes.
ENTITIES | XML 1.0 ENTITIES attribute type. ENTITIES contain a set of ENTITY values. to retain compatibility between XSD and XML DTD 1.0s. these should only be used with attributes.

ايجاد انواع داده دلخواه
 همانگونه که در بخش های قبل اين مقاله اشاره گرديد ، ، در XSD اين امکان وجود خواهد داشت که کاربر با استفاده از انواع داده استاندارد (جدول فوق) و اعمال محدوديت های دلخواه بر روی آنان ، اقدام به تعريف انواع داده ساده (Simple) دلخواه خود نموده و از آنها در توصيف جاری و يا حتی ساير توصيف ها استفاده نمايد .
با توجه به اينکه نحوه تعريف انواع داده دلخواه در مقالات قبل به تفصيل بيان شده است ، در اين بخش از مقاله ، از تکرار آن خودداری نموده و صرفا" به تشريح حالات مختلف خلاصه سازی يا محدود سازی اشاره خواهد شد .

پارمترهای محدود سازي (Facets)
خلاصه سازی و يا محدود سازی بستگی مستقيم به نوع داده پايه ای دارد که ميخواهيم محدود سازی را بر روی آن اعمال نمائيم . در خصوص داده هائی از نوع رشته‏ ای، پارمترهای مختلف محدود سازی به شرح ذيل می باشند :

  • enumeration
  • length
  • minlength
  • maxlength
  • pattern
  • whitespace

جدول زير نحوه استفاده از پارامتر الگو(pattern) و اعمال کنترل های مختلف بمنظور تشريح الگو را نشان می دهد :

Regular Expression | Explanation | Example(s)
\d | Digit | 1,2,3, etc.
[a-z] | Lower case ASCII characters | a,b,c, etc.
[A-Z] | Upper case ASCII characters | A,B,C, etc.
* | Wildcard | A*Z=ABZ,AbnmZ,ADDFZ, etc.
? | Single placeholder | A?Z=ABZ,AbZ,ACZ, etc.
+ | Inclusive of at least the specified values, but more are allowed . | A+Z=AZ,ABZ,ABCZ, etc.
(Value1|Value2) | Or | (A|Z)+Q=AQ,ZQ,ABQ,ZBQ, etc.
[abcde] | Another way to specify or , but with single character only. | [abc]=a,b, or c
[^0-9] | Any non-digit character | A,B,C,a,b,c, etc.
{integer} | The number of occurrences that there must be of the previous value . | az{2} = azz \d{3} = 123,456,789,444, etc. (az){2} = azaz

مثال يک : در مثال زير نحوه استفاده از پارامتر الگو ، نشان داده شده است :

مثال يک : نحوه استفاده از پارامتر الگو

<XSD:simpleType name="StudentGPA" minOccurs="1" maxOccurs="1">
<XSD:restriction base="XSD:string">
<XSD:length value="4" />
<XSD:pattern value="/d{1} . /d{2}" />
</XSD:restriction>
</XSD:simpleType>

مثال دوم : در مثال زير نحوه استفاده از پارامتر الگو ، نشان داده شده است :

مثال دو : نحوه استفاده از پارامتر الگو

<XSD:simpleType name="StudentGPA" minOccurs="1" maxOccurs="1">
<XSD:restriction base="XSD:string">
<XSD:enumeration Value = "2.0" />
<XSD:enumeration Value = "2.5" />
<XSD:enumeration Value = "3.0" />
<XSD:enumeration Value = "3.5" />
<XSD:enumeration Value = "4.0" />
</XSD:restriction>
</XSD:simpleType>

نکته : در مثال دوم، ارزش های مختلفی که يک سند براي عنصر StudentGPA می تواند داشته باشد 2.0 يا 2.5 يا 3.0 يا 3.5 يا 4.0 است . اما در مثال اول طول رشته بايد چهار حرف بوده و الگوی آن نيز معادل الگوی تعريف شده در pattern باشد . حال سئوال اينجا است که در محدود سازی يک نوع داده ، جايگاه واقعی استفاده از and و يا or چگونه است ؟. جواب اين سئوال پيچيده نيست ، در واقع ، در موارديکه از خصلت های enumoration و pattern استفاده می گردد ، واقعيت or حکمفرما بوده و در صورت استفاده از ساير خصلت ها ، واقعيت and حکم فرما خواهد بود.

در خصوص داده های عددی ، پارامترهای محدود سازی(Facets) به شرح ذيل می باشد :

  • enumeration
  • fractionDigits
  • maxExclusive
  • minExclusive
  • maxInclusive
  • minInclusive
  • pattern
  • totalDigits
  • whiteSpace

مثال : در مثال زير نحوه استفاده از پارامترهای محدودسازی در خصوص داده های عددی را نشان می دهد :

مثال : نحوه استفاده از پارامترهای محدودسازی در خصوص داده های عددی

<XSD:simpleType name="courseNumber" minOccurs="0" maxOccurs="10">
<XSD:restriction base="XSD:integer">
<XSD:minInclusive value="1000" />
<XSD:maxInclusive value="3000" />
</XSD:restriction>
</XSD:simpleType>

در اين مثال نوع داده دلخواهی جهت توصيف عنصر شماره درس ايجاد شده است که طبق آن هر دانشجو ميتواند تا 10 درس را ثبت نام نموده و شماره هر درس نيز بين 1000 تا 3000 بايد باشد . بنابر اين در صورتيکه در يک سند XML که از توصيف فوق استفاده نموده وعنصر course دارای مقدار 4000 و بصورت زير باشد،پارسر XSD خطائی مبنی بر ايجاد مشکل در نوع داده ارائه و سند اعتبار سنجی نخواهد شد .

<course>4000</course>

در بخش هفتم اين مقاله به بررسی مستند سازی يک توصيف يا سند XSD خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


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

 بازيابی و نمايش رکوردهای موجود در بانک اطلاعاتی اکسس New Page 1

ساير امکانات

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
دستيابی به بانک اطلاعاتی Access با استفاده از VB.NET | مديريت وب | 3029 | 18 | 3.1

دستيابی به بانک اطلاعاتی Access با استفاده از VB.NET

دستيابی به بانک اطلاعاتی Access با استفاده از VB.NET
در اين مقاله قصد داريم به نحوه بازيابی و نمايش اطلاعات موجود در يک بانک اطلاعاتی Access اشاره نمائيم . هدف از مقاله فوق ، پرداختن به تمامی رويکردهای موجود در اين زمينه نبوده و صرفا" به معرفی يکی از گزينه های موجود در اين زمينه اشاره خواهد شد. در اين راستا از تکنولوژی های ASP.NET ، ADO.NET و VB.NET استفاده خواهد شد . از کلاس های OleDbConnection ، OleDbCommand و OleDbDataReader مربوط به ADO.NET بمنظور انجام عمليات لازم در ارتباط با بانک اطلاعاتی ، از ASP.NET بمنظور ايجاد فرم وب و ارائه داده با استفاده از کنترل سرويس دهنده Table و از زبان VB.NET بمنظور نوشتن دستورالعمل های مورد نظر استفاده می گردد .
در ابتدا لازم است با سه کلاس ADO.NET که در ادامه از آنان استفاده خواهد شد ، بيشتر آشنا شويم :

  • کلاس OleDbConnection . شی فوق ، يک اتصال منحصر بفرد با يک منبع داده را ايجاد می نمايد. در رابطه با يک بانک اطلاعاتی سرويس گيرنده / سرويس دهنده ، اين امر معادل يک اتصال شبکه به سرويس دهنده است . با توجه به قابليت های حمايت شده توسط native OLE DB Provider ، برخی از متدها و يا خصلت ها مربوط به شی OleDbConnection ممکن است در دسترس و قابل استفاده نباشد . زمانيکه نمونه ای از OleDbConnection ايجاد می گردد ، تمامی خصلت های مربوطه ، مقدار اوليه خود را دارا خواهند بود . پس از اتمام عمليات موردنظر در ارتباط با بانک اطلاعاتی ، می بايست با فراخوانی Close و يا Dispose اقدام به غير فعال نمودن اتصال ايجاد شده با بانک اطلاعاتی مربوطه نمود.

  • کلاس OleDbCommand . يک عبارت SQL و يا Stored procedure را بمنظور اجراء در رابطه با يک منبع داده ارائه می نمايد. کلاس فوق از متدهای زير بمنظور اجرای دستورات در رابطه با يک منبع داده استفاده می نمايد.
    ExecuteReader . متد فوق ، دستوراتی را اجراء می نمايد که خروجی آنان شامل سطرهائی خواهد بود.
    ExecuteNonQuery . باعث اجرای دستوراتی نظير     SQL INSERT,DELETE,UPDATE و SET خواهد شد .
    ExecuteScalar . بازيابی صرفا" يک مقدار از يک بانک اطلاعاتی

  • کلاس OleDbDataReader . متد فوق ، امکان خواندن سطرهائی از داده موجود در يک منبع داده را فراهم می نمايد( فقط بسمت جلو) . بمنظور ايجاد يک OleDbDataReader ، می بايست متد ExecuteReader مربوط به شی OleDbCommand فراخوانده شود. ماداميکه OleDbDataReader در حال استفاده است (اتصال مرتبط OleDbConnection ) ، عمليات ديگری را در ارتباط با OleDbConnection نمی توان انجام داد .

امکانات مورد نياز
برای دنبال نمودن اين مقاله و اجرای نمونه مثالی که در ادامه بررسی می گردد ، به امکانات زير نياز خواهد بود :

  • نصب يکی از نسخه های ويندوز 2000 و يا نسخه ويندوز 2003
  • نصب IIS
  • نصب فريمورک دات نت نسخه 1.0 ,يا نسخه 1.1
  • يک بانک اطلاعاتی نمونه اکسس نظير Northwind

ايجاد يک برنامه وب ASP.NET با استفاده از VB.NET
بمنظور ايجاد يک برنامه وب ASP.NET با استفاده از VB.NET مراحل زير را دنبال می نمائيم :

  • اجرای برنامه ويژوال استوديو دات نت
  • از طريق منوی File ، گزينه New و در ادامه Project را انتخاب نمائيد .
  • در جعبه محاوره ای New Project ، در بخش Project Types گزينه Visual Bacic Projects را انتخاب ( کليک ) و در ادامه ASP.NET Web Application را انتخاب نمائيد .
  • در فيلد Location ، بجای نام پيش فرض #WebApplication ، نام TestAccessDB را انتخاب نمائيد . در صورتيکه از يک سرويس دهنده محلی استفاده میگردد ، می توان نام سرويس دهنده را http://localhost در نظر گرفت . بدين ترتيب در فيلد Location ، آدرس مربوطه بصورت زير نشان داده خواهد شد : http://localhost/TestAccessDB

ايجاد يک فرم وب نمونه
در نمونه کد نوشته شده از کنترل سرويس دهنده Table مربوط به ASP.NET استفاده شده که بصورت پويا يک نمايش ساده از داده بازيابی شده را نشان خواهد داد. ASP.NET ، مجموعه متنوعی از کنترل های انعطاف پذير را ارائه که می توان از آنان با توجه به رويکردهای متفاوت در رابطه با نمايش داده استفاده نمود. بمنظور ايجاد يک فرم وب در پروژه ايجاد شده در مرحله قبل ، مراحل زير را دنبال می نمائيم :

  • اضافه نمودن يک فرم جديد با نام DataSample.aspx به برنامه وب ASP.NET در ويژوال استوديو دات نت . بمنظور انجام خواسته فوق ، دو مرحله زير را دنبال می نمائيم :
    مرحله يک : در     Solution Explorer ، بر روی گره Project کليک سمت راست نموده و گزينه Add و در ادامه گزينه Add Web Form انتخاب گردد.
    مرحله دو : درفيلد     Name ، نام DataSample.aspx را درج و در ادامه گزينه Open     انتخاب گردد .

  • از طريق Toolbox مربوط به Web Forms Tab ، يک Table ASP.NET Server Control را انتخاب ( Drag ) و بر روی صفحه aspx . مستقر نمائيد ( در حالت Desgin view ) .

  • در Properties نام ID را به DisplayTable تغيير دهيد .

  • در Solution Explorer ، بر روی صفحه aspx . ، کليک سمت راست نموده و گزينه View Code را انتخاب نمائيد .

  • مرجع namespace زير را در بالاترين قسمت فايل کلاس code-behind وارد نمائيد .

Imports System.Data.OleDb

  • کد زير را در ارتباط با رويداد Page_load در نظر می گيريم :

Page_Load Event handler

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

استفاده از يک متغير رشته ای بمنظور ذخيره سازی Connectionstring'

Dim connectString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" &_
 "Data Source=C:\MyDB\NWIND.MDB"

ايجاد يک شی OleDbConnection و ارسال مقدار متغير ConnectionString '

Dim cn As OleDbConnection = New OleDbConnection(connectString)

فعال نمودن Connection'

cn.Open()

استفاده از يک متغير بمنظور ذخيره عبارت SQL'

Dim selectString As String = "SELECT CustomerID, ContactName, Phone FROM Customers"

ايجاد يک شی OledbCommand'
در اين خط متغير عبارت SQL و شی OleDbConnection ، ارسال می گردد '

Dim cmd As OleDbCommand = New OleDbCommand(selectString, cn)

ارسال CommandText به Connection و ايجاد يک OleDbDataReader '
OleDbDataReader از نوع " فقط بسمت جلو " خواهد بود'

Dim reader As OleDbDataReader = cmd.ExecuteReader()

تنظيم عرض جدول '

DisplayTable.Width = Unit.Percentage(90.0)

ايجاد يک سطر جديد برای اضافه نمودن عنوان جدول'

Dim tableHeading As TableRow = New TableRow()

ايجاد و اضافه نمودن سلول های شامل ستون Customer ID '

Dim customerIDHeading As TableHeaderCell = New TableHeaderCell()
customerIDHeading.Text = "Customer ID"
customerIDHeading.HorizontalAlign = HorizontalAlign.Left
tableHeading.Cells.Add(customerIDHeading)

ايجاد و اضافه نمودن سلول های شامل ستون Contact Name '

Dim contactNameHeading As TableHeaderCell = New TableHeaderCell()
contactNameHeading.Text = "Contact Name"
contactNameHeading.HorizontalAlign = HorizontalAlign.Left
tableHeading.Cells.Add(contactNameHeading)

ايجاد و اضافه نمودن سلول های شامل ستون Phone '

Dim phoneHeading As TableHeaderCell = New TableHeaderCell()
phoneHeading.Text = "Phone"
phoneHeading.HorizontalAlign = HorizontalAlign.Left
tableHeading.Cells.Add(phoneHeading)

DisplayTable.Rows.Add(tableHeading)

تکرار در بين داده انتخابی نتايج و افزودن داده برای هر يک از ستون های مورد نظر در جدول '

While(reader.Read())
Dim detailsRow As TableRow = New TableRow()
Dim customerIDCell As TableCell = New TableCell()
customerIDCell.Text = reader("CustomerID").ToString()
detailsRow.Cells.Add(customerIDCell)
Dim contactNameCell As TableCell = New TableCell()
contactNameCell.Text = reader("ContactName").ToString()
detailsRow.Cells.Add(contactNameCell)
Dim phoneCell As TableCell = New TableCell()
phoneCell.Text = reader("Phone").ToString()
detailsRow.Cells.Add(phoneCell)
DisplayTable.Rows.Add(detailsRow)
End While

بستن Connection'

reader.Close()
cn.Close()
End Sub

  • مقدار متغير ConnectString در ابتدای کد نوشته شده فوق را تغيير و آن را به محلی که بانک اطلاعاتی موجود است ، اشاره دهيد .

  • از طريق منوی File ، گزينه Save All را انتخاب تا فرم وب و ساير فايل های مرتبط با پروژه ، ذخيره گردد .

  • از طريق منوی Build ، گزينه Build Solution را بمنظور ايجاد پروژه ، فعال نمائيد.

  • در Solution Explorer ، بر روی DataSample.aspx کليک سمت راست و در ادامه گزينه View in Browser را انتخاب نمائيد . در ادامه صفحه در مرورگر نمايش و شامل داده موجود در بانک اطلاعاتی مربوطه است .

اشکالات و خطاهای احتمالی
درزمان اجراء ، ممکن است با خطائی مانند زير مواجه شويم :

The Microsoft Jet database engine cannot open the file 'C:\MyDB\NWIND.MDB'.
It is already opened exclusively by another user, or you need permission to view its data.

  • خطای فوق ، اغلب بدليل عدم داشتن مجوز لازم بمنظور دستيابی به فايل ( فايل بانک اطلاعاتی با انشعاب mdb . ) می باشد . بصورت پيش فرض ، ASP.NET تحت ASPNET account در فريمورک دات نت نسخه يک و يا NetworkService در فريمورک دات نت نسخه 1،1 اجراء می گردد.در اين رابطه لازم است تغييرات لازم در رابطه با مجوز دستيابی به فايل mdb . و فولدری که شامل فايل است ، اعمال گردد .

  • از نصب عناصر مورد نياز Microsoft Jet database بر روی سيستم ، مطمئن گرديد. در صورتيکه MDAC 2.6 نصب شده باشد ( Microsoft Data Access Components 2.6) ، عناصر Jet را شامل نمی گردد . در چنين مواردی می بايست آخرين نسخه Jet 4.0 Service Pack ، بر روی سيستم نصب گردد.

جستجو
جستجو

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

مقالات
مشاهده گروه ها


نحوه مديريت يک Connection

 نحوه مديريت يک Connection New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
ارتباط به منابع داده در ADO.NET ( بخش سوم ) | مديريت وب | 2319 | 6 | 3.8

ارتباط به منابع داده در ADO

ارتباط به منابع داده در ADO.NET ( بخش سوم )
در بخش اول اين مقاله به تشريح انواع Data Provider و در بخش دوم با نحوه ايجاد يک Connection آشنا شديم . در اين بخش به بررسی نحوه مديريت يک Connection خواهيم پرداخت .

پس از تعريف خصلت ConnectionString مربوط به شی Connection ، می توان با استفاده از متدهای Close و Open ، مديريت وضعيت Connection جاری را انجام داد . در ادامه با نحوه استفاده از متدهای فوق و پاسخگوئی به رويدادهای Connection آشنا خواهيم شد.

فعال نمودن و غير فعا ل نمودن يک Connection
بمنظور فعال نمودن و يا غير فعال نمودن يک Connection می توان بصورت تلويحی عمليات فوق را با فراخوانی متدهای يک شی که از Connection استفاده می نمايند انجام و يا با صراحت و بکمک متدهای Open و يا Close اقدام به فعال نمودن و يا غير فعال نمودن Connection نمود . متدهای Open و Close دو متد اوليه برای هر Connection می باشند .

  • متد Open با استفاده از اطلاعات موجود در خصلت ConnectionString ، با يک منبع داده ارتباط و يک ارتباط فعال شده را ايجاد خواهد کرد .
  • متد Close باعث غير فعال شدن Connection می گردد .

لازم است به اين نکته اشاره گردد که بستن ( غير فعال نمودن ) يک Connection امری لازم و ضروری است ، چراکه اکثر منابع داده صرفا" تعداد محدودی از ارتباطات فعال را حمايـت نموده و در ضمن ارتباطات فعال ، منابع با ارزش سيستم را اشغال و حجم عملياتی بر روی سيستم را افزايش خواهند داد .

فعال نمودن و غير فعال نمودن صريح يک Connection
استفاده صريح از متدهای Open و Close بمنظور فعال نمودن و يا غير فعال نمودن Connection توصيه و دارای مزايای زير است :

  • کد نوشته شده دارای خوانائی بمراتب بيشتری خواهد بود .
  • اشکال زدائی برنامه ها با سرعت مطلوبی انجام خواهد شد .
  • موثرتر می باشد.

پس از استفاده Connection ، لازم است که ارتباط ايجاد شده غير فعال گردد . بدين منظور، می توان از متدهای Close و يا Dispose مربوط به شی Connection استفاده نمود. متد Close ، تراکنش های بلاتکليف را تعيين تکليف نموده و در ادامه ارتباط را غير فعال می نمايد . در موارديکه Pooling فعال شده باشد ، متد فوق باعث آزادسازی ارتباط ايجاد شده از Connection pool می گردد . فراخوانی متد Close توسط يک برنامه می تواند چندين مرتبه صورت پذيرد.

فعال نمودن و غير فعال نمودن تلويحی يک Connection
در صورت استفاده از DataAdapters ، ضرورتی به فعال نمودن و يا غير فعال نمودن يک Connection وجود نخواهد داشت . زمانيکه يکی از متدهای مربوط به اشياء فوق ، فراخوانده می گردد ( مثلا" متد Update و يا Fill مربوط به شی SqlDataAdapter ) ، متد مورد نظر بررسی لازم در خصوص فعال بودن ارتباط را انجام و در صورتيکه ارتباط فعال نشده باشد ، SqlDataAdapter ارتباط را فعال و پس از انجام عمليات مورد نظر ، ارتباط را غير فعال خواهد نمود .

مثال : در صورتيکه يک DataSet داده خود را از چندين جدول متفاوت که در بانک اطلاعاتی مشابه قرار دارند ، دريافت می نمايد ،صرفا" يک Connection وجود داشته و دارای چندين DataAdapters خواهيم بود (هر DataAdapters مرتبط با يک جدول ) . در صورتيکه Connection بصورت تلويحی ( عدم استفاده صريح از متدهای Open و Close ) فعال و يا غير فعال گردد ، در زمان پر نمودن اطلاعات در Dataset ، ارتباط با منبع داده چندين مرتبه فعال و يا غير فعال خواهد شد . در چنين مواردی مناسب است که در ابتدا Connection با صراحت فعال و پس از فراخوانی متدهای Filling مربوط به چندين DataAdapters ، ارتباط ايجاد شده با منبع داده را با بکارگيری متد Close و باصراحت غير فعال نمود .

استفاده از متد Dispose
زمانيکه يک Connection غيرفعال می گردد ، جريان اطلاعات به و يا از منبع داده غير فعال می گردد. در چنين حالتی ، منابع غيرمديريت يافته استفاده شده توسط شی Connection ، آزاد نخواهند گرديد.در صورتيکه Connection pooling فعال شده باشد ، عمليات آزاد سازی Connection از Pool نيز انجام خواهد شد. اشياء SqlConnection و OleDbConnection دارای يک متد Dispose بوده که از آن بمنظور آزادسازی منابع غيرمديريت يافته استفاده می گردد . با فراخوانی متد Dispose ، عمليات حذف Connection از Connection pool نيز انجام خواهد شد .

مثال : استفاده از متد Dispose
در مثال زير، يک شی SqlConnection ايجاد و در ادامه با استفاده از متد Open فعال و سپس بمنظور غيرفعال نمودن Connection و آزاد سازی منابع استفاده شده توسط Connection از متد Dispose استفاده و در نهايت شی مورد نظر به Nothing مقداردهی شده است .

نحوه استفاده از متد Dispose

تعريف و نمونه سازی يک شی جديد SqlConnection '

Dim cnNorthwind AS New System.Data.SqlClient.SqlConnection ()

مقدار دهی مناسب خصلت ConnectionString '

cnNorthwind.ConnectionString = "Data Source="(Local); " & _

"Initial Catalog = Northwind;" & _

"Integrated Security=SSPI;"

فعال نمودن Connection '

cnNorthwind.open()

انجام عمليات دلخواه و مرتبط با بانک اطلاعاتی '
بستن Connection که باعث آزاد سازی آن از Connection Pool '
بر روی سرويس دهنده می گردد .'

cnNorthwind.Close()

Dispose نمودن ارتباط که باعث حذف connection از connection pool بر روی ' سرويس دهنده می گردد ، ذخيره سازی منابع سرويس دهنده '

cnNortwind.Dispose()

آزاد سازی حافظه اشغال شده توسط شی SqlConnection '

cnNorthwind = Nothing

برخورد با رويدادهای Connection
رويداد StateChange زمانی که وضعيت Connection تغيير نمايد ، محقق می گردد( وضعيت Connection از فعال به غير فعال و يا از غير فعال به فعال تبديل گردد) .بمنظور برخورد مناسب با هر يک از رويدادها ، از يک Event handler استفاده می گردد. هر رويداد دارای Event handler مختص خود می باشد. Event handler مربوط به رويداد StateChange ، متدی است که دارای آرگومانی از نوع StateChangeEventArgs می باشد . آرگومان فوق، شامل داده مرتبط با رويداد است .

رويداد StateChange
نوع NET data provider . ، که از آن استفاده می گردد ، آرگومان های خاص مربوط به رويداد StateChange را مشخص می نمايد :

  • رويداد SqlConnection.StateChange برای يک شی SqlConnection
  • رويداد OleDbConnection.StateChange برای يک شی OleDbConnection

لازم است بدين نکته اشاره گردد که تمامی رويدادها در دات نت دارای دو پارامتر زير می باشند :

  • ارسال کننده ( از نوع شی )
  • e از نوع XxxEventArgs

برای رويداد StateChange ، پارامتر e از نوع StateChangeEventArgs می باشد.
event handler مربوط به دو رويداد فوق ، نوع مشابهی از آرگومان ها را دريافت می نمايد : StateChangeEventArgs که شامل داده مرتبط با اين رويداد است . جدول زير خصلت های مربوط به کلاس StateChangeEventArgs را نشان می دهد :

شرح | خصلت
خصلت فوق ، وضعيت جديد Connection را مشخص می نمايد. زمانيکه رويداد محقق گردد، شی Connection همواره در يک وضعيت جديد خواهد بود . | CurrentSatate
وضعيت اوليه Connection را برمی گرداند . | OriginalSate

نمونه ای از يک Event Handler مربوط به StateChange
مثال زير نحوه ايجاد StateChangeEventHandler را با VB.NET ، نشان می دهد :

نحوه استفاده ازيک Event Handler با استفاده از VB.NET

Private Sub cnNorthwind_State ( ByVal Sender As Object , ByVal e As System.Data.StateChangeEventArgs) Handles cnNorthwind.StateChange

نمايش وضعيت اوليه و جاری State در يک messagebox '
زمانی که وضعيت Connection تغيير می نمايد '

MessageBox.Show("CurrentState: "& e.Currentstate.ToString() & vbCrLF & _ "OriginalState : " & e.OriginalState.ToString() , _
"cn.Northwind.StateChange" , _
MessageBoxButtons.OK,_
MessageBoxIcon.Information)
End Sub

در بخش چهارم اين مقاله به بررسی Connection Exceptions ، خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


بررسی جايگاه فريمورک دات نت دررابطه با برنامه های وب

 بررسی جايگاه فريمورک دات نت دررابطه با برنامه های وب New Page 1

ساير امکانات

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
مبانی برنامه نويسی وب در دات نت ( بخش دوم ) | مديريت وب | 2058 | 3 | 4

مبانی برنامه نويسی وب در دات نت

مبانی برنامه نويسی وب در دات نت ( بخش دوم )
در بخش اول اين مقاله ، با ماهيت برنامه هائی که بر روی بستر اينترنت پياده سازی می گردند ، آشنا و در ادامه به بررسی ابزارهای موجود بمنظور پياده سازی برنامه های وب ، نحوه عمليات برنامه های وب ASP.NET و تشريح بخش های متفاوت يک برنامه وب ،اشاره گرديد . در اين بخش به بررسی جايگاه فريمورک دات نت دررابطه با برنامه های وب ، خواهيم پرداخت .

فريمورک دات نت
ASP.NET يکی از بخش های مهم فريمورک دات نت می باشد . در اين رابطه لازم است به اين نکته دقت شود که ASP.NET ، صرفا" يک بخش از تمام پلات فرم دات نت است . آشنائی با ساير امکانات فريمورک دات نت، قطعا" در ايجاد برنامه های وب مفيد و باعث پيشگيری از انجام عملياتی خواهد شد که توسط فريمورک دات نت پياده سازی و بعنوان يک پتانسيل در دسترس پياده کنندگان می باشد. ( عدم انجام کارهای تکراری ) . فريمورک دات نت، پلات فرم جديد برنامه نويسی مايکروسافت بمنظور پياده سازی نرم افزارهای وب و ويندوز است . فريمورک دات نت از دو بخش عمده تشکيل شده است :

  • يک هسته ( موتور) اجرائی که CLR)Common Language Runtime) ناميده می شود.

  • يک کتابخانه کلاس که هسته توابع برنامه نويسی (نظير توابع ارائه شده توسط Windows API ) را ارائه که می توان از آنان بمنظور پياده سازی برنامه های متفاوت استفاده نمود. در اين راستا ، توابع متفاوتی بمنظور پياده سازی برنامه های وب (ASP.NET ) ، دستيابی به داده ( ADO.NET ) ، امنيت و مديريت راه دور ، ارائه گرديده است .

برنامه های دات نت همانند برنامه های سنتی ويندور اجراء نمی گردند. اين نوع از برنامه ها در مقابل ترجمه کدهای اجرائی نوشته شده به کد ذاتی مختص يک ماشين خاص ، به يک زبان ميانی و با نام MSIL)Microsoft intermediate Language) تبديل و در يک فايل با نام اسمبلی ( assembly ) ذخيره می گردند . در زمان اجراء ، اسمبلی به وضعيت نهائی خود توسط CLR ، ترجمه خواهد شد. CLR ، امکانات لازم در رابطه با مديريت حافظه ، بررسی امنيت نوع ها و ساير عمليات مورد يناز برنامه ها در زمان اجراء را ارائه می نمايد . شکل زير نحوه انجام عمليات فوق را نشان می دهد .

برنامه هائی که با نظارت و مديريت CLR اجراء می گردند را managed code می گويند ( کد اداره شده ) ، چراکه CLR مراقبت های لازم در خصوص تعداد زيادی از فعاليت ها ئی که ممکن است راسا" از طريق کدهای نوشته شده در برنامه صورت پذيرد را انجام خواهد داد . کد اداره شده ، مسائل برنامه نويسی ويندوزنظير ريجستر نمودن عناصر و وجود نسخه های متقاوت ( DLL hell ) را برطرف می نمايد ، چراکه اسمبلی شامل تمامی نسخه های متفاوت و اطلاعات مربوط نوع های متفاوتی بوده که CLR بمنظور اجراء برنامه به آنان نياز خواهد داشت . CLR ، مسئله ريجستر نمودن را در زمان اجراء و بصورت پويا انجام خواهد داد( در گذشته،ريجستر نمودن عناصر در ريجستری سيستم بکمک برنامه و يا از طريق عناصر COM:Componenet Object Model، انجام می گرديد) .
کتابخانه کلاس دات نت ، امکان دستيابی به تمامی پتانسيل های CLR را فراهم می نمايد . کتابخانه کلاس دات نت، درون مجموعه ای از namespace ها ، سازماندهی شده است . هر namespace شامل گروهی از کلاس های مرتبط است . جدول زير، برخی از مجموعه های فوق را نشان می دهد .

ارائه دهنده کلاس هائی برای | namespace | گروه
تمامی نوع های داده متداول ،شامل رشته ها ، بردار ها و نوع های عددی . کلاس های فوق ، دارای متدهای لازم بمنظور تبديل نوع ها ، عمليات بر روی رشته ها و بردارها بمنظور عمليات رياضی و اعداد تصادفی می باشد . | System | نوع های متداول
دستيابی به بانک های اطلاعاتی . کلاس فوق ، شامل متدهائی برای ارتباط به بانک های اطلاعاتی ، اجرای دستورات ، بازيابی و تغيير داده می باشند. | System.Data System.Data.Common, System.Data.OleDb, System.Data.SqlClient, System.Data.SqlTypes | دستيابی داده
اشکال زدائی و دنبال نمودن اجراء برنامه | System.Diagnostics | اشکال زدائی
دستيابی به سيستم فايل . کلاس های فوق ، شامل متدهائی برای خواندن و نوشتن در فايل ها و آگاهی از مسير و نام فايل است . | System.IO, System.IO.IsolatedStorage, System.DirectoryServices | دستيابی فايل
ارتباط بر روی اينترنت با استفاده از پروتکل های سطح پائين نظير TCP/IP . کلاس های فوق ، درموارديکه برنامه های Peer-To-Peer ايجاد می گردد ، استفاده می گردند. | System.Net, System.Net.Sockets | ارتباطات شبکه ای
ارائه امکانات لازم در خصوص معتبر سازی کاربر ، تائيد کاربر و رمزنگاری داده | System.Security, System.Security.Cryptography, System.Security.Permissions, System.Security.Policy, System.Web.Security | امنيت
ايجاد برنامه های سرويس گيرنده - سرويس دهنده که بر روی اينترنت اجراء می گردند. کلاس های فوق ، بمنزله هسته اساسی کلاس های مورد نظر بمنطور ايجاد برنامه های وب ASP.NET می باشند . | System.Web.Hosting, System.Web.Mail, System.Web.SessionState, System.Web.UI, System.Web.UI.Design, System.Web.UI.WebControls, System.Web.UI.HtmlControls | برنامه های وب
ايجاد و نشر عناصری که می توانند بر روی اينترنت استفاده گردند . کلاس های فوق ، بمنزله کلاس های پايه بمنظور ايجاد سرويس های وب ASP.NET می باشند . | System.Web.Services, System.Web.Services.Configuration, System.Web.Services.Description, System.Web.Services.Discovery, System.Web.Services.Protocols | سرويس های وب
ايجاد برنامه هائی که از عناصر رابط کاربر ويندوز استفاده می نمايند . کلاس های فوق ، فرم های ويندوز و کنترل های لازم و قابليت ايجاد کنترل های سفارشی را ارائه می نمايند. | System.Windows.Forms, System.Windows.Forms.Design | برنامه های ويندوز
ايجاد و دستيابی به فايل های XML | System.Xml System.Xml.Schema, System.Xml.Serialization, System.Xml.Xpath, System.Xml.Xsl | داده XML

با توجه به اينکه سازماندهی namespace های دات نت بر اساس نوع عملکرد آنان ، انجام شده است ، می توان از آنان بمنظور کمک در مکان يابی کلاس ها و اعضاء کلاس ارائه شده در ارتباط با ويژگی های CLR ، استفاده بعمل آورد . مثلا" namespace با نام system يکی از متداولترين namespace مورد نظر در اين زمينه است ، چراکه شامل کلاس هائی برای تمامی نوع های داده پايه است . هر مرتبه که يک متغيرعددی ، رشته و يا نوع بردار، تعريف می گردد از namespace فوق، استفاده می گردد . بدين ترتيب ، فريمورک دات نت متدهای از قبل ايجاد شده ای را بمنظور تبديل نوع های داده ، عمليات بر روی رشته ها و بردارها ، ارائه نمايد. مثلا" برنامه زير ، با استفاده از متدهای از قبل ساخته شده در ارتباط با کلاس های String و Array ، يک ليست را مرتب می نمايد.

VB.NET

' Declare and initialize a string
Dim strFruit As String = "oranges apples peaches kumquats nectarines mangos"
' Declare an array.
Dim arrFruit As String()
' Place each word in an array element.
arrFruit = strFruit.Split(" ")
' Sort the array.
System.Array.Sort(arrFruit)
' Put the sorted data back in the string.
strFruit = String.Join(" ", arrFruit)

Visual C#

// Declare and initialize a string.
string strFruit = "oranges apples peaches kumquats nectarines mangos";
// Declare an array.string[ ] arrFruit;
// Place each word in an array element.
arrFruit = strFruit.Split(" ".ToCharArray());
// Sort the array.
System.Array.Sort(arrFruit);
// Put the sorted array back in the string.
strFruit = System.String.Join(" ", arrFruit);

تعداد زيادی از کلاس ها در namespace با نام System را می توان مستقيما" و بدون ايجاد يک نمونه شی از کلاس استفاده نمود. اين نوع کلاس ها ، اعضاء مشترک در ويژوال بيسيک دات نت و اعضاء ايستا در سی شارپ ناميده می شوند. اعضاء مشترک و يا ايستا قادر به فراخوانی از طريق نام کلاس می باشند . Sysytem.Array.Sort در برنامه فوق ، نمونه ای در اين زمينه می باشد . يک نمونه مثال ديگر از يک کلاس با اعضاء مشترک و ايستا ، کلاس Math است .

VB.NET

' Get the area of a circle.
dblCircArea = System.Math.Pi * System.Math.Pow(intRadius, 2)

Visual C#

// Get the area of a circle.
dblCircArea = System.Math.PI * System.Math.Pow(intRadius, 2) ;

زبان های برنامه نويسی
ASP.NET و تمامی فريمورک دات نت مستقل از زبان برنامه نويسی است . بدين ترتيب ، می توان هر زبان برنامه نويسی را که يک کمپايلر سازگار با CLR را حمايت می نمايد ، انتخاب نمود. علاوه بر ارائه زبان های اختصاصی توسط مايکروسافت ، ساير توليد کنندگان امکانات لازم در خصوص استفاده از زبان های متفاوت برنامه نويسی ديگر نظير : Perl, Pascal, Eiffel, Cobol, Python, Smalltalk را فراهم نموده اند . VB.NET و #C دو زبان ارائه شده توسط مايکروسافت در دات نت می باشند که دارای قابليت های عملکردی يکسان بوده و می توان از آنان بمنظور ايجاد برنامه های وب ، استفاده نمود. تفاوت موجود بين زبان های فوق ، اغلب به نوع گرامر آنان برمی گردد .
اکثر برنامه نويسان ، زبانی را انتخاب می نمايند که دارای سابقه آشنائی مطلوبی با آن باشند . برنامه نويسان فعلی ويژوال بيسيک بمنظور پياده سازی برنامه های وب ، تمايل به استفاده از VB.NET و برنامه نويسان C و يا ++C تمايل به استفاده از ويژوال سی شارپ دارند .اکثرعمليات مورد نظر در يک برنامه وب از طريق بکارگيری کلاس های کتابخانه فريمورک دات نت ، انجام خواهد شد و اين بدان معنی است که کد نوشته شده VB.NET و سی شارپ در اکثر موارد مشابه يکديگر خواهد بود.
جدول زير برخی از تفاوت های مشهود بينVB.NET و سی شارپ را نشان می دهد .

Feature

VB.NET

Visual C#

Case sensitive

Not case sensitive

response.write("Yo") � OK

Case sensitive

response.write("Yo"); // Error! Response.Write("Yo"); // OK

Functional blocks

Use beginning and ending statements to declare functional blocks of code

Sub Show(strX as String) Response.Write(strX)
End Sub

Use braces to declare functional blocks of code

void Show(string strX)
{
Response.Write(strX);
}

Type
conversion

Implicit type conversions are permitted by default:

Dim X As Integer
X = 3.14 � OK

You can limit conversions by including an Option Strict On statement at the beginning of modules.

Implicit type conversions are limited to operations that are guaranteed not to lose information, such as converting from int to float:

int X = 0;
float Y = X; // OK

Other type conversions are performed explicitly by casts:

Y = 3.14F;
X = (int)Y; //Cast, OK.

Or, by using type conversion methods:

string Z;
Z = Y.ToString();

Comments

Comments always start with an apostrophe (�):

' This is a comment.

There are three different types of comments: block (/* */),
inline (//),
documentation (///):

/* Block comments canspan lines or be usedto comment out code. */
// Inline comments appear
// to the right of code.
/// <summary>Description
/// of class.</summary>

Arrays

Array elements are specified using
parentheses:

arrFruit(1) = "Apple"

Array elements are specified using square brackets:

arrFruit[1] = "Apple";

Methods

You can omit parentheses after method names if arguments are omitted:

strX = objX.ToString

You must include parentheses after all methods:

strX = objX.ToString();

Statement termination

Statements are terminated by carriage return:

Response.Write("Hello")

Statements are terminated by the semicolon (;):

Response.Write("Hello");

Statement continuation

Statements are continued using the underscore (_):

intX = System.Math.PI * _ intRadius

Statements continue until the semicolon (;) and can span multiple lines if needed:

intX = System.Math.PI *
intRadius;

String operator

Use the ampersand (&) or plus sign (+) to join strings:

strFruit = "Apples" & _ " Oranges"

Use the plus sign (+) to join strings:

strFruit = "Apples" + " Oranges";

Comparison operators

Use =, >, <, >=, <=, <> to compare values:

If intX >= 5 Then

Use ==, >, <, >=, <=, != to compare values:

if (intX >= 5)

Negation

Use the Not keyword to express logical negation:

If Not IsPostBack Then

Use the ! operator to express logical negation:

if (!IsPostBack)

Object comparison

Use the Is keyword to compare object variables:

If objX Is objY Then

Use == to compare object variables:

if (objX == objY)

Object existence

Use the Nothing keyword or the IsNothing function to check whether an object exists:

If IsNothing(objX) Then

Use the null keyword to check whether an object exists:

if (objX == null)

در بخش سوم اين مقاله با امکانات ويژوال استوديو دات نت در رابطه با برنامه نويسی وب در دات نت آشنا خواهيم شد .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


بررسی ميزان توليد و ذخيره سازی اطلاعات در جهان

 بررسی ميزان توليد و ذخيره سازی اطلاعات در جهان New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
ميزان توليد اطلاعات در جهان ( بخش دوم ) | مديريت وب | 2732 | 6 | 4.3

ميزان توليد اطلاعات در جهان

ميزان توليد اطلاعات در جهان ( بخش دوم )
در بخش اول اين مقاله ، به بخشی از گزارش تحقيقاتی دانشگاه برکلی در رابطه با ميزان توليد و ذخيره سازی اطلاعات اشاره گرديد . در اين بخش به بررسی ميزان اطلاعات ذخيره شده بر روی هر رسانه ( کاغذ ، فيلم ، مغناطيس ، نوری) و جايگاه هر يک از کانال های الکترونيکی ( تلفن ، راديو ، تلويزيون ، اينترنت ) توزيع اطلاعات ، خواهيم پرداخت

ميزان اطلاعات ذخيره شده
همانگونه که قبلا" اشاره گرديد ، اطلاعات توليد شده بر روی چهار رسانه فيزيکی کاغذ ، فيلم ، مغناظيس و نوری ذخيره می گردند . جدول زير ، ميزان اطلاعات ذخيره شده بر روی هر يک از رسانه های فوق در سال 2002 و در فاصله بين سال های 1999 تا 2002 را نشان می دهد .همانگونه که در جدول فوق مشاهده می گردد ، حجم اطلاعات ذخيره شده در سال 2002 ، سی درصد رشد را داشته است . استفاده از رسانه های ذخيره سازی مغناطیسی ، بالاترين ميزان رشد را بخود اختصاص داده است .

حجم توليد اطلاعات غيرتکراری در جهان بر حسب ترابايت در سال 2002 ، با فرض اينکه تمامی آنان بصورت ديجيتال ذخيره شده باشند. تخمين بالا : استفاده از روش های فشرده سازی برای ذخيره سازی اطلاعات تخمين پائين : عدم استفاده از روش های فشرده سازی برای ذخيره سازی اطلاعات
رسانه ذخيره سازی | سال 2002 (تخمين بالا) | سال 2002 (تخمين پائين) | 2002 - 1999 (تخمين بالا) | 2002 - 1999 (تخمين پائين ) | درصد تغييرات (تخمين بالا)
کاغذ | 1,634 | 327 | 1,200 | 240 | 36%
فيلم | 420,254 | 76,69 | 431,690 | 58,209 | 3% -
مغناطيسی | 4,999,230 | 3,416,230 | 2,779,760 | 2,073,760 | 80%
نوری | 103 | 51 | 81 | 29 | 28%
مجموع | 5,421,221 | 3,416,281 | 3,212,731 | 2,132,238 | 69%

در ادامه به بررسی هر يک از رسانه های ذخيره سازی خواهيم پرداخت .
کاغذ
از يک درخت می توان 80،500 ورق کاغذ را توليد نمود .برای توليد کاغذ مورد نياز بمنظور ذخيره سازی اطلاعات به حدود 786 ميليون درخت در يکسال نياز خواهد بود. براساس اطلاعات منتشر شده توسط يونسکو ، در سال 1999 سهم هر يک از ساکنين جهان 1،510 ورق کاغذ بوده است. مصرف کاغذ در تمای کشورها يکسان نمی باشد . مثلا" هر يک از شهروندان امريکای شمالی حدود 11،916 ورق کاغذ ( 24 بند کاغذ ، هر يک معادل 480 تا 516 برگ صفحه ) را مصرف کرده در حاليکه ساکنين اروپا 7،820 ورق کاغذ ( 15 بند کاغذ ، هر يک معادل 480 تا 516 برگ صفحه ) را مصرف نموده اند. تقريبا" نيمی ازکاغذ مصرف شده در مواردی همچون چاپ و دستگاههای تکثير کننده در ارتباط با اسناد موجود در موسسات و سازمان ها استفاده شده است . جدول زير ، ميزان اطلاعات ذخيره شده بر روی کاغذ بتفکيک نوع استفاده در سال 2002 و در فاصله بين سال های 1999 تا 2002 را نشان می دهد.همانگونه که در جدول فوق مشاهده می گردد، حجم اطلاعات جديد ذخيره شده بر روی کاغذ در فاصله سال های 1999 تا 2002 به ميزان 36 % رشد داشته است . مهمترين علت اين افزايش به چاپ و تکثير اسناد در ادارات و موسسات بر می گردد ( استفاده در چاپگرهای کامپيوتر ) . افزايش انتشار همزمان اطلاعات چاپ شده به شکل ديجيتال نظير : روزنامه و مجلات online ، يکی از نکات قابل توجه در اين زمينه می باشد .

حجم توليد محتوی چاپی غيرتکراری در جهان بر حسب ترابايت در سال 2002 ، با فرض اينکه تمامی آنان بصورت ديجيتال ذخيره شده باشند. تخمين بالا : استفاده از روش های فشرده سازی برای ذخيره سازی اطلاعات تخمين پائين : عدم استفاده از روش های فشرده سازی برای ذخيره سازی اطلاعات
رسانه ذخيره سازی | نوع محتويات | سال 2002 (تخمين بالا) | سال 2002 (تخمين پائين) | 1999 (تخمين بالا) | 1999 (تخمين پائين ) | درصد تغييرات (تخمين بالا)
کاغذ | کتاب | 39 | 8 | 39 | 8 | 0
 | روزنامه | 138.4 | 27.7 | 124 | 25 | 12%
 | اسناد ادارات | 1,397.5 | 279.5 | 975 | 195 | 43%
 | فصلنامه ها | 52 | 10 | 52 | 10 | 0
 | مجلات | 6 | 1.3 | 9 | 2 | 33% -
 | خبرنامه | 0.9 | 0.2 | 0.8 | 0.2 | 0
 | مجموع | 1,633.8 | 326.7 | 1,199.8 | 240.2 | 36%

فيلم
فيلم ، رسانه ای بمنظور ذخيره سازی تصاوير آنالوگ است . تصاوير فوق ، بسرعت بسمت ديجيتال شدن حرکت تا بر روی رسانه های ذخيره سازی مغناطيسی و نوری ذخيره گردند. از سال 1999 به بعد، کاهشی چشمگير در زمينه تصاوير مبتنی بر فيلم ايجاد و در مقابل رشدی چشمگير را در رابطه با ايجاد تصاوير با استفاده از دوربين های ديجتال شاهد بوده ايم . در سال 2002 ، بيش از 5 /27 ميليون دوربين ديجيتال در سرتاسر جهان بفروش رفته است . فيلم ها ی سينمائی و برنامه های تلويزيونی به سمت ويدئوهای ديجتالی در حرکت می باشند ، مهمترين علت اين امر ، کاهش هزينه ويرايش است . تکنولوژی های تصاوير ديجتال پرشکی نيز بسرعت در حال رشد است ولی بدليل هزينه پايئن تکنولوژی های مبتنی بر فيلم همچنان استفاده از فيلم های مبتنی بر اشعه ايکس رشد خود را دارا بوده است . رشد چشمگيری در رابطه با توليد فيلم ها و برنامه های تلويزيونی خصوصا" در کشورهای در حال توسعه وجود داشته است . تقريبا" 370،000 تصاوير متحرک در فاصله بين سال های 1890 تا 2002 در جهان ايجاد شده است . در صورتيکه تمامی فيلم ها و ويدئوهای توليدی بصورت پيوسته پخش گردد ، برای مشاهده تمامی آنان به 2،108 سال زمان نياز خواهد بود.

حجم توليد محتوی فيلم غيرتکراری در جهان بر حسب ترابايت در سال 2002 ، با فرض اينکه تمامی آنان بصورت ديجيتال ذخيره شده باشند. تخمين بالا : استفاده از روش های فشرده سازی برای ذخيره سازی اطلاعات تخمين پائين : عدم استفاده از روش های فشرده سازی برای ذخيره سازی اطلاعات
رسانه ذخيره سازی | نوع محتويات | سال 2002 (تخمين بالا) | سال 2002 (تخمين پائين) | 1999 (تخمين بالا) | 1999 (تخمين پائين ) | درصد تغييرات (تخمين بالا)
فيلم | عکس | 375,000 | 37,500 | 410,000 | 41,000 | 9% -
 | سينما | 6,078 | 12 | 4,490 | 9 | 35%
 | فيلم های توليدی تلويزيون | 2,531 | 2,530 | نامشخص | نامشخص | نامشخص
 | سريال های تلويزيونی | 14,155 | 14,155 | نامشخص | نامشخص | نامشخص
 | ويدئو | 2,490 | 2,490 | نامشخص | نامشخص | نامشخص
 | اشعه ايکس | 20,000 | 20,000 | 17,200 | 17,200 | 16%
 | مجموع | 420,254 | 74,202 | 431,690 | 58,209 | 2.6% -

مغناطيس
حجم اطلاعات ذخيره شده بر روی رسانه های ذخيره سازی مغناطيسی از سال 1999 تا کنون ، رشدی معادل 80% را داشته است . نوارهای معناطيسی از نوع آنالوگ ( صوتی و ويدئو ) کاهش و بموازات آن رسانه های ذخيره سازی ديجيتال رشد نموده اند.از نوارهای معناطيسی ديجيتال بعنوان يک رسانه ذخيره سازی بايگانی اطلاعات ،همچنان استفاده می گردد. کاهش هزينه و افزايش تنوع ، از جمله عواملی است که باعث شده است هارد ديسک بالاترين ميزان رشد در بين تمامی رسانه های ذخيره سازی اطلاعات را بخود اختصاص دهد .

حجم توليد محتوی مغناطيسی غيرتکراری در جهان بر حسب ترابايت در سال 2002 ، با فرض اينکه تمامی آنان بصورت ديجيتال و فشرده ذخيره شده باشند.
رسانه ذخيره سازی | نوع محتويات | سال 2002 (تخمين بالا) | سال 2002 (تخمين پائين) | 1999 (تخمين بالا) | 1999 (تخمين پائين ) | درصد تغييرات (تخمين بالا)
مغناطيس | نوارهای ويدئوئی | 1,340,000 | 1,340,000 | 1,420,000 | 1,420,000 | 6% -
 | نوارهای صوتی | 128,800 | 128,800 | 182,000 | 182,000 | 30% -
 | نوارهای ديجيتال | 250,000 | 250,000 | 250,000 | 250,000 | 0
 | MiniDV | 1,265,000 | 1,265,000 | نامشخص | نامشخص | نامشخص
 | فلاپی ديسک | 80 | 80 | 70 | 70 | 14%
 | Zip | 350 | 350 | 1,690 | 1,690 | 79% -
 | Audio MD | 17,000 | 17,000 | نامشخص | نامشخص | نامشخص
 | Flash | 12,000 | 12,000 | نامشخص | نامشخص | نامشخص
 | هارد ديسک | 1,986,000 | 403,000 | 926,000 | 220,000 | 114%
 | مجموع | 4,999,230 | 3,416,230 | 2,779,760 | 2,073,760 | 80%

نوری
رسانه های ذخيره سازی ديجيتال ، گزينه انتخابی برای توزيع نرم افزار ، داده ، فيلم ، موزيک می باشند . کاهش توليد و فروش عناوين CD صوتی بدليل رشد و متداول شدن CD های با قابليت نوشتن مجدد است ( CR-R,CD-RW ) می باشد . دستگاههای DVD ، نسبت به ساير تکنولوژی های مشابه بسرعت رشد و مورد استقبال قرار گرفته شده است .

حجم توليد محتوی نوری غيرتکراری در جهان بر حسب ترابايت در سال 2002 ، با فرض اينکه تمامی آنان بصورت ديجيتال و فشرده ذخيره شده باشند.
رسانه ذخيره سازی | نوع | سال 2002 (تخمين بالا) | سال 2002 (تخمين پائين) | 1999 (تخمين بالا) | 1999 (تخمين پائين ) | درصد تغييرات (تخمين بالا)
نوری | Audio CD | 58 | 6 | 58 | 6 | 0
 | CD ROM | 1.1 | 1.1 | 0.7 | 0.7 | 57%
 | DVD | 43.8 | 43.8 | 22 | 22 | 99%
 | مجموع | 102.9 | 50.9 | 80.7 | 28.7 | 28%

کانال های الکترونيکی توزيع اطلاعات
توزيع اطلاعات از طريق چهار کانال الکترونيکی راديو ، تلويزيون ، تلفن و اينترنت انجام می گيرد. هر يک از تکنولوژی های فوق مستلزم دستيابی و بکارگيری نوع خاصی از فنآوری اطلاعات نظير : راديوها ، دستگاههای تلويزيون ، تلفن ها و کامپيوترمی باشد.همانند رسانه های ذخيره سازی ، گردش و توزيع اطلاعات بصورت نامساوی در جهان انجام می شود . حجم اطلاعات ذخيره شده بر روی رسانه های ذخيره سازی کاغذ ، فيلم ، نوری و معناطيسی ، بالغ بر پنج اگزابايت در طی يکسال است . مقدار فوق، کمتر از يک سوم اطلاعات جديدی است که از طريق کانال های الکترونيکی نظير : تلفن ، راديو ، تلويزيون و اينترنت ، مبادله می شود . ( چيزی در حدود 7 / 17 اگزابايت ) .

کانال های الکترونيکی توزيع اطلاعات جديد بر حسب ترابايت در سال 2002
رسانه | در سال 2002 بر حسب ترابايت
راديو | 3,488
تلويزيون | 68,955
تلفن | 17,300,000
اينترنت | 532,897
مجموع | 17,905,340

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

راديو و تلويزيون
ايستگاههای راديوئی در سطح جهان، سالانه بيش از 320 ميليون ساعت برنامه را پخش می نمايند. اگر بخواهيم تمامی اطلاعات فوق را ذخيره نمائيم به 16،000 ترابايت فضاء نياز خواهيم داشت . بر اساس مطالعه انجام شده ، تخمين زده شده است که 70 ميليون ساعت از برنامه راديوئی بصورت غيرتکراری بوده که برای ذخيره سازی آنان به فضائی معادل 3،500 ترابايت ، نياز خواهد بود . ايستگاههای تلويزيونی در سطح جهان حدود 123 ميليون ساعت برنامه را منتشر نموده که برآورد شده است حدود 31 ميليون ساعت از برنامه های فوق ، برنامه های غيرتکراری بوده و برای ذخيره سازی آنان به فضائی معادل 70،000 ترابايت فضاء نياز خواهد بود.

حجم توليد اطلاعات از طريق رسانه های سخن پراکنی در طی سال ( 2002 )
نوع رسانه | تعداد ايستگاهها | موارد منحصربفرد طی هر سال | فاکتور تبديل | مجموع ترابايت ( سالانه )
 |  |  |  | محدوده پائين | محدوده بالا
راديو | 47,776 | 70 ميليون ساعت برنامه غير تکراری | 0.05 GB/hour | 3,488 | 3,488
تلويزيون | 21,264 | 31 ميليون ساعت برنامه غير تکراری | 1.3 GB - 2.25 GB hour | 39,841 | 68,955
مجموع |  |  |  | 43,329 | 72,443

در امريکا ، 13،261 ايستگاه راديوئی وجود دارد که حدود 7 / 19 ميليون ساعت برنامه غيرتکراری را توليد می نمايند . برای ذخيره سازی اطلاعات توليد شده به فضائی معادل 987 ترابايت ، نياز خواهد بود. در سال 2002 ، بيش از 1،686 ايستگاه تلويزيونی در امريکا وجود داشته که حدود 5 / 14 ميليون ساعت برنامه را طی يک سال ، پخش می نمايند . 6 / 3 ميليون ساعت از برنامه های فوق بصورت غير تکراری بوده که برای ذخيره سازی آنان به فضائی بين 4،700 تا 8،200 ترابايت نياز خواهد بود ( با توجه به روش های استفاده شده بمنظور فشرده سازی ) .

تلفن
بيش از 1 / 1 ميليارد خط تلفن تا سال 2002 در جهان وجود داشته است . تخمين زده می شود که هر خط بطور متوسط 3،441 دقيقه در سال استفاده می گردد(تمامی خطوط تلفن موجود در جهان 3،785 ميليارد دقيقه ، ). در امريکا، 190 ميليون خط تلفن وجود دارد که هر يک از آنان در طی روز بطور متوسط يکساعت استفاده می گردد( خطوط محلی ، مودم ، فاکس و ... ) .برای ذخيره سازی اطلاعات مبادله شده در خطوط تلفن امريکا به 25 / 9 اگزابايت فضاء نياز خواهد بود ( در طی يکسال ) . تلفن های موبايل دارای رشدی معادل 43 % بوده که بيش از 600 ميليارد دقيقه در سال 2002 استفاده شده اند . برای ذخيره سازی اطلاعات مبادله شده به فصائی معادل معادل 3 / 2 اگزابايت ، نياز خواهد بود.

حجم ( اندازه ) تماس تلفنی در سطح جهان در سال 2002 بر حسب ترابايت
تماس از طريق تلفن ثابت | 15,000,000
تماس از طريق تلفن بدون کابل | 2,300,000
مجموع | 17,300,000

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

اندازه اينترنت بر حسب ترابايت
رسانه | سال 2002
پوسته وب | 167
عمق وب | 91,850
پست الکترونيکی غيرتکراری | 440,606
ارسال پيام فوری ( IM ) | 274
مجموع | 532,897

تعداد کاربران اينترنت : در حال حاضر بيش از 600 ميليون نفر از اينترنت استفاده می نمايند .

تعداد توزيع کاربران اينترنت در سطح جهان ( بر حسب ميليون )
افريقا | 6.31
آسيای پاسفيک | 187.24
اروپا | 190.91
خاورميانه | 5.12
کانادا و امريکا | 182.67
امريکای لاتين | 33.35

متوسط زمان استفاده از اينترنت : بر اساس گزارش Nielsen/NetRatings ، کاربران اينترنت بطورمتوسط يازده ساعت و بيست و چهار دقيقه در هر ماه از اينترنت استفاده می نمايند. کاربران اينترنت ساکن امريکا تقريبا" بيش از دو برابر متوسط جهانی در طی هر ماه از اينترنت استفاده می نمايند : 25 ساعت و 25 دقيقه در منزل و 74 ساعت و 26 دقيقه در محل کار .

فعاليت های انجام شده پس از اتصال به اينترنت : در امريکا در طی هر روز 72 ميليون کاربر به اينترنت متصل و فعاليت های زير را انجام می دهند:
( منبع : Pew Internet and American Life Project )

  • نامه های الکترونيکی : 52 %
  • استفاده از مراکز جستچو برای يافتن اطلاعات : 32 %
  • استفاده از وب : 23 %
  • تحقيقات : 19 %
  • بررسی وضعيت آب و هوا : 17 %
  • ارسال يک پيام های فوری ، 14 %

جستجوی صفحات : بر اساس گزارش SearchEngineWatch.com ، روزانه 319 ميليارد صفحه در مراکز جستجوی اينترنت ، جستجو می گردد .( January 2003 ) .

استفاده از مراکز جستجو در اينترنت ( منبع :Nielsen//NetRatings)
مرکز جستجو | ساعت جستجو در هر ماه ( ميليون ) | دقيقه جستجو در هر روز ( ميليون ) | جستجو در روز ( ميليون )
Google | 7 / 18 | 37 | 112
AOL Search | 5 / 15 | 31 | 93
Yahoo | 1 / 7 | 14 | 42
MSN Search | 4 / 5 | 11 | 32
Ask Jeeves | 3 / 2 | 5 | 14
InfoSpace | 1 / 1 | 2 | 7
AltaVista | 8 / 0 | 2 | 5
Overture | 8 / 0 | 2 | 5
Netscape | 7 / 0 | 1 | 4
Earthlink | 4 / 0 | 1 | 3
Looksmart | 2 / 0 | 0 | 1
Lycos | 2 / 0 | 0 | 1

حجم اطلاعات وب : بر اساس بررسی انجام شده در سال 2000 ، حجم اطلاعات بر روی وب عمومی بين 20 تا 50 ترابايت ، برآورد گرديده بود. حجم اطلاعات وب درسال 2003 ، بالغ بر 167 ترابايـت تخمين زده شده است ( حداقل سه برابر) . همانگونه که اشاره گرديد ميزان اطلاعات موجود در پوسته وب ، حدودا" 167 ترابايت برآورد شده است ( تا تابستان 2003 ) . موسسه BrightPlanet حجم اطلاعات موجود در عمق وب را بين 400 تا 450 مرتبه بيشتر از پوسته وب است ( بين 66،800 تا 91،850 ترا بايت اطلاعات ) ، تخمين زده است .

پست الکترونيکی : روزانه سی و يک ميليارد نامه الکترونيکی بر روی اينترنت و يا شبکه های داخلی ارسال می گردد .پيش بينی می گردد مقدار فوق تا سال 2006 ، دو برابر گردد. اندازه متوسط يک نامه الکترونيکی 59 کيلوبايت است ، بنابراين حجم اطلاعات ارسالی توسط نامه های الکترونيکی در طی يک سال بالغ بر 667،585 ترابايت ، می باشد .

  • نامه های الکترونيکی پس از تلفن در رتبه دوم از لحاظ توزيع اطلاعات قرار دارند. 35 % جمعيت امريکا از Email استفاده و 35 % زمان استفاده آنان از اينترنت مربوط به نامه های الکترونيکی است.

  • شصت درصد از کارکنان با قابليت دستيابی و استفاده از نامه الکترونيکی ، روزانه بطور متوسط ده و يا کمتر از ده نامه الکنرونيکی را دريافت می نمايند . 23 % بيش از بيست نامه الکترونيکی و 6 % بيش از پنجاه نامه الکترونيکی رادر طی روز دريافت می نمايند. 73 % از پرسنل شاغل در سازمان ها و موسسات يک ساعت ( و يا کمتر ) از زمان خود را صرف Email می نمايند.

  • دو سوم ترافيک نامه های الکترونيکی مربوطه به اشخاص و يک سوم مربوط به نامه های الکترونيکی ناخواسته ( spam ) است .حجم نامه های الکترونيکی غير تکراری بدون فشرده سازی بالغ بر 440،606 ترابايت ( حد بالا) و 333،792 ترابايـت ( حد پائين ) می باشد .

پيام فوری ( IM( Instant Messaging : تقريبا" 40 % کاربران اينترنت در امريکا (در منزل ) ، حداقل يک مرتبه به يکی از برنامه ها و يا شبکه های IM متصل شده اند ( May 2002 ). در مدت زمان فوق، صرفا" 31 % از کاربران تجاری اينترنت از برنامه های IM استفاده نموده اند .

اشتراک فايل P2P ( نظير به نظير ) : شبکه های P2P ، يکی از منابع جديد بمنظور ذخيره سازی ، ايجاد و مبادله داده در اينترنت بوده که بسرعت در حال رشد و گسترش می باشند. KaZaA ، رايج ترين برنامه در اين زمينه بوده که اخيرا" به مرز 230 ميليون download در سطح جهان رسيده است( هر هفته دو ميليون بيشتر نسبت به هفته قبل ، منبع : Download.com ) .کاربران KaZaA تقريبا" 5،000 ترابايت اطلاعات را به اشتراک گذاشته و در هر زمان بيش از 600 ميلون فايل و سه ميليون کاربر در شبکه فوق ، فعال می باشند ( منبع : KaZaA.com ) . با بررسی وضعيت عملکرد 400،000 کاربر طی بيست و چهار ساعت ، نتايج جالبی استخراج شده است : 9% کاربران ( 38،256 ) فايل هائی را به اشتراک می گذارند، 1،980،426 فايل شامل 14،754 گيگابايت ( و يا 4 / 14 ترابايت ) اطلاعات می باشد، ظرفيت فايل ها از يک بايت تا 97 / 1 گيگا بايت در نوسان است . با استفاده از نمونه فوق ، می توان نحوه استفاده از اطلاعات توسط کاربران برنامه های P2P را بصورت زير بيان نمود:

  • کاربران ، اغلب فايل هائی با بيش از يکصد مگابايت را مبادله می نمايند .
  • فايل های AVI . ، بزرگترين نوع فايل های مبادله شده می باشند ( ظرفيت بين 82 بايت و 2 گيگابايت ).اکثر فايل ها دارای ظرفيتی بين 100 تا 200 مگا بايت می باشد .
  • متداولترين نوع فايل هائی که بين کاربران به اشتراک گذاشته می شوند ، فايل های MP3 و تصاوير ( jpg و يا bmp ) می باشد .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


استفاده از XSLT به منظورفرمت دهی خروجی برنامه های وب دات نت

 استفاده از XSLT به منظورفرمت دهی خروجی برنامه های وب دات نت New Page 1

ساير امکانات

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
استفاده از XSLT در برنامه های وب(بخش اول) | مديريت وب | 1127 | 3 | 4.7

استفاده از XSLT در برنامه های وب ( بخش اول )

استفاده از XSLT در برنامه های وب(بخش اول)
ايجاد خروجی مناسب و با فرمت مطلوب ، از جمله اهداف مهم در تمامی برنامه های کامپيوتری است. برنامه های وب نيز از ايـن قاعده مستثنی نبوده و طراحان و پياده کنندگان اين نوع از برنامه ها ، با بهره گيری از امکانات و تکنولوژی های متفاوت سعی در ارائه خروجی مناسب و با فرمت قابل قبول برای مخاطبان خود می نمايند. خروجی يک برنامه وب ، در سطح سرويس گيرندگان ارائه می گردد ، بديهی است به منظور فرمت مناسب خروجی برنامه های وب ، می بايست بر تکنولوژی هائی متمرکز گرديد که امکان بکارگيری آنان در سطح سرويس گيرنده و از طريق مرورگر کاربران ، ميسر می باشد . مسئوليت ميزبان نمودن بخش رابط کاربر برنامه های وب برعهده مرورگر بوده و لازم است تمامی تلاش های انجام شده در اين خصوص با تاکيد بر اهميت و جايگاه مرورگر ها ، سازماندهی و مديريت گردد . ASP.NET ( پلات فرم دات نت برای ايجاد برنامه های وب ) ، از دو روش عمده در ارتباط با ايجاد فرمت مناسب خروجی ( Formatting) برای برنامه های وب ، استفاده می نمايد :

  • استفاده از CSS . از تکنولوژی CSS)Cascading style sheet) ، به منظور کنترل شکل ظاهری عناصر موجود بر روی يک فرم وب استفاده می گردد . از امکانات CSS ، می توان در جهت تنظيم رنگ ، اندازه ، فونت و رفتار عناصر HTML موجود بر روی يک صفحه وب استفاده نمود .

  • استفاده از XSLT . از تکنولوژی XSLT)Extensible Stylesheet Language Transformation ) ، به منظور تبديل اطلاعات يک فايل XML به خروجی HTML و استقرار اطلاعات فوق بر روی يک فرم وب ، استفاده می گردد . XSLT ، داده مورد نياز را از فايل XML دريافت و پس از تبديل آنان به عناصر HTML ، سبک های ( Styles ) مشخص شده را در رابطه با هر يک از عناصر بکار می گيرد .

در اين مقاله به بررسی نحوه استفاده از XSLT ، به منظور تعريف فرمت خروجی برنامه های وب ، خواهيم پرداخت .
XSLT ، از کنترل سرويس دهنده XML به منظور ايجاد فرمت خروجی يک فايل XML ( ورودی ) با استفاده از مجموعه قوانين ذخيره شده در يک فايل XSL ، استفاده می نمايد . فايل XSL ، مشابه فايل CSS است که در مقاله " استفاده از CSS در برنامه های وب دات نت " با آن آشنا شديم .فايل XSL ، قوانين formatting لازم به منظور ايجاد خروجی مناسب در يک فرم وب را ارائه می نمايد . برخلاف فايل های CSS ، يک فايل XSL قادر به استقرار عناصر در هر مکانی بر روی يک فرم وب بوده و همچنين امکان انجام عمليات منطقی نظير فرآيندهای تکرار و شرطی نيز به کمک آن ميسر می گردد. فايل های XSL را می توان بمنزله يک لايه هوشمند فرمت دهی در نطر گرفت که مکمل فايل های CSS می باشند ( نه جايگزين آنان ) . در چنين مواردی می توان ساختار داده موردنظر جهت استقرار بر روی يک فرم وب را با استفاده از XSL ، مشخص واز CSS به منظور تعريف شکل ظاهری عناصر تعريف شده در لی اوت مورد نظر،استفاده نمود .
برای استفاده از XSLT در يک فرم وب ، مراحل زير را دنبال می نمائيم :

  • افزودن يک کنترل سرويس دهنده XML به يک فرم وب ( استفاده از Toolbox در محيط ويژوال استوديو دات نت )

  • مقداردهی مناسب خصلت DocumentSource کنترل سرويس دهنده XML به فايل XML

  • مقداردهی مناسب خصلت TransformSource کنترل سرويس دهنده XML به فايل XSL که از آن بمنظور فرمت دهی خروجی ، استفاده می گردد .

شکل زير ، فرم وب را پس از استقرار يک کنترل سرويس دهنده XML بر روی آن ، نشان می دهد.

در زمان اجراء ، کنترل سرويس دهنده XML ، ورودی XML را با استفاده از اطلاعات موجود در فايل XSL به منظور توليد فرمت مناسب خروجی ، پردازش می نمايد .

ايجاد يک فايل XML
فايل های XML ، روشی بمنظور تشريح ساختار داده بصورت متن می باشند .
XML به منظور مشخص نمودن عناصر داده از تگ <element > ... < /element> استفاده می نمايد ( مشابه HTML ) . فايل های XML بر خلاف فايل های HTML از مجموعه قوانين خاصی ، تبعيت می نمايند :

  • هر آيتم ، می بايست دارای يک تگ شروع و يک تگ پايان باشد . در فايل های HTML برخی از تگ ها نظير : <br> و <li> می توانند بدون تگ پايانی ( < br> ، <li> ) استفاده گردند . در فايل های XML ، چنين عملياتی مجاز نمی باشد .

  • اسامی تگ ها ، نسبت به حروف بزرگ و کوچک حساس می باشد . در فايل های HTML ، تگ های <P> و <p> ، معادل يکديگر بوده و در اين رابطه مرورگر خطائی را ارائه نمی نمايد. در فايل های XML ، تگ های فوق بعنوان دو تگ مجزا در نظر گرفته می شوند.

  • مقادير نسبت داده شده به خصلت های هر تگ ، می بايست محصور بين علامت " " باشد ( Double quotation ) . در فايل های HTML ، می توان علامت کوتيشن را برای خصلت هائی که از نوع عددی می باشند ، حذف نمود ( نظير : <table cols=3> . در فايل های XML ، می بايست همواره از Double quotation استفاده شود ( نظير : <"table cols="3 > ) .

  • آيتم های تودرتو ، می بايست با انظباط خاصی خاتمه يابند . در فايل های HTML استفاده از تگ هائی بصورت زير مجاز می باشد :

Nested Item in HTML File

<b>Bold text <i> italic bold </b>regular italic</i>

در فايل های XML چين عملياتی مجاز نخواهد بود و می بايست تگ <i> قبل از تگ <b> بسته شود .

Nested Item in XML File

<b>Bold text <i> italic bold </i></b><i>regular italic</i>

مجموعه قوانين فوق، نشاندهنده وجود پتانسيل های مهمی در فايل های XML نسبت به فايل های HTML بوده و کاربران می توانند تگ های اختصاصی و دلخواه خود را تعريف نمايند.
بمنظور ايجاد يک فايل XML در ويژوال استوديو دات نت ، گزينه Add New Item را از طريق منوی Project انتخاب و در ادامه از طريق ليست Template ، گزينه XML file را انتخاب می نمائيم .

مرحله اول | مرحله دوم

به منظور صرفه جوئی در زمان ايجاد و اشکال زدائی يک فايل XML ، شايسته است که در ابتدا ساختار سند XML مشخص و پس از تعريف تگ های مورد نظر ، اقدام به ايجاد آن با استفاده از امکانات ويژوال استوديو دات نت ، نمود. XMLFile1 ، يک فايل نمونه XML است که با توجه به ساختار تعريف شده ، اطلاعات دانشجويان را در خود ذخيره می نمايد( نام و نام خانوادگی ، جنسيت ، رشته تحصيلی ، آدرس منزل و ... )

Student XML file:XMLFile1

<?xml version="1.0" encoding="utf-8" ?>
<Students>
<Student>
<Gender>مرد</Gender>
<Fname>محمد رضا </Fname>
<Lname>ايرانی </Lname>
<Study>فنآوری اطلاعات و ارتباطات </Study>
<Address>
<Home></Home>
<Office></Office>
<Tel>
<TelHome></TelHome>
<TelOffice></TelOffice>
</Tel>
<Email></Email>
</Address>
<Marks>
<Quiz>
<Q1></Q1>
<Q2></Q2>
<Q3></Q3>
</Quiz>
<MidTerm></MidTerm>
<Final></Final>
</Marks>
</Student>
</Students>

داده مربوط به هر يک از آيتم ها بين تگ های شروع و پايان قرار می گيرد. ساختار فايل و اسامی عناصری است که به نوعی محتويات يک المان را تشريح می نمايند، از نکات مهم يک فايل XML محسوب می گردد( به غير از فرمت دهی ) . ساختار XML بصورت سلسه مراتبی بوده و به هر آيتم موجود در ساختار فوق ، با نام "گره " ( Node ) ، مراجعه می گردد . گره ها دارای ارتباطات از نوع Parent-child بوده که با استفاده از XPath)XML Path Language) ،مشخص می گردند ( نظير آدرس دهی يک فولدر ) .

ايجاد يک فايل XSL
فايل XSL ، مسئوليت ارائه Layout و منطق لازم به منظور تبديل داده ذخيره شده در فايل XML به خروجی مورد نظر را برعهده دارد. به منظور ايجاد يک فايل XSL در ويژوال استوديو دات نت ، گزينه Add New Item را از طريق منوی Project انتخاب و در ادامه از طريق ليست Template ، گزينه XSL file را انتخاب می نمائيم .
فايل XSL ، شامل عبارات تمپليتی است که آيتم های مورد نظر ورودی از فايل XML را شامل می شود . هر تمپليت ، شامل عناصر استاندارد HTML است که به منظور فرمت دهی عناصر ورودی از فايل XML استفاده می گردد .تمپليت XSL زير ، عناصر Fname،Lname و Study را از فايل XMLFile1 به عنصر h3 در HTML تبديل می نمايد .

XSLT File :XSLTFile1

<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/Students/Student">
<xsl:apply-templates select="Student"/>
<h2 dir="rtl" align="center"><xsl:text>مشخصات دانشجويان</xsl:text></h2>
<hr/>
<h3 dir="rtl"><xsl:value-of select="Fname"/></h3>
<h3 dir="rtl"><xsl:value-of select="Lname"/></h3>
<h3 dir="rtl"><xsl:value-of select="Study"/></h3>
</xsl:template>
</xsl:stylesheet>

درمثال فوق از عناصر و خصلت های XSL زير، استفاده شده است :

  • عنصر xsl:stylesheet
    خصلت version : نسخه استفاده شده XSL را مشخص می نمايد( نسخه يک ، آخرين نسخه موجود می باشد ) .
    خصلت xmlns:xsl : پيشوند عناصر موجود در فايل XSL را مشخص می نمايد .

  • عنصر xsl:template
    خصلت match : يک تمپليت برای يک گره XML را تعريف می نمايد .

  • عنصر xsl:apply-templates
    خصلت select : يک تمپليت را دررابطه با گره انتخاب شده ، بکار می گيرد .

  • عنصر xsl:value-of
    خصلت select : بازيابی مقدار يک گره XML و يا بررسی يک عبارت XPath را انجام می دهد .

  • عنصر xsl:text . متن و يا فضای خالی مورد نظررا در خروجی نمايش می دهد .

شکل زير نحوه عملکرد عناصر فوق بمنظور تبديل داده XML را از طريق کنترل سرويس دهنده XML نشان می دهد( استفاده از فايل های XMLFile1 و XSLTFile1 ) .

عناصرXSL استفاده شده در مثال فوق ، حداقل عمليات لازم به منظور نمايش داده را شامل می شود : تعريف يک تمپليت ، درج داده درون تمپليت ، نمايش مقادير مورد نظر از فايل XML و درج متن . عمليات فوق را می توان با بکارگيری عناصر HTML معمولی و Style sheet نيز انجام داد. استفاده از XSL مزايای متعددی را بدنبال داشته که به دو مورد آن اشاره می شود :

  • امکان تغيير موقعيت عناصر ( لی اوت صفحه ) در فايل XSL ، بدون نياز به تغيير داده ، فراهم می گردد .
  • امکان انجام عمليات منطقی بر روی داده نظير پردازش های تکراری و شرطی ، فراهم می گردد.

در بخش دوم اين مقاله به تشريح مزايای فوق ، خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


استفاده از XSLT به منظورفرمت دهی خروجی برنامه های وب دات نت

 استفاده از XSLT به منظورفرمت دهی خروجی برنامه های وب دات نت New Page 1

ساير امکانات

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
استفاده از XSLT در برنامه های وب(بخش دوم) | مديريت وب | 1122 | 2 | 4.5

استفاده از XSLT در برنامه های وب

استفاده از XSLT در برنامه های وب ( بخش دوم )
در بخش اول اين مقاله با جايگاه XSLT به منظور فرمت دهی خروجی برنامه های وب آشنا شديم .برای استفاده از XSLT در فرم های وب ، در ابتدا يک کنترل سرويس دهنده XML را بر روی فرم وب مستقر نموده و در ادامه ، با مقداردهی مناسب خصلت های DocumentSource و TransformSource ، به فايل های XML ( روشی بمنظور تشريح ساختار داده بصورت متن ) و XSL ( مسئول ارائه Layout و منطق لازم به منظور تبديل داده ذخيره شده در فايل XML ) ، زمينه استفاده از پتانسيل های تکنولوژی XSLT در فرم های وب و در جهت ايجاد فرمت مناسب خروجی ، فراهم می گردد . همانگونه که در بخش اول اين مقاله اشاره گرديد ، استفاده از XSL دارای مزايای متعددی است :

  • امکان تغيير موقعيت عناصر ( لی اوت صفحه ) در فايل XSL ، بدون نياز به تغيير داده ، فراهم می گردد .
  • امکان انجام عمليات منطقی بر روی داده نظير پردازش های تکراری و شرطی ، فراهم می گردد.

در ادامه به تشريح مزايای فوق ، خواهيم پرداخت .

تغيير Layout
يکی از پتانسيل های بسيار مهم XSL ، قابليت تغيير Layout نحوه نمايش عناصر با توجه به اهداف مورد نظر می باشد . در فايل های HTML با توجه به اينکه داده و نحوه نمايش آنان ، در يک فايل مشخص می گردد، همواره يک خروجی يکسان را شاهد خواهيم بود . همزمان با ارسال اطلاعات ، تگ های لازم که مسئوليت تبين رفتار مرورگر به منظور نحوه نمايش عناصر را برعهده دارند ، نيز ارسال و مرورگر بلافاصله پس از تفسيرآنان ، واکنش های کاملا" از قبل تعريف شده ای را به منظور نمايش اطلاعات ، انجام خواهد داد . در صورتيکه قصد مشاهده ، دو layout مجزاء از يک فايل HTML را داشته باشيم ، می بايست از دو فايل جداگانه که هرکدام اهداف خاص خود را دنبال خواهند نمود ، استفاده گردد. در فايل های XML با توجه به اينکه داده از نمايش تفکيک شده است ، ،می توان دستورالعمل های لازم به منظور نمايش اطلاعات را ايجاد و پس از ذخيره آنان در يک فايل XSL ( با توجه به Layout مورد نظر) ، داده های موجود در يک فايل XML را با حالات متفاوت ، مشاهده نمود. با بکارگيری صحيح عناصر در XSL ، امکان تغيير Layout فراهم می گردد.
مثال يک :
هدف : نمايش اطلاعات موجود در فايل XML حاوی اطلاعات دانشجويان با يک فرمت خاص ( جدول ) .
توضيحات : در مثال فوق ، از فايل XML نمونه ( موجود در بخش اول مقاله ) بهمراه فايل XSL زير استفاده می شود .

XSLT File

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/Students/Student">
<html>
<body Dir="rtl">
<H3 Align="Center"> ليست دانشجويان </H3>
<table border="1" bgcolor="White" dir="rtl" Align="Center">
<tr>
<th bgcolor="#336699"><font size="3" color="white"> نام </font> </th>
<th bgcolor="#336699"><font size="3" color="white"> نام خانوادگی </font> </th>
<th bgcolor="#336699"><font size="3" color="white"> رشته </font> </th>
</tr>
<tr>
<td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="Fname"/></font></td>
<td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="Lname"/></font></td>
<td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="Study"/></font></td>
</tr>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

خروجی : پس از مقداردهی خصلت های DocumentSource و TransformSource کنترل سرويس دهنده XML ، به ترتيب به فايل های XML و XSL ، خروجی زير نمايش داده می شود .

استفاده از چندين تمپليت ها
يک فايل XSL ، می تواند شامل چندين تمپليت باشد يک تمپليت XSL برای هر يک از گره های XML که قصد ارائه فرمت مشابه و يکسانی را برای آنان داريم ، بکار گرفته می شود . .در فايل XML مربوط به دانشجويان می توان (بعنوان نمونه ) ، دو تمپليت را ايجاد که هر يک مسئوليت تعريف فرمت نحوه نمايش بخش خاصی از فايل XML را بر عهده خواهند گرفت .

  • تمپليت اصلی ، مسئوليت تعريف فرمت مناسب به منظور نمايش Fname,Lname و Study ( سه عنصر از فايل XML دانشجويان ) را بر عهده داشته و عملا" نقطه شروع کار را مشخص می نمايد(اجرای XSL از تمپليت فوق ، آغاز می گردد) .

  • تمپليت Address ، مسئوليت تعريف فرمت مناسب به منظور نمايش آدرس دانشجويان را برعهده دارد .

با استفاده از عنصر xsl:apply-template ، می توان يک تمپليت را در ارتباط با يک گره بکار گرفت . XSL زير ، نحوه استفاده از دو تمپليت و ارتباط بين هر يک از آنان را نشان می دهد . ( نحوه ارتباط دو تمپليت با رنگ آبی مشخص شده است ) .

XSLT File with two template

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/Students/Student">
<html>
<body Dir="rtl">
<H3 Align="Center"> ليست دانشجويان </H3>
<table border="1" bgcolor="ٌWhite" dir="rtl" Align="Center">
<tr>
<th bgcolor="#336699"><font size="3" color="white"> نام </font> </th>
<th bgcolor="#336699"><font size="3" color="white"> نام خانوادگی </font> </th>
<th bgcolor="#336699"><font size="3" color="white"> رشته </font> </th>
</tr>
<tr>
<td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="Fname"/></font></td>
<td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="Lname"/></font></td>
<td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="Study"/></font></td>
</tr>
<xsl:apply-templates select="/Students/Student/Address" />
</table>
</body>
</html>
</xsl:template>
<xsl:template match="/Students/Student/Address">
<tr>
<td bgcolor="Green" width="100%" colspan="3" align="center" dir="rtl">
<font size="3" color="white"> آدرس دانشجو </font> </td>
</tr><tr>
<td bgcolor="White" width="100%" colspan="3" dir="rtl">
<ul Align="Right">
<li><B>آدرس منزل</B> :<xsl:value-of select="/Students/Student/Address/Home" /></li><br/>
<li><B>آدرس محل کار</B> :<xsl:value-of select="/Students/Student/Address/Office" /></li><br/>
<li><B>آدرس پست الکترونيکی</B> :<xsl:value-of select="/Students/Student/Address/Email" /></li><br/>
</ul>
</td>
</tr>
</xsl:template>
</xsl:stylesheet>

مثال دو :
هدف : استفاده از دو تمپليت در فايل XSL به منظور نمايش اطلاعات دانشجويان
توضيحات : دراين مثال از فايل XML زير و فايل XSL فوق ، استفاده شده است .

Student XML file

<?xml version="1.0" encoding="utf-8" ?>
<Students>
<Student>
<Gender>مرد</Gender>
<Fname>محمد رضا </Fname>
<Lname>ايرانی </Lname>
<Study>فنآوری اطلاعات و ارتباطات </Study>
<Address>
<Home>همواره سبز</Home>
<Office>شاداب</Office>
<Tel>
<TelHome></TelHome>
<TelOffice></TelOffice>
</Tel>
<Email>Info@Srco.ir</Email>
</Address>
<Marks>
<Quiz>
<Q1></Q1>
<Q2></Q2>
<Q3></Q3>
</Quiz>
<MidTerm></MidTerm>
<Final></Final>
</Marks>
</Student>
</Students>

خروجی : پس از مقداردهی خصلت های DocumentSource و TransformSource کنترل سرويس دهنده XML ، به ترتيب به فايل های XML و XSL ، خروجی زير نمايش داده می شود .

تمپليـت استفاده شده در فايل XSL ، صرفا" يک گره را پردازش نموده و در صورت نياز به تکرار عمليات ( نمايش اطلاعات چندين دانشجو ) ، می بايست از عناصر تکرار XSL استفاده گردد.

تکرار عمليات
به منظور اعمال فرمت مورد نظر در ارتباط با چندين عنصر در يک فايل XML نظير يک ليست و يا آيتم های يک جدول ، از xsl:for-each استفاده می شود. عنصر فوق ، با ايجاد يک حلقه تکرار ، گره های مورد نظر را انتخاب و در ادامه محتوی XSL در ارتباط با هر يک از گره ها ، بکار گرفته می شود .

Repeating elements

<xsl : for-each select = "/Students/Student" >
<xsl : value-of select="Fname" /><br/>
</xsl:for-each>

مثال سه :
هدف : استفاده از عنصر xsl:for-each به منظور نمايش اطلاعات چندين دانشجو
توضيحات : درمثال فوق ، از فايل XSL زير استفاده شده است ( فايل XML حاوی اطلاعات دو دانشجو می باشد ) .

XSLT File

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body Dir="rtl">
<H3 Align="Center"> ليست دانشجويان </H3>
<table border="1" bgcolor="ٌWhite" dir="rtl" Align="Center">
<tr>
<th bgcolor="#336699"><font size="3" color="white"> نام </font> </th>
<th bgcolor="#336699"><font size="3" color="white"> نام خانوادگی </font> </th>
<th bgcolor="#336699"><font size="3" color="white"> رشته </font> </th>
</tr>
<xsl:for-each select="/Students/Student" >
<tr>
<td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="Fname"/></font></td>
<td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="Lname"/></font></td>
<td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="Study"/></font></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

خروجی : پس از مقداردهی خصلت های DocumentSource و TransformSource کنترل سرويس دهنده XML ، به ترتيب به فايل های XML و XSL ، خروجی زير نمايش داده می شود .

در بخش سوم اين مقاله ، به بررسی نحوه انجام عمليات مرتب سازی و شرطی ، خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


استفاده از XSLT به منظورفرمت دهی خروجی برنامه های وب دات نت

 استفاده از XSLT به منظورفرمت دهی خروجی برنامه های وب دات نت New Page 1

ساير امکانات

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
استفاده از XSLT در برنامه های وب(بخش سوم) | مديريت وب | 1114 | 2 | 4.5

استفاده از XSLT در برنامه های وب

استفاده از XSLT در برنامه های وب ( بخش دوم )

آنچه تاکنون گفته شده است :

  • بخش اول : جايگاه XSLT به منظور فرمت دهی خروجی برنامه های وب
  • بخش دوم : تغيير لی اوت ، استفاده از چندين تمپليت ، حلقه های تکرار

در بخش سوم اين مقاله به بررسی نحوه انجام عمليات مرتب سازی و ساختارهای تصميم گيری در XSLT ، خواهيم پرداخت .

مرتب سازی ( Sorting )
مرتب سازی در XSLT با افزودن يک و يا چندين عنصر فرزند <xsl:Sort> به عنصر <xsl:apply-templates> و يا <xsl:for each> محقق می گردد . گرامر استفاده از عنصر فوق ، بصورت زير است :

xsl:sort element syntax

<xsl:sort select="Xpath expression"
lang ="lang"
data-type="text or number"
order = "ascending or descending "
case-order = "upper-first or lower-first" />

خصلت Select ، باعث انتخاب يک عنصر و يا خصلت می گردد . در صورتيکه بيش از يک عنصر <xsl:sort> استفاده گردد ، خروجی در ابتدا بر اساس عنصر و يا خصلت مشخص شده در اولين <xsl:sort> مرتب شده و در صورتيکه پس از مرتب سازی ، موارد تکراری وجود داشته باشد ، موارد موجود توسط عنصر و يا خصلت مشخص شده در دومين <xsl:sort> ، مرتب می گردند . خصلت data-type ، مشخص کننده نوع داده ئی است که قصد مرتب سازی آن وجود دارد( عددی و يا حرفی ) . مثلا" در صورتيکه قصد مرتب سازی اعداد 1 ، 10 ، 11، 5 را داشته باشيم ، نوع data-type می بايست text در نظر گرفته شود . در چنين حالتی خروجی بصورت : 5 ، 11، 10 ، 1 خواهد بود . در صورتيکه مرتب سازی بصورت عددی انجام شود ، مقدار خصلت data-type می بايست number در نظر گرفته شود . در چنين حالتی نتيجه عمليات مرتب سازی بصورت 11 ، 10 ، 5 ، 1 می باشد . خصلت data-type دارای مقدار پيش فرض ، text می باشد. خصلت order ، پارامتر صعودی و يا نزولی فرآيند مرتب سازی را مشخص می نمايد. مقدار پيش فرض اين خصلت ascending می باشد . خصلت case-order ، اولويت حروف را مشخص می نمايد (حروف بزرگ و يا کوچک ). مثلا"، در صورتيکه برای خصلت case-order مقدار upper-first در نظر گرفته شده باشد و قصد مرتب سازی داده هائی نظير : A B a b را داشته باشيم ، نتايج بصورت : A a B b خواهد بود . در صورتيکه مقدار خصلت فوق ، lower-first در نظر گرفته شود ، نتيجه عمليات مرتب سازی بصورت : a A b B خواهد بود. مقدار پيش فرض خصلت فوق بستگی به خصلت lang داشته که زبان سند مورد نظر را مشخص می نمايد. زمانيکه ، برای خصلت lang ، مقدار en در نظر گرفته شود ، خصلت case-order دارای مقدار پيش فرض، upper-first است .

مثال يک :
هدف : استفاده از عنصر xsl:sort به منظور مرتب سازی مشخصات دانشجويان بر اساس نام خانوادگی
توضيحات : درمثال فوق ، از فايل XML زير استفاده شده است ( فايل XML حاوی نام و نام خانوادگی پنج دانشجو می باشد ) .

Student XML file

<?xml version="1.0" encoding="utf-8" ?>
<?xml version="1.0" encoding="utf-8" ?>
<Students>
<name>
<first> علی</first>
<last> رضائی</last>
</name>
<name>
<first> خسرو </first>
<last> ايرانی</last>
</name>
<name>
<first>حسين </first>
<last> ياوری</last>
</name>
<name>
<first>محمد رضا </first>
<last> خسروی </last>
</name>
<name>
<first> پيمان </first>
<last>دوستی </last>
</name>
</Students>

فايل XSL استفاده شده برای مثال يک :

Student XSL file for sortting

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body Dir="rtl">
<H3 Align="Center"> ليست دانشجويان </H3>
<table border="1" bgcolor="ٌWhite" dir="rtl" Align="Center">
<tr>
<th bgcolor="#336699"><font size="3" color="white"> نام </font></th>
<th bgcolor="#336699"><font size="3" color="white"> نام خانوادگی </font> </th>
</tr>
<xsl:for-each select="Students/name">
<xsl:sort select="last"/>
<tr>
<td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="first"/></font></td>
<td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="last"/></font></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

خروجی : پس از مقداردهی خصلت های DocumentSource و TransformSource کنترل سرويس دهنده XML ، به ترتيب به فايل های XML و XSL ، خروجی زير نمايش داده می شود .

ساختار تصميم گيری
در زمان ايجاد يک StyleSheet ،در برخی حالات نيازمند اتخاذ تصميم در رابطه با نحوه نمايش نتايج می باشيم . XSLT دارای عناصری است که با استفاده از آنان می توان کنترل روند پردازش را در Stylesheet انجام داد. هر زبان برنامه نويسی امکان اتخاذ تصميم را از طريق کد نوشته شده در اختيار برنامه نويسان قرار می دهد . XSLT از اين قاعده مستثنی نبوده و امکان تصميم گيری بر اساس شرايط موجود را با استفاده از دو عنصر <xsl:if> و <xsl:choose> فراهم می نمايد . گرامر عمومی دو عنصر فوق، بصورت زير می باشد :

xsl:if element syntax

<xsl:if test="Boolean expression"

xsl:choose element syntax

<xsl:choose>
<xsl:when test="Boolean expression" >
<xsl:when test="Boolean expression" >
<xsl:otherwise>
</xsl:choose>

برای هر دو عنصر <xsl:if> و <xsl:choose> ، عبارت منطقی ( Boolean expression > يک عبارت XPath بوده که به يک مقدار منطقی تبديل خواهد شد.عبارت XPath بر اساس قوانين زير به يک عبارت منطقی تبديل می گردد :

  • در صورتيکه مقدار عددی بوده و ارزش آن صفر باشد ، مقدار False در نظرگرفته خواهدشد.برای هر مقدار غيرصفر( مثبت و يا منفی ) ، مقدار True در نظر گرفته می شود .
  • در صورتيکه مقدار يک رشته باشد و طول آن بيش از صفر باشد ، مقدار True در نظر گرفته خواهد شد .
  • در صورتيکه مقدار يک مجموعه گره باشد و مقدار آن غيرتهی باشد ، مقدار True در نظر گرفته خواهد شد .
  • هر نوع ديگر اشياء بر اساس نوع شی به يک مقدار منطقی تبديل خواهند شد .

مثلا" عبارت : < "xsl:if test = "name > ، در صورتيکه يک عنصر با نام <name> غيرتهی وجود داشته (عضوء context node ) ، مقدار True و در غير اينصورت مقدار False در نظر گرفته خواهد شد.
عنصر <xsl:if> ، ساده ترين ساختار تصميم گيری ارائه شده در XSLT می باشد. عنصر فوق ، مقدار عبارت را بررسی ( ارائه شده توسط خصلت test ) و در صورتيکه مقدار آن True باشد ، محتويات عنصر <xsl:if> ، بررسی و اجراء خواهند شد .

xsl:if element Example

<xsl:if test="name" > نام مورد نظر پيدا گرديد</xsl:if>

در مثال فوق ، در صورتيکه عنصر <name> بعنوان فرزندی از context node وجود داشته باشد ، عبارت " نام مورد نظر پيدا گرديد " ، نمايش داده می شود.
عنصر <xsl:choose> ، نسبت به <xsl:if> امکانات بيشتری را بمنظور اتخاذ تصميم ارائه می نمايد . ساختار فوق، امکان تصميم گيری پيجيده تری را فراهم می نمايد.در عنصر فوق ، می توان از يک گزينه "پيش فرض " ، نيز استفاده نمود .

xsl:choose Example :

<xsl:choose>
<xsl:when test="salary[number(.) &gt; 2000]" > يک عدد بزرگ </xsl:when>
<xsl:when test="salary[number(.) &gt; 1000]" > يک عدد متوسط </xsl:when>
<xsl:otherwise> يک عدد کوچک </xsl:otherwise>
</xsl:choose>

در صورتيکه عنصر <number> ، شامل يک مقدار عددی بيش از 2000 باشد ، عبارت : " يک عدد بزرگ " در خروجی نمايش داده خواهد شد . در صورتيکه مقدار عنصر فوق بيش از 1000 باشد .، عبارت : " يک عدد متوسط " در خروجی نمايش داده می شود. در ساير حالات ، عبارت : " يک عدد کوچک" در خروجی نمايش داده خواهد شد . در مثال فوق از يک تابع XPath استفاده شده است ( تابع ( ) number ) .تابع فوق،مسئوليت تبديل مقدار عنصر <number> به يک مقدار عددی را برعهده دارد . فراموش نکنيم که تمامی اطلاعات موجود در يک فايل XML ، صرفا" بصورت متن بوده و XSLT همواره با داده موجود در يک فايل XML بصورت text برخورد خواهد کرد( مگراينکه ، با صراحت به XSLT اعلام گردد که می بايست در اين رابطه تبديلی صورت پذيرد) . در صورتيکه از تابع number استفاده نشود ، XSLT داده موردنظر را بصورت Text بررسی می نمايد. ( در مثال فوق در مقابل علامت "<" از "gt " استفاده شده است ).

مثال دو :
هدف : استفاده از عنصر xsl:if به منظور اتخاذ تصميم و نمايش اطلاعات دانشجو با نام " خسرو ايرانی "
توضيحات : درمثال فوق ، از فايل XML ارائه شده درمثال يک ( فايل XML حاوی نام و نام خانوادگی پنج دانشجو می باشد ) و فايل XSL زير استفاده شده است.

Student XSL file : If Example

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
 <html>
 <body Dir="rtl">
 <H3 Align="Center"> ليست دانشجويان </H3>
 <table border="1" bgcolor="ٌWhite" dir="rtl" Align="Center">
 <tr>
 <th bgcolor="#336699"><font size="3" color="white"> نام </font></th>
 <th bgcolor="#336699"><font size="3" color="white"> نام خانوادگی </font> </th>
 </tr>
 <xsl:for-each select="Students/name">
 <xsl:if test="first='خسرو'" >
 <tr>
 <td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="first"/></font></td>
 <td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="last"/></font></td>
 </tr>
 </xsl:if>
 </xsl:for-each>
 </table>
 </body>
 </html>
</xsl:template>
</xsl:stylesheet>

خروجی : پس از مقداردهی خصلت های DocumentSource و TransformSource کنترل سرويس دهنده XML ، به ترتيب به فايل های XML و XSL ، خروجی زير نمايش داده می شود .

مثال سه :
هدف : استفاده از عنصر xsl:choose به منظور اتخاذ تصميم و نمايش اطلاعات دانشجو با نام " خسرو ايرانی " و "پيمان دوستی "
توضيحات : درمثال فوق ، از فايل XML ارائه شده درمثال يک ( فايل XML حاوی نام و نام خانوادگی پنج دانشجو می باشد ) و فايل XSL زير استفاده شده است.

Student XSL file for sortting

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body Dir="rtl">
<H3 Align="Center"> ليست دانشجويان </H3>
<table border="1" bgcolor="ٌWhite" dir="rtl" Align="Center">
<tr>
<th bgcolor="#336699"><font size="3" color="white"> نام </font></th>
<th bgcolor="#336699"><font size="3" color="white"> نام خانوادگی </font> </th>
</tr>
<xsl:for-each select="Students/name">
<xsl:choose>
<xsl:when test="first='خسرو'">
<tr>
<td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="first"/></font></td>
<td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="last"/></font></td>
</tr>
</xsl:when>
<xsl:when test="first='پيمان'">
<tr>
<td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="first"/></font></td>
<td Align="Center" bgcolor="#F4F4FF"><font size="2"><xsl:value-of select="last"/></font></td>
</tr>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

خروجی : پس از مقداردهی خصلت های DocumentSource و TransformSource کنترل سرويس دهنده XML ، به ترتيب به فايل های XML و XSL ، خروجی زير نمايش داده می شود .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


نحوه ايجاد Help در برنامه های وب دات نت

 نحوه ايجاد Help در برنامه های وب دات نت New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
ايجاد Help در برنامه های وب | مديريت وب | 1214 | 2 | 4.5

ايجاد Help در برنامه های وب ( بخش اول )

ايجاد Help در برنامه های وب ( بخش اول )

استفاده کنندگان برنامه های کامپيوتری همواره نيازمند توصيه ها و راهنمائی لازم به منظور استفاده از پتانسيل های يک برنامه می باشند. ارائه توضيحات لازم در خصوص نحوه استفاده از يک برنامه کامپيوتری با استفاده از برنامه های کمکی که به Help معروف می باشند ، صورت می پذيرد. طراحی وپياده سازی Help در يک نرم افزار، امروزه خود به يک تخصص خاص تبديل شده است و قطعا" به عنوان يکی از پارامترهای مهم در زمان انتخاب يک نرم افزار، مطرح خواهد بود (حداقل از جانب End Users ) . طراحان و پياده کنندگان نرم افزار با آناليز دقيق مخاطبان و نوع نياز آنا ن ، اقدام به طراحی و پياده سازی برنامه های help نموده و آنان را به عنوان جزء لاينفک نرم افزار ، ارائه می نمايند . برنامه های وب نيز از اين قاعده مستثنی نبوده و از روش های متفاوتی بمنظور ارائه Help ، استفاده می نمايند . در اين مقاله ، قصد داريم به بررسی روش های متفاوت ارائه Help در برنامه های وب دات نت ، بپردازيم .
برنامه های وب ، به منظور ارائه Help از روش های متفاوتی نظير : ToolTip برای کنترل ها ، فرم های وب و يا صفحات HTML و يا فايل های HTML Help ترجمه شده ، استفاده می نمايند . در ادامه به بررسی هر يک از موارد فوق ، خواهيم پرداخت .

نمايش ToolTip
ToolTip ، يک پيام کوتاه تشريحی است که پس از استقرار موس بر روی يک کنترل توسط کاربر ، برای مدت زمان بسيار محدودی نمايش داده می شود . از اين نوع پيام ها در برنامه های نوشته شده تحت ويندور و به منظور ارائه اطلاعات مفيد دررابطه با دکمه های Toolbar و يا ساير کنترل های گرافيک، استفاده می گردد. در زمان استفاده از آيکون ها و يا لينک ها ، می توان از يک ToolTip که عملکرد آنان را برای کاربران تشريح می نمايد ، استفاده نمود.

اکثر کنترل های سرويس دهنده ، دارای يک خصلت ToolTip می باشند که می توان از آن به منظور مقداردهی پيام مورد نظر جهت نمايش ، استفاده کرد. در زمان اجراء ، ASP.NET ، خصلت ToolTip را بعنوان خصلت عنوان کنترل ، برای مرورگر ارسال که IE آن را بعنوان يک ToolTip نمايش خواهد داد.

کنترل های HTML ، دارای خصلتی با نام ToolTip نمی باشند . در چنين مواردی می توان ، خصلت title را مستقيما" استفاده نمود . تگ های HTML زير ، تفاوت موجود بين نحوه مقداردهی يک ToolTip برای يک کنترل سرويس دهنده و يک کنترل HTML را نشان می دهد .

Setting ToolTip :: A server Control

<asp:Image id="Image1" runat="server" ImageUrl="100Four.gif" ToolTip="سايت سخا روش"></asp:Image>

Setting ToolTip:: An HTML Control

<IMG src="100Five.gif" title="سايت سخا روش">

تمامی کنترل ها دارای خصلت ToolTip و يا title نمی باشند. مثلا" کنترل های سرويس دهنده DropDownList و ListBox ، امکانات فوق را دارا نمی باشند .

نمايش Help به عنوان فرم های وب و يا HTML
ايجاد محتويات Help با استفاده از فرم های وب و يا صفحات HTML ، از ساده ترين رويکردهای موجود بمنظور ارائه توضيحات و اطلاعات کمکی در يک برنامه وب ، می باشد . فايل های Help را می توان در فولدر مربوط به محل استقرار پروژه ( فولدر محل استقرار برنامه وب ) و يا در يک فولدر زير مجموعه ، مستفر نمود. از hyperlink و يا ساير کنترل ها ، می توان بمنظور نمايش Help در مرورگر استفاده نمود . روش فوق ، مشابه عملياتی است که دررابطه با ساير صفحات انجام می شود. در اين رابطه يک تفاوت اساسی وجود دارد : نمايش Help در يک پنجره جديد و يا يک فريم جداگانه .
نمايش Help در يک پنجره جداگانه ، باعث نگهداری موقعيت کاربر در برنامه وب شده و امکان استفاده از Help و مقايسه توضيحات ارائه شده با عمليات و يا کار جاری را در اختيار کاربرقرار خواهد داد . به منظور نمايش Help در يک پنجره جداگانه ، می توان از متد open مربوط به شی window ( سمت سرويس گيرنده ) ، استفاده نمود . کد زير ، نحوه انجام اين عمليات را نشان می دهد :

Setting ToolTip :: A server Control

<a href="#" onclick="window.open('Help1.aspx','helpwin').focus()"> Help مشاهده </a>

در کد فوق از رويداد onclick به منظور نمايش Help در يک پنجره جديد مرورگر استفاده شده است .اولين آرگومان متد open ، فايل Help را مشخص می نمايد ، دومين آرگومان نامگذاری پنجره جديد را انجام می دهد ( زمينه هدايت ساير Help های زير مجموعه به پنجره يکسانی فراهم خواهد شد). متد focus ، اطمينان لازم در خصوص نمايش پنجره Help در قسمت بالای برنامه وب را بوجود می آورد.
ساير Heperlink های مربوط به Help در يک برنامه وب می توانند با استفاده از روش فوق ، از اسکريپت ساده onclick به منظور نمايش عناوين متفاوت در پنجره يکسانی، استفاده نمايند . در صورتيکه ، برنامه وب موجود دارای چندين hyperlink در رابطه با نمايش help در يک فرم وب باشد ، می توان اسکريپت را در يک روتين مستقر نمود و آن را در زمان تحقق رويداد onclick ، فراخواند . کد زير نحوه انجام اين کار را نشان می دهد :

Place Script in a procedure

<HTML>
<HEAD>
<title> WebForm1 </title>
<script language="vbscript">
Sub ShowHelp(topicName)
Set HelpWindow = window.open(topicName ,"helpwin" , "left=600 , height = 300 , width = 200 " )
HelpWindow.focus
End Sub
</script>
</HEAD>
<body>
<h2 align="right"><FONT size="3" color="#000099">نمايش راهنمای برنامه در يک پنجره جديد</FONT></h2>
<A onclick=" showHelp('Help1.aspx') " href="#">نمايش راهنمای برنامه</A><Br>
<A onclick=" showHelp('Help2.aspx') " href="#">نمايش توضيحات ضروری برنامه</A>
</body>
</HTML>

نمايش HTML Help
با استفاده از متد showHelp مربوط به شی window ، می توان فايل های HTML Help ، فايل های HTML معمولی و يا فرم های وب را توسط نمايش دهنده HTML Help ( فايل hh.exe ) ، نمايش داد. يک فايل HTML Help ، شامل فايل های عناوين نوشته شده به HTML بوده که به يک فايل فشرده و جداگانه تبديل شده اند . اين نوع فايل ها ، ويژگی های اضافه ای را در رابطه با Help ارائه می نمايند . متد showHelp ، عناوين را در نمايش دهنده HTML Help ، نمايش خواهد داد (بصورت پيش فرض در بالای صفحه مربوط به پنجره مرورگر برنامه وب ) . به منظور نمايش يک فرم وب و يا صفحه HTML با استفاده از showHelp ، نام فرم وب و يا صفحه HTML را می بايست بعنوان اولين آرگومان متد، مشخص نمود.

Show Help with HTML Help Viewer

<a href="#" onclick="window.showHelp('Help1.aspx')">مشاهده راهنما </a>

با استفاده از متد Showhelp ، می توان فايل های Help ترجمه شده را نيز مشاهده نمود . اين نوع فايل ها از صفحات HTML تشکيل شده که در نهايت به يک فايل ترجمه می گردند ( فايلی با انشعاب chm ) . برای ايجاد اين نوع از فايل ها می بايست از برنامه HTML Help Workshop استفاده گردد . به منظور نمايش يک فايل ترجمه شده ، می بايست نام آن بعنوان اولين آرگومان متد showHelp مشخص گردد .

Show a Compiled HTML Help File by showHelp method

<a href="#" onclick="window.showHelp('C:\\php_manual_en.chm')">PHP مشاهده راهنمای </a>

پس از کليک نمودن بر روی " مشاهده راهنمای PHP " ، راهنمای آن بصورت زير و در قسمت بالای صفحه نمايش داده می شود :

HTML فوق ، فايل ترجمه شده ای با نام php_manual_en.chm را نمايش خواهد داد . فايل Help ترجمه شده ،می بايست Download و بر روی ماشين کاربر ذخيره گردد .
استفاده از فايل های Help ترجمه شده ، دارای مزايای زير است :

  • کاهش اندازه : فايل های Help ترجمه شده ، عناوين را فشرده نموده و اندازه آنان بمراتب نسبت به مجموع ظرفيت يکايک عناوين ، کمتر می باشد .

  • محتوی ، ايندکس و ابزارهای جستجو : برنامه HTML Help Workshop ، شامل ابزارهای لازم به منظور ايجاد ويژگی های فوق و افزودن آنان به Help می باشند .

  • نمايش Embeded : کنترل اکتيوايکس HTML Help و اپلت جاوا ، امکان نمايش Help را بهمراه پنجره مرورگر فراهم می نمايند(در مقابل نمايش آنان در يک پنجره جداگانه )

  • محلی سازی ساده : با توجه به اينکه HTML Help ، فايل های عناوين را به Context ID مپ می نمايد ، امکان استفاده از چندين فايل Help نوشته شده با زبان های متفاوت که جملگی از مجموعه يکسانی Context ID ، استفاده می نمايند، وجود خواهدداشت .

فايل های Help ترجمه شده ، دارای محدويت های خاص خود بوده که لازم است در زمان استفاده از اين نوع فايل ها ، به آنان توجه گردد :

  • فايل منبع می بايست دارای فرمت HTML باشد . فرم های وب نمی توانند به فايل های chm. ، ترجمه گردند .

  • تمامی فايل ترجمه شده می بايست بر روی ماشين کاربر ، مستقر( DownLoad ) گردند . در صورتيکه دارای يک فايل Help بزرگ بوده و کاربر با استفاده از يک مودم معمولی! به برنامه وب متصل می گردد، مدت زمان زيادی صرف استقرار فايل بر روی ماشين کاربر خواهد شد.

جستجو
جستجو

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

مقالات
مشاهده گروه ها


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

 روش های کنترل دستيابی کاربران به برنامه های وب دات نت New Page 1

ساير امکانات

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
امنيت برنامه های وب ( بخش چهارم ) | مديريت وب | 2607 | 1 | 5

امنيت برنامه های وب ( بخش چهارم )

امنيت برنامه های وب ( بخش چهارم )

آنچه تاکنون گفته شده است :

  • بخش اول : مفاهيم اوليه و روش های متفاوت تائيد کاربران
  • بخش دوم : بررسی Windows Authentication
  • بخش سوم : بررسی Forms Authentication

همانگونه که در بخش سوم اين مقاله اشاره گرديد ، به منظور استفاده از روش Forms Authentication ، می بايست مراحل زير را دنبال نمود :

  • مقداردهی Authentication mode در فايل Web.config به Forms
  • ايجاد يک فرم وب به منظور اخذ اطلاعات کاربران ( Logon Page )
  • ايجاد يک فايل و يا بانک اطلاعاتی به منظور ذخيره نام و رمز عبور کاربران
  • نوشتن کد لازم به منظور افزودن کاربر جديد به فايل و يا بانک اطلاعاتی کاربران
  • نوشتن کد لازم به منظور تائيد کاربران با استناد به فايل و يا بانک اطلاعاتی کاربران

در بخش سوم اين مقاله به بررسی اولين مرحله ( مقداردهی Authentication mode در فايل Web.config به Forms ) ، اشاره گرديد . در ادامه به بررسی ساير مراحل لازم به منظور استفاده از روش Forms Authentication ، خواهيم پرداخت .

Web.Config setting for Forms Authentication

<authentication mode="Forms">
 <forms loginUrl =" Login.aspx" >
 <credentials passwordFormat = "SHA1" >
 <user name = "Srco.ir" Password ="110" />
 <user name = "SakhaRavesh" Password ="111" />
 </credentials>
 </forms>
</authentication>

ايجاد يک فرم وب Logon
به منظور تائيد کاربران بر اساس روش Forms Authentication ، نيازمند استفاده از يک فرم وب بوده که با استفاده از آن امکان Logon کاربران ، فراهم گردد. فرم وب با استفاده از عنصر <forms> در فايل Web.Config ، مشخص شده و می تواند صرفا" شامل دو Text box و يک Button و يا شامل فيلدهای اطلاعاتی بيشتری به منظور اخذ اطلاعات کاربران باشد .

Login.aspx

<%@ Page Language="vb" Codebehind="Login.aspx.vb" Inherits="Web1.Login" codePage="65001" %>
<HTML>
<HEAD>
<title>صفحه تائيد کاربران برنامه</title>
<meta name="vs_showGrid" content="True">
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
</HEAD>
<BODY bgColor="#ffffff">
. ...
<asp:Button id="btnSingIn" runat="server" Text="Sign in"></asp:Button>
<asp:TextBox id="txtUserName" runat="server" Width="99px"></asp:TextBox>
<asp:TextBox id="txtPassword" runat="server" Width="100px" TextMode="Password"></asp:TextBox>
...
Login.aspx.vb
Imports System.Web.Security
Public Class Login
...
Private Sub btnSingIn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSingOn.Click

If FormsAuthentication.Authenticate(txtUserName.Text, txtPassword.Text) Then
 FormsAuthentication.RedirectFromLoginPage(txtUserName.Text, True)
Else
txtPassword.Text = ""
If CInt(ViewState("Tries")) > 1 Then
Response.Redirect("Denied.htm")
Else
ViewState("Tries") = CInt(ViewState("Tries")) + 1
End If
End If
End Sub
 ...
ٍEnd Class

توضيحات

  • کلاس FormsAuthentication بخشی از namespace با نام System.Web.Security می باشد ، بنابراين می بايست با استفاده از Imports ( در ويژوال بيسک دات نت ) آن را به برنامه Include نمائيم ( درويژوال سی شارپ ، استفاده از Using ) .

  • متد Authenticate مربوط به کلاس FormsAuthentication با مراجعه به ليست کاربران تعريف شده توسط عنصر<credentials> فايل Web.Config ، بررسی لازم در خصوص نام ورمز عبور کاربر را انجام می دهد.

  • متد RedirectFromLoginPage مربوط به کلاس FormsAuthentication ، صفحه شروع برنامه وب را نمايش خواهد داد.

  • در صورتيکه نام و رمز عبور کاربر معتبر نباشد ، به کاربر دو مرتبه ديگر فرصت Logon داده خواهد شد و در صورتيکه صلاحيت کاربر تائيد نگردد ، يک پيام خطاء نمايش داده می شود. صفحه گزارش خطاء از نوع HTM می باشد.( به هيچکدام از فرم های وب موجود در برنامه ، امکان دستيابی وجود نخواهد داشت ). در صورتيکه کاربر با استفاده از روش فوق به صفحه ديگر هدايت می شود ، می بايست از محل استقرار فايل فوق در محيطی خارج از حوزه برنامه مطمئن گرديد .

در مثال فوق ، صفحه شروع برنامه Webform1.aspx ( در بخش دوم اين مقاله ) در نظر گرفته شده است . پس از Logon موفقيت آميز، کاربر به صفحه فوق هدايت خواهد شد . زمانيکه کاربر بر روی دکمه sign in کليک می نمايد ، تائيد کاربر بر اساس نام و رمز عبور انجام و برای وی يک مجوز صادر خواهد شد. بدين ترتيب، کاربر امکان دستيابی به بخش های متفاوت برنامه را بدست می آورد .ماحصل اجرای صفحه فوق ، به صورت زير است :

از کلاس FormsAuthentication به منظور Sign out ، و يا حذف کوکی Authentication از روی ماشين کاربر استفاده می گردد.کد زير دستيابی کاربر به برنامه را خاتمه داده و استفاده مجدد از برنامه توسط وی را ملزم به Login مجدد ، می نمايد .

End User's access to an application

Imports System.Web.Security
Private Sub butSignOut_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles butSignOut.Click
FormsAuthentication.SignOut ( )
Response.Redirect( "UserInfo.aspx")
End Sub

تائيد کاربران با استفاده از يک بانک اطلاعاتی
در بخش قبل با فرآيند تائيد کاربران با استفاده از ليست تعريف شده کاربران موجود در فايل Web.Config ، آشنا شديم . متد Authenticate مربوط به کلاس FormsAuthentication ، به منظور خواندن اطلاعات از فايل فوق بصورت اتوماتيک ، پيکربندی شده است . رويکردد فوق ، گزينه ای مناسب در مواردی است که مسئوليت تعريف اسامی و رمز عبور کاربران به مدير سيستم واگذار شده باشد . در صورتيکه قصد داشته باشيم ، امکان تعريف نام و رمز عبور را در اختيار کاربران قرار دهيم ، می بايست اطلاعات مربوط به کاربران خارج از فايل Web.config ذخيره گردد. اعمال تغييرات در فايل Web.config در زمان اجراء ، باعث Restart شدن برنامه شده و Reset تمامی متغيرهای Session و Application استفاده شده توسط برنامه می گردد. دراين رابطه می توان ، اسامی کاربران را در هر نوع فايلی ذخيره نمود . بديهی است استفاده از يک بانک اطلاعاتی، مزايای خاص خود را بدنبال خواهد داشت :

  • اسامی کاربران می تواند به عنوان کليد اوليه و به منظور ذخيره سازی ساير اطلاعات کاربران استفاده گردد .
  • بانک های اطلاعاتی دارای کارآئی مطلوب به منظور دستيابی به اسامی و رمز عبور کاربران می باشند .
  • افزودن ، تغيير و دستيابی به رکوردهای بانک اطلاعاتی با استفاده از استانداردهای SQL انجام خواهد شد .

زمانيکه اسامی و رمز عبور کاربران در يک فايل و يا بانک اطلاعاتی ذخيره می گردد ، می توان با استفاده از متد HashPasswordeForStoringInConfigFile مربوط به کلاس FormsAuthentication ، آنان را رمز نمود. در اين رابطه از الگوريتم های SHA1 و يا MD5 به منظور رمزنگاری داده استفاده می گردد :

Encrypting User names and passwords

Password = FormsAuthentication.HashPasswordForStoringInConfigFile ( Password , "SHA1")

افزودن کاربران به يک بانک اطلاعاتی
به منظور افزودن کاربران به يک بانک اطلاعاتی ، اطلاعات مربوط به کاربران شامل نام و رمز عبور را از طريق دو TextBox اخذ و در ادامه با ايجاد يک Event Procedure ، آنان را به بانک اطلاعاتی اضافه نموده و در نهايت پيام مناسبی که نشاندهنده درج اطلاعات کاربر در بانک اطلاعاتی سيستم می باشد ، نمايش داده خواهد شد . روتين زير با فراخوانی تابع AddUser ، نام و رمز عبور کاربر را به بانک اطلاعاتی اضافه می نمايد .

َAdding User to a database

Private Sub butNewUser_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles butNewUser.Click
If AddUser(txtName.Text, txtPassword.Text) Then
 spnNote.InnerText = "کاربر جديد به بانک اطلاعاتی کاربران اضافه گرديد "
 Else
 spnNote.InnerText = "کاربری با اين مشخصات وجود دارد "
End If"
End If
End Sub

تابع AddUser ، که در روتين فوق استفاده شده است ، در ابتدا رمز عبور کاربر را رمز نموده و در ادامه با استفاده از دستور SQL INSERT ، نام و رمز عبور را در بانک اطلاعاتی ذخيره می نمايد .درصورتيکه رمز عبور در نظر گرفته شده توسط کاربر، قبلا" توسط کاربر ديگر تعريف و در بانک اطلاعاتی موجود باشد ، بلاک Exeption -handling ، خطاء را تشخيص داده و مقدار False را مبنی بر عدم افزودن اطلاعات کاربر در بانک اطلاعاتی ، برمی گرداند .

َAddUser Function

Private Function AddUser ( Byval UserName As String , ByVal Password As String ) As Boolean
Dim bSuccess As Boolean
Password = FormsAuthentication.HashPasswordForStoringInConfigFile ( Password , "SHA1")
Dim oleCommand As New OleDbCommand ( "INSERT INTO Users " + "Values ( '" + UserName + '" + Password + "')",oledbUsers)
Try
oledbUsers.Open ( )
If oleCommand.ExecuteNonQuery ( ) Then bSuccess = True
oledbUsers.Close ( )
Catch
bSuccess =False
oledbUsers.Close ( )
End Try
Return bSuccess
End Function

در زمان تائيد کاربران با استفاده از ليست مشخص شده کاربران در فايل Web.Config ، از متد Authenticate استفاده می گردد. در موارديکه برای تائيد کاربران از بانک اطلاعاتی استفاده می گردد ، می بايست کد لازم به منظور يافتن و مقايسه نام و رمز عبور کاربران ، نوشته گردد . روتين زير ، از تابع CheckPassword به منظور تائيد نام و رمز عبور استفاده نموده و در صورتيکه صلاحيت کاربر تائيد گردد به وی امکان دستيابی به برنامه داده خواهد شد.

َAuthenticating Users from a database

Private Sub butSignOn_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles butSignOn.Click
If CheckPassword(txtName.Text, txtPassword.Text) Then
FormsAuthentication.RedirectFromLoginPage(txtName.Text, True)
Else
spnNote.InnerText = "نام و يا رمز عبور اشتباه است ، مجددا سعی نمائيد"
ViewState("tries") = ViewState("tries") + 1
If ViewState("Tries") > 3 Then
Response.Redirect("Denied.htm")
End If
End If
End Sub

تابع CheckPassword ، در ابتدا رمز عبور کاربر را با استفاده از الگوريتم مشخص شده ، رمز می نمايد. در ادامه ، رکورد بانک اطلاعاتی بر اساس نام جستجو و پس از يافتن رکورد مربوطه، مقايسه بين رمز عبور رمز شده در مقابل رمز عبور موجود در بانک اطلاعاتی ، انجام خواهد شد . دستيابی به بانک اطلاعاتی از طريق يک بلاک Exception handling انجام تا پيشگيری لازم در خصوص مسئله Locking ، انجام شود .

َCheckPassword Function

Private Function CheckPassword ( Byval UserName As String , ByVal Password As String ) As Boolean
Dim bSuccess As Boolean
Password = FormsAuthentication.HashPasswordeForStoringInConfigFile ( Password , "SHA1")
Dim oleCommand As New OleDbCommand ( "SELECT * FROM Users" + "WHERE UserName='" + txtName.Text + "'" , oledbUsers )
Try
oledbUsers.Open ( )
Dim rdrUsers As OledbDataReader = oleCommand.ExecuteReader ( )
While rdrUsers.Read( )
If Password =rdrUsers.Item("Password") Then bSuccess = True
End While

If oleCommand.ExecuteNonQuery ( ) Then bSuccess = True
oledbUsers.Close ( )
Catch
bSuccess =False
oledbUsers.Close ( )
End Try
Return bSuccess
End Function

تمامی کاربران با توجه به تنظيمات انجام شده در بخش <authentication> فايل Web.config ، بصورت اتوماتيک به صفحه LoginBaseDb.aspx هدايت خواهند شد .

Web.Config file setting for <authentication> element

<authentication mode="Forms">
<forms name="Test1Cookie" loginUrl ="LoginBaseDB.aspx" timeout="15"></forms>
</authentication>

صفحه LoginBaseDb.aspx :

در صورت درج نام و رمز عبور غيرمعتبر و فشردن دکمه "ورود به سايت " توسط کاربر ، يک پيام خطاء نمايش داده می شود ( در صورت تائيد نام و رمز عبور ، امکان دستيابی کاربر به برنامه فراهم می گردد) .

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

در بخش پنجم اين مقاله به بررسی روش Passport Authentication خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


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

 روش های کنترل دستيابی کاربران به برنامه های وب دات نت New Page 1

ساير امکانات

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
امنيت برنامه های وب ( بخش پنچم ) | مديريت وب | 2098 | 1 | 5

امنيت برنامه های وب ( بخش پنچم )

امنيت برنامه های وب ( بخش پنچم )

آنچه تاکنون گفته شده است :

  • بخش اول : مفاهيم اوليه و روش های متفاوت تائيد کاربران
  • بخش دوم : بررسی Windows Authentication
  • بخش سوم : بررسی Forms Authentication
  • بخش چهارم : بررسی Forms Authentication

در بخش پنجم اين مقاله به بررسی Passport Authentication خواهيم پرداخت .
همانگونه که در بخش اول اين مقاله اشاره گرديد ، برنامه های وب ASP.NET از سه روش عمده به منظور تائيد کاربران استفاده می نمايند :

  • Windows Authentication

  • Forms Authentication

  • Passport Authentication

زمانيکه از سرويس وب Passport مايکروسافت به منظور تائيد کاربران استفاده می گردد ، مسئوليت تائيد کاربران از IIS و برنامه وب سلب شده و اين وظيفه به سايت Passport.com واگذار می گردد. در روش Passport Authentication ، شناسائی کاربران بر اساس سرويس وب ارائه شده توسط Passport.com صورت می پذيرد . در روش فوق ، تائيد کاربران متمرکز و پس از تائيد آنان ، امکان استفاده از ساير سايت هائی که از Passport Authentication استفاده می نمايند ، وجود خواهد داشت .اطلاعات کاربران در يک پروفايل و بر روی سايت Passport.com ذخيره و ساير سايت های متقاضی که نيازمند تائيد کاربر به منظور ارائه خدمات خود می باشند ، می توانند ازاطلاعات کاربران استفاده نمايند . مهمترين ويژگی روش Passport Authentication ، استفاده از يک نام و رمز عبور به منظور استفاده از سايت های متعدد می باشد . فرآيند تائيد کاربران در روش فوق، بصورت زير است :

  • پس از درخواست يک صفحه ايمن توسط سرويس گيرنده ، درخواست وی در ابتدا برای IIS ارسال می گردد.

  • IIS ، کاربر را به عنوان Anonymous تائيد و درخواست وی را برای ASP.NET ارسال می نمايد .

  • ASP.NET ، بررسی لازم در خصوص وجود يک کوکی خاص را بر روی سرويس گيرنده انجام خواهد داد . در صورتيکه کوکی مورد نظر بر روی کامپيوتر سرويس گيرنده موجود نباشد ، درخواست کاربر ناديده گرفته شده و وی به وب سايت Passport.com به منظور تائيد صلاحيت ، هدايت می گردد .

  • سايت Passport.com ، يک فرم Login را توليد و برای سرويس گيرنده ارسال می نمايد .سرويس گيرنده اطلاعات Logon را در آن درج و مجددا" اطلاعات را برای سايت Passport.com ارسال می نمايد .

  • در صورتيکه اطلاعات درج شده توسط کاربر ( نام و رمز عبور) با اطلاعات موجود در بانک اطلاعاتی پاسپورت مطابقت نمايد ، Passport.com سرويس گيرنده را تائيد و يک کوکی به همراه اطلاعات ذيربط ( مشابه يک بليط ) برای وی ارسال می نمايد .

  • درخواست سرويس گيرنده مجددا" برای سرويس دهنده و اين مرتبه به همراه مجوز صادر شده توسط Passport.com ، ارسال می گردد. IIS ، مجددا" سرويس گيرنده را به عنوان Anonymous تائيد و درخواست وی را برای برنامه وب ASP.NET ارسال می نمايد .

  • برنامه وب ASP.NET تائيد کاربر را بر اساس مجوز صادر شده برای وی توسط Passport.com ، انجام داده و صفحه وب درخواستی را برای سرويس گيرنده ارسال می نمايد .

  • پس از تائيد کاربر توسط Passport.com ، امکان دستيابی وی به ساير وب سايت هائی که از روش Passport Authentication استفاده می نمايند ، وجود خواهد داشت .

فعال نمودن روش Passport Authentication
به منظور استفاده از روش Passport Authentication در يک برنامه وب ، می بايست Passport SDK را بر روی سيستم نصب نمود. ( برای دريافت نرم افزار می توان از آدرس http://msdn.microsoft.com/download ، استفاده نمود ) . برای فعال نمودن روش PassportAuthentication مراحل زير را دنبال می نمائيم :

  • نصب Passport SDK . ( با اينکه نرم افزار فوق به همراه ويژوال استوديو ارائه نشده است ،ولی فريمورک دات نت دارای کلاس های لازم به منظور کار با Passport SDK پس از نصب آن می باشد ) .

  • اعمال تغييرات لازم در فايل Web.config : نوع Authentication به Passport و مقدار عنصر Authorization به Deny برای کاربران تائيد نشده

  • استفاده از رويداد PassportAuthentication_OnAuthenticate به منظور دستيابی به پروفايل اطلاعات کاربران و شناسائی آنان

  • پياده سازی روتين Sign-out به منظور حذف کوکی های Passport از روی ماشين کاربران

فايل Web.config زير ، روش Passport Authentication را فعال و تمامی کاربران را ملزم به تائيد به منظور استفاده از برنامه وب می نمايد .

Web.Config setting

<authentication mode="Passport" />
<authorization>
 <adeny users="?" />
</authorization>

زمانيکه برنامه وب بصورت محلی و با توجه به تنظيمات فوق ، اجراء می گردد ، کاربر مستقيما" به صفحه Signin پاسپورت هدايت می گردد. در صورتيکه نسخه unlicense نرم افزار Passpport SDK ، نصب شده باشد ، صفحه Signin مشابه صفحه ارائه شده در زمان بکارگيری واقعی يک سايت نخواهد بود. پس از Sign in کاربر ، Passport کوکی تائيد کاربر را بر روی ماشين سرويس گيرنده ذخيره و وی را به صفحه اوليه درخواستی هدايـت و يک پروفايل اطلاعاتی در ارتباط با کاربر را ذخيره می نمايد . به منظور دستيابی به پروفايل فوق می توان از رويداد PassportAuthentication_OnAuthenticate ، در Global.asax استفاده نمود :

Global.asax module

Imports System.Web.Security
Private Sub PassportAuthentication_OnAuthenticate( ByVal Sender As Object , ByVal e As PassportAuthenticationEventArgs )
If e.Identity.IsAuthenticated Then
Response.Write(" Name : " & e.Identity.Item("FirstName") &" " & e.Identity.Item("LastName") & "<br>")
Response.Write("Address : " & e.Identity.Item("City") & " " & e.Identity.Item("PostalCode") & "<br>" )
Response.Write("Email : " & e.Identity.Item("PreferredEmail") & "<br>" )
Response.Write("Passport ID : " & e.Identity.Name & "<br>" )
End If
End Sub

کد فوق ، نام ، آدرس و ساير اطلاعات کاربر را از طريق پروفايل مربوطه دريافت و آنان را نمايش می دهد.
مجوز صادر شده Passport به همراه اطلاعات پروفايل در پنج کوکی جداگانه بر روی ماشين سرويس گيرنده ، ذخيره می گرندد. پس از Sign out کاربر از برنامه وب ، می بايست کوکی های فوق حذف گردند . رويداد زير ، نحوه عمليات Sign out را از طريق حذف کوکی های مرتبط با Passport نشان می دهد :

Sign out Event Procedure

Private Sub butSignOut_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles butSignOut.Click
Response.Cookie("MSPProf").Expires = Now
Response.Cookie("MSPAuth").Expires = Now
Response.Cookie("MSPSecAuth").Expires = Now
Response.Cookie("MSPProfC").Expires = Now
Response.Cookie("MSPConsent").Expires = Now
Response.Redirect("UserInfo.aspx")
End Sub

جستجو
جستجو

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

مقالات
مشاهده گروه ها


بررسی عملکرد کرم Mydoom و روش مقابله با آن

 بررسی عملکرد کرم Mydoom و روش مقابله با آن New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
با کرم Mydoom بيشتر آشنا شويم ! | مديريت وب | 3839 | 13 | 3.8

با کرم Mydoom بيشتر آشنا شويم

با کرم Mydoom بيشتر آشنا شويم !
در ساعت نه روز چهارشنبه 28 ژانويه 2004 مطابق با هشتم بهمن 1382 ، شرکت مايکروسافت بررسی لازم در خصوص گزارشات دريافتی مبنی بر شيوع يک کرم جديد با نام Mydoom و يا Novarg شناخته شده با نام Mydoom.B را آغاز نمود. بر اساس گزارشات دريافتی ، کرم فوق امکان دستيابی به برخی وب سايت ها نظير تعدادی از وب سايت های مايکروسافت را سلب می نمايد . کرم فوق ، تلاش می نمايد که گيرندگان نامه های الکترونيکی را گمراه و آنان را تشويق به باز نمودن پيامی نمايد که دارای يک فايل ضميمه است . در صورت فعال شدن فايل ضميمه ، کرم Mydoom.B ، کدهای مخرب را بر روی کامپيوتر کاربر نصب و نسخه ای از خود را برای تمامی افراد موجود در ليست دفترچه آدرس کاربر ، ارسال می نمايد . محصولاتی که متاثر از کرم فوق می باشند ، عبارتند از :

  • Microsoft Outlook

  • Microsoft Outlook Express

  • Web-based e-mail programs

نحوه حفاظت در مقابل کرم MyDoom
در صورتيکه برای شما يک نامه الکترونيکی ارسال شده است که دارای فايلی ضميمه می باشد ( خصوصا" اگر دارای انشعاب Zip . باشد ) ، فايل ضميمه را فعال ننمائيد . در صورت عدم اطمينان از ايمن بودن فايل ضميمه ( عدم دريافت تائيديه لازم از ارسال کننده نامه الکترونيکی ) ، بلافاصله پيام را حذف نمائيد . به منظور بلاک نمودن ضمائم مضر در نامه های الکترونيکی ، آخرين نسخه های بهنگام شده Outlook و Outlook Express را دريافت و بر روی سيستم خود نصب نمائيد :

  • در صورتيکه از Outlook 2003 استفاده می نمائيد ، با نوع ضمائمی که در OutLook 2003 بلاک شده اند ، آشنا شويد .

  • در صورتيکه از Outlook 2002 استفاده می نمائيد ، آخرين Office service packs را دريافت و با نوع ضمائمی که در OutLook 2002 بلاک شده اند ، آشنا شويد .

  • در صورتيکه از Outlook 2000 استفاده می نمائيد ، آخرين Office service packs را دريافت و نصب نمائيد .

  • در صورتيکه از Outlook Express 6 استفاده می نمائيد ، با امکانات موجود به منظور حفاظت در مقابل ويروس ها آشنا شويد .

  • درصورتيکه از نسخه های قديمی Outlook Express استفاده می نمائيد ، آخرين نسخه IE که شامل آخرين نسخه Outlook Express نيز می باشد را دريافت وبر روی سيستم خود نصب نمائيد .

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

نحوه تشخيص آلودگی سيستم

در صورتيکه از Windows XP استفاده می نمانيد :

  • گزينه Search را از طريق منوی Start انتخاب نمائيد .

  • در بخش ? What do you want to search for ، گزينه All files and folders را انتخاب نمائيد ( کليک ) .

  • در بخش All or part of the file name ، عبارت ctfmon.dll را تايپ نمائيد . در صورتيکه فايل بر روی کامپيوتر موجود باشد ، کاميپوتر آلوده به کرم Mydoom.B بوده و می بايست مراحل لازم به منظور برخورد با آن دنبال گردد. در صورتيکه فايل فوق موجود نباشد ، سيستم آلوده به کرم Mydoom.B نمی باشد .

در صورتيکه از ويندوز NT 4.0 و يا ويندوز 2000 استفاده می نمائيد :

  • گزينه Run را از طريق منوی Start انتخاب نمائيد .

  • دستور Cmd را تايپ نمائيد .

  • پس از نمايش پنجره Command Prompt ، دستور dir ctfmon.dll/a/s را تايپ و کليد Enter را فعال نمائيد .

  • در صورتيکه پس از اجرای دستور فوق ، اعلام شود که File Not Found ، کامپيوتر آلوده به کرم Mydoom.B نمی باشد . در صورتيکه فايل فوق پيدا شده و اندازه آن نمايش داده شود ، کامپيوتر آلوده به کرم Mydoom.B بوده و می بايست مراحل لازم به منظور برخورد با آن دنبال گردد.

در صورتيکه از ويندوز 95 و يا 98 استفاده می نمائيد :

  • گزينه Run را از طريق منوی Start انتخاب نمائيد .

  • دستور Command را تايپ نمائيد .

  • پس از نمايش پنجره Command Prompt ، دستور dir ctfmon.dll/a/s را تايپ و کليد Enter را فعال نمائيد .

  • در صورتيکه پس از اجرای دستور فوق ، اعلام شود که File Not Found ، کامپيوتر آلوده به کرم Mydoom.B نمی باشد . در صورتيکه فايل پيدا شده و اندازه آن نمايش داده شود ، کامپيوتر آلوده به کرم Mydoom.B بوده و می بايست مراحل لازم به منظور برخورد با آن دنبال گردد.

شکل زير ماحصل اجرای دستور dir ctfmon.dll/a/s را بر روی يک سيستم آلوده به کرم Mydoom نشان می دهد .

نحوه برخورد در صورت آلودگی سيستم
در صورتيکه کامپيوتر آلوده به کرم Mydoom.B است، در ابتدا سعی نمائيد از وب سايت های عرضه کنندگان نرم افزارهای آنتی ويروس ، آخرين Update مربوطه را دريافت و بر روی سيستم نصب نمائيد. در صورتيکه امکان فوق وجود نداشته باشد ، می توان مراحل زير را به منظور حذف کرم Mydoom.B ، دنبال نمود :

  • گزينه Run را از طريق منوی Start انتخاب نمائيد .

  • دستور Cmd را تايپ نمائيد .

  • پس از نمايش پنجره Command Prompt ، دستورات زير را به ترتيب تايپ نمائيد :

  • del /F %systemroot%\system32\drivers\etc\hosts

  • ENTER

  • echo # Temporary HOSTS file >%systemroot%\system32\drivers\etc\hosts

  • ENTER

  • attrib +R %systemroot%\system32\drivers\etc\hosts

  • ENTER

  • پس از تايپ دستورات فوق ، يکی از مراحل زير با توجه به نسخه ويندوز نصب شده بر روی سيستم ، انجام دهيد :
    در صورتيکه از ويندوز NT 4.0 استفاده می نمائيد ، سيستم را restart نمائيد.
    در صورتيکه از ويندوز XP و يا 2000 استفاده می نمائيد ، سيستم restart نگردد و در مقابل دستور Ipconfig/flushdns را تايپ و اجراء نمايد .

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

  • McAfee
  • Trend Micro
  • Symantec
  • Computer Associates

منبع : سايت مايکروسافت

جستجو
جستجو

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

مقالات
مشاهده گروه ها


نحوه استفاده از ASP.NET به منظور حفاظت فايل های بانک اطلاعاتی اکسس

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

ساير امکانات

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
حفاظت فايل ها توسط ASP.NET | مديريت وب | 2586 | 8 | 4.6

حفاظت فايل ها توسط ASP.NET

حفاظت فايل ها توسط ASP.NET
در زمان ايجاد يک وب سايت مبتنی بر داده که در آن از بانک اطلاعاتی اکسس استفاده می گردد ،می بايست تدابير لازم در خصوص حفاظت از فايل بانک اطلاعاتی ( فايلی با انشعاب mdb . ) اتخاذ گردد. در صورتی که فايل mdb . ، در يک دايرکتوری وب و برروی سرويس دهنده وب ، مستقر شده باشد ، افراديکه قادر به تشخيص نام فايل بانک اطلاعاتی می باشند ، می توانند فايل فوق را از طريق مرورگر download و محتوی آن را مشاهده نمايند. موضوع فوق در مواردی که بانک اطلاعاتی شامل داده هائی حساس نظير رمزهای عبور و اطلاعات شخصی است،بسيار نگران کننده و خطرناک خواهد بود. در اين راستا می توان از روش های متعددی به منظور حفاظت فايل بانک اطلاعاتی اکسس ( و يا هر فايل دلخواه ديگر ) استفاده نمود. يکی از مناسب ترين روش های موجود ، استقرار فايل در يک دايرکتوری با قابليت عدم دستيابی از طريق وب است . اکثر ميزبانان وب ، دارای فولدری خاص ( مثلا" با نام Databsae ) می باشند که دارای مجوز لازم ( خواندن ، نوشتن ) به منظور دستيابی به يک بانک اطلاعاتی اکسس می باشد .( امکان دستيابی به فولدر فوق از طريق وب وجود نخواهد داشت ) .
در اين مقاله با نحوه استفاده از ASP.NET به منظور حفاظت فايل های بانک اطلاعاتی اکسس و يا فايل هائی با يک انشعاب دلخواه، آشنا می شويم .

نحوه ارتباط IIS و ASP.NET
پس از دريافت يک درخواست توسط سرويس دهنده وب IIS ، نوع انشعاب آن بررسی می گردد . با توجه به نوع انشعاب فايل درخواستی ، ممکن است IIS مستقيما" مسئوليت رسيدگی به درخواست را بر عهده گرفته و يا آن را در اختيار يک ISAPI extension قرار دهد. ISAPI extension ، يک کلاس کمپايل شده است که بر روی سرويس دهنده وب نصب و مسئوليـت آن برگرداندن Markup برای نوع فايل درخواستی ، می باشد. به صورت پيش فرض ، IIS درخواست را بررسی و بسادگی محتوی فايل درخواست شده را به عنوان پاسخ برمی گرداند. اين موضوع در رابطه با فايل های ايستا نظير فايل های HTML و CSS ، صدق می نمايد . مثلا" زمانی که درخواستی برای فايلی با انشعاب html. شده باشد ، IIS محتوی فايل HTML درخواستی را برای متقاضی ، ارسال می نمايد. برای فايل هائی که محتوی آنان بصورت پويا توليد می گردد ، يک ISAPI extension پيکربندی و مسئوليت پاسخگوئی به اينچنين درخواست هائی را برعهده می گيرد . مثلا" يک وب سايت که از صفحات کلاسيک ASP استفاده می نمايد ( فايل هائی با انشعاب asp. ) ، اين مسئوليت به يک ISAPI extension با نام asp.dll واگذار شده است . asp.dll ، صفحه asp درخواست شده را اجراء و HTML توليد شده را برمی گرداند . در صورتی که يک وب سايت از صفحات ASP.NET استفاده می نمايد ، IIS ، مسئوليت رسيگی به فايل هائی با انشعاب aspx . را به aspnet_isapi.dll واگذار نموده است (يک ISAPI extension که فرآيند توليد HTML برای صفحه درخواستی ASP.NET را انجام خواهد داد) . aspnet_isapi.dll در فريمورک دات نت اجراء نمی گردد( Unmanaged code ) .زمانی که IIS ، درخواست صفحات aspx . را در اختيار aspnet_isapi.dll قرار می دهد ، ISAPI extension ، درخواست مربوطه را در اختيار ASP.NET engine قرار داده که کد آن در فريمورک دات نت ، اجراء می گردد.(Managed code ).
ASP.NET engine در بسياری از موارد مشابه IIS عمل نموده و دارای يک دايرکتوری خاص به منظور mapping انشعابات فايل به ISAPI extension مورد نظر می باشد . در چنين مواردی ASP.NET Engine ، انشعابات فايل را به HTTP handler ، مپ می نمايد. کد نوشته شده HTTP handler ، به صورت managed code بوده و مسئوليت توليد markup برای يک نوع فايل خاص را برعهده دارد. مثلا" صفحات وب ASP.NET توسط PageHandlerFactory ، بررسی می گردند. PageHandlerFactory ، دارای آگاهی لازم در خصوص نحوه توليد HTML markup يک صفحه ASP.NET می باشد .

بررسی HttpForbiddenHandler
برنامه های وب ASP.NET دارای اطلاعات پيکربندی مشخص شده بر اساس يک فايل با فرمت XML می باشند : Web.Config . در فايل فوق ، اطلاعاتی مشابه زير قرار می گيرد :

  • رشته های اتصال به بانک اطلاعاتی

  • اطلاعاتی در رابطه با نحوه تائيد کاربران و ليست نام و رمز عبور آنان ( در صورت ضرورت)

  • اطلاعات مربوط به مجوزها و ساير اطلاعات حساس

با توجه به جايگاه بسيار مهم اطلاعات موجود در فايل Web.config ، دستيابی و مشاهده آن توسط کاربران می تواند بسيار خطرناک و فاجعه آميز باشد .در صورت دستيابی به محتوی فايل Web.config مربوط به يک برنامه وب ، با پيامی مبنی بر عدم امکان مشاهده اين نوع فايل، مواجه خواهيم شد (This type of page not served) . شايد در اين رابطه سوالات متعددی در ذهن شما ايجاد شده باشد : چرا پس از درخواست مشاهده فايل Web.config ، محتوی آن نمايش داده نشده و در مقابل با يک پيام خاص مواجه خواهيم شد؟ از چه روشی به منظور حفاظت فايل فوق ، استفاده شده است ؟ آيا می توان روش استفاده شده به منظور حفاظت فايل Web.config را به ساير فايل ها نيز تعميم داد ؟
در IIS ، فايل هائی که دارای انشعاب config. می باشند به ASP.NET ISAPI extension ، مپ شده اند . ASP.NET engine ، درخواست های مربوط به فايل هائی با انشعاب Config. را به HttpForbiddenHandler ، مپ می نمايد . HttpForbiddenHandler ، در نهايت HTML لازم در مواردی که قصد مشاهده محتوی فايل Web.Config وجود داشته باشد را برمی گرداند. بنابراين با استفاده از HttpForbiddenHandler ، امکان حفاظت فايل هائی با انشعاب Config. ، فراهم می گردد. از رويکرد فوق به منظور حفاظت فايل هائی با انشعاب .cs, .vb, .webinfo, .vbproj, .csproj, .resx ، نيز استفاده می شود.با استفاده از روش فوق می توان فايل های بانک اطلاعاتی اکسس ( فايل های با انشعاب mdb. ) و يا هر نوع فايل دلخواه ديگر را حفاظت نمود.

حفاظت فايل های mdb.
به منظور حفاظت فايل های بانک اطلاعاتی اکسس ، می توان از روش بکارگرفته شده برای حفاظت فايل های Config. ، استفاده نمود. بدين منظور مراحل زير می بايست دنبال گردد:

  • پيکربندی IIS بگونه ای که فايل هائی با انشعاب mdb . به ASP.NET ISAPI extension مپ گردند.
    به منظور پيکربندی IIS در جهت mapping فايل هائی با انشعاب mdb. به ASP.NET ISAPI Extension ، می بايست امکان دستيابی فيزيکی به سرويس دهنده وب ، وجود داشته باشد. پس از دستيابی به سرويس دهنده ، برنامه مديريتی IIS را فعال ( از طريق منوی Administrative Tools ) و بر روی وب سايت مورد نظر کليک سمت راست نموده و گزينه Properties را انتخاب می نمائيم . در ادامه Home Directory Tab را انتخاب و پس از فعال نمودن دکمه Configuration ، جعبه محاوره ای Application Configuration ، نمايش داده می شود:

    برای افزودن يک mapping جديد ، بر روی Add button ، کليک می نمائيم .در ادامه شاهد نمايش يک جعبه محاوره ای جديد خواهيم بود که امکان درج يک ISAPI extension جديد را فراهم می نمايد. در اين رابطه می توان حوزه عملکرد mapping را مشخص نمود ( تمامی درخواست های HTTP و يا صرفا" يک نوع خاص HTTP ). برای افزودن يک mapping برای فايل هائی با انشعاب mdb . ، مقدار mdb. را به عنوان extension وارد نموده و aspnet_isapi.dll ISAPI extension را انتخاب می نمائيم .
    ( در مسير $WINDOWS_DIR$\Microsoft.Net\Framework\$VERSION$ )

  • پيکربندی ASP.NET به گونه ای که فايل هائی با انشعاب mdb . به HttpForbiddenHandler ، مپ گردند .
    بدين منظور دستورات زير به فايل Web.config مربوط به برنامه وب ، اضافه می گردد :

    Web.Config File : Just for a Web Application

    <httpHandlers>
    <add verb="*" path="*.mdb" type="System.Web.HttpForbiddenHandler" />
    </httpHandlers>

    <httpHandlers> می بايست درون المان <system.web> ، قرار گيرد .
    افزودن بخش <httpHandlers> به يک فايل     Web.Config باعث می شود که فايل هائی با انشعاب mdb. به HttpForbiddenHandler مربوط به يک برنامه وب مپ گردند ، در صورتی که قصد استفاده از mapping فوق را در تمامی برنامه های وب ASP.NET     موجود بر روی سرويس دهنده وب داشته باشيم ، ، می توان کد زيررا به بخش <httpHandlers> مربوط به فايل machine.con fig اضافه نمود ( فايل machine.config در دايرکتوری $WINDOWS_DIR$\Microsoft.Net\Framework\$VERSION$\CONFIG قرار دارد ).

    Machine.config File : All Web Application on the web server

    <httpHandlers>
    <add verb="*" path="*.mdb" type="System.Web.HttpForbiddenHandler" />
    </httpHandlers>

خلاصه
در اين مقاله با نحوه استفاده از ASP.NET HTTP handlers به منظور حفاظت فايل هائی با يک انشعاب خاص ، آشنا شديم . بدين منظور لازم است دو مرحله دنبال گردد: در اولين مرحله ، انشعاب فايل در IIS به ASP.NET ISAPI extension ، مپ گردد . در مرحله دوم می بايست پيکربندی ASP.NET engine را در خصوص mapping انشعاب مشابه به HttpForbiddenHandler ، نيز انجام داد. به منظور حفاظت يک فايل با انشعاب خاص ، می بايست دو مرحله اشاره شده را انجام داد . در صورتيکه هر يک از مراحل بدرستی پيکربندی نگردد، امکان مشاهده محتوی فايل توسط کاربران وجود خواهد داشت .

منبع : http://www.4guysfromrolla.com

جستجو
جستجو

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

مقالات
مشاهده گروه ها


نحوه ايجاد يک ارتباط ايمن بين سرويس گيرنده وسرويس دهنده

 نحوه ايجاد يک ارتباط ايمن بين سرويس گيرنده وسرويس دهنده New Page 1

ساير امکانات

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
ايجاد يک ارتباط ايمن در برنامه های وب (بخش پنجم) | مديريت وب | 1817 | 2 | 4

ايجاد يک ارتباط ايمن در برنامه های وب ( بخش اول )

ايجاد يک ارتباط ايمن در برنامه های وب (بخش پنجم)

آنچه تاکنون گفته شده است :

  • بخش اول ضرورت وجود يک ارتباط ايمن بين سرويس گيرنده و سرويس دهنده
  • بخش دوم : بررسی امضای ديجيتال و گواهينامه های ديجيتالی
  • بخش سوم : بررسی پارامترهای لازم به منظور انتقال اطلاعات حساس در يک شبکه
  • بخش چهارم : بررسی پروتکل SSL

در بخش پنجم اين مقاله به بررسی مراحل لازم به منظور استفاده از SSL دربرنامه های وب دات نت ، خواهيم پرداخت.
به منظور استفاده از SSL در برنامه های وب ، می بايست مراحل زير را دنبال نمود :

  • ايجاد يک درخواست گواهينامه از طريق IIS
  • درخواست يک گواهينامه از يک مرکز صدور گواهينامه ( CA )
  • نصب گواهينامه بر روی سرويس دهنده با استفاده از IIS
  • نصب گواهينامه بر روی مرورگر در صورتيکه از يک گواهينامه تستی استفاده می گردد.
  • استفاده از پروتکل ايمن https ، در زمان دستيابی به صفحات ايمن در برنامه وب

در ادامه به تشريح هر يک از مراحل فوق ، خواهيم پرداخت .

ايجاد يک درخواست گواهينامه ( ( Certificate Signing Request (CSR)
به منظور درخواست گواهينامه از يک مرکز صدور گواهينامه، می بايست در ابتدا درخواست يک گواهينامه توسط IIS ، ايجاد گردد . درخواست فوق ، شامل اطلاعات رمزشده در رابطه با سرويس دهنده مورد نظر شما بوده که مرکز صدور گواهينامه از آن به منظور تشخيص هويت وشناسائی سرويس دهنده بر روی اينترنت استفاده می نمايد . برای ايجاد يک درخواست گواهينامه مراحل زير را در IIS ، دنبال می نمائيم :

  • مرحله اول : انتخاب وب سايت پيش فرص در IIS و گزينه Properties از طريق منوی Action . در ادامه IIS ، جعبه محاوره ای سايت پيش فرض را نمايش خواهد داد .
  • مرحله دوم : انتخاب ( کليک ) Directory Security Tab و فعال نمودن گزينه Server Certificates . ويزارد مربوطه در ادامه توسط IIS فعال می گردد.

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

A Certificate Request ( Text file )

-----BEGIN NEW CERTIFICATE REQUEST-----
MIIDRTCCAq4CAQAwajESMBAGA1UEAxMJU3JjbyB0ZXN0MR
.............................
UfRx3N0vPhXMb+BMLQ90ZvvDPj5eCGrkag==
-----END NEW CERTIFICATE REQUEST-----

در ابتدا می بايست گواهينامه در ريشه سرويس دهنده ايجاد گردد.( قبل از اين که IIS ، قادر به برقراری يک ارتباط ايمن گردد) . پس از نصب يک گواهينامه سرويس دهنده در سطح ريشه ، می توان پردازش فوق را برای سايت های زيرمجموعه تکرار نمود( در صورتی که لازم است برای هر يک از سايت ها از يک گواهينامه جداگانه ، استفاده گردد ) .

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

  • مرحله اول : ملاقات وب سايت مرکز صدور گواهينامه و درخواست يک گواهينامه سرويس دهنده برای SSL . ( در اين رابطه گزينه ها ی متعددی بر اساس سطح امنيت وجود دارد ) .
  • مرحله دوم : انتخاب نوع گواهينامه سرويس دهنده مورد نظر و تکميل فرم اطلاعاتی مربوطه .
  • مرحله سوم : کپی و يا ارسال درخواست گواهينامه ايجاد شده در مرحله "ايجاد يک درخواست گواهينامه" توسط نامه الکترونيکی

پس از انجام عمليات فوق ، می بايست در انتظار تائيد اطلاعات ارسالی و صدور گواهينامه توسط مرکز صدور گواهينامه ماند . پس از تائيد ، مرکز صدور گواهنيامه اقدام به ارسال گواهينامه سرويس دهنده می نمايد. ( معمولا" از طريق يک نامه الکترونيکی ) . گواهينامه صادر شده را در يک فايل متنی و با انشعاب cer. ، ذخيره می نمائيم ( استفاده از عمليات Copy&Paste در ويرايشگر notpad )

Server Certificate

-----BEGIN CERTIFICATE -----
................
----- END CERTIFICATE ------

نصب گواهينامه
پس از ذخيره گواهينامه سرويس دهنده ، می توان در ادامه آن را در IIS نصب تا امکان استفاده از پروتکل SSL در برنامه ها ی وب ، فراهم گردد . به منظور نصب يک گواهينامه سرويس دهنده ، مراحل زير را دنبال می نمائيم :

  • مرحله اول : انتخاب وب سايت پيش فرص در IIS و گزينه Properties از طريق منوی Action . در ادامه IIS ، جعبه محاوره ای سايت پيش فرض را نمايش خواهد داد .
  • مرحله دوم : انتخاب ( کليک ) Directory Security Tab و فعال نمودن گزينه Server Certificates . ويزارد مربوطه در ادامه توسط IIS فعال می گردد.
  • مرحله سوم : دکمه Next را فعال و گزينه ... Prosecc The Pending Request And را مطابق شکل زير انتخاب می نمائيم .

  • مرحله چهارم : دکمه Next را فعال نموده و در ادامه نام فايل حاوی گواهينامه را وارد می نمائيم ( فايل فوق ، فايلی است که در مرحله " درخواست يک گواهينامه " ايجاد شده است )

  • مرحله پنجم : با فعال نمودن دکمه Next و در ادامه Finish ، عمليات نصب گواهينامه به اتمام می رسد .

استفاده از ارتباط ايمن
پس از نصب گواهينامه سرويس دهنده ، ارتباط ايمن فعال ومی توان با استفاده از پروتکل https ، درخواست يک صفحه ايمن را نمود.

A Secure Web page :

<a href="https://www.test.com/pay.aspx>Secure Page </a>

ارتباط ايمن تا زمان معرفی يک سايت غيرايمن ، همچنان وجود خواهد داشت . به منظور اتمام ارتباط ايمن ، می بايست از پروتکل http ، در URL مربوطه استفاده نمود .

End Secure Communication

<a href="http://www.test.com/Report.aspx>Not Secure Page </a>

با استفاده از IIS می توان ارتباط ايمن را برای فولدرها و يا فايل های خاصی در يک برنامه وب ،ايجاد نمود. به منظور ايجاد يک ارتباط ايمن برای يک صفحه خاص با استفاده از IIS ، مراحل زير را دنبال می نمائيم .

  • مرحله اول : انتخاب فولدر و يا فايل مورد نظری که نيازمند استفاده از يک ارتباط ايمن می باشد .با انتخاب گزينه Properties از طريق منوی Action ، جعبه محاوره ای Properties نمايش داده می شود.

  • مرحله دوم : انتخاب ( کليک ) Directory Security Tab و فعال نمودن گزينه Secure Communication . در ادامه IIS ، جعبه محاوره ای Secure Communication را نمايش خواهد داد.

  • مرحله سوم : گزينه (Require Secure Channel ( SSL را انتخاب و در ادامه دکمه OK را فعال می نمائيم .

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

جستجو
جستجو

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

مقالات
مشاهده گروه ها


نحوه ذخيره و بازيابی داده توسط ADO.NET

 نحوه ذخيره و بازيابی داده توسط ADO.NET New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
ذخيره و بازيابی داده توسط ADO.NET (بخش اول) | مديريت وب | 4376 | 13 | 3.5

ذخيره و بازيابی داده توسط ADO.NET (بخش اول)

ذخيره و بازيابی داده توسط ADO.NET (بخش اول)

با استفاده از ADO.NET ، امکان اتصال به منابع داده متفاوت ، بازيابی ، پردازش و بهنگام سازی داده ، فراهم می گردد . ADO.NET از XML به منظور انتقال داده بين برنامه ها و منابع داده استفاده می نمايد .ويژوال استوديو دات نت دارای امکانات متعددی به منظور دستيابی به بانک های اطلاعاتی (برخاسته از ADO.NET ) ، می باشد. پس از اتصال به يک بانک اطلاعاتی می توان با استفاده از مجموعه ای از اشياء ، خصلت ها و متدها ، صرفنظر از نوع بانک اطلاعاتی ، عمليات مورد نظر خود در ارتباط با يک بانک اطلاعاتی را انجام داد. در اين مقاله به بررسی امکانات ويژوال استوديو دات نت به منظور اتصال به يک بانک اطلاعاتی و انجام عمليات متفاوتی همچون خواندن ، تغيير و حذف رکوردهای موجود در يک بانک اطلاعاتی ، خواهيم پرداخت .

مبانی اوليه ADO.NET
به منظور دستيابی به داده در ADO.NET ، سه لايه وجود دارد :

  • محل فيزيکی ذخيره سازی داده : لايه فوق می تواند يک بانک اطلاعاتی OLE ، يک بانک اطلاعاتی SQL و يا يک فايل XML باشد .

  • ارائه دهنده داده : لايه فوق ، شامل شی Connection و اشياء Command بوده و تصويری از داده ها را در حافظه ايجاد می نمايد.

  • Data set : لايه فوق ، رکوردهای بازيابی شده از يک منبع داده را در خود نگهداری می نمايد. يک Data Set شامل رکوردهائی از يک و يا چندين جدول می باشد .

لايه ارائه دهنده داده ، واسطه بين محل ذخيره سازی داده و Data Set ، می باشد .Data Set مستقل از منبع داده است .

در ADO.NET از دو نوع Connection به منظور اتصال به يک بانک اطلاعاتی ( با توجه به نوع بانک اطلاعاتی ) استفاده می گردد :

  • شی OleDbConnection که از آن به منظور ارتباط به يک بانک اطلاعاتی محلی استفاده می گردد. اين نوع ارتباطات از شی OleDbDataAdapter به منظور اجرای دستورات و برگرداندن داده استفاده می نمايند .

  • شی SqlDbConnection که از آن به منظورارتباط به يک بانک اطلاعاتی سرويس دهنده ، استفاده می گردد.اين نوع ا رتباطات از شی SqlDbDataAdapter به منظور اجرای دستورات و برگرداندن داده استفاده می نمايند .

علاوه بر موارد فوق ، امکان دستيابی مستقيم به فايل های XML با استفاده از متدهای ReadXML و WriteXML مربوط به شی DataSet ، نيز وجود دارد.
اشياء ، خصلت ها و متدهای حمايت شده توسط ADO.NET توسط سه namespace ارائه می گردد :

  • System.Data : در اين namespace کلاس ها ، نوع ها و سرويس های لازم به منظور ايجاد و دستيابی به data set و اشياء زير مجموعه آن وجود دارد .

  • System.Data.SqlClient : در اين namespace کلاس ها و نوع های لازم به منظور دستيابی به بانک های اطلاعاتی SQL Server ، وجود دارد.

  • System.Data.OleDb : در اين namespace کلاس ها و نوع های لازم به منظور دستيابی به بانک های اطلاعاتی OLE ، وجود دارد .

در زمان دستيابی و استفاده از بانک های اطلاعاتی ( از طريق کد نوشته شده ) ، می بايست از عبارت Imports در ابتدای ماژول استفاده گردد .

VB.NET

Imports System.Data
Imports System.Data.SqlClient 'For SQL database Connection
Imports System.Data.OleDb 'For OLE DB database Connection

به منظور دستيابی داده از طريق ADO.NET ، مراحل زير را دنبال می نمائيم :

  • ايجاد ارتباط با بانک اطلاعاتی توسط يک شی Connection

  • فراخوانی يک command به منظور ايجاد يک Dataset با استفاده از يک شی adapter

  • استفاده از شی DataSet (در کد نوشته شده ) ، به منظورنمايش داده و يا تغيير آيتم های موجود در بانک اطلاعاتی

  • فراخوانی يک Command به منظور بهنگام سازی بانک اطلاعاتی از طريق DataSet با استفاده از يک شی adapter

  • غير فعال نمودن ( Close ) ارتباط ايجاد شده با بانک اطلاعاتی در صورتيکه ارتباط با بانک اطلاعاتی توسط متد Open فعال شده باشد .

در ادامه به تشريح هر يک از مراحل فوق خواهيم پرداخت .

ارتباط با بانک اطلاعاتی
با استفاده از Server Explorer در ويژوال استوديو دات نت ، امکان ايجاد يک ارتباط با بانک اطلاعاتی فراهم می گردد. در اين رابطه مراحل زير را دنبال می نمائيم (در حالت Design ) :

  • فعال نمودن Server Explorer ( از طريق View|Server Explorer )

  • در Server Explorer ، گزينه Connect To Database را انتخاب می نمائيم .در ادامه جعبه محاوره ای DataLink Properties نمايش داده می شود.

  • از طريق Provider Tab ، نوع بانک اطلاعاتی را مشخص می نمائيم . به صورت پيش فرض ، OLE DB Provider for SQL Server انتخاب شده است . در صورتيکه بانک اطلاعاتی تحت SQL Server اجراء می گردد ، انتخاب پيش فرض درست می باشد . به منظور دستيابی به يک نوع ديگر بانک اطلاعاتی ، می بايست Provider مربوطه را انتخاب نمود. مثلا" برای دستيابی به يک بانک اطلاعاتی اکسس ، Micosoft Jet 4.0 OLE DB انتخاب می گردد .

  • از طريق Connection Tab ، بانک اطلاعاتی مورد نظری که قصد برقراری ارتباط با آن وجود دارد را انتخاب می نمائيم

  • پس از اعمال تنظيمات لازم با کليک نمودن بر روی دکمه Test Connection ، می توان از صž


نحوه ذخيره و بازيابی داده توسط ADO.NET

 نحوه ذخيره و بازيابی داده توسط ADO.NET New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
ذخيره و بازيابی داده توسط ADO.NET (بخش دوم ) | مديريت وب | 3734 | 11 | 4.5

ذخيره و بازيابی داده توسط ADO.NET (بخش دوم)

ذخيره و بازيابی داده توسط ADO.NET (بخش دوم)
در بخش اول اين مقاله با نحوه ايجاد Connection و Dataset آشنا شديم . همانگونه که اشاره گرديد از مجموعه های Tables,Rows و Columns برای دستيابی به داده موجود در يک DataSet استفاده می گردد. با استفاده از مجموعه Rows می توان سطرهائی از يک DataSet را تغيير، حذف و يا سطر جديدی را به آن اضافه نمود. در ادامه به بررسی نحوه انجام عمليات فوق ، خواهيم پرداخت . در اين رابطه از يک بانک اطلاعاتی نمونه ( SQL Server ) با نام Contact ، يک DataSet نمونه با نام Dataset11 ، يک کنترل DataGrid بر روی فرم وب با نام DataGrid1 و سه Button به منظور انجام عمليات افزودن ، ويرايش و حذف سطرهائی از DataSet استفاده شده است :

بانک اطلاعاتی Contact :

Data set نمونه :

فرم وب WebForm2.aspx : ( شامل DataGrid ، سه Button و اشياء لازم به منظور ارتباط با بانک اطلاعاتی )

تنظيم خصلت های DataGrid :

اجرای اوليه WebForm2.aspx :

اضافه نمودن رکورد
 برای افزودن يک رکورد به Data Set ، می بايست يک شی جديد Row ، ايجاد و در ادامه آن را به مجموعه Rows مربوط به شی DataSet اضافه نمود. کد زير، نحوه انجام عمليات فوق را نشان می دهد :

VB.NET ::Add Record

Private Sub butAddRow_Click (ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles butAddrow.Click
Dim rowNew As DataSet1.ContactRow = DataSet11.Contact.NewRow
rowNew.Fname = "مديريت سايت "
rowNew.Lname = "مديريت سايت "
rowNew.Email = "Info@Srco.ir"
DataSet11.Contact.Rows.Add(rowNew)
End Sub

پس از فعال نمودن ( کليک ) دکمه "اضافه نمودن رکورد" ، يک سطر با اطلاعات فوق به Dataset اضافه شده و در ادامه بهنگام سازی بانک اطلاعاتی از طريق DataSet می شود.

ويرايش يک رکورد
برای تغيير يک سطر در Data Set ، در ابتدا با استفاده از متد FindBy سطر مربوطه را پيدا نموده ( بر اساس يک کليد جستجو که معمولا" فيلدی است که در بانک اطلاعاتی به عنوان "کليد اوليه " ، تعريف شده است ) و در ادامه می توان تغييرات دلخواه را بر روی فيلدهای اطلاعاتی ، اعمال نمود( فيلد ID به عنوان DataKeyField در DataSet تعريف شده است ) .کد زير، نحوه انجام عمليات فوق را نشان می دهد :

VB.NET ::Update Record

Private Sub butChangeRow_Click (ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles butChangeRow.Click
Dim rowChange As DataSet1.ContactRow
rowChange = DataSet11.Contact.FindByID("2")
rowChange.Fname = "ايران"
End Sub

در مثال فوق ، سطری که دارای ID با شماره 2 می باشد ، با استفاده از متد FindBy پيدا شده و در ادامه فيلد Fname آن به " ايران" ، تغيير داده می شود. پس از اجرای برنامه و فعال نمودن دکمه " ويرايش رکورد " ، تغييرات در DataSet اعمال و در ادامه بهنگام سازی بانک اطلاعاتی از طريق DataSet می شود.

حذف رکورد
برای حذف يک سطر در Data Set ، در ابتدا با استفاده از متد FindBy يک سطر از جدول را در اختيار گرفته و در ادامه با استفاده از متد Delete مربوط به شی Row آن را حذف می نمائيم .کد زير، نحوه انجام عمليات فوق را نشان می دهد :

VB.NET :: Delete Record

Private Sub butDeleteRow_Click (ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles butDeleteRow.Click
Dim rowDelete As DataSet1.ContactRow
 rowDelete = DataSet11.Contact.FindByID("9")
 rowDelete.Delete()
End Sub

در مثال فوق ، سطری که دارای ID با شماره 9 می باشد ، با استفاده از متد FindBy ، پيدا شده و در ادامه امکان حذف آن با استفاده از متد Delete ، فراهم می گردد. پس از اجرای برنامه و فعال نمودن دکمه " حذف رکورد " ، تغييرات در DataSet اعمال و در ادامه بهنگام سازی بانک اطلاعاتی از طريق DataSet انجام می شود.

بهنگام سازی بانک اطلاعاتی از طريق DataSet
با استفاده از متد Update مربوط به Adapter می توان اقدام به بهنگام سازی بانک اطلاعاتی از طريق شی DataSet نمود.عمليات فوق، معمولا" پس از پردازش تمامی رويدادهای کنترل بر روی صفحه انجام می شود ، بنابراين می توان متد Update را از طريق رويداد Page_PreRender فعال نمود ( فراخوانی ).

VB.NET :: Update Database From DataSet

Private Sub Page_PreRender (ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles MyBase.PreRender
SqlDataAdapter1.Update(DataSet11)
End Sub

ADO.NET در زمان بهنگام سازی يک بانک اطلاعاتی از طريق Data Set ، عمليات زير را انجام می دهد:

  • تشخيص تغييرات بر روی Data Set با بررسی خصلت RowState مربوط به هر يک از اشياء DataRow
  • فراخوانی InsertCommand,DeleteCommand و يا UpdateCommand مربوط به شی Adapter به منظور اعمال تغييرات لازم دربانک اطلاعاتی
  • Reset نمودن خصلت های RowState بهنگام شده مربوط به اشياء DataRow به UnChanged

خصلت های InsertCommand,DeleteCommand و UpdateCommand مربوط به شی Adapter به صورت اتوماتيک و از طريق شی SelectCommand ايجاد می گردند(زمانی که Data Set از طريق يک Adapter ( در حالت Design ) ايجاد می گردد). هر يک از خصلت های فوق ، يک شی OleCommand و يا SqlCommand را ارائه می نمايند . اشياء Command دارای خصلت های زير می باشند که نحوه اجرای Command را مشخص می نمايند .

  • خصلت CommandText شامل عبارت SQL و يا نام Stored Procedure به منظور اجرای دستور است.

  • خصلت CommandType نحوه اجرای دستور را با استفاده از تنظيمات زير مشخص می نمايد :
    مقدار Text ، باعث اجرای دستور به عنوان يک عبارت SQL می گردد ( مقدار پيش فرض )
    مقدار StoredProcedure ، باعث اجرای دستور به عنوان يک Stored Procedure در بانک اطلاعاتی می گردد .
    مقدار TableDirect ، باعث برگرداندن تمامی جدول می گردد . تنظيم فوق صرفا" در رابطه با OLE DB.NET استفاده می شود (


نحوه ذخيره وبازيابی داده توسط ADO.NET

 نحوه ذخيره وبازيابی داده توسط ADO.NET New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
ذخيره و بازيابی داده توسط ADO.NET (بخش سوم) | مديريت وب | 2780 | 4 | 3.8

ذخيره و بازيابی داده توسط ADO.NET (بخش سوم)

ذخيره و بازيابی داده توسط ADO.NET (بخش سوم)

آنچه تاکنون گفته شده است :

  • بخش اول : نحوه ايجاد Connection و Dataset
  • بخش دوم : عمليات بر روی يک Dataset

اکثربرنامه کامپيوتری نيازمند دستيابی به داده از طريق يک منبع داده ( Data Source ) می باشند . فريمورک دات نت ، امکان طراحی و پياده سازی برنامه های کامپيوتری با محوريت داده را فراهم و امکان دستيابی به داده از طريق منابع داده متفاوت و با استفاده از يک محيط همگن و يکپارچه توسط ADO.NET را فراهم می نمايد. ADO.NET امکان ايجاد برنامه های توزيعی و اشتراک داده بين آنان را فراهم می نمايد . با استفاده از امکانات ADO.NET امکان ارتباط با منابع داده متفاوت ، بازيابی ، پردازش و بهنگام سازی داده فراهم می گردد. ADO.NET از XML به منظور انتقال داده بين برنامه ها و منابع داده ، استفاده می نمايد.
اکثر کنترل های سرويس دهنده ASP.NET دارای پتانسيلی با نام " نسبت دهی داده " ( Data Binding ) ، می باشند. نسبت دهی داده ، فرآيندی است که در آن امکان استفاده از داده در يک برنامه وب فراهم می گردد. مثلا" می توان کنترل های سرويس دهنده DataGrid و DataList را بر روی يک فرم وب و به منظور نمايش داده موجود در يک Data Set استفاده نمود . دراين مقاله قصد داريم به با نحوه نمايش يک Data Set بر روی يک فرم وب با استفاده از کنترل DataGrid بيشتر آشنا شويم .

منابع داده ( Data Sources )
"منبع داده " ، يک بانک اطلاعاتی سرويس دهنده و يا يک فايل XML می باشد . برای دستيابی به يک منبع داده ، می بايست يک ارتباط( Connection ) با منبع داده از طريق Data Providers ، ايجاد گردد.Data Provider ارائه شده همراه ADO.NET ، امکان برقراری ارتباط به يک منبع داده و انجام عمليات متفاوتی نظير اجرای دستورات SQL را فراهم می نمايد .

NET Data Provider .
Data Provider ، امکان برقراری ارتباط با يک منبع داده را فراهم و در ادامه می توان دستوراتی را اجراء و نتايج مورد نظر را بازيابی نمود. . يک Data Provider ارائه شده در دات نت ، شامل اشياء Connection,Command,DataReader و DataAdapter بوده که امکان ارتباط با بانک اطلاعاتی و اجرای دستورات SQL را فراهم می نمايد. ويژوال استوديو دات نت و فريمورک دات نت ، شامل دو Provider ، با نام OLE DB .NET و SQL Server .NET می باشد . با استفاده از OLE DB.NET Provider می توان به منابع داده از نوع OLE DB ارتباط برقرار نمود. با بکارگيری SQL Server .NET Provider ، امکان برقراری ارتباط با بانک های اطلاعاتی SQL Server 7.0 و بعد از آن فراهم می گردد.

DataSet

  • يک Cache از رکوردهای بازيابی شده از يک منبع داده نظير يک بانک اطلاعاتی و يا يک فايل XML است.

  • شامل رکوردهائی از يک و يا چندين جدول و اطلاعاتی در خصوص نحوه ارتباط آنان می باشد.

  • با استفاده از DataSet ، امکان انجام پردازش دلخواه با توجه به خواسته کاربر ، ميسر می گردد.

  • از DataSet بدون يک منبع داده به منظور مديريت داده دريافتی از يک برنامه و يا يک فايل XML ، استفاده می گردد .

  • امکان ارتباط با بانک اطلاعاتی را به صورت غيرمتصل فراهم می نمايد .

  • امکان مبادله يک DataSet بين عناصر موجود در لايه های متفاوت وجود دارد. مثلا" يک عنصر در Tier ميانی می تواند اقدام به ايجاد و توزيع يک DataSet و ارسال آن برای عنصر ديگر در يک برنامه نموده تا امکان پردازش لازم برروی DataSet ، فراهم گردد.

  • در زمان ايجاد يک برنامه با محوريت داده که از ADO.NET استفاده می گردد ، داده بين اشياء متفاوت منتقل می گردد. داده در ابتدا از يک منبع داده به يک DataSet و در ادامه به عنصر مورد نظر منتقل می گردد( نظير کنترل ها در يک فرم وب) .

  • ADO.NET از XML به منظور انتقال داده بين عناصر متفاوت يک برنامه استفاده می نمايد . ADO.NET به صورت اتوماتيک فايل های XML را با استفاده از داده موجود در يک DataSet ايجاد و در ادامه آنان را برای عنصر ديگر ارسال می نمايد .

  • يک DataSet ، مجموعه ای از جداول و اطلاعاتی در رابطه با نحوه ارتباط بين آنان می باشد. هر جدول شامل مجموعه ای از سطرها ، ستون ها و محدوديت ها است . برای دستيابی به اين عناصر می توان از خصلت ها و مجموعه های يک DataSet استفاده نمود. برای کار با DataSet در ADO.NET از کلاس های زير استفاده می شود :
    - کلاس DataSet : کلاس فوق ، شامل مجموعه Tables از جداول موجود در يک DataSet می باشد . علاوه بر اين، کلاس DataSet شامل مجموعه Relations بوده که ارتباط بين جداول در يک DataSet را مشخص می نمايد .
    - کلاس DataTables : کلاس فوق ، شامل مجموعه های Rows و Columns بوده که مسئوليت ارائه سطرها و ستون ها را برعهده دارند.کلاس فوق، همچنين شامل مجموعه های ChildRelation و ParentRelation بوده که ارتباط بين جداول را مشخص می نمايد.
    - کلاس DataRow : کلاس فوق ، شامل خصلت RowState می باشد . خصلت فوق ، تغيير يک سطر پس از لود شدن جدول از يک بانک اطلاعاتی را مشخص نموده و می تواند دارای مقادير Deleted,Modified,New و Unchanged ، باشد .

DataGrid
کنترل سرويس دهنده وب DataGrid ، داده ها را در يک لی اوت جدول بندی شده ، نمايش میدهد . به صورت پيش فرض DataGrid داده را در حالت Read-only ( فقط خواندنی ) نمايش داده ولی امکان نمايش داده به صورت اتوماتيک در زمان اجراء در کنترل های قابل ويرايش ، نيز وجود دارد DataGrid ، امکان Pagging را نيز فراهم می نمايد .کنترل DataGrid ، فيلدهای يک منبع داده را به عنوان ستون هائی در يک جدول نمايش می دهد. هر سطر در کنترل DataGrid نشان دهنده يک رکورد در منبع داده است . کنترل DataGrid امکاناتی همچون : انتخاب ، ويرايش ، حذف ، مرتب سازی و paging را حمايت می نمايد .

نمايش يک DataSet در DataGrid
ساده ترين روش نمايش يک Data Set بر روی يک فرم وب ، استفاده از کنترل DataGrid و مقداردهی مناسب خصلت DataSource آن می باشد.بدين منظور مراحل زير را دنبال می نمائيم :

  • ايجاد اشياء Connection,Adapter و Dataset ( در بخش اول مقاله ، توضيح داده شده است ) .

  • اضافه نمودن يک کنترل DataGrid بر روی فرم وب

  • مقداردهی خصلت DataSource مربوط به DataGrid به نام Data Set

  • افزودن کد لازم در رويداد Page_Load به منظور پر نمودن Data Set از طريق Adapter و نسبت دهی داده از Data Set به DataGrid

VB.NET

Private Sub Page_Load (ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles Mybase.Load
SqlDataAdapter1.Fill(DataSet11)
DataGrid1.DataBind()
End Sub

روتين فوق ، تمامی ستون های موجود در Data Set را بدون فرمت مناسب و به صورت زير نمايش می دهد :

همانگونه که مشاهده می شود ،DataGrid بدون فرمت خاصی نمايش داده شده است .برای انتخاب ستون هائی که قصد نمايش آنان را در DataGrid داريم و همچنين تعريف فرمت مناسب برای نمايش هر يک از آنان ، مراحل زير را دنبال می نمائيم :

  • کليک بر روی Property Builder در پنجره Properties . در ادامه ، جعبه محاوره ای Properties برای DataGrid نمايش داده می شود .

  • در صورتی که قصد نمايش تمام ستون های موجود را در DataGrid داشته باشيم ، می بايست گزينه Create Columns automatically at run time به همان وضعيت پيش فرض ( انتخاب شده ) باقی مانده و صرفا" با انتخاب گزينه Format ، اقدام به تعريف فرمت نمايش DataGrid و هر يک از ستون های مربوط به آن نمود.

  • در صورتی که قصد نمايش تمامی ستون های موجود را در DataGrid نداشته باشيم می بايست مقدارگزينه Create Columns automatically at run time ، غير فعال و در ادامه با استفاده از دکمه ">"، ، ستون ها ی مورد نظر به منظور نمايش در DataGrid را مشخص نمود . پس از انتخاب هر ستون می توان تظميمات لازم در ارتباط با آن را انجام داد. به عنوان نمونه ، می توان با استفاده از Header Text ، عنوان هر يک از ستون ها و با استفاده از Footer Text عنوان مورد نظر برای نمايش در قسمت پائين هر ستون را مشخص نمود ( مقدار پيش فرض ، Blank است ) .

  • برای تعريف فرمت مناسب برای هر يک از ستون ها در DataGrid ، گزينه Format را از طريق جعبه محاوره ای DataGrid Properties انتخاب و در ادامه می توان تنظيمات لازم ( رنگ رويه ، رنگ زمينه ، نوع و اندازه فونت ، تراز متن ) به منظور نمايش DataGrid ، عناوين ، ستون های انتخاب شده و ساير موارد ديگر را انجام داد. ( بررسی تمامی امکانات DataGrid از حوصله اين مقاله خارج بوده و در مقالاتی جداگانه به بررسی کامل آن خواهيم پرداخت ) .

شکل زير يک DataGrid فرمت شده را نمايش می دهد :

در بخش چهارم اين مقاله با نحوه استفاده از Data Set در يک DataList آشنا خواهيم شد.

جستجو
جستجو

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

مقالات
مشاهده گروه ها


نحوه ذخيره وبازيابی داده توسط ADO.NET

 نحوه ذخيره وبازيابی داده توسط ADO.NET New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
ذخيره و بازيابی داده توسط ADO.NET (بخش چهارم) | مديريت وب | 2486 | 2 | 5

ذخيره و بازيابی داده توسط ADO.NET (بخش چهارم)

ذخيره و بازيابی داده توسط ADO.NET (بخش چهارم)

آنچه تاکنون گفته شده است :

  • بخش اول : نحوه ايجاد Connection و Dataset
  • بخش دوم : عمليات بر روی يک Dataset
  • بخش سوم : نمايش DataSet در يک DataGrid

در اين بخش با نحوه نمايش DataSet در يک DataList آشنا می شويم .
با استفاده از کنترل DataList می توان اطلاعات موجود در يک Data Set را به صورت ليستی مشتمل بر مجموعه ای از سطرها نمايش داد. ( برخلاف DataGrid که شامل سطرها و ستون هائی است ). کنترل فوق برای نمايش سطرهائی از داده مناسب می باشد . برای تعريف فرمت نمايش داده می توان از تمپليت ها و Style استفاده نمود . در کنترل DataList ، سطرهائی از داده به عنوان آيتم هائی در ليست محسوب شده و می توان برای تعريف لی اوت آنان در تمپليت ها از HTML Text و يا ساير کنترل ها ، استفاده نمود. مثلا" می توان از کنترل Label برای نمايش يک فيلد از منبع داده در تمپليت مربوطه استفاده نمود . مبنای اصلی فرمت نمايش داده از يک منبع داده ، تمپليت ها بوده و می توان از آنان به منظور تعيين شکل ظاهری و محتوی کنترل استفاده بعمل آورد. در اين رابطه لازم است در ابتدا با استفاده از تمپليت های Header ، Footer و Separator فرمت مورد نظر خود را برای شکل ظاهری کنترل DataList مشخص نموده و در ادامه با استفاده از تمپليت ItemTemplate ، آيتم ها ی مورد نظر به منظور نمايش در ليست به همراه فرمت مربوطه را تعريف نمود.
برای نمايش يک Data Set در کنترل DataList ، مراحل زير را دنبال می نمائيم :

  • ايجاد اشياء Connection,Adapter و Dataset ( در بخش اول مقاله ، توضيح داده شده است ) .

  • افزودن يک کنترل DataList به فرم وب

  • مقداردهی مناسب خصلت DataSource کنترل DataList به Data Set ايجاد شده

  • افزودن کد لازم به رويداد Page_Load مربوط به صفحه به منظور پرنمودن Data Set و نسبت دهی داده از Data Set به DataList

VB.NET ::

Private Sub Page_Load (ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles Mybase.Load
SqlDataAdapter1.Fill (DataSet11)
DataList1.DataBind ( )
End Sub

  • ويرايش عنوان کنترل DataList ، آيتم ها و جداکننده تمپليت برای تعريف فرمت و شکل ظاهری DataList
    کنترل DataList از تمپليت ها برای مشخص نمودن محتوی عناوين ، زير نويس ها و سطرها استفاده می نمايد. با ويرايش هر يک از تمپليت ها ی ارائه شده، امکان استفاده از متن و يا کنترل هائی که به آيتم هائی در Data Set نسبت داده می شوند، فراهم می گردد. در اين رابطه سه گروه تمپليت ارائه شده است :
    Header و Footer : تمپليت های فوق ، عنوان و زيرنويس يک DataList را مشخص می نمايند . (ابتدا و انتهای DataList ).
    Items : تمپليت فوق ، محتوی سطرها در يک DataList را مشخص نموده و امکان تغيير شکل ظاهری سطرهای زوج ، فرد ، انتخاب شده و يا ويرايش شده ، فراهم می گردد.
    Separator : با استفاده از تمپليت فوق می توان سياست مورد نظر خود را برای تفکيک هر يک سطرها از يکديگر ، مشخص نمود . ( خط افقی و يا ساير جداکنندها )

ويرايش يک تمپليت DataList
برای ويرايش هر يک از تمپليت های اشاره شده ، مراحل زير را دنبال می نمائيم :

  • کليک سمت راست بر روی کنترل DataList ، انتخاب گزينه Edit Template و در نهايت مشخص نمودن نوع تمپليتی که قصد ويرايش آن را داريم :

  • پس از انتخاب تمپليت مورد نظر برای ويرايش ، شکل ظاهری کنترل DataList تغيير می نمايد . در ادامه می توان متن مورد نظری را که قصد نمايش آن در تمپليت را داريم تايپ و در نهايت کنترل های مورد نظر را به آن اضافه می نمائيم ( در اين مثال از دو کنترل Label استفاده شده است ) .

  • به منظور نمايش يک آيتم از Data Set در تمپليت ، در ابتدا يک کنترل ( در اين مثال از کنترل Lable استفاده شده است ) به تمپليت اضافه نموده و در ادامه بر روی خصلت DataBindings آن کليک تا جعبه محاوره ای DataBindings برای کنترل مورد نظر نمايش داده شود .

  • پس از اعمال تغييرات مورد نظر در تمپليت و يا کنترل های استفاده شده در تمپليت ، بر روی کنترل DataList کليک سمت راست نموده و گزينه End Template Editing را انتخاب می نمائيم .

کد HTML زير نام و آدرس پست الکترونيکی ( انتخاب شده از طريق يک Data Set ) را در يک DataList نمايش می دهد :

Display a DataList Control

<asp:DataList id=DataList1 runat="server" DataSource="<%# DataSet11 %>" >
<HeaderTemplate>
<P dir="rtl" >DataListنمايش اطلاعات با استفاده ا ز </P>
</HeaderTemplate>
<ItemStyle Font-Size="X-Small" Font-Names="Tahoma" ></ItemStyle>
<ItemTemplate>
<TABLE id="Table29" >
<TR>
<TD dir="ltr" align="left">
<asp:Label id=lblEmail runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Email") %>' >
</asp:Label></TD>
<TD dir="rtl" align="right">
<asp:Label id=lblFname runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Fname") %>' >
</asp:Label></TD>
</TR>
</TABLE>
</ItemTemplate>
</asp:DataList>

پس از اجرای برنامه ، کنترل DataList اطلاعاتی مشابه زير را نمايش خواهد داد .

در بخش پنجم اين مقاله با نحوه نمايش داده موجود در يک Data Set در کنترل های ListBox , DropDown,CheckBoxList و RadioButtonList آشنا خواهيم شد .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


نحوه ذخيره وبازيابی داده توسط ADO.NET

 نحوه ذخيره وبازيابی داده توسط ADO.NET New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
ذخيره و بازيابی داده توسط ADO.NET (بخش پنجم) | مديريت وب | 2603 | 0 | 0

ذخيره و بازيابی داده توسط ADO.NET (بخش پنجم)

ذخيره و بازيابی داده توسط ADO.NET (بخش پنجم)

آنچه تاکنون گفته شده است :

  • بخش اول : نحوه ايجاد Connection و Dataset
  • بخش دوم : عمليات بر روی يک Dataset
  • بخش سوم : نمايش DataSet در يک DataGrid
  • بخش چهارم : نمايش DataSet در يک DataList

در اين بخش با نحوه نمايش داده موجود در Data Set در کنترل های ListBox , DropDown,CheckBoxList و RadioButtonList آشنا خواهيم شد .
داده موجود در يک DataSet را می توان به هر نوع List Conrol استفاده شده بر روی يک فرم وب ، نسبت داد .کنترل های DataSet و DataList صرفا" دو نمونه متداول به منظور نمايش يک DataSet می باشند. برای نمايش داده موجود در يک DataSet می توان از کنترل های ListBox,DropDownList,CheckBoxList و يا RadioButtonList ، نيز استفاده نمود .

  • کنترل DropDownList : با استفاده از کنترل فوق ، کاربران قادر به انتخاب يک آيتم از ليست Drop-Down می باشند.

  • کنترل ListBox : با استفاده از کنترل فوق ، کاربران قادر به انتخاب يک و يا چندين آيتم از طريق يک ليست از قبل تعريف شده می باشند. با تنظيم خصلت SelectionMode به Multiple امکان انتخاب چندين آيتم در اختيار کاربران قرار خواهد گرفت . ( در صورتی که خصلت فوق مقدار Single را داشته باشد ، صرفا" امکان انتخاب يک آيتم وجود خواهد داشت ) .

  • کنترل CheckBoxList : برای اضافه نمودن Check box بر روی يک فرم وب ، می توان از کنترل CheckBox و يا CheckBoxList ، استفاده کرد. کنترل های فوق ، روشی مناسب به منظور ورود اطلاعات منطقی توسط کاربران را ارائه می نمايند : True/False , yes/no و on/off .

  • کنترل RadioButtonList : برای اضافه نمودن دکمه های Radio button بر روی يک فرم وب ، می توان از کنترل RadioButton و يا RadioButtonList ، استفاده نمود.

برای نمايش داده ازDataSet در يک ListBox,DropDownList,CheckBoxList و يا RadioButtonList ، مراحل زير را دنبال می نمائيم :

  • مقداردهی خصلت DataSource کنترل به نام Data Set

  • مقداردهی خصلت DataText کنترل به يکی از فيلدهای موجود در Data Set (فيلدی که به عنوان خصلت Text ليست نمايش داده خواهد شد).

  • مقداردهی خصلت DataValue کنترل به يکی از فيلدهای موجود در Data Set (مقداری که به عنوان خصلت Value برگردانده خواهد شد ) .
    تنظيمات يک کنترل DropDownList نمونه :

  • پر نمودن Data set از طريق Data adapter ايجاد شده و نسبت دهی آن به کنترل

VB.NET ::

Private Sub Page_Load (ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles Mybase.Load
SqlDataAdapter1.Fill (DataSet11)
DropDownList1.DataBind()
End Sub

در زمان اجراء ، کنترل DropDownList ، ليستی از اسامی ( Fname ) را از جدول Contact استخراج و آنان را نمايش خواهد داد.خصلت SelectedItem.Value ، مقدار ID را برمی گرداند . ازفيلد ID ، می توان به عنوان يک کليد به منظور بازيابی ساير اطلاعات استفاده نمود.

کنترل DropDownList صرفا" می تواند شامل يک مقدار برای خصلت های DataText و DataValue مربوط به کنترل باشد .در صورتی که قصد استفاده از نام ( Fname ) و نام خانوادگی ( Lname ) از افراد موجود در جدول Contact را داشته باشيم، می بايست اين کار را از طريق کد انجام داد. روتين مربوط به رويداد Page_Load ، نام خانوادگی ( Lname ) و نام ( Fname ) را به DropDownList اضافه نموده و ID به عنوان خصلت Value برای هر يک از آيتم ها ی موجود در ليست در نظر گرفته خواهد شد :

VB.NET ::

Private Sub Page_Load (ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles Mybase.Load
 If Not IsPostBack Then
 SqlDataAdapter1.Fill(DataSet11)
 Dim drowItem As DataSet1.ContactRow
 For Each drowItem In DataSet11.Contact
 Dim lstNew As New ListItem()
 lstNew.Text = drowItem.Fname & " ◄ " & drowItem.Lname
 lstNew.Value = drowItem.ID()
 DropDownList1.Items.Add(lstNew)
 Next
 End If
End Sub

انتخاب رکوردهائی خاص
با توجه به مقدار برگردانده شده توسط DropDownList ، می توان از آن به عنوان کليدی در جهت بازيابی ساير اقلام اطلاعاتی در بانک اطلاعاتی استفاده نمود. ID ، يک کليد منحصر بفرد در جدول Contact بوده و می توان از آن به منظور استخراج و نمايش ساير اطلاعات ، استفاده کرد. کد زير يک DataSet شامل اطلاعات مربوط به فرد انتخاب شده در ليست DropDownList را ايجاد می نمايد.

VB.NET ::DropDownList1_SelectedIndexChanged

Private Sub DropDownList1_SelectedIndexChanged(ByVal sender As System.Object,_
ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged
SqlDataAdapter1.SelectCommand.CommandText = "SELECT * FROM Contact " &_
"WHERE ID=" & DropDownList1.SelectedItem.Value
DataSet11.Clear( )
SqlDataAdapter1.Fill(DataSet11)
DataGrid1.DataBind()
End Sub

VB.NET ::Page Load Event

Private Sub Page_Load (ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles Mybase.Load
SqlDataAdapter1.Fill (DataSet11)
DropDownList1.DataBind()
DropDownList1.SelectedIndex = 0
End Sub

در مثال فوق ، از يک کنترل DropDownList و يک DataGrid در فرم وب استفاده شده است . با انتخاب يک آيتم از طريق ليست ارائه شده توسط کنترل DropDownList ، ساير اطلاعات فرد انتخاب شده از بانک اطلاعاتی استخراج ( با توجه به Query اجراء شده ) و پس از خالی نمودن Dataset ( پر شده در مرحله قبل ) ، مقدار DataSet با توجه به Query جديد ، مجددا" تکميل و در نهايت به DataGrid نسبت داده می شود . ( نحوه استفاده از DataGrid در بخش سوم مقاله ، توضيح داده شده است ) .

در بخش ششم اين مقاله با نحوه انجام عمليات بر روی يک بانک اطلاعاتی بيشتر آشنا خواهيم شد.

جستجو
جستجو

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

مقالات
مشاهده گروه ها


نحوه ذخيره وبازيابی داده توسط ADO.NET

 نحوه ذخيره وبازيابی داده توسط ADO.NET New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
ذخيره وبازيابی داده توسط ADO.NET (بخش ششم) | مديريت وب | 3172 | 4 | 4.5

ذخيره و بازيابی داده توسط ADO.NET (بخش ششم)

ذخيره و بازيابی داده توسط ADO.NET (بخش ششم)

آنچه تاکنون گفته شده است :

  • بخش اول : نحوه ايجاد Connection و Dataset
  • بخش دوم : عمليات بر روی يک Dataset
  • بخش سوم : نمايش DataSet در يک DataGrid
  • بخش چهارم : نمايش DataSet در يک DataList
  • بخش پنجم : نمايش DataSet درکنترل DropDown

در بخش های قبل اين مقاله به نقش اساسی Data Set در ارتباط با ذخيره و بازيابی داده اشاره گرديد . علاوه بر Data Set ، می توان دستوراتی را مستقيما" بر روی يک Connection بانک اطلاعاتی انجام داد . شی Connection سه متد زير را در ايـن رابطه ارائه نموده است :

  • ExecuteScalar : متد فوق ، يک Query را اجراء نموده و در ادامه صرفا" يک مقدار را بر می گرداند(نظير شمارش تعداد رکوردهای موجود در يک جدول بانک اطلاعاتی )

  • ExecuteNonQuery : متد فوق ، دستوراتی نظير INSERT,UPDATE و DELETE را که باعث اعمال تغييرات در بانک اطلاعاتی می گردند را اجراء نموده و تعداد سطرهای متاثر از اجرای دستور را برمی گرداند .

  • ExecuteReader : متد فوق ، باعث خواندن رکوردها ی موجود در بانک اطلاعاتی به صورت ترتيبی می گردد.

برای استفاده از متدهای فوق ، مراحل زير را دنبال می نمائيم :

  • ايجاد يک Connection با بانک اطلاعاتی
  • باز نمودن Connection
  • ايجاد يک شی Command شامل دستور SQL و يا Stored Procedure که می بايست اجراء گردد .
  • اجرای متد مورد نظر در ارتباط با شی Command
  • بستن Connection ايجاد شده با بانک اطلاعاتی

برگرداندن يک مقدار از بانک اطلاعاتی
در بخش دوم اين مقاله با نحوه اضافه نمودن و يا حذف سطرهائی از يک Data Set و بهنگام سازی بانک اطلاعاتی از طريق Data Set آشنا شديم . در اين رابطه لازم است به اين موضوع اشاره گردد که در برخی موارد لازم است که در ابتدا اطلاعاتی از بانک اطلاعاتی بازيابی و در ادامه رکورد مورد نظر به بانک اطلاعاتی اضافه گردد . ( بازيابی اطلاعات قبل از درج رکورد جديد در بانک اطلاعاتی ) . مثلا" زمانی که رکوردی دارای يک فيلد کليد منحصر بفرد می باشد ، نظير فيلد ID در بانک اطلاعاتی نمونه Contact ، لازم است در ابتدا يک مقدار منحصربفرد جديد برای هر رکورد اخذ و در ادامه رکورد مورد نظر را در بانک اطلاعاتی اضافه نمود . در اين رابطه می توان از روش های متعددی به منظور دريافت يک مقدار کليد منحصربفرد جديد ، استفاده نمود . ساده ترين روش در اين رابطه ، ايجاد يک شی Command و استفاده از متد ExecuteScalar به منظور برگرداندن يک مقدار می باشد . با توجه به نوع بانک اطلاعاتی می توان از دو نوع متفاوت اشياء Command استفاده نمود :

  • اشياء SqlCommand ، باعث اجرای دستورات بر روی يک Connection مربوط به بانک اطلاعاتی SQL می گردند .
  • اشياء OleDBCommand ، باعث اجرای دستورات بر روی يک Connection مربوط به بانک اطلاعاتی OLE می گردند .

کد زير تعداد رکوردهای موجود در جدول Orders را با استفاده از تابع Count برمی گرداند .

VB.NET ::Returning A value from a DataBase

Dim ordersCMD As SqlCommand = New SqlCommand("SELECT Count(*) FROM Orders", nwindConn)
Dim count As Int32 = CInt(ordersCMD.ExecuteScalar())

از متد ExecuteScalar ، می توان به همراه هر عبارت SQL که قادر به برگرداندن يک مقدار می باشد ، استفاده نمود .

تغيير رکوردهای موجود در يک بانک اطلاعاتی
متد ExecuteNonQuery ،دستوراتی را اجراء می نمايد که يک Data Set را بر نمی گردانند (نظير دستورات INSERT , DELETE و يا UPDATE ) . به منظور اجرای دستوراتی اينچنين در ابتدا با استفاده از دستورات SQL و Connection مربوطه يک شی Command را ايجاد نموده و در ادامه می توان از متد ExecuteNonQuery مربوط به شی Command استفاده نمود. کد زير با اجرای دستور INSERT ، يک رکورد را در بانک اطلاعاتی با استفاده از ExecuteNonQuery درج می نمايد .

VB.NET ::Insert Record Directly in a DataBase

Dim nwindConn As SqlConnection = New SqlConnection("Data Source=localhost;Integrated Security=SSPI;Initial Catalog=northwind")
nwindConn.Open()
Dim insertStr As String = "INSERT INTO Customers (CustomerID, CompanyName) Values('NWIND', 'Northwind Traders')"
Dim insertCMD As SqlCommand = New SqlCommand(insertStr, nwindConn)
Dim recordsAffected As Int32 = insertCMD.ExecuteNonQuery()

متد ExecuteNonQuery از Connection بانک اطلاعاتی استفاده نموده و در اين رابطه از Data Adapter و يا يک Data Set ، استفاده نمی شود.در صورتی که تغييراتی در يک جدول بانک اطلاعاتی با استفاده از متد فوق انجام شود ، می بايست Data Set مربوطه را که متاثر از تغييرات فوق می باشد را با فراخوانی متد Fill ، بهنگام نمود.

بازيابی رکوردها ی موجود در يک بانک اطلاعاتی
متد ExecuteReader دستوراتی را که باعث برگرداندن رکوردهائی می شوند ، اجراء می نمايد. ( نظير يک عبارت SQL SELECT ) .هر رکورد به عنوان يک شی Data Reader برگردانده می شود. که نوع خاصی از يک Data Set و با ويژگی فقط خواندنی است . با توجه به اينکه متد ExecuteReader مستقيما" بر روی Connection بانک اطلاعاتی عمل خواهد نمود ، دو نوع ( نسخه ) متفاوت از شی Data Reader وجود دارد : OleDbDataReader و SqlDataReader .
استفاده از متد ExecuteReader برای ايجاد اشياء Data Reader ، دارای کارائی بمراتب بهتری در مقايسه با ايجاد Data Set از يک Data Adapter بوده ( در هر لحظه يک سطر در حافظه مستقر می گردد ) ولی انعطاف پذيری آن کمتراست. اشياء Data Reader ، به صورت فقط خواندنی بوده و امکان خواندن رکوردها بصورت ترتيبی و صرفا" به سمت جلو( Forward ) وجود خواهد داشت ( هر لحظه يک رکورد ) . با استفاده از Data Set ، امکان دريافت رکوردهای بمراتب بيشتری با هر نوع اولويت وجود داشته و در ادامه می توان پس از اعمال تغييرات آنان را مجددا" در بانک اطلاعاتی درج نمود .
کد زير ، نحوه استفاده از متد ExecuteReader به منظور بازيابی اطلاعات از بانک اطلاعاتی را نشان می دهد .

VB.NET ::Retrieving Records Directly from DataBase

<%@ Page Language="vb" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.SqlClient" %>
<script runat="server">
Private Sub Page_Load(ByVal Source As Object, ByVal E As EventArgs)
Dim sql As String = "SELECT * FROM Employees WHERE EmployeeID = "Request.QueryString("EmployeeID")
Dim strConnection As String = ConfigurationSettings.AppSettings("NWind")
Dim conn As New SqlConnection(strConnection)
conn.Open()
Dim cmd As New SqlCommand(sql, conn)
Response.Write("SQL: " & sql & "<br/>")
Dim dr As SqlDataReader
dr = cmd.ExecuteReader()
Do While dr.Read()
Response.Write(dr("FirstName").ToString & " " & dr("LastName").ToString)
Loop
conn.Close()
End Sub
</script>
<html><head></head><body></body></html>

شی Data Reader ، شامل مجموعه ای از رکوردها با ويژگی Read-Forward بوده و متد Read تا زمانی که به انتهای مجموعه رکوردهای موجود در Data Reader نرسيده باشد ، اقدام به خواندن آنان می نمايد .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


مراحل عملی ايجاد يک برنامه نمونه دات نت

 مراحل عملی ايجاد يک برنامه نمونه دات نت New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
ايجاد يک برنامه وب نمونه در دات نت ( بخش اول ) | مديريت وب | 7289 | 20 | 3.7

ايجاد يک برنامه وب نمونه در دات نت ( بخش اول )

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

  • محموعه مقالات مبانی برنامه نويسی وب در دات نت
  • ايجاد يک برنامه وب در دات نت
  • رويدادها در برنامه های وب دات نت
  • مجموعه مقالات فرم های وب
  • مجموعه مقالات دستيابی به داده ها در دات نت
  • دستيابی به داده ها در فرم های وب
  • مجموعه مقالات ارتباط به منابع داده در ADO.NET
  • مجموعه مقالات ذخيره وبازيابی داده توسط ADO.NET
  • مجموعه مقالات امنيت برنامه های وب
  • بررسی اعتبار داده ها توسط VB.NET در فرم های وب
  • راهکارهای مديريت وضعيت صفحات ASP.NET

در ابتدا لازم است يک مسئله را تعريف و در ادامه مراحل لازم برای حل آن را دنبال نمائيم :

  • مسئله : ايجاد يک برنامه وب در دات نت ( سيستم مقالات )

  • توضيحات : در اين برنامه کاربران در ابتدا از طريق يک فرم Login تائيد و پس از تائيد آنان توسط برنامه ، امکان استفاده از پتانسيل های برنامه (مشاهده ليست مقالات و انجام ويرايش های لازم در رابطه با يک مقاله ) در اختيار آنان قرار خواهد گرفت

  • مراحل حل مسئله : جدول زير فازهای متفاوت حل مسئله به همراه مراحلی که می بايست در هر فاز دنبال شود را نشان می دهد :

مراحل لازم برای تکميل فاز

فاز

  • مرحله اول : ايجاد و ذخيره سازی يک برنامه وب ASP.NET
  • مرحله دوم : ايجاد يک فرم وب

فاز اول : آشنائی با برنامه های وب دات نت

  • مرحله اول : افزودن کنترل های سرويس دهنده به فرم وب

  • مرحله دوم : آناليز کدهای HTML توليد شده

  • مرحله سوم : بررسی صحت واعتبار داده ها و ارائه پيام خطاء

  • مرحله چهارم : افزودن اسکريپت
  • مرحله پنجم : نوشتن کد لازم در فايل Code Behind

فاز دوم : استفاده از کنترل ها

  • مرحله اول :فعال نمودن امکان ديباگ در برنامه های وب

  • مرحله دوم : تنظيم Break point
  • مرحله سوم : اشکال زدائی هوشمند
  • مرحله چهارم : استفاده از Debug.write

فاز سوم : اشکال زدائی برنامه

  • مرحله اول : مديريت وضعيت برنامه سمت سرويس گيرنده

  • مرحله دوم : مديريت وضعيت برنامه سمت سرويس دهنده

فاز چهارم : مديريت وضعيت برنامه

  • مرحله اول : استفاده از کلاس SqlConnection

  • مرحله دوم : نمايش داده در DataGrid

  • مرحله سوم : Paging و مرتب سازی DataGrid

  • مرحله چهارم : دستورات ويرايش ، بهنگام سازی و ...

فاز پنجم : دستيابی به داده در فرم های وب

  • مرحله اول : بکارگيری از طريق امکانات ويژوال استوديودات نت

فاز ششم : بکارگيری برنامه وب

خلاصه و نتايج

فاز اول : آشنائی با برنامه های وب دات نت
در اين فاز با نحوه ايجاد يک برنامه وب و اضافه نمودن يک فرم وب ( صفحه Login ) ، آشنا خواهيم شد.
مرحله اول : ايجاد و ذخيره سازی يک برنامه وب ASP.NET : در اين مرحله ، يک برنامه وب خالی ( ساختار پيش فرض ) ، ايجاد می گردد . برای ايجاد يک پروژه جديد وب با نام SrcoTest1 ، مراحل زير را دنبال می نمائيم :

  • اجرای برنامه ويژوال استوديو
  • انتخاب File|New|Project و يا فشردن کليدهای CTRL+SHIFT+N
  • انتخاب نوع پروژه Visual Basic Projects از طريق جعبه محاوره ای New Project
  • انتخاب ASP.NET Web Application ،از طريق تمپليت های ارائه شده
  • درج آدرس http://localhost/SrcoTest1 در فيلد Location ( نام در نظر گرفته شده برای پروژه ، اختياری است ) .
  • تائيد عمليات با فشردن دکمه OK

توضيحات : در اين مرحله ، ويژوال استوديو دات نت ، يک ريشه مجازی با نام SrcoTest1 ، فايل Global.asax ، فايل Global.asax.vb ، فايل Web.Config ، فايل WebForm1.aspx.vb ، فايل Style.css و يک فرم وب پيش فرض با نام WebForm1.aspx را ايجاد می نمايد . ويژوال استوديو ، همچنين فايل های SrcoTest1.disco ، فايل SrcoTest1.vbproj و فايل SrcoTest1.vbproj.webinfo را نيز ايجاد می نمايد .

ويژوال استوديو دات نت ، يک فولدر با نام SrcoTest1 در مسير InetPub\wwwroot \ را ايجاد می نمايد . محتوی اين فولدر به صورت زير است :

مرحله دوم : ايجاد يک فرم وب : در اين مرحله ، فرم وب پيش فرض ايجاد شده در مرحله قبل را تغيير نام داده و با نام جديد ذخيره می نمائيم .

  • انتخاب View|Solution Explorer و يا فشردن دکمه های CTRL+ALT+L

  • کليک سمت راست بر روی فايل WebForm1.aspx و انتخاب دستور Rename ( از طريق پنجره Solution Explorer )

  • تغيير نام فايل WebForm1.aspx به Login.aspx

  • مشاهده محتويات صفحه با کليک بر روی HTML Tab ( در قسمت پائين صفحه )

  • دايرکتيو Page @ در ابتدای صفحه پارامترهای متفاوتی را برای صفحه مشخص می نمايد ( مثلا" زبان استفاده شده برای نوشتن کد مرتبط با صفحه )

  • برای ذخيره فايل Login.aspx ، دستور File|Save Login.aspx و يا File|Save Login.aspx As را انتخاب و يا کليد CTRL+S را فعال می نمائيم . با توجه به اين که قصد ايجاد فرم وب را با محتويات فارسی ( رابط کاربر فارسی ) داريم ، گزينه File|Save Login.aspx As را انتخاب و در ادامه با انتخاب گزينه Save with Encoding ، نوع Code Page را مشخص می نمائيم .

نتايج فاز اول :

  • ايجاد يک پروژه جديد با نام SrcoTest1
  • تغيير نام و ذخيره فرم وب پيش فرض ( WebForm1.aspx ) به Login.aspx

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

جستجو
جستجو

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

مقالات
مشاهده گروه ها


بررسی عملی ايجاد يک برنامه نمونه دات نت

 بررسی عملی ايجاد يک برنامه نمونه دات نت New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
ايجاد يک برنامه وب نمونه در دات نت ( بخش دوم ) | مديريت وب | 3887 | 11 | 4.9

ايجاد يک برنامه وب نمونه در دات نت ( بخش دوم )

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

فاز دوم : استفاده از کنترل ها

  • مرحله اول : افزودن کنترل های سرويس دهنده به فرم وب

  • مرحله دوم : آناليز کدهای HTML ، توليد شده

  • مرحله سوم : بررسی صحت و اعتبار داده ها و ارائه پيام خطاء

  • مرحله چهارم : افزودن اسکريپت
  • مرحله پنجم : نوشتن کد لازم در فايل Code Behind

فاز دوم : استفاده از کنترل ها
در اين فاز، از کنترل های سرويس دهنده و Validation ( به منظور بررسی صحت داده ورودی توسط کاربر) ، استفاده کرده و کدهای مورد نياز را هم در سمت سرويس گيرنده ( اسکريپت های همراه فرم وب ) و هم در سمت سرويس دهنده ( کدهای نوشته شده در صفحه Code behind مربوط به صفحه Login ) خواهيم نوشت و در نهايت تگ های HTML توليد شده را بررسی می نمائيم .

مرحله اول : افزودن کنترل های سرويس دهنده به فرم وب : در اين مرحله ، با نحوه استفاده از کنترل های سرويس دهنده ASP.NET آشنا خواهيم شد( چهار کنترل Lable ، دو کنترل TextBox ، دو کنترل Button )

  • سوئيچ به حالت Design ( کليک بر روی Design Tab )
  • فعال نمودن پنجره Toolbox ( انتخاب گزينه Toolbox از طريق منوی View و يا فشردن کليدهای CTRL+ALT+X )
  • انتخاب کنترل Label ازطريق Web Forms tab موجود در Toolbox و استفرار آن بر روی فرم وب Login.aspx ( در وضعيت Desgin view ) .

  • تنيظيم خصلت های زير برای کنترل Label استفاده شده بر روی فرم وب . ( برای مشاهده پنجره Properties مربوط به يک کنترل ، پس از انتخاب کنترل دستور View|Properties را فعال و يا از کليد F4 ، استفاده می نمائيم ) .

    تنظيم خصلت های کنترل Label اول

    خصلت

    مقدار

    ID

    lblHeading

    Text

    ورود به بخش مقالات سايت سخا روش

    فرم وب Login.aspx پس از استقرار اولين کنترل سرويس دهنده Label بر روی آن :

  • افزودن يک کنترل سرويس دهنده Label ديگر بر روی فرم وب Login و تنيظيم خصلت های آن

    تنظيم خصلت های کنترل Label دوم

    خصلت

    مقدار

    ID

    lblUserID

    Text

    نام

  • افزودن يک کنترل سرويس دهنده Label ديگر بر روی فرم وب Login و تنيظيم خصلت های آن

    تنظيم خصلت های کنترل Label سوم

    خصلت

    مقدار

    ID

    lblPassword

    Text

    رمز عبور

  • انتخاب کنترل TextBox از طريق Web Forms tab موجود در Toolbox و استقرار آن بر روی فرم وب Login.aspx ( در مجاورت کنترل label مربوط به "نام" )

    تنظيم خصلت های کنترل TextBox اول

    خصلت

    مقدار

    ID

    txtUserID

    TabIndex 1

    Width

    182px

  • انتخاب يک کنترل TextBox ديگر و استقرار آن بر روی فرم وب Login.aspx ( در مجاورت کنترل label مربوط به "رمزعبور" )

تنظيم خصلت های کنترل TextBox دوم
خصلت | مقدار
ID | txtPassword
TabIndex | 2
Width | 182px
TextMode | Password

  • انتخاب کنترل Button از طريق Web Forms tab موجود در Toolbox و استقرار آن بر روی فرم وب Login.aspx و تنظيم خصلت های آن

تنظيم خصلت های کنترل Button اول
خصلت | مقدار
ID | btnSignin
Text | ورود به سايت
TabIndex | 3

  • انتخاب کنترل Button ديگر و استقرار آن بر روی فرم وب Login.aspx و تنظيم خصلت های آن

تنظيم خصلت های کنترل Button دوم
خصلت | مقدار
ID | btnRestore
Text | انصراف
TabIndex | 4
CausesValidation | False

  • افزودن يک کنترل سرويس دهنده Label ديگر بر روی فرم وب Login و تنيظيم خصلت های آن ( از کنترل فوق برای نمايش پيام مورد نظر در زمان بررسی صحت داده ورودی توسط کاربر، استفاده می گردد ) .

تنظيم خصلت های کنترل Label
خصلت | مقدار
ID | lblResult
Text | خالی
Font | Smaller
ForeColor | Red

  • فرم وب Login.aspx پس از استقرار کنترل های سرويس دهنده مورد نياز بر روی آن :

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

  • برای مشاهده محتوی صفحه ، بر روی HTML Tab کليک می نمائيم . کد زير به صورت اتوماتيک برای کنترل های سرويس دهنده استفاده شده در فرم وب Login.aspx ايجاد می گردند. خصلت runat ="server" ، نشاندهنده سمت سرويس دهنده بودن کنترل است .

    HTML Code For Server Controls

          <asp:Label  id="lblUserID"
        runat="server" ...  >نام</asp:Label>
<asp:Label  id
      ="lblPassword"    runat="server" ...>رمز
      عبور</asp:Label>
<asp:TextBox id="txtUserID"
      runat="server" ...></asp:TextBox>
<asp:TextBox id="txtPassword"  runat="server"
      ...></asp:TextBox>
<asp:Button  id="btnSignin"
      runat="server" ...></asp:Button>
<asp:Button  id="btnRestore"     runat="server"...></asp:Button>
<asp:Label id="lblResult"
       runat="server" ...></asp:Label>

  • برای مشاهده خروجی در مرورگر ، گزينه Debug | Start را انتخاب و يا کليد F5 را فعال می نمائيم .

  • برای مشاهده خروجی HTML کنترل های سرويس دهنده ، گزينه Source را از طريق منوی View در مرورگر IE انتخاب می نمائيم :

    HTML Output for Server Controls in browser

    <span id="lblHeading" ... > ورود به بخش مقالات سايت سخا روش</span>
    <input name="txtUserID" type="text" id="txtUserID" ... />
    <input type="submit" name="btnSignin" value="ورود به سايت" ... />

  • همانگونه که مشاهده می شود ، ASP.NET runtime ، کنترل های سرويس دهنده را به عناصر HTML مختص مرورگر ،تبديل نموده است . Runtime ممکن است در صورت ضرورت از DHTML به منظور تعيين موقعيت و محل استقرار عناصر متفاوت HTML استفاده نمايد .

نتايج مراحل يک و دو فاز دوم :

  • افزودن کنترل ها ی سرويس دهنده مورد نياز بر روی فرم Login.aspx ( چهار کنترل Lable ، دو کنترل TextBox ، دو کنترل Button )
  • بررسی کد توليد شده در ويژوال استوديو دات نت برای کنترل ها ی سرويس دهنده که به صورت اتوماتيک ، ايجاد می گردند .
  • بررسی کد توليد شده توسط ASP.NET Runtime برای کنترل های سرويس دهنده به منظور نمايش توسط مرورگر

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

جستجو
جستجو

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

مقالات
مشاهده گروه ها


مراحل عملی ايجاد يک برنامه نمونه دات نت

 مراحل عملی ايجاد يک برنامه نمونه دات نت New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
ايجاد يک برنامه وب نمونه در دات نت ( بخش سوم ) | مديريت وب | 2992 | 8 | 4.8

ايجاد يک برنامه وب نمونه در دات نت ( بخش سوم )

ايجاد يک برنامه وب نمونه در دات نت ( بخش سوم )

آنچه تاکنون گفته شده است :

  • بخش اول ايجاد يک برنامه و فرم وب ( فاز اول )
  • بخش دوم : استفاده از کنترل های سرويس دهنده و بررسی کد HTML توليد شده ( فاز دوم )

فاز دوم : استفاده از کنترل ها

  • مرحله اول : افزودن کنترل های سرويس دهنده به فرم وب

  • مرحله دوم : آناليز کدهای HTML ، توليد شده

  • مرحله سوم : بررسی صحت و اعتبار داده ها و ارائه پيام خطاء

  • مرحله چهارم : افزودن اسکريپت
  • مرحله پنجم : نوشتن کد لازم در فايل Code Behind

در بخش دوم اين مقاله ، مراحل اول و دوم تشريح گرديد . در اين بخش به بررسی مرحله سوم ، خواهيم پرداخت .
مرحله سوم : بررسی صحت و اعتبار داده ها و ارائه پيام خطاء :در اين مرحله با نحوه استفاده از کنترل های Validation به منظور بررسی صحت داده ورودی توسط کاربر ، آشنا خواهيم شد.

  • سوئيچ نمودن به Design View ( کليک بر روی Design tab )

  • استفاده از کنترل RequiredFieldValidator به منظور اطمينان از صحت درج داده ورودی در کنترل txtUserID با توجه به سياست های مورد نظر و مقداردهی مناسب خصلت های آن :
    - انتخاب کنترل RequiredFieldValidator ازطريق Web Forms tab موجود در Toolbox و استفرار آن بر روی فرم وب Login.aspx ( پائين کنترل txtUserID ) .

  • مقداردهی مناسب خصلت های کنترل RequiredFieldValidator .

تنظيم خصلت های کنترل RequiredFieldValidator اول
خصلت | مقدار
ID | RequiredFieldValidator1
ControlToValidate | txtUserID
Error Message | نام کاربر می بايست وارد شود

  • استفاده از کنترل RequiredFieldValidator به منظور اطمينان از صحت درج داده ورودی در کنترل txtPassword با توجه به سياست های مورد نظر و مقداردهی مناسب خصلت های آن :
    - انتخاب کنترل RequiredFieldValidator ازطريق Web Forms tab موجود در Toolbox و استفرار آن بر روی فرم وب Login.aspx ( پائين کنترل txtPassword) .
    - مقداردهی مناسب خصلت های کنترل RequiredFieldValidator .

تنظيم خصلت های کنترل RequiredFieldValidator دوم
خصلت | مقدار
ID | RequiredFieldValidator2
ControlToValidate | txtPassword
Error Message | Password is required.

  • استفاده از کنترل ValidationSummary به منظور نمايش خلاصه اطلاعات بررسی صحت داده های ورودی :
    - انتخاب کنترل ValidationSummary ازطريق Web Forms tab موجود در Toolbox و استفرار آن بر روی فرم وب Login.aspx ( قسمت پائين صفحه )

  • مقداردهی مناسب خصلت های ValidationSummary .

تنظيم خصلت های کنترل ValidationSummary
خصلت | مقدار
ID | ValidationSummary1
DisplayMode | BulletList

  • فرم وب Login.aspx پس از استقرار کنترل های سرويس دهنده و کنترل های RequiredFieldValidator و ValidationSummary :

  • برای تست صحت داده ها ، گزينه Start را از طريق منوی Debug انتخاب و يا کليد F5 را فعال می نمائيم .
    تست اول : کليک بر روی دکمه "ورود به سايت " ، بدون درج نام و رمز عبور

  • تست دوم : کليک بر روی دکمه " ورود به سايت " ، درج نام و بدون درج رمز عبور

  • تست سوم : کليک بر روی دکمه " ورود به سايت " ، درج رمز عبور و بدون درج نام

نتايج مراحل اول ، دوم و سوم فاز دوم :

  • افزودن کنترل ها ی سرويس دهنده مورد نياز بر روی فرم Login.aspx ( چهار کنترل Lable ، دو کنترل TextBox ، دو کنترل Button )
  • بررسی کد توليد شده در ويژوال استوديو دات نت برای کنترل ها ی سرويس دهنده که به صورت اتوماتيک ، ايجاد می گردند .
  • بررسی کد توليد شده توسط ASP.NET Runtime برای کنترل های سرويس دهنده به منظور نمايش توسط مرورگر
  • بررسی صحت داده ها

در بخش چهارم اين مقاله به بررسی ساير مراحل تعريف شده در فاز دوم ( افزودن اسکريپت و نوشتن کد لازم در فايل Code Behind ) ، خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


مراحل عملی ايجاد يک برنامه نمونه دات نت

 مراحل عملی ايجاد يک برنامه نمونه دات نت New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
ايجاد يک برنامه وب نمونه در دات نت ( بخش چهارم ) | مديريت وب | 2972 | 14 | 3.8

ايجاد يک برنامه وب نمونه در دات نت ( بخش چهارم )

ايجاد يک برنامه وب نمونه در دات نت ( بخش چهارم )

آنچه تاکنون گفته شده است :

  • بخش اول ايجاد يک برنامه وب و فرم وب ( فاز اول )
  • بخش دوم : استفاده از کنترل های سرويس دهنده و بررسی کد HTML توليد شده ( فاز دوم )
  • بخش سوم : بررسی صحت و اعتبار داده ها ( فاز سوم )

فاز دوم : استفاده از کنترل ها

  • مرحله اول : افزودن کنترل های سرويس دهنده به فرم وب

  • مرحله دوم : آناليز کدهای HTML ، توليد شده

  • مرحله سوم : بررسی صحت و اعتبار داده ها و ارائه پيام خطاء

  • مرحله چهارم : افزودن اسکريپت
  • مرحله پنجم : نوشتن کد لازم در فايل Code Behind

در بخش های دوم و سوم اين مقاله ، مراحل اول ، دوم و سوم مربوط به فاز دوم تشريح گرديد . در اين بخش به بررسی ساير مراحل ، خواهيم پرداخت .
مرحله چهارم : افزودن اسکريپت : در اين مرحله ، از اسکريپت های سمت سرويس دهنده به عنوان بخشی از کد HTML همراه صفحه فرم وب aspx استفاده می شود . در اين رابطه مراحل زير را دنبال می نمائيم :

  • افزودن اسکريپت به صفحه ( کليک بر روی HTML tab )

  • افزودن يک تگ اسکريپت ( SCRIPT ) در ابتدای صفحه Login.aspx و مقداردهی خصلت Language به Vb ( بعد از تگ HTML >

    Add SCRIPT tag

    <script Language="Vb" runat="Server">
     Sub btnSignin_Click(Sender As Object, E As EventArgs)
     If (txtUserID.Text.Length >=4 And txtPassword.Text.Length >=4 And txtUserID.Text.StartsWith("S")) Then
     lblResult.Text = "کاربر مجاز "
     Else
     lblResult.Text = "کاربر غير مجاز"
     End If
    End Sub
    </script>

  • نسبت دهی رويداد Onclick مربوط به کنترل سرويس دهنده "btnSignin " به تابع btnSignin_Click. پس از تشخيص صحت داده ورودی با توجه به سياست های تعريف شده در روتين btnSignin_Click ، پيام مورد نظر جهت نمايش در خروجی به خصلت Text کنترل سرويس دهنده lblResult نسبت داده می شود. برای بررسی صحت داده ورودی سه شرط بررسی و در صورت درست بودن آنان ، پيام " کاربر مجاز" و در صورت عدم صحت، پيام "کاربر غير مجاز " ، در خروجی نمايش داده می شود. در اين رابطه فيلدهای مربوط به نام و رمز عبور می بايست بيش از چهار حرف بوده و حرف اول نام کاربر با "S " ، شروع گردد .

    A dd OnClick Event

    <asp:Button id="btnSignin" runat="server" Text="ورود به سايت" OnClick="btnSignin_Click"> </asp:Button

  • برای تست صحت داده ها ، گزينه Start را از طريق منوی Debug انتخاب و يا کليد F5 را فعال می نمائيم .
    در فيلد "نام" ، مقدار TestSrco و در فيلد "رمز عبور" ، مقدار " 0123457789000" را وارد نموده و دکمه "ورود به سايت " را فعال می نمائيم . پس از بررسی داده ورودی ، پيام " کاربر غير مجاز " ، در خروجی نمايش داده می شود . در صورتی که در فيلد "نام " ، مقدار " Srco " و در فيلد "رمز عبور " ، مقدار " 0123457789000" را وارد نموده و در ادامه دکمه " ورود به سايت " را فعال نمائيم ، با پيام " کاربر مجاز " مواجه خواهيم شد.

مرحله پنجم : نوشتن کد لازم در فايل Code Behind : در اين مرحله ، کد لازم را در صفحه Code behind خواهيم نوشت . کد فوق ، از مرحله طراحی جدا بوده و بدين ترتيب خوانائی برنامه بالا رفته و کد نوشته شده از عناصر HTML ، متمايز می گردد .

  • انتخاب گزينه Solution Explorer از طريق منوی View و يا فشردن کليدهای CTRL+ALT+I

  • مشاهده صفحه Code behind ، مربوط به صفحه Login.aspx ( کليک سمت راست بر روی صفحه Login.aspx ( در Solution Explorer ) و انتخاب گزينه View code ) .

  • افزودن کد زير به تابع Page_Load ( هدف صرفا" نشان دادن توانائی رويداد Page_Load است ).

Page Load Function

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 If Not Page.IsPostBack Then
 lblResult.Text = "مجموعه مقالات ايجاد يک برنامه وب در دات نت "
 End If
End Sub

  • نمايش اوليه فرم Login در مرورگر :

  • با کليک ( Double Click ) بر روی دکمه " ورود به سايت "، متد btnSignin_Click در فايل Code behind ايجاد می گردد . کد مورد نظر به منظور برخورد با رويداد کليک ، می بايست در اين تابع ، درج گردد . ( Event Handler ) .

Page Load Function

Private Sub btnSignin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSignin.Click
 If (txtUserID.Text.Length >=4 And txtPassword.Text.Length >=4 And txtUserID.Text.StartsWith("S")) Then
 lblResult.Text = "کاربر مجاز "
 Else
 lblResult.Text = "کاربر غير مجاز"
 End If
End Sub

  • سوئيچ به Design view ، گزينه Designer را از طريق منوی View انتخاب و يا کليد های SHIFT+F7 را فعال می نمائيم .

  • مشاهده محتوی صفحه ( کليک بر روی HTML tab )

  • حذف کد زير ( کد فوق ، به منظور بررسی و تست اسکريپت های سمت سرويس گيرنده در فرم Login.aspx استفاده شده بود)

Remove SCRIPT tag From Login.aspx

<script Language="Vb" runat="Server">
 Sub btnSignin_Click(Sender As Object, E As EventArgs)
 If (txtUserID.Text.Length >=4 And txtPassword.Text.Length >=4 And txtUserID.Text.StartsWith("S")) Then
 lblResult.Text = "کاربر مجاز "
 Else
 lblResult.Text = "کاربر غير مجاز"
 End If
End Sub
</script>

  • حذف "OnClick="btnSignin_Click از سطر مربوط به تعريف کنترل سرويس دهنده btnSignin ( دکمه "ورود به سايت " ) .

HTML Code : Server Controls

<asp:Button id="btnSignin" ... runat="server" Text="ورود به سايت " OnClick="btnSignin_Click"></asp:Button>

نتايج فاز دوم :

  • افزودن کنترل ها ی سرويس دهنده مورد نياز بر روی فرم Login.aspx ( چهار کنترل Lable ، دو کنترل TextBox ، دو کنترل Button )
  • بررسی کد توليد شده در ويژوال استوديو دات نت برای کنترل ها ی سرويس دهنده که به صورت اتوماتيک ، ايجاد می گردند .
  • بررسی کد توليد شده توسط ASP.NET Runtime برای کنترل های سرويس دهنده به منظور نمايش توسط مرورگر
  • استفاده از کد سمت سرويس گيرنده به منظور بررسی صحت داده ورودی توسط کاربر
  • استفاده از کد سمت سرويس دهنده و استقرار آنان در فايل Code Behind به منظور بررسی صحت اعتبار داده ورودی توسط کاربر

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

جستجو
جستجو

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

مقالات
مشاهده گروه ها


مراحل عملی ايجاد يک برنامه نمونه دات نت

 مراحل عملی ايجاد يک برنامه نمونه دات نت New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
ايجاد يک برنامه وب نمونه در دات نت ( بخش پنجم ) | مديريت وب | 3404 | 8 | 4.2

ايجاد يک برنامه وب نمونه در دات نت ( بخش پنجم )

ايجاد يک برنامه وب نمونه در دات نت ( بخش پنجم )

آنچه تاکنون گفته شده است :

  • بخش اول ايجاد يک برنامه وب و فرم وب ( فاز اول )
  • بخش دوم : استفاده از کنترل های سرويس دهنده و بررسی کد HTML توليد شده ( فاز دوم )
  • بخش سوم : بررسی صحت و اعتبار داده ها ( فاز سوم )
  • بخش چهارم : افزودن اسکريپت سمت سرويس گيرنده و درج کد در فايل Code Behind

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

فاز سوم : اشکال زدائی برنامه
اشکال زدائی يک برنامه از جمله مواردی است که هر برنامه نويس با آن سروکار خواهد داشت و لازم است برای تشخيص اشکال موجود در برنامه ( گرامری ، منطقی ، زمان اجراء ) از پتانسيل فوق استفاده تا در زمان مطلوب اشکال موجود در برنامه تشخيص و برطرف گردد . ويژوال استوديو دات نت ، دارای امکانات متعددی در جهت اشکال زدائی برنامه های نوشته شده در محيط دات نت بوده و برنامه های وب نيز از اين قاعده مستثنی نبوده و می توان از امکانات موجود در جهت رفع اشکال آنان استفاده نمود.در فاز سوم ايجاد يک برنامه وب ، با نحوه اشکال زدائی ( Debug ) يک برنامه وب ASP.NET در ويژوال استوديو دات نت ، آشنا شده و به بررسی مواردی همچون تنظيم Break Points ، استفاده از Intellisense در ديباگ و نوشتن در پنجره خروجی ، خواهيم پرداخت .

  • مرحله اول : فعال نمودن امکان ديباگ در برنامه های وب

  • مرحله دوم : تنظيم برک پوينت( Break Points )
  • مرحله سوم : اشکال زدائی هوشمند
  • مرحله چهارم : استفاده از Debug.write

فاز سوم : اشکال زدائی برنامه

مرحله اول : فعال نمودن امکان ديباگ در برنامه های وب ، در اين مرحله با نحوه فعال نمودن ديباگ در برنامه های وب ASP.NET با استفاده از فايل Web.Config آشنا خواهيم شد.

  • فعال نمودن پنجره Solution Explorer ( انتخاب گزينه Solution Explorer از طريق منوی View و يا فشردن کليد های CTRL+ALT+L )

  • فعال نمودن فايل Web.Confing موجود در پنجره Solution Explorer

  • از فايل Web.Config برای تعريف و مقداردهی پارامترهای لازم در ارتباط با پيکربندی برنامه استفاده می گردد . در اين رابطه ، لازم است از وجود دستورالعمل زير در بخش <system.web> ، اطمينان حاصل گردد.

Verify the following line in Web.Config

<compilation defaultLanguage="vb" debug="true" />

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

مرحله دوم : تنظيم برک پوينت ( Break Points ) : در اين مرحله ، با نحوه ايجاد Breakpoint در يک برنامه وب آشنا خواهيم شد . Break Point ، نقاطی در برنامه هستند که برنامه اجرای خود را تا آن نقطه انجام و با رسيدن به نقطه فوق ، متوقف شده و برنامه نويس می تواند مقادير متغيرها ، خروجی و ساير موارد مرتبط با عملکرد برنامه را مشاهده و بر اساس مشاهدات فوق ، اقدام به اشکال زدائی برنامه نمايد.

  • فعال نمودن فايل Login.aspx ( کليک مضاعف بر روی فايل فوق از طريق Solution Explorer )

  • مشاهده صفحه Code Behind ( انتخاب View | Code ، فعال نمودن کليد F7 ، کليک سمت راست برروی صفحه Login.aspx در پنجره Solution Explorer و انتخاب گزينه View Code )

  • انتخاب کد اجرائی زير در فايل Code Behind و گزينه Insert BreakPoint ( کليک سمت راست )

Set breakpoint

If (txtUserID.Text.Length >= 4 And txtPassword.Text.Length >= 4 And txtUserID.Text.StartsWith("S")) ...

  • اجرای برنامه ( Debug | Start و يا فعال نمودن کليد F5 )

  • درج مقادير مورد نظر در فيلدهای " نام " و "رمز عبور " ( Srco و Srcopassword )

  • کليک بر روی دکمه " ورود به سايت "

  • ديباگر در خط مشخص شده ( Break Point ) متوقف و آن را به رنگ زرد ، نمايش خواهد داد :

مرحله سوم : اشکال زدائی هوشمند : در اين مرحله با نحوه استفاده از اشکال زدائی هوشمندانه ، آشنا خواهيم شد.

  • حرکت موس و استقرار آن بر روی بخش Text مربوط به txtUserID.Text . در چنين حالتی يک Tool tip و با مقدار " Srco " ، نمايش داده می شود.

  • حرکت موس و استقرار آن بر روی بخش Length مربوط به txtUserID.Text.Length . در چنين حالتی يک Tool tip و با مقدار " 4 " ، نمايش داده می شود .

  • فعال نمودن پنجره Command ( انتخاب Debug | Windows | Immediate )

  • تايپ دستور " txtUserID ?"، در ادامه تمامی تمامی خصلت های مربوطه نمايش خواهد داد .

  • انتخاب خصلت Text و فشردن کليد Enter . فشردن مجدد کليد Enter به منظور نمايش مقدار موجود در خصلت Text در کنترل txtUserID

مرحله چهارم : استفاده از Debug.write : در اين مرحله با نحوه استفاده از Debug.Write به منظور نوشتن خروجی در پنجره خروجی ، آشنا خواهيم شد .

  • مشاهده صفحه Code Behind ( انتخاب View | Code ، فعال نمودن کليد F7 ، کليک سمت راست برروی صفحه Login.aspx در پنجره Solution Explorer و انتخاب گزينه View Code )

  • افزودن کد زير درابتدای صفحه Login.aspx.vb .

Add Line

imports System.Diagnostics

  • اضافه نمودن کد زير به انتهای متد btnSignin_Click

Add lines

Private Sub btnSignin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSignin.Click
...
Debug.WriteLine(txtUserID.Text)
Debug.WriteLine(txtPassword.Text)
Debug.Write(lblResult.Text)
End Sub

  • حذف Break point ايجا د شده در مرحله قبل ( Debug | Clear all break points و يا فعال نمودن کليد های CTRL+SHIFT-F9 )

  • اجرای برنامه ( Debug | Start ، و يا فعال نمودن کليد F5 )

  • نمايش پنجره خروجی ( View | Other Windows | Output و يا فعال نمودن کليدهای CTRL+ALT+O )

  • سوئيچ به پنجره مرورگر

  • درج داده مورد نظر در فيلدهای "نام " و " رمز عبور " "( Srco و Srcopassword )

  • کليک بر روی دکمه " ورود به سايت "

  • برگشت به محيط ويژوال استوديو و مشاهده مقادير مربوط به فيلدهای نام ، رمز عبور ، نتايج در پنجره خروجی

توضيحات و رفع اشکالات احتمالی
در زمان فعال نمودن ديباگ در ويژوال استوديو ممکن است با برخی خطاها مواجه و عملا" امکان ديباگ فعال نگردد . در اين رابطه لازم است در ابتدا از فعال شدن ديباگ در ارتباط با پروژه ايجاد شده ، اطمينان حاصل نمائيم . يک پروژه ويژوال استوديو دارای پيکربندی های مجزا برای ديباگ و Relase می باشد . در صورتی که برنامه با استفاده از ويزاردهای مربوطه در ويژوال استوديو ايجاد شده باشد ، ويژوال استوديو به صورت اتوماتيک ، پيکربندی های مربوطه را ايجاد و گزينه های پيش فرض مناسب را برای آنان در نظر گرفته و مقداردهی مناسب آنان راانجام خواهد داد . برای مشاهده و يا تغيير تنظيمات انجام شده در رابطه با پيکربندی ديباگ ، مراحل زير را دنبال می نمائيم :

  • انتخاب پروژه از طريق پنجره Solution Explorer
  • انتخاب Property Pages از طريق منوی View
  • انتخاب Debug ، از طريق ليست Configuration موجود در جعبه محاوره ای Project> Property Pages >
  • فعال نمودن فولدر Configuration Properties و انتخاب تنظيمات مورد نظری که قصد تغيير آنان را داريم .
  • ويرايش مقادير مورد نظر در پنجره Properties

در زمان ديباگ نمودن يک برنامه وب ASP.NET برروی کامپيوتری که ويندوز 200 ( نسخه Server ) به عنوان Domain controller به همراه Service Pack 4 نصب شده باشد ، ممکن است با خطای زير مواجه شويم :

علت اشکال فوق به Account استفاده شده برای اجرای ASP.NET Worker Process ( به صورت پيش فرض IWAM بر روی Domain Controller می باشد ) مربوط می گردد که دارای مجوز "Impersonate a client after authentication" ، در local security policy نمی باشد .مشکل فوق ، در مواردی که Service Pack 4 ويندوز 2000 نصب و در ادامه ويژوال استوديو نصب شده باشد، محقق می گردد. در چنين وضعيتی IWAM account دارای مجوز اشاره شده در local security policy نمی باشد . مجوز "Impersonate a client after authentication" ، ( به آن SeImpersonatePrivilege نيز گفته می شود ) يک تنظيم امنيتی جديد است که اولين مرتبه در Service pack 4 ويندوز 2000 ، ارائه شده است . برای حل مشکل فوق ، مراحل زير را دنبال می نمائيم :

  • فعال نمودن Domain Controller Security Policy ( از طريق Start|Programs|Administrative Tools )
  • کليک بر روی Security Settings
  • کليک بر روی Local Policies و در ادامه کليک بر روی User Rights Assignment
  • از طريق پانل سمت راست ، Double Click بر روی Impersonate a client after authentication
  • در پنجره Security Policy Setting ، کليک بر روی Define these policy settings
  • فعال نمودن دکمه Add و در ادامه Browse
  • در پنجره Select Users or Groups ، انتخاب IWAM account ، کليک بر روی دکمه Add و فشردن دکمه OK
  • فعال نمودن دکمه OK ( دو مرتبه )
  • برای بهنگام سازی سياست امنيتی جديد تعريف شده ، دستور زير را از طريق خط دستور تايپ و اجراء می نمائيم

Enforce an update of the computer policy

secedit /refreshpolicy machine_policy /enforce

  • راه اندازی سرويس دهنده وب IIS ( تايپ دستور iisreset از طريق خط دستور )

نتايج فاز سوم :

  • فعال نمودن ديباگ در برنامه های وب
  • ايجاد Break point
  • اشکال زدائی هوشمند
  • استفاده از Debug.write
  • آشنائی با برخی اشکالات موجود در زمان فعال نمودن ديباگ

در بخش ششم اين مقاله به بررسی ساير فازهای تعريف شده برای حل مسئله نمونه ، خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


مراحل عملی ايجاد يک برنامه نمونه دات نت

 مراحل عملی ايجاد يک برنامه نمونه دات نت New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
ايجاد يک برنامه وب نمونه در دات نت ( بخش ششم ) | مديريت وب | 3317 | 7 | 4.9

ايجاد يک برنامه وب نمونه در دات نت ( بخش ششم )

ايجاد يک برنامه وب نمونه در دات نت ( بخش ششم )

آنچه تاکنون گفته شده است :

  • بخش اول ايجاد يک برنامه وب و فرم وب ( فاز اول )
  • بخش دوم : استفاده از کنترل های سرويس دهنده و بررسی کد HTML توليد شده ( فاز دوم )
  • بخش سوم : بررسی صحت و اعتبار داده ها ( فاز سوم )
  • بخش چهارم : افزودن اسکريپت سمت سرويس گيرنده و درج کد در فايل Code Behind
  • بخش پنجم : اشکال زدائی برنامه

در اين بخش به بررسی عمليات مرتبط با فاز چهارم ، خواهيم پرداخت .

فاز چهارم : مديريت وضعيت برنامه
برنامه های وب از معماری سرويس گيرنده و سرويس دهنده تبعيت می نمايند .اين بدان معنی است که بخشی از برنامه بر روی کامپيوتر سرويس گيرنده و بخشی ديگر بر روی سرويس دهنده اجراء و با همياری و همکاری يکديگر ، اهداف تعريف شده در برنامه را دنبال می نمايند. سرويس گيرنده و سرويس دهنده برای ارتباط با يکديگر می بايست از مجموعه ای قوانين مدون ( پروتکل ) استفاده نمايند. در اين راستا از پروتکل HTTP ، استفاده می گردد . ماهيت پروتکل فوق بصورت Stateless می باشد ، اين بدان معنی است که ارتباط ايجاد شده صرفا" برای يک تراکنش ، نگهداری می گردد .
قبل از اين که يک سرويس گيرنده و سرويس دهنده قادر به مبادله اطلاعات باشند ، می بايست بين آنان يک ارتباط ( Connection ) ايجاد گردد . سرويس گيرنده و سرويس دهنده با استفاده از پروتکل TCP/IP يک ارتباط را برقرار می نمايند . سرويس دهندگان و سرويس دهندگان از پروتکل HTTP برای ارسال درخواست ها و پاسخ به درخواست ها ، استفاده می نمايند . سرويس دهنده وسرويس گيرنده ارتباط ايجاد شده را صرفا" برای يک تراکنش نگهداری و در اين راستا ، چهار مرحله عمليات دنبال خواهد شد .

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

پروتکل | شماره پورت
FTP | 21
Telnet | 23
SMTP | 25
HTTP | 80
... | ...

  • مرحله دوم :ايجاد يک درخواست توسط سرويس گيرنده . در دومين مرحله ، سرويس گيرنده اقدام به ايجاد يک درخواست و ارسال آن برای سرويس دهنده وب می نمايد.

  • مرحله سوم : پاسخ سرويس دهنده وب .پس از دريافت و تفسير درخواست ارسالی، سرويس دهنده پاسخ لازم را برای سرويس گيرنده ارسال می نمايد.

  • مرحله چهارم : قطع ارتباط بين سرويس دهنده و سرويس گيرنده .سرويس دهنده مسئوليت قطع ارتباط با سرويس گيرنده پس از پردازش و پاسخگوئی به درخواست را برعهده دارد .مسئوليت فوق در انحصار سرويس دهنده نبوده و سرويس گيرنده نيز می بايست توانائی غيرفعال نمودن ارتباط ايجاد شده را داشته باشد . مثلا" در صورتی که شما بر روی دکمه Stop مرورگر خود کليک نمائيد ، مرورگر می بايست توانائی غيرفعال نمودن ارتباط ايجاد شده را دارا باشد .

برنامه های وب با توجه به واقعيت های موجود در رابطه با ماهيت پروتکل HTTP خصوصا" ويژگی Stateless آن می بايست از راهکاری متعددی به منظور نگهداری داده در بين تراکنش های متعدد بين سرويس گيرنده و سرويس دهنده استفاده نمايند( Round trips ). اهميت موضوع فوق تا به آن اندازه است که هر يک از تکنولوژی های موجود که از آنان به منظور پياده سازی برنامه های وب استفاده می شود ، به مقوله " مديريت وضعيت برنامه " ( State Management ) ، با دقت پرداخته و در اين راستا گزينه های متعددی را در اختيار طراحان و پياده کنندگان برنامه های وب قرار می دهند . با توجه به ماهيت برنامه های وب (جايگاه سرويس گيرنده وسرويس دهنده ) ، راهکارهای ارائه شده دارای گرايش سمت سرويس دهنده و يا سمت سرويس گيرنده می باشند .
با اين مقدمه طولانی و خسته کننده ! به بررسی مديريت وضعيت برنامه با تاکيد بر امکانات ارائه شده سمت سرويس گيرنده و سرويس دهنده در دات نت ، خواهيم پرداخت . در اين راستا هدف ، تشريح تمامی امکانات ارائه شده نبوده و صرفا" قصد داريم با ذکر نمونه هائی به بررسی دو رويکرد فوق ( سمت سرويس گيرنده ، سمت سرويس دهنده ) ، بپردازيم .

  • مرحله اول : مديريت وضعيت برنامه سمت سرويس گيرنده

  • مرحله دوم : مديريت وضعيت برنامه سمت سرويس دهنده

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

  • استفاده از شی ViewState برای نگهداری داده درج شده در فيلد "رمز عبور " . بدين منظور کد زير را در انتهای متد btnSignin_Click ، اضافه می نمائيم .بدين ترتيب پس از فعال شدن متد فوق ، مقدار درج شده در فيلد "رمز عبور" ، بر روی سرويس گيرنده ، نگهداری می گردد .

Client-Side State Management

Private Sub btnSignin_Click (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSignin.Click
. ......
 ViewState("Password") = txtPassword.Text
End Sub

  • سوئيچ به Design view ( انتخاب View | Designer و يا فعال نمودن کليدهای SHIFT + F7 )

  • کليک ( Double ) بر روی دکمه " انصراف" و افزودن کد زير در تابع مسئول به پاسخگودی به رويداد btnRestore_Click

Client side State management using ViewState

Private Sub btnRestore_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRestore.Click
lblResult.Text = " رمز عبور وارد شده " & CStr (ViewState("Password"))
End Sub

  • اجرای برنامه ( Debug | Start و يا فعال نمودن کليد F5 )

  • درج داده ورودی در فيلدهای "نام " و "رمز عبور" ( Srco,Srcopassword )

  • کليک بر روی دکمه "ورود به سايت "

  • پس از فعال نمودن دکمه "ورود به سايت " ، يک round trip به سرويس دهنده محقق شده و مقدار فيلد "رمز عبور" در شی ViewState نگهداری می گردد ( فيلد txtPassword خالی است ).

  • کليک بر روی دکمه " انصراف "

  • پس از فعال نمودن دکمه فوق ، رمز عبور ورودی در lblResult ، نمايش داده می شود .

مرحله دوم : مديريت وضعيت برنامه سمت سرويس دهنده : در اين مرحله از شی Session برای نگهداری نام درج شده در فيلد "نام " ، بر روی سرويس دهنده استفاده می نمائيم . بدين منظور مراحل زير را دنبال می نمائيم :

  • سوئيچ به صفحه Code behind مربوط به صفحه Login.aspx ( انتخاب View | Code و يا فعال نمودن کليد F7 )

  • استفاده از شی Session برای نگهداری مقدار درج شده در فيلد "نام" ( افزودن کد زير به متد btnSignin_Click )

Server side State management using Session

Private Sub btnSignin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSignin.Click
If (txtUserID.Text.Length >= 4 And txtPassword.Text.Length >= 4 And txtUserID.Text.StartsWith("S")) Then
lblResult.Text = "کاربر مجاز "
Session("UserID") = txtUserID.Text
Response.Redirect("LoginDemo.aspx")
Else
lblResult.Text = "کاربر غير مجاز"
End If
ViewState("Password") = txtPassword.Text
End Sub

  • برای دستيابی به مقدار session در صفحه ای ديگر ، يک فرم جديد را ايجاد می نمائيم :
    مرحله اول : فعال نمودن پنجره Solution Explorer ( انتخاب گزينه Solution Explorer از طريق منوی View )
    مرحله دوم : انتخاب Project | Add Web Form برای افزودن يک فرم وب جديد( نمايش جعبه محاوره ای Add New Item )
    مرحله سوم : انتخاب نام مورد نظر برای فرم وب ( LoginDemo.aspx ) و درج آن در فيلد Name و فعال نمودن دکمه Open

مرحله چهارم : پس از انجام مراحل فوق ، فرم وب LoginDemo.aspx ايجاد و به پروژه اضافه می گردد .

  • برای نمايش " نام " ، يک کنترل Label را بر روی فرم LoginDemo.aspx ايجاد می نمائيم .
    مرحله اول : سوئيچ به حالت Design ( کليک بر روی Design Tab )
    مرحله دوم : فعال نمودن پنجره Toolbox ( انتخاب گزينه Toolbox از طريق منوی View و يا فشردن کليدهای CTRL+ALT+X )
    مرحله سوم : انتخاب کنترل Label ازطريق Web Forms tab موجود در Toolbox و استفرار آن بر روی فرم وب
    مرحله چهارم : تنظيم خصلت های زير برای کنترل Label استفاده شده بر روی فرم وب . ( برای مشاهده پنجره Properties مربوط به يک کنترل ، پس از انتخاب کنترل دستور View|Properties را فعال و يا از کليد F4 ، استفاده می نمائيم ) .

    تنظيم خصلت های کنترل Label

    خصلت

    مقدار

    ID

    lblUserID

    Text

    شما با اين نام وارد سايت سخا روش شده ايد

  • سوئيچ به صفحه Code behind مربوط به صفحه LoginDemo.aspx ( انتخاب View | Code و يا فعال نمودن کليد F7 )

  • افزودن کد زير در متد Page_Load ( بازيابی مقدار "نام " از طريق Session ايجاد شده در صفحه Login.aspx )

Page_Load method

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not Page.IsPostBack Then
lblUserID.Text = lblUserID.Text & " " & Session("UserID")
End If
End Sub

  • اجرای برنامه ( Debug | Start و يا فعال نمودن کليد F5 )

  • درج داده ورودی در فيلدهای "نام " و "رمز عبور" ( Srco,Srcopassword )

  • کليک بر روی دکمه "ورود به سايت " ( نام درج شده در فيلد "نام " ، در Session ذخيره می گردد )

  • در ادامه کاربر به صفحه ديگر ( LoginDemo.aspx ) هدايت و از طريق صفحه فوق پيام : " " ، نمايش داده می شود .

نتايج فاز چهارم :

  • آشنائی با مفهوم stateless بودن پروتکل HTTP
  • استفاده از ViewState برای نگهداری داده ( سمت سرويس گيرنده )
  • استفاده از شی Session برای نگهداری داده ( سمت سرويس دهنده )

در بخش هفتم اين مقاله به بررسی ساير فازهای تعريف شده برای حل مسئله نمونه ، خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


مراحل عملی ايجاد يک برنامه نمونه دات نت

 مراحل عملی ايجاد يک برنامه نمونه دات نت New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
ايجاد يک برنامه وب نمونه در دات نت ( بخش هفتم ) | مديريت وب | 3239 | 9 | 4.6

ايجاد يک برنامه وب نمونه در دات نت ( بخش ششم )

ايجاد يک برنامه وب نمونه در دات نت ( بخش هفتم )

آنچه تاکنون گفته شده است :

  • بخش اول ايجاد يک برنامه وب و فرم وب ( فاز اول )
  • بخش دوم : استفاده از کنترل های سرويس دهنده و بررسی کد HTML توليد شده ( فاز دوم )
  • بخش سوم : بررسی صحت و اعتبار داده ها ( فاز سوم )
  • بخش چهارم : افزودن اسکريپت سمت سرويس گيرنده و درج کد در فايل Code Behind
  • بخش پنجم : اشکال زدائی برنامه
  • بخش ششم : مديريت وضعيت برنامه

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

فاز پنجم : دستيابی به داده در فرم های وب
در اين فاز با نحوه دستيابی به داده در فرم ها ی وب ، استفاده از کنترل DataGrid ، استفاده از اشياء ADO.NET ، نسبت دهی داده به کنترل DataGrid و سفارشی نمودن نحوه نمايش داده در يک DataGrid ، آشنا خواهيم شد . در ابتدا لازم است که يک بانک اطلاعاتی را ايجاد نمائيم . برای آشنائی با نحوه ايجاد يک بانک اطلاعاتی با استفاده از ويژوال استوديو دات نت ، می توانيد به مقاله " ذخيره و بازيابی داده توسط ADO.NET (بخش اول) " ، مراجعه نمائيد . فرض می کنيم که دارای يک بانک اطلاعاتی با نام SrcoDb می باشيم که دارای جدولی با نام SrcoArticles و با فيلدهای زير است :

  • مرحله اول : استفاده از کلاس SqlConnection

  • مرحله دوم : نمايش داده در DataGrid

  • مرحله سوم : Paging و مرتب سازی DataGrid

  • مرحله چهارم : دستورات ويرايش و بهنگام سازی

مرحله اول : استفاده از کلاس SqlConnection . در اين مرحله با نحوه استفاده از کلاس SqlConnection به منظور ايجاد يک Connection به بانک اطلاعاتی SrcoDb ، آشنا خواهيم شد. در اين رابطه مراحل زير را دنبال می نمائيم .

  • فعال نمودن صفحه LoginDemo.aspx ( ايجاد شده در بخش ششم مقاله )

  • سوئيچ به صفحه Code behind مربوط به صفحه LoginDemo.aspx ( انتخاب View | Code و يا فعال نمودن کليد F7 )

  • افزودن کد زير در ابتدای صفحه Code behind ( امکان استفاده از کلاس SqlConnection فراهم می گردد) .

LoginDemo.apsx code behind page

Imports System.Data.SqlClient

  • تعريف يک متغير Class-level از نوع SqlConnection :

Add a class-level variable

Public Class LoginDemo
Inherits System.Web.UI.Page
Dim myConnection As SqlConnection
...........
............

  • افزودن کد زير در متد Page_Load مربوط به صفحه LoginDemo.aspx

Code in Page_Load method

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
myConnection = New SqlConnection("server=(local);database=SrcoDb;User ID=sa; Password=")
..........

  • با انجام مراحل فوق ، يک شی SqlConnection به منظور اتصال به بانک اطلاعاتی SrcoDb ، ايجاد می گردد( سرويس دهنده SQL ) .

مرحله دوم : نمايش داده در DataGrid . در اين مرحله با نحوه بازيابی داده از جدول SrcoArticles و نمايش آنان در DataGrid آشنا خواهيم شد . در اين رابطه مراحل زير را دنبال می نمائيم .

  • سوئيچ به Design View مربوط به صفحه LoginDemo.aspx ( انتخاب View | Designer و يا فعال نمودن کليد SHIFT+F7 )

  • انتخاب View | Toolbox و يا فعال نمودن کليد های CTRL+ALT+X

  • انتخاب کنترل DataGrid ازطريق Web Forms tab موجود در Toolbox و استفرار آن بر روی فرم وب LoginDemo.aspx ( در وضعيت Desgin view ) .

  • تنيظيم خصلت های زير برای کنترل DataGrid استفاده شده بر روی فرم وب . ( برای مشاهده پنجره Properties مربوط به يک کنترل ، پس از انتخاب کنترل دستور View|Properties را فعال و يا از کليد F4 ، استفاده می نمائيم ) .

تنظيم خصلت های کنترل DataGrid
خصلت | مقدار
ID | dg Articles
DataKeyField | Article ID
Width | 100%

  • سوئيچ به صفحه Code behind مربوط به صفحه LoginDemo.aspx ( انتخاب View | Code و يا فعال نمودن کليد F7 )

  • برای دريافت داده از جدول SrcoArticles و نسبت دهی آن به DataGrid ، متد زير را پس از روتين مربوط به رويداد Page_Load ، اضافه می نمائيم . ( ايجاد يک DataAdapter به منظور بازيابی داده از جدول SrcoArticles ، ايجاد يک Data Set و پر نمودن آن از داده موجود در جدول SrcoArticles ، نسبت دهی داده موجود در جدول SrcoArticles به DataGrid ) .

Code in Page_Load method:: Add a method

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
..........
ٍEnd Sub

Private Sub BindGrid (ByVal sortfield As String)
 Dim myCommand As SqlDataAdapter
myCommand = New SqlDataAdapter("select * from SrcoArticles", myConnection)
Dim ds As New DataSet()
myCommand.Fill(ds, "SrcoArticles")
Dim Source As DataView
Source = ds.Tables("SrcoArticles").DefaultView
Source.Sort = sortfield
dgArticles.DataSource = Source
dgArticles.DataBind()

End Sub

  • فراخوانی متد BindGrid (ايجاد يک DataAdapter به منظور بازيابی داده از جدول SrcoArticles ، ايجاد يک Data Set و پر نمودن آن از داده موجود در جدول SrcoArticles ، نسبت دهی داده موجود در جدول SrcoArticles به DataGrid ) در زمان Load صفحه از طريق متد Page_Load .

Code in Page_Load method:: Add

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
myConnection = New SqlConnection("server=(local);database=SrcoDb;User ID=sa; Password=;")
 If Not Page.IsPostBack Then
 BindGrid ("ArticleID")
 End If
End Sub

  • اجرای برنامه ( Debug | Start و يا فعال نمودن کليد F5 )

  • درج داده ورودی در فيلدهای "نام " و "رمز عبور" ( Srco,Srcopassword )

  • کليک بر روی دکمه "ورود به سايت "

  • در صورت تائيد کاربر ، وی به صفحه LoginDemo.aspx ، هدايت و از طريق صفحه فوق ، داده موجود در جدول SrcoArticles در DataGrid نمايش داده می شود.

نتايج مراحل اول و دوم فاز پنجم :

  • آشنائی با نحوه استفاده از کلاس SqlConnection
  • آشنائی با نحوه استفاده از DataGrid در يک فرم وب
  • آشنائی با نحوه بازيابی داده از يک بانک اطلاعاتی و نمايش آن در يک DataGrid

در بخش هشتم اين مقاله به بررسی ساير مراحل مربوط به فاز پنجم خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


مراحل عملی ايجاد يک برنامه نمونه دات نت

 مراحل عملی ايجاد يک برنامه نمونه دات نت New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
ايجاد يک برنامه وب نمونه در دات نت ( بخش هشتم ) | مديريت وب | 2431 | 10 | 3.9

ايجاد يک برنامه وب نمونه در دات نت ( بخش هشتم )

ايجاد يک برنامه وب نمونه در دات نت ( بخش هشتم )

آنچه تاکنون گفته شده است :

  • بخش اول ايجاد يک برنامه وب و فرم وب ( فاز اول )
  • بخش دوم : استفاده از کنترل های سرويس دهنده و بررسی کد HTML توليد شده ( فاز دوم )
  • بخش سوم : بررسی صحت و اعتبار داده ها ( فاز سوم )
  • بخش چهارم : افزودن اسکريپت سمت سرويس گيرنده و درج کد در فايل Code Behind
  • بخش پنجم : اشکال زدائی برنامه
  • بخش ششم : مديريت وضعيت برنامه
  • بخش هفتم : دستيابی به داده در فرم های وب

در بخش هفتم اين مقاله به بررسی مراحل اول و دوم ( استفاده از کلاس SqlConnection و نمايش داده در DataGrid ) فاز پنجم ، اشاره گرديد . در اين بخش به بررسی ساير مراحل خواهيم پرداخت ( Paging ، مرتب سازی DataGrid ، ويرايش ، بهنگام سازی ) .

فاز پنجم : دستيابی به داده در فرم های وب

  • مرحله اول : استفاده از کلاس SqlConnection

  • مرحله دوم : نمايش داده در DataGrid

  • مرحله سوم : Paging و مرتب سازی DataGrid

  • مرحله چهارم : دستورات ويرايش ، بهنگام سازی و .

مرحله سوم : Paging و مرتب سازی DataGrid .در اين مرحله با نحوه استفاده از امکاناتی نظير مرتب سازی و Paging در ارتباط با کنترل DataGrid ، آشنا خواهيم شد. برای افزودن ويژگی Paging ( نمايش اطلاعات موجود در DataGrid بر اساس تعداد رکوردهائی می باشد که برای آن مشخص می گردد ) ، مراحل زير را دنبال می نمائيم .

  • سوئيچ به صفحه Code behind مربوط به صفحه LoginDemo.aspx ( انتخاب View | Code و يا فعال نمودن کليد F7 )

  • تنظيم خصلت های کنترل DataGrid ( انتخاب View | Properties Window , و يا فعال نمودن کليد F4 ) .

تنظيم خصلت های کنترل DataGrid
خصلت | مقدار
AllowPaging | True
Page Size | 5
Mode | NumericPages

  • شکل DataGrid در فرم وب ( به شماره صفحات در انتهای کنترل DataGrid توجه نمائيد ) :

درج کد لازم به منظور Paging

  • سوئيچ به صفحه Code behind مربوط به صفحه LoginDemo.aspx ( انتخاب View | Code و يا فعال نمودن کليد F7 )

  • انتخاب dgArticles از طريق Drop down مربوط به نام کلاس

  • انتخاب PageIndexChanged در Drop Down . در ادامه ويژوال استوديو يک Event handler با نام dgArticles_PageIndexChanged را ايجاد می نمايد .

  • افزودن کد زير در متد dgArticles_PageIndexChanged ( امکان Paging برای DataGrid فراهم می گردد ) .

dgArticles_PageIndexChanged method

Private Sub dgArticles_PageIndexChanged(ByVal source As Object, ByVal e As_ System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles dgArticles.PageIndexChanged
d gArticles.CurrentPageIndex = e.NewPageIndex
BindGrid("ArticleID")
End Sub

  • اجرای برنامه ( Debug | Start و يا فعال نمودن کليد F5 )

  • درج داده ورودی در فيلدهای "نام " و "رمز عبور" ( Srco,Srcopassword )

  • کليک بر روی دکمه "ورود به سايت "

  • در ادامه کاربر به صفحه ديگر ( LoginDemo.aspx ) هدايت می گردد . از طريق صفحه فوق ، داده موجود در جدول SrcoArticles در DataGrid به همراه شماره صفحه ، نمايش داده می شود.

  • با کليک بر روی شماره صفحات ،می توان ساير اطلاعات موجود دربانک اطلاعاتی را مشاهده نمود.

درج کد لازم به منظور مرتب سازی

  • سوئيچ به Design View مربوط به صفحه LoginDemo.aspx ( انتخاب View | Designer و يا فعال نمودن کليد SHIFT+F7 )

  • تنظيم خصلت های کنترل DataGrid ( انتخاب View | Properties Window , و يا فعال نمودن کليد F4 ) .

تنظيم خصلت های کنترل DataGrid
خصلت | مقدار
AllowSorting | True

  • سوئيچ به صفحه Code behind مربوط به صفحه LoginDemo.aspx ( انتخاب View | Code و يا فعال نمودن کليد F7 )

  • انتخاب dgArticles از طريق Drop down مربوط به نام کلاس

  • انتخاب SortCommand از طريق Drop Down .در ادامه ويژوال استوديو يک Event handler با نام dgArticles_SortCommand ، ايجاد می نمايد .

  • افزودن کد زير در متد dgArticles_SortCommand ( امکان مرتب سازی برای DataGrid فراهم می گردد ) .

Code in Page_Load method

Private Sub dgArticles_SortCommand(ByVal source As Object, ByVal e As _
System.Web.UI.WebControls.DataGridSortCommandEventArgs)
BindGrid (e.SortExpression)
End Sub

  • شکل DataGrid در فرم وب ( ستون ها به صورت Hyperlink نمايش داده می شوند ) :

  • اجرای برنامه ( Debug | Start و يا فعال نمودن کليد F5 )

  • درج داده ورودی در فيلدهای "نام " و "رمز عبور" ( Srco,Srcopassword )

  • کليک بر روی دکمه "ورود به سايت "

  • در ادامه کاربر به صفحه ديگر ( LoginDemo.aspx ) هدايت می گردد . از طريق صفحه فوق ، داده موجود در جدول SrcoArticles در DataGrid نمايش داده می شود . ( اسامی ستون ها بصورت hyperlink خواهند بود) .

  • با کليک بر روی نام هر ستون ، داده موجود در DataGrid بر اساس ستون انتخاب شده ، مرتب خواهد شد.

مرتب سازی بر اساس ستون " نويسنده"

مرتب سازی بر اساس ستون "عنوان"

نتايج مرحله سوم فاز پنجم :

  • آشنائی با نحوه Paging در يک DataGrid
  • آشنائی با نحوه مرتب سازی داده موجود در يک DataGrid

در بخش نهم اين مقاله به بررسی مرحله چهارم مربوط به فاز پنجم ، خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


مراحل عملی ايجاد يک برنامه نمونه دات نت

 مراحل عملی ايجاد يک برنامه نمونه دات نت New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
ايجاد يک برنامه وب نمونه در دات نت ( بخش نهم ) | مديريت وب | 2612 | 5 | 5

ايجاد يک برنامه وب نمونه در دات نت ( بخش نهم )

ايجاد يک برنامه وب نمونه در دات نت ( بخش نهم )

آنچه تاکنون گفته شده است :

  • بخش اول ايجاد يک برنامه وب و فرم وب ( فاز اول )
  • بخش دوم : استفاده از کنترل های سرويس دهنده و بررسی کد HTML توليد شده ( فاز دوم )
  • بخش سوم : بررسی صحت و اعتبار داده ها ( فاز سوم )
  • بخش چهارم : افزودن اسکريپت سمت سرويس گيرنده و درج کد در فايل Code Behind
  • بخش پنجم : اشکال زدائی برنامه
  • بخش ششم : مديريت وضعيت برنامه
  • بخش هفتم : دستيابی به داده در فرم های وب
  • بخش هشتم: دستيابی به داده در فرم های وب

در بخش هفتم اين مقاله به مراحل اول و دوم ( استفاده از کلاس SqlConnection و نمايش داده در DataGrid ) و در بخش هشتم به مرحله سوم ( Paging و مرتب سازی DataGrid ) مربوط به فاز پنجم ، اشاره گرديد . در اين بخش به بررسی مرحله چهارم ، خواهيم پرداخت ( ويرايش ، بهنگام سازی ) .

فاز پنجم : دستيابی به داده در فرم های وب

  • مرحله اول : استفاده از کلاس SqlConnection

  • مرحله دوم : نمايش داده در DataGrid

  • مرحله سوم : Paging و مرتب سازی DataGrid

  • مرحله چهارم : دستورات ويرايش وبهنگام سازی

مرحله چهارم : دستورات ويرايش و بهنگام سازی . در اين مرحله با نحوه اضافه نمودن يک ستون به کنترل DataGrid به منظور ويرايش و بهنگام سازی داده ، آشنا می شويم.

افزودن يک ستون به DataGrid

  • سوئيچ به Design View مربوط به صفحه LoginDemo.aspx ( انتخاب View | Designer و يا فعال نمودن کليد SHIFT+F7 )

  • کليک بر روی HTML tab برای مشاهده محتوی صفحه . افزودن کد زير بين <asp:Datagrid> و </asp:Datagrid> . ( کد فوق يک ستون و با نام "ويرايش" و از نوع LinkButton ايجاد می نمايد)

    Creates a custom column

    <asp:Datagrid id="dgArticles" ... >
    <Columns>
    <asp:EditCommandColumn ButtonType="LinkButton" UpdateText="بهنگام" CancelText="انصراف" EditText="ويرايش">
    </asp:EditCommandColumn>
    </Columns>
    </asp:Datagrid>

  • سوئيچ به Design View ( کليک بر روی Desgin Tab )

  • شکل DataGrid در فرم وب :

  • اجرای برنامه ( Debug | Start و يا فعال نمودن کليد F5 )

  • درج داده ورودی در فيلدهای "نام " و "رمز عبور" ( Srco,Srcopassword )

  • کليک بر روی دکمه "ورود به سايت "

  • در صورت تائيد کاربر ، وی به صفحه LoginDemo.aspx ، هدايت و از طريق صفحه فوق ، داده موجود در جدول SrcoArticles در DataGrid ( به همراه يک ستون جديد با نام "ويرايش" ) نمايش داده می شود.

تمهيدات لازم برای نمايش پيام به کاربر پس از بهنگام سازی داده

  • انتخاب View | Toolbox و يا فعال نمودن کليد های CTRL+ALT+X

  • انتخاب کنترل Label ازطريق Web Forms tab موجود در Toolbox و استفرار آن بر روی فرم وب LoginDemo.aspx ( در وضعيت Desgin view ) و در قسمت پائين DataGrid

  • تنيظيم خصلت های زير برای کنترل Label استفاده شده بر روی فرم وب . ( برای مشاهده پنجره Properties مربوط به يک کنترل ، پس از انتخاب کنترل دستور View|Properties را فعال و يا از کليد F4 ، استفاده می نمائيم ) .

    تنظيم خصلت های کنترل Label

    خصلت

    مقدار

    ID

    lblMessage

    Text خالی

افزودن امکان ويرايش ، بهنگام سازی ، انصراف در DataGrid

  • سوئيچ به صفحه Code behind مربوط به صفحه LoginDemo.aspx ( انتخاب View | Code و يا فعال نمودن کليد F7 )

  • انتخاب dgArticles از طريق Drop Down مربوط به اسامی کلاس ها

  • انتخاب متد EditCommand از طريق Drop Down مربوط به اسامی متدها . در ادامه ويژوال استوديو يک Event handler با نام dgArticles_EditCommand ، ايجاد می نمايد .

  • انتخاب CancelCommand از طريق Drop Down مربوط به اسامی متدها . در ادامه ويژوال استوديو يک Event handler با نام dgArticles_CancelCommand ، ايجاد می نمايد .

  • انتخاب UpdateCommand از طريق Drop Down مربوط به اسامی متدها . در ادامه ويژوال استوديو يک Event handler با نام dgArticles_UpdateCommand ، ايجاد می نمايد .

  • افزودن کد زير در متد dgArticles_EditCommand ( امکان ويرايش DataGrid فراهم می گردد ) .

EditCommand method

Private Sub dgArticles_EditCommand(ByVal source As Object, ByVal e As_ System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgArticles.EditCommand
dgArticles.EditItemIndex = CInt(e.Item.ItemIndex)
BindGrid("dgArticles")
End Sub

  • افزودن کد زير در متد dgArticles_CancelCommand ( امکان انصراف از عمليات ويرايش در DataGrid فراهم می گردد ) .

CancelCommand method

Private Sub dgArticles_CancelCommand(ByVal source As Object, ByVal e As_ System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgArticles.CancelCommand
dgArticles.EditItemIndex = -1
BindGrid("dgArticles")
End Sub

  • افزودن کد زير در متد dgArticles_UpdateCommand ( امکان بهنگام سازی داده در DataGrid فراهم می گردد ) .

UpdateCommand method

Private Sub dgArticles_UpdateCommand(ByVal source As Object, ByVal e As _
System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgArticles.UpdateCommand
Dim updateCmd As String

updateCmd = "UPDATE SrcoArticles SET Title = @Title where ArticleID = " & _
dgArticles.DataKeys(CInt(e.Item.ItemIndex))

Dim myCommand As SqlCommand
myCommand = New SqlCommand(updateCmd, myConnection)

myCommand.Parameters.Add(New SqlParameter("@Title", SqlDbType.NVarChar, 80))
Dim CurrentTextBox As System.Web.UI.WebControls.TextBox
CurrentTextBox = e.Item.Cells(1).Controls(0)
myCommand.Parameters("@Title").Value = CurrentTextBox.Text
myCommand.Connection.Open()
Try
myCommand.ExecuteNonQuery()
lblMessage.Text = "<b> عنوان مقاله " & dgArticles.DataKeys(CInt(e.Item.ItemIndex)) & " بهنگام گرديد </b><br>"
dgArticles.EditItemIndex = -1
Catch exp As Exception
lblMessage.Text = "ERROR: " & exp.Message
End Try

myCommand.Connection.Close()
BindGrid("dgArticles")
End Sub

  • اجرای برنامه ( Debug | Start و يا فعال نمودن کليد F5 )

  • درج داده ورودی در فيلدهای "نام " و "رمز عبور" ( Srco,Srcopassword )

  • کليک بر روی دکمه "ورود به سايت "

  • در صورت تائيد کاربر ، وی به صفحه LoginDemo.aspx ، هدايت و از طريق صفحه فوق ، داده موجود در جدول SrcoArticles در DataGrid نمايش داده می شود( به همراه لينک ويرايش )

  • کليک بر روی لينک "ويرايش " در هر يک از سطرهای DataGrid :

  • پس از نمايش DataGrid ( قابل ويرايش ) ، عنوان مقاله را تغيير و در ادامه لينک " بهنگام " را فعال تا تغييرات مورد نظر در بانک اطلاعاتی ذخيره گردد. پس از بهنگام سازی ، پيام " عنوان مقاله < شماره مقاله> بهنگام گرديد " از طريق کنترل lblMessage نيز نمايش داده می شود.

نتايج مرحله چهارم فاز پنجم :

  • آشنائی با نحوه ويرايش و بهنگام سازی داده موجود در يک DataGrid

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

جستجو
جستجو

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

مقالات
مشاهده گروه ها


بررسی عملکرد سايت

 بررسی عملکرد سايت New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
به مناسبت اولين سالگرد تاسيس سايت | مديريت وب | 4208 | 17 | 3.6

به مناسبت اولين سالگرد تاسيس سايت

به مناسبت اولين سالگرد تاسيس سايت

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

عملکرد سايت در يک سال گذشته
سايت سخاروش با هدف توليد محتوی، ايجاد و در طی يک سال گذشته تمام تلاش خود را جهت تحقق خواسته فوق ، صرف نموده است . در اين مدت توانسته ايم مقالات متعددی را با موضوعات مختلف بر روی سايت منشتر نمائيم ( تقريبا" هر دو روز يک مقاله ) و اين حجم مطلب در طی يک سال و برای مجموعه کوچکی چون ما ، شايد زياد باشد . بخش دايره المعارف و دوره های آموزشی وب نيز توانسته اند ، مخاطبان خاص خود را داشته باشند . بسياری از کاربران در تماس های مکرری که با ما داشته اند ، علت عدم تکميل دوره آموزشی وب را جويا شده و يا اين که چراکه مطالب جديد به بخش دايره المعارف اضافه نمی گردد؟ محدوديت در منابع موجود ( انسانی ، مالی )، مهمترين دليل در اين رابطه می باشد. البته ما سعی نموده ايم مطالب و عناوين ارائه شده در دوره آموزشی را در مقالات ادامه دهيم .
تا زمان نشر اين مطلب بيش از 52,809 از صفحه اصلی سايت بازديد نموده اند. بر اساس آمار استخراج شده ( عدم احتساب سه ماه اول فعاليت سايت ) بطور متوسط هر ماه پنج برابر نسبت به صفحه اصلی نيز از طريق لينک های موجود در ساير سايت ها از سايت سخاروش ،بازديد می نمايند . بر اين اساس ، برآورد ما از تعداد کاربران در طی يک سال گذشته 045 ، 264 می باشد . جدول زير برخی از آمار عملکرد سايت سخا روش در يک سال گذشته را نشان می دهد .

تعداد | مورد
52،809 | مراجعه به صفحه اصلی سايت
264،045 | مراجعه به سايت
18،649 | مراجعه به صفحه اصلی دايره المعارف
363، 9 | مراجعه به صفحه اصلی دوره آموزشی وب
156،023 | مشاهده تمامی مقالات
874 | تعداد آراء داده شده به مقالات
معرفی اوليه VB.NET | مقاله برگزيده ( بيشترين مشاهده )
ذخيره و بازيابی داده توسط ADO.NET (بخش دوم ) | مقاله برگزيده ( بيشترين امتياز)
نحوه انتخاب يک مادربرد | مقاله برگزيده (بيشترين مشاهده نسبت به زمان انتشار)
تعداد مقالات منتشر شده با توجه به موضوع
18 1 7 11 12 24 4 11 7 8 1 11 49 5 4 2 5 | امنتيت اطلاعات بانک های اطلاعاتی پروتکل های شبکه تکنولوژی ADO.NET تکنولوژی ASP.NET خانواده XML زبان VB.NET سخت افزار سرويس های شبکه سرويس های وب سيستم های عامل فرم های وب مفاهيم دات نت مفاهيم شبکه ويروس ها و کرم ها طراحی برنامه متفرقه

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

با سپا س فراوان از تلاش سبزتا ن
http://khabar.gooya.com | http://www.itiran.com
http://news.gooya.com | http://www.iranASP.NET
http://www.idevcenter.com/links | http://www.ictac.ir/link.htm
http://www.nibblemag.com | http://weblog.netkadeh.com
http://www.iranit.info | http://www.webrah.com
http://www.zendehrood.com | http://shahramamiri.persianblog.com
http://www.farstec.com | http://www.computerdailynews.com
http://visualc6.persianblog.com | http://www.persianlearn.com
http://www.adresha.com | http://www.shabane.com
http://news.gooya.com/technology | http://www.delphishop.com
http://linkdony.persianblog.com | http://www.donya-e-eqtesad.com
.http://www.linkestan.com | http://www.ediplomacyiran.com
http://clicks.netkadeh.com | http://www.nedstatbasic.net
http://www.kanoun.org | http://itfolder.blogspot.com
http://www.midoony.com | http://www.itiran.net
http://weblog.mohsentaleb.com | http://www.uwdg.net
http://www.irandevelopers.com | http://weblog.azemat.com
http://amirtec.persianblog.com | http://www.khatereh.net
http://www.meykadeh.net | http://blog.mojtaba.net
http://www.persiaelearning.com | http://81.12.104.3/YazdSima
http://fuadjh.blogsky.com | http://www.sobhaneh.com
http://www.iran-ava.com | http://www.barnamenevis.org
http://www.ihedy.com | http://www.techno-graph.com
http://www.aqrazavi.n et | http://www.linkak.persianblog.com
http://www.iraniandc.com | http://www.hothint.com
http://www.mashatan.com | http://aspx.persianblog.com
http://www.computernewspaper.com | http://no-religion.blogspot.com
http://www.etvto.ir | http://www.modirian.net
http://www.iranweb.biz | http://www.zanjansite.com
http://www.rayanir.com | http://www.persianlog.com
http://www.a-jeddy.com | http://www.alalamnews.net
http://www.alumsharif.org | http://www.behafarin.ir
http://www.behidden.com | http://www.irooniadownload.com
http://www.kashaneh.org | http://www.nibblemag.com
http://www.peykeiran.com | http://www.shahotoofani.net
http://www.zahra-b.com | http://www.linkak.persianblog.com
http://mortezaweb.persianblog.com | http://www.tebyan.net
http://www.taranehha.com | http://ee.sharif.edu/~rdehestani
http://www.alitrader.persianblog.com | http://forum.persiantools.com
http://www.it4managers.com | http://know15.tripod.com
http://www.azady.de | http://www.baharrayaneh.net
http://80.191.21.8/itsite/itsite.asp | http://www.hamshahri.org
http://mortezaweb.persianblog.com | http://web.1asphost.com
http://www.farzinonline.i8.com | http://www.parstranslator.net
http://ict.persianblog.com | http://www.ircert.com
http://mistercomputer.persianblog.com | links.mohsentaleb.com
http://ramtindigital.persianblog.com | http://www.farsilinks.com
http://ce.aut.ac.ir/~rajabi/maghale.html | http://nasser2001.persianblog.com
http://forum.majidonline.com | http://www.computerstar.persianblog.com
http://www.parssky.com | http://www.bijariran.com
http://eskele.persianblog.com/ | http://www.farhanghonar.com
http://www.khatereh.net | http://www.mashhadteam.com
http://majid11808.persianblog.com | http://semnannet.persianblog.com
http://asalijoon.persianblog.com/ | http://medademan.blogspot.com
http://www.sonqor.com | http://www.bazarvakil.com
http://www.bitaweb.com/fa/links.html | http://mehrpardaz.persianblog.com
http://www.behafarin.ir | http://www.websecuritymgz.com
http://www.qazvin.net | http://davoodiha.persianblog.com
http://sitesabz.com/biography.htm | http://www.maybod.info
http://www.computerstar.persianblog.com | www.rahavard.co.ir
http://kanoon-e-javanan.persianblog.com | http://www.ghazmar.blogspot.com
http://www.goftman.com | http://www.zhina-internet.blogsky.com/
http://www.iritn.com | http://kardo.persianblog.com/
http://www.pishgamrah.com | www.saynet.ir
javan1365.persianblog.com | http://goustonline.com/
http://persinsoft2004.persianblog.com/ | http://www.kimia.info/links/links.html
http://www.hamsar.de/ | http://aryan-golden.persianblog.com/
http://www.sabzine.com/links/ | http://h.weblogs.us/archives/005770.html
http://www.persiantalk.com | http://goxp.persianblog.com/
http://new.dana.ir | http://weblog.ccwmagazine.com/
http://shrnew.persianblog.com/ | http://oloom.yoll.net/kamputer.htm
http://komilxp.persianblog.com/ | http://www.moderet.persianblog.com/
http://www.barnamenevis.org | http://dalahoo.5u.com/index.html
http://sub9.persianblog.com/ | http://www.iran8.com/
http://www.olomrayane.50megs.com/ | http://www.iranportals.com/
http://shrnew.persianblog.com | www.daneshgahe-iranshahr.persianblog.com
http://rayan.weblogs.us/ | www.files.persianblog.com
http://infotechmedia.com/behrooznp/ | http://khdo91.persianblog.com/
http://ar30.persianblog.com/ | http://www.shiraztel.co.ir
http://rezvansoft.i8.com | http://www.ipooya.netfirms.com/main.htm
http://www.ilam-industry.org/sh1.htm | http://shirazitwork.persianblog.com/
http://www.paris-kochulo.persianblog.com/ | http://web.1asphost.com/ilife/show.asp
http://www.bonyadmaskanfars.ir | http://abdekhoda.persianblog.com/
http://www.bushehrtelecom.ir/ | http://www.tarisha.com/
http://jina2.blogspot.com/ | http://shahramamiri.persianblog.com/
http://webnews.ir/ | http://netsec.persianblog.com
http://www.sharghnewspaper.com/ | http://www.ahnsolution.com/
http://www.sarer.com/news4.htm | http://3mv.persianblog.com/
http://photohamrah.persianblog.com/ | http://hosseinpn.persianblog.com/
http://raana.blogsky.com/ | http://net-sec.persianblog.com/
http://protux.persianblog.com/ | http://asadshironline.netfirms.com/
http://www.ebratha.com/ | http://www.mazwpit.ir/
http://samalovers.persianblog.com | http://delgosha.com/f_link.htm
http://www.linkpars.com/ | http://sajadhater.persianblog.com/
http://mtaheri.blogspot.com/ | www.sahelrayaneh.com/
http://www.sobhesepid.com/ | http://80.191.161.125/site/cool.htm
http://articles.roshd.ir/ | http://www.gooyanet.net/
http://rvgroup.persianblog.com/ | http://www.sarer.com/news5.htm
http://www.isfahan.us/link2-6.htm | http://www.root-siiis.com/
http://6roc.persianblog.com/ | http://www.iralink.com/
http://www.shojaee.com/weblog/ | http://www.hozour.com
http://www.fata.ir/ | http://www.dellealpi.persianblog.com/
http://reyhoo.com/ | http://www.yasfonoon.com/LEARN.htm
http://www.dotnetexperts.net | http://www.persasoft.com/Default.aspx
http://www.kimianet.com/ | http://jafarpour2005.tripod.com/
http://mohammad200300.blogsky.com/ | http://www.iranlive.150m.com/
http://nedakhandel.persianblog.com/ | http://nsdept.persianblog.com/
http://www.marmoolak.net/ | http://www.khalijonline.net/
http://www.esfahan.agri-jahad.ir/ | http://sadracity.ir/
http://www.sobhesepid.com/ | http://sasannobakht.persianblog.com/
http://www.vxz.persianblog.com/ | http://www.cometonet.com
http://www.webnews.ir/ | http://www.valiasr.net
http://www.kurdict.ir/ | http://www.maghalat.com/
http://www.bizzynation.com | http://www.bojnord.com
http://www.bikaran.com | http://falws.tripod.com
http://www2.states.sso.ir | http://lion1361.persianblog.com
http://websecurity.ir/ | http://hadidata.persianblog.com/
http://www.knowclub.com | http://dellealpi.persianblog.com/
http://shabgard.org/top/ | http://www.chortke.net
http://www.persiangt.com | http://www.parsehonline.com/
http://www.hyperharmonic.com/ | http://www.superonlineiran.net
http://www.bavarnet.com/ | http://www.iranvig.com/
http://www.yazdshahed.com | http://www.scy-quchan.com/
http://electroniclab80.persianblog.com/ | http://www.comvil.com/
http://portal.farsilinux.org/ | http://www.daregooshi.com/
http://www.daavar.com | http://dellealpi.persianblog.com/
http://www.fakoorsanat.com/ | http://sci.cse.shirazu.ac.ir/
http://www.artvto.org.ir | http://www.aftab.ws
http://www.setarehsorkh.com | http://www.darinoos.net
http://tr.ictfaculty.ir/ | http://www.aryaline.net
http://jahed.net/ | http://www.goldennights.com
http://behshahr65.persianblog.com/ | http://jadvalsaz.5u.com
http://forum.p30world.com | http://www.iranlive.150m.com/
http://www.nked.co.ir/pages/p904.htm | http://www.ashioone.com/
http://www.bytesclub.com/links.aspx | http://www.mojesewom.com
http://www.iranpr.org/ | http://www.hupaa.com/
http://weblog.itanc.com/ | http://itmanagement.persianblog.com/
http://www.mit.ir/links/links.html | http://portal.farsilinux.org/
http://www.eshraghenoor.com/rayaneh.htm | http://almassi.persianblog.com/
http://www.dabiran.persianblog.com/ | http://www.golha.net/pc/
http://www.negineparsa.com/linkes.php | http://www.dalahooco.com/
http://www.yarantoos.com | http://www.hsnaraq.com/modules/news/
http://www.swg04.com/ | http://www.niktacomputer.com
http://www.nara.blogfa.com/ | http://www.njaco.com/
http://www.its.co.ir/ | http://hafezi1237.blogspot.com/
http://www.ganjafzar.com/article364.htm | http://articles.parandsoft.com/dns.htm
http://www.imam-javanan.com/ | http://www.nked.co.ir/pages/p904.htm
http://net.blogfa.com/ | http://www.ariconet.net/
http://java.schoolnet.ir/ | http://www.its.co.ir/
http://fa.infofi.com/ | http://forum.host4ir.net/printthread.php?t=68
http://www.3mv.blogfa.com/ | http://www.yoord.com/
http://www.babak.somee.com/ | http://www.mcs-8051.com/archives/000102.php
http://www.buypcmods.com/ | http://www.hupaa.com/Data/P00315.php
http://apatieh.persianblog.com/ | http://rezaghanbarzade.persianblog.com/
http://sahran.parsiblog.com/ | http://www.korosh_sh.blogfa.com/
http://www.choobindar.150m.com/ | http://mohammad200300.blogsky.com/
http://behshahr65.persianblog.com/ | http://www.lernseiten-online.de
http://www.llm.persianblog.com/ | http://rezabazargan.persianblog.com/
http://www.iranglobal.dk/ | http://www.pirahansiah.com/link.htm
http://zenhari.blogfa.com/ | http://www.dat.ir/?state=rss&id=58
http://social.iran-emrooz.com/index.php | http://www.aliproductions.com
http://www.nahavandcity.com/ | http://www.persianforum.ne
http://asr.blogfa.com/ | http://www.ganjafzar.com/article448.htm
http://korosh_sh.blogfa.com/ | http://www.lookiran.com
http://www.azin-comp.150m.com/ | http://213.176.115.248/
http://www.hyperharmonic.com/links.aspx | http://shabnaml3.persianblog.com/
http://www.tv-programs.info/ | http://www.kam-tele.com/
http://www.firoozabad.com | http://iranefarda.mihanblog.com/?Author=3
http://www.tarahi.net/ | http://www.parsmagic.com
http://www.hsnaraq.com/ | http://fattahi.net/new_page_11.htm
http://www.hamarasystem.net/ | http://ansari.isfschools.net/
http://www.scy-quchan.com/software.htm | www.persianhacker.net
http://www.host4ir.net/ | http://www.majidhosseinpour.5u.com/
http://golalejoon.persianblog.com/ | http://www.kashanedu.org/
http://www.shakhsoft.com/ | http://sarajoori.persianblog.com/
http://www.rasa-net.com/topsite.htm | http://www.nked.co.ir/pages/p904.htm
http://it-iran.blogfa.com/ | http://www.martinarmand.com/
http://www.hooshafzar.com/ | http://www.fardamedia.com/
http://ilamcity.blogfa.com | http://www.golpesar.com
http://www.macromediax.com/l | http://roomeznet.blogfa.com/
http://www.sabafoundation.com/links.html | http://www.lajvar.se/computer.htm
http://www.tarahi.net/ | http://www.gotow3.com/
http://www.its.co.ir/ | http://www.vatanamiran.blogfa.com/
http://weblog.alvanweb.com/ | http://parizad.blogfa.com/
http://amino.blogfa.com/ | http://www.it4tech.com/
http://www.bahri.blogfa.com/ | http://www.dehestani.ws

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

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

جستجو
جستجو

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

مقالات
مشاهده گروه ها


بررسی پديده وبلاگ و وبلاگ نويسی

 بررسی پديده وبلاگ و وبلاگ نويسی New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
وبلاگ چيست ؟ ( بخش اول ) | مديريت وب | 6890 | 32 | 2.5

وبلاگ چيست ؟

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


بررسی امکانات VB.NET به منظور ذخيره سازی اطلاعات

 بررسی امکانات VB.NET به منظور ذخيره سازی اطلاعات New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
ذخيره سازی اطلاعات در VB.NET ( بخش اول ) | مديريت وب | 2041 | 2 | 3.5

ذخيره سازی اطلاعات در VB.NET ( بخش اول )
يکی از مهمترين مسائل موجود در هر زبان برنامه نويسی ، نحوه ذخيره و بازيابی اطلاعات مورد نياز يک برنامه است . فرض کنيد ، قصد نوشتن برنامه ای را داشته باشيم که در آن از کاربران بخواهيم نام خود را وارد نمايند . پس از درج نام توسط کاربران ، اطلاعات فوق را چگونه می بايست ذخيره نمود تا امکان استفاده از آنان در برنامه ، فراهم گردد؟. چگونه می توان اقدام به ذخيره سازی داده هائی با محتوياتی خاص نظير : "اعداد" و يا " تاريخ " نمود؟. نحوه بازيابی اطلاعات ذخيره شده به چه صورت است ؟ در پاسخ به تمامی سوالات فوق ، می بايست به جايگاه بسيار مهم "متغيرها " در يک زبان برنامه نويسی ، اشاره نمود .
متغيرها يکی از مفاهيم اوليه و در عين حال بسيار مهم در دنيای برنامه نويسی می باشند . با استفاده از متغيرها يک نام ( label ) به ناحيه ای از حافظه نسبت داده شده و امکان ذخيره سازی نوع خاصی از داده در آن فراهم می گردد . هر يک از زبان های برنامه نويسی دارای امکانات و مجموعه قوانينی به منظور تعريف ، نسبت دهی و دستابی به محتويات يک متغير می باشند .با استفاده از متغيرها ، امکان انجام عمليات متفاوتی نظير محاسبات رياضی ، پردازش بر روی رشته ها ، شمارش طول يک عبارت ، در يک برنامه فراهم می گردد .
VB.NET ، زبانی قدرتمند در ارتباط با نوع داده ها می باشد . در زمان تعريف يک متغير ، می بايست نوع داده مربوطه را نيز مشخص نمود (نظير String,Integer و يا Date ) .پس از تعريف يک متغير و نوع آن ، نحوه برخورد با داده ( نحوه ذخيره و بازيابی و انجام عمليات مجاز بر روی آن ) ، مشخص می گردد.
در اين مقاله قصد داريم به بررسی امکانات VB.NET به منظور ذخيره سازی اطلاعات پرداخته و در اين راستا با نوع های متفاوت داده و جايگاه هر يک از آنان ، آشنا شويم .

متغير چيست ؟
متغير ، مرجعی برای مراجعه به يک محل خاص در حافظه بوده که برنامه نويس برای مراجعه به آن يک نام خاص را تعريف و مشخص می نمايد . از مکان های فوق به منظور ذخيره سازی اطلاعات و استفاده از محتويات مربوطه در يک برنامه استفاده می گردد. در حقيقت متغيرها ، اطلاعاتی را بطور حقيقی در خود ذخيره نمی نمايند بلکه ما را به سمت محل ذخيره سازی و در نهايت يافتن اطلاعات ، هدايت می نمايند .
مثال : در مثال زير سه متغير به منظور ذخيره سازی يک رشته Text ، يک مقدار عددی و يک تاريخ ، تعريف و مقداردهی شده اند .

Dim City As String
Dim Counter As Integer
Dim PublishDate As Date
City = "Tehran"
Counter = 190
PublishDate = #6/15/2004#

پس از تعريف هر متغير ، امکان نسبت دهی يک مقدار به آن ، مشاهده اطلاعات ذخيره شده ، بازيابی اطلاعات و يا درج اطلاعات جديد در آن ، فراهم می گردد.متغيرها از جمله عناصر ضروری برای ذخيره سازی داده در يک زبان برنامه نويسی بوده و VB.NET نيز از اين قاعده مستثنی نخواهد بود .

تعريف يک متغير
همانگونه که در مثال قبل مشاهده گرديد ، قبل از انتساب مقدار به يک متغير، می بايست اقدام به تعريف متغير و مشخص نمودن نوع داده آن نمود . پس از تعريف يک متغير و مشخص نمودن نوع آن ، نحوه برخورد با آن در برنامه مشخص خواهد شد. با استفاده از فرآيندی موسوم به Declaration ، اقدام به تعريف متغيرها و نوع آنان ، می گردد. تعريف متغيرها ، يکی از نکات مهم در دنيای برنامه نويسی است . در زما ن ايجاد صفحات پويا با استفاده از ASP.NET و توسط زبان های برنامه نويسی نظير VB.NET و يا سی شارپ ، می بايست تمامی متغيرها قبل از استفاده دريک برنامه و يا صفحه وب ، تعريف گردند .
در VB.NET برای تعريف يک متغير از کليد واژه Dim ( اقتباس شده از واژه Dimension ) ، استفاده می گردد.
مثال : در مثال زير ، يک متغير رشته ای با نام strCityName ، تعريف و در ادامه مقدار " Teharn" ، به آن نسبت داده شده است .

Dim strCityName As String
strCityName = "Tehran"

در زمان تعريف يک متغير بطور همزمان می توان مقداری را به آن نيز نسبت داد ( تعريف و مقداردهی همزمان ) :

Dim strCityName As String = "Tehran"

امکان تعريف همزمان چندين متغير هم نوع در يک سطر نيز وجود دارد : ( تعريف همزمان چندين متغير با نوع يکسان )

Dim strCityName1 , strCityName2 , strCityName3 As String
strCityName1 = "Tehran"
strCityName2 ="Ahwaz"
strCityName3 = "Shiraz"

درادامه می توان به هريک از متغيرهای تعريف شده ، مقدار مورد نظر را نسبت داد .
مثال کاربردی : در اين مثال در ابتدا سه متغير را تعريف و پس از مقداردهی مناسب هر يک از آنان ، نتايج را با يک فرمت مناسب در خروجی نمايش خواهيم داد ( يک صفحه ASPX ) .

مرحله اول : فعال نمودن ويرايشگر صفحات وب و تايپ دستورات زير :

<Script Language= "vb" runat="server">
Sub Page_Load ( )
Dim ArticleTitle As String
Dim ArticleNumber As Integer
Dim PublishDate As Date
ArticleTitle = " ذخيره سازی اطلاعات در VB.NET ( بخش اول ) "
ArticleNumber = 190
PublishDate = #6/15/2004#
Label1.Text = ArticleTitle
Label2.Text = ArticleNumber
Label3.Text = PublishDate
End Sub
</Script>
<html dir="rtl">
<head>
<title>ايجاد متغير </title>
</head>
<body>
عنوان مقاله :
<asp:label id="Label1" runat="server" />
<br>شماره مقاله :
<asp:label id="Label2" runat="server" />
<br>تاريخ انتشار مقاله :
<asp:label id="Label3" runat="server" />
</body>
</html>

مرحله دوم : ذخيره نمودن برنامه فوق در فايلی با نام TestVariable.aspx
مرحله سوم : فعال نمودن فايل TestVariable.aspx در مرورگر

مرحله چهارم : برگشت به برنامه فوق و افزودن يک خط جديد ( استفاده از يک متغير که قبلا" تعريف نشده باشد )

...
Dim PublishDate As Date
ArticleTitle = " ذخيره سازی اطلاعات در VB.NET ( بخش اول ) "
ArticleNumber = 190
PublishDate = #6/15/2004#
 ArticleAuthor = "مديريت وب "
...
Label1.Text = ArticleTitle
...

مرحله پنجم : ذخيره نمودن برنامه فوق در فايلی با نام TestVariable.aspx
مرحله ششم : فعال نمودن فايل TestVariable.aspx در مرورگر

همانگونه که مشاهده می شود ، در خط شماره نه (خطی که از متغير ArticleAuthor ، استفاده شده است ) به دليل استفاده از متغيری که قبلا" اقدام به تعريف آن نشده است با يک خطاء مواجه خواهيم شد. به منظور برطرف نمودن خطای فوق ، می بايست متغير ArticleAuthor تعريف و در ادامه مقدار مورد نظر در آن ذخيره گردد.

توضيحات مثال :

  • در برنامه فوق ، در ابتدا اقدام به تعريف سه متغير شده است . ما قصد داريم که از text در متغير ArticleTitle استفاده نمائيم ، بنابراين آن را به صورت String تعريف کرده ايم . شماره مقاله يک عدد صحيح است و بدين منظور و برای نگهداری مقدار مربوطه از متغيری با نام ArticleNumber و نوع صحيح استفاده شده است . از متغير PublishDate ، که از نوع Date تعريف شده است به منظور ذخيره تاريخ نشر يک مقاله، استفاده شده است .

Dim ArticleTitle As String
Dim ArticleNumber As Integer
Dim PublishDate As Date

  • پس از تعريف هر يک از متغيرها ، می توان به هر يک از آنان مقدار مورد نظر را نسبت داد : مقدار " ذخيره سازی اطلاعات در VB.NET ( بخش اول ) " ، به متغير ArticleTitle نسبت داده شده است . در اين رابطه ، مقدار مورد نظر بين علامت کوتيشن قرار داده شده است . بدين ترتيب به VB.NET اعلام می شود که ما قصد نسبت دهی يک text به يک متغير را داريم . در صورتی که تمايل به انتساب يک مقدار عددی به متغيری را داشته باشيم ، می بايست علامت کوتيشن را حذف نمائيم. در متغيردوم ، مقداری صحيح و عددی به ArticleNumber ، نسبت داده شده است . در نهايت مقداری از نوع Date به متغير PublishDate ، نسبت داده شده است .

ArticleTitle = " ذخيره سازی اطلاعات در VB.NET ( بخش اول ) "
ArticleNumber = 190
PublishDate = #6/15/2004#

  • در ادامه ، سه کنترل <asp:label> ، و با نام Label1,Label2 و Label3 ايجاد و مقدار خصلت Text هر يک از آنان ، محتويات هر يک از سه متغير تعريف شده، در نظر گرفته شده است .

Label1.Text = ArticleTitle
Label2.Text = ArticleNumber
Label3.Text = PublishDate

  • در ادامه ، يک خط جديد به برنامه اضافه گرديد تا نشان داده شود که در صورت استفاده از يک متغير که قبلا" آن را تعريف نکرده ايم ، با چه نوع خطائی برخورد خواهيم کرد. علت بروز خطاء ، به عدم تعريف متغير ArticleAuthor ، برمی گردد . برای رفع اشکال فوق ، می بايست متغير ArticleAuthor را در ابتدا تعريف نمود :

Dim ArticleAuthor As String

انواع نوع های ساده
VB.NET دارای دوازده نوع داده متفاوت بوده که می توان آنان را به سه گروه عمده تقسيم نمود : نوع های عددی ، نوع های حرفی ( متنی ) و نوع های متفرقه . در بخش دوم اين مقاله به بررسی هر يک از آنان خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


بررسی امکانات VB.NET به منظور ذخيره سازی اطلاعات

 بررسی امکانات VB.NET به منظور ذخيره سازی اطلاعات New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
ذخيره سازی اطلاعات در VB.NET ( بخش سوم ) | مديريت وب | 1448 | 2 | 4.5

ذخيره سازی اطلاعات در VB.NET ( بخش سوم )

ذخيره سازی اطلاعات در VB.NET ( بخش سوم )

آنچه تاکنون گفته شده است :

  • بخش اول : جايگاه متغيرها در يک زبان برنامه نويسی و نحوه تعريف آنان در VB.NET
  • بخش دوم : بررسی انواع نوع های ساده در VB.NET

در بخش سوم اين مقاله با عملگرها ، عمليات بر روی متغيرهای رشته ای ، ثوابت و نوع های داده ساختيافته نظير آرايه ، آشنا خواهيم شد.

عملگرها ( Operators )
استفاده از متغيرها در يک زبان برنامه نويسی زمانی مفيد خواهد بود که بتوان بر روی آنان عملياتی را انجام داد . به منظور انجام عمليات بر روی متغيرها ، نيازمند استفاده از "عملگرها" می باشيم . "عملگر" ، علامتی است که مسئوليت انجام يک عمليات از قبل تعريف شده را بر روی "اپراندهای " خود و توليد نتيجه مورد نظر ، برعهده دارد . اگر 1+2 = X باشد ، "X " يک متغير ، "=" يک عملگر و مقادير يک و دو ، اپراندهای آن می باشند .

عملگر نسبت دهی
عملگر "=" ، متداولترين و شناخته ترين عملگر استفاده شده در دنيای برنامه نويسی است.از عملگر فوق به منظور نسبت دادن مقدار به يک متغير استفاده می گردد. ( متغير در سمت چپ و مقدار متغير در سمت راست عملگر "=" ،قرار می گيرد) .

Dim intNumber 1 As Integer
intNumber1 = 7447

VB.NET هيچگونه تاکيد و يا اجباری در خصوص تعداد فضای خالی ( Space ) استفاده شده در دو طرف علامت "=" ندارد.برنامه نويسان به منظور افزايش خوانائی برنامه ، می توانند به تعداد مورد نظر از فضای خالی استفاده نمايند .

Dim intNumber As Integer
intNumber = 3

عمليات رياضی
در VB.NET ارزيابی يک عبارت از سمت راست به چپ ، انجام می شود. مثلا" در عبارت intNumber1 = intNumber1 + 1 ، در ابتدا مقدار intNumber1 + 1 ، محاسبه شده و در ادامه مقدار بدست آمده در متغير intNumber1 ، ذخيره می گردد . علامت "=" ، وظيفه يک عملگر نسبت دهی را برعهده داشته و پس از محاسبه مقدار مورد نظر آن را به متغير intNumber1 نسبت می دهد .

Dim intNumber 1 As Integer
intNumber1= 2
intNumber1 = intNumber1 + 1

عملگرهای محاسباتی
در VB.NET از عملگرهای محاسباتی زير استفاده می شود :

کاربرد | عملگر
جمع | +
تفريق | -
ضرب | *
تقسيم | /
توان | ^
منفی | -
باقيمانده | MOD

مثال : در برنامه زير ، دو متغير به اسامی intNumber1 و intNumber2 تعريف و پس از انتساب مقدار مورد نظر به هر يک از آنان ، مقادير دو متغير با يکديگر جمع و حاصل در متغيری ديگر و با نام intNumber3 ، ذخيره می گردد .

Dim intNumber1 As Integer
Dim intNumber2 As Integer
Dim intNumber3 As Integer

intNumber1 = 14
intNumber2 = 12
intNumber3 = intNumber1 + intNumber2

به منظور مشخص نمودن اولويت انجام محاسبات در يک عبارت ، می توان از پرانتر استفاده نمود . مثلا" در کد زير ، در ابتدا مقدار موجود در متغير intNumber2 بر عدد شش تقسيم و در ادامه مقدار به دست آمده به متغير intNumber1 اضافه شده و در نهايت ، نتيجه بدست آمده در متغيری با نام intNumber3 ذخيره می گردد( استفاده از پرانتز در يک عبارت ، باعث افزايش خوانائی برنامه نيز می گردد ) .

Dim intNumber1 As Integer
Dim intNumber2 As Integer
Dim intNumber3 As Integer

intNumber1= 14
intNumber2 = 12
intNumber3 = intNumber1 + (intNumber2 /6 )

مثال : در برنامه زيراز يک رابطه ساده رياضی به منظور محاسبه ميزان ماليات ، استفاده شده است .

<Script language="vb" runat="server">
Sub Page_Load ( )
Dim intEarn As Integer
Dim intTax As Integer
Dim decTotal As Decimal
intEarn = 150
intTax = 10
decTotal = intEarn - ( ( intEarn / 100 ) * intTax )
Display1.Text = intEarn
 Display2.Text = ( intEarn / 100 ) * intTax
Display3.Text = decTotal
End Sub
</Script>

<html dir="rtl">
<head>
<title> استفاده از عملگرها در يک عبارت رياضی </title>
</head>
<body>
ميزان دستمزد : <asp:label id="Display1" runat="server" /><Br>
ماليات : <asp:label id="Display2" runat="server" /><Br>
مبلغ پرداختی پس از کسر ماليات : <asp:label id="Display3" runat="server" />
</body>
</html>

پس از ذخيره برنامه فوق در فايلی با نام TestTax.aspx و مشاهده آن در مرورگر ، خروجی زير را خواهيم داشت :

توضيحات : در برنامه فوق ، از سه متغير به اسامی intEarn (به منظور ذخيره ميزان دستمزد) ، intTax ( به منظور ذخيره نرخ محاسبه ماليات ) و decTotal ( به منظور ذخيره مبلغ خالص پرداختی ) ، استفاده شده است .

Dim intEarn As Integer
Dim intTax As Integer
Dim decTotal As Decimal

در ادامه ، مقادير مورد نظر به متغيرهای intEarn ( مقدار 150 ) و intTax ( مقدار 10 ) ، نسبت داده شده است .

intEarn = 150
intTax = 10

به منظور محاسبه مبلغ قابل پرداخت ، در ابتدا ميزان ماليات با توجه به نرخ مشخص شده ( 10 درصد) ، محاسبه و پس از کسر مبلغ فوق از ميزان دستمزد ، حاصل در متغير decTotal ، ذخيره می گردد. از پرانتر به منظور مشخص نمودن اولويت محاسبات ، استفاده شده است .

decTotal = intEarn - ( ( intEarn / 100 ) * intTax )

در نهايت ، مقادير decTotal ، intEarn و ميزان ماليات محاسبه شده به خصلت text هر يک از کنترل های label1,label2 و label3 نسبت داده شده است ( Display1 ، Display2 و Display3 ) .

Display1.Text = intEarn
 Display2.Text = ( intEarn / 100 ) * intTax
Display3.Text = decTotal

عمليات بر روی رشته ها
با استفاده از عملگر "+" می توان دو متغير از نوع integer را با يکديگر جمع نمود . در صورتی که دارای دو متغير از نوع string باشيم و بخواهيم دو رشته فوق را با يکديگر ترکيب نمائيم از فرآيندی با نام Concatenation ، استفاده می شود . در دات نت به منظور اتصال رشته ها و الحاق آنان به يکديگر از دو روش مختلف استفاده می گردد : .

  • روش اول : در اين روش ، رشته دوم به انتهای رشته دوم اضافه شده و رشته ای جديد ايجاد می گردد . بدين منظور از عملگر "&" ( ampersand ) ، استفاده می شود .

    Dim strTest As String
    strTest = " Test " & "VB.NET"

    ماحصل ترکيب دو رشته فوق ، TestVB.NET بوده که به متغير strTest نسبت داده می شود. در VB.NET به صورت اتوماتيک از فضای خالی ( Space ) استفاده نمی گردد و در صورت لزوم می توان به ميزان دلخواه فضای خالی را به عنوان يک رشته استفاده و آن را با ساير متغيرها ، ترکيب نمود . در مثال زير سه رشته که يکی از آنان Space ( که خود نيز يک رشته است ) ، می باشد با يکديگر ترکيب شده اند.

    Dim strTest As String
    strTest = " Test " & " " & "VB.NET"

    ماحصل ترکيب سه رشته فوق ، Test VB.NET بوده که به متغير strTest نسبت داده می شود .

  • روش دوم : در اين روش برای اتصال رشته ها به يکديگر از عملگر "=+" ، استفاده می گردد . ( در متغير strTest مقدار : " TestString TestString TestString TestString " ، ذخيره می گردد).

Dim strTest As String
Dim strFirst As String

strFirst ="TestString "
strTest += strFirst
strTest += strFirst
strTest += strFirst

مقايسه رشته ها
از عملگرهای مقايسه ای به منظور مقايسه محتويات دو متغير و انجام عمليات مورد نظر با توجه به نتايج بدست آمده ، استفاده می شود . در مواردی که متغيرها از نوع String می باشند ، امکان مقايسه و مرتب نمودن متن با توجه به اولويت هر يک از حروف الفبائی ، فراهم می گردد. جدول زير ، عملگرهای مقايسه ای را نشان می دهد .

کاربرد | عملگر
مساوی | =
کوچکتر | >
کوچکتر يا مساوی | =>
نامساوی | <>
بزرگتر | <
بزرگتر يا مساوی | =<

در مثال زير دو متغير از نوع String و به اسامی strName1 و strName2 تعريف و پس از نسبت دادن مقدار دلخواه به هر يک از آنان ، از عملگرهای مقايسه ای به منظور مقايسه و انجام عمليات مورد نظر استفاده شده است .

Dim strName1 As String
Dim strName2 As String

strName1="Test1"
strName1="HHH"
If strName1 < strName2 Then Display1.Text = " Test1"
If strName2 < strName1 Then Display1.Text = " HHH"

ثوابت
ثوابت ، به منزله متغيرهائی می باشند که مقدار نسبت داده شده به آنان در زمان اجرای برنامه تغيير نمی نمايد. "نرخ محاسبه ميزان ماليات " ، نمونه ای در اين زمينه بوده که مقدار آن به ندرت تغيير می نمايد. در زمان فروش يک کالا و به منظور محاسبه ميزان ماليات مربوطه ، ممکن است به دفعات به آن مراجعه گردد . حتی اگر نرخ محاسبه ماليات تغيير يابد ، شما صرفا" مجبور به اعمال تغييرات در يک مکان ، خواهيد بود. استفاده از "ثوابت " ، خوانائی يک برنامه را افزايش و باعث تسهيل در امر نگهداری يک برنامه می گردد .
اکثر زبان های برنامه نويسی روش خاصی را به منظور تعريف "ثوابت " ، در اختيار برنامه نويسان قرار می دهند . در VB.NET به منظور تعريف يک ثابت از کليد واژه Const استفاده می گردد ( معمولا" اسامی ثوابت ، به صورت "حروف بزرگ " ، در نظر گرفته می شوند ).

Const TAXRATE = 10

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

نوع های داده ساختيافته
نوع های ساده ، صرفا" قادر به ذخيره سازی يک آيتم اطلاعاتی می باشند . در صورتی که قصد ذخيره چندين آيتم اطلاعاتی مرتبط به هم در يک برنامه را داشته باشيم ، می بايست از "نوع های داده ساختيافته " ، استفاده گردد. VB.NET دارای امکانات متعددی به منظور ذخيره نمودن اينگونه اطلاعات است ( از اشياء ديکشنری تا جدول hash و XML ) . در ادامه با "آرايه ها" که ساده ترين نوع در اين زمينه می باشند ، آشنا می شويم .

آرايه ( Array )
از آرايه ها به منظور ذخيره سازی مجموعه ای از اقلام اطلاعاتی مرتبط به هم در متغيرهائی که همگی دارای يک نام بوده و توسط يک ايندکس عددی اضافه شده به انتهای آنان شناسائی می گردند، استفاده می شود. دستورات زير نحوه تعريف يک آرايه و نسبت دهی مقدار به هر يک از عناصر آن را نشان می دهد .

Dim StrName ( 5 ) As String
StrName(0) = "AAA"
StrName(1) = "BBB"
StrName(2) = "CCC"
StrName(3) = "DDD"
StrName(4) = "EEE"
StrName(5) = "FFF"

اولين ايندکس يک آرايه، صفر در نظر گرفته می شود ( Zero based ) . در مثال فوق ، شش عنصر و به ترتيب در مکان های صفر تا پنج آرايه ، ذخيره می گردند .

تعريف يک آرايه
آرايه ها نظير متغيرها می بايست با استفاده از کليد واژه Dim تعريف گردند . تعريف يک آرايه مستلزم تعريف يک پارامتر اضافی ديگر به منظور مشخص نمودن اندازه آن است . دستور زير يک آرايه با اندازه پنجاه و از نوع String را تعريف می نمايد . تمامی المان های آرايه می بايست از نوع String باشند .

Dim Strarray 1 (49) As String

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

Dim strArray1 (3,3) As String
...
strArray (0,0) = "AAA"
strArray (0,1) = "BBB"
...

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

خلاصه
در مجموعه مقالاتی که با عنوان " نحوه ذخيره سازی اطلاعات در VB.NET " ، ارائه گرديد با موارد زير آشنا شديم :

  • جايگاه استفاده از متغيرها در يک برنامه
  • نحوه تعريف متغير در VB.NET و استفاده از آنان در صفحات ASP.NET
  • بررسی انواع نوع های داده ساده
  • نحوه انجام عمليات بر روی متغيرها و انجام برخی محاسبات ساده با استفاده از عملگرهای محاسباتی و مقايسه ای
  • بررسی نوع های داده ساختيافته و نحوه استفاده از يک آرايه در برنامه

جستجو
جستجو

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

مقالات
مشاهده گروه ها


آشنائی با فرم ها و کنترل های سرويس دهنده ASP.NET

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

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
فرم ها و کنترل های سرويس دهنده ( بخش دوم ) | مديريت وب | 1747 | 3 | 4

فرم ها و کنترل های سرويس دهنده

فرم ها و کنترل های سرويس دهنده ( بخش دوم )
در بخش اول اين مقاله با جايگاه فرم ها در برنامه های وب ، آشنا شديم . در اين بخش به بررسی کنترل های فرم HTML ، خواهيم پرداخت .

کنترل های فرم HTML
برای تعريف اکثر کنترل های فرم Html از تگ <Input> ، استفاده می گردد.در ادامه با کنترل های فرم HTML که امکان استفاده از آنان به همراه صفحات وب وجود دارد ، بيشتر آشنا می شويم .

نام کنترل | TextBox
شکل ظاهری |
توضيحات | فيلدهای تک خطی که می توان در آنان متن دلخواهی را تايپ نمود.
نحوه پياده سازی | استفاده از تگ <input> که خصلت type آن text در نظر گرفته می شود .

نام کنترل

Text Area

شکل ظاهری

توضيحات

فيلدهای چندخطی که می توان در آنان متن دلخواهی را تايپ نمود .

نحوه پياده سازی

استفاده از تگ <textarea>

نام کنترل | Radio buttons
شکل ظاهری | انتخاب اول انتخاب دوم انتخاب سوم
توضيحات | دکمه هائی به منظور ارائه چندين گزينه که صرفا" امکان انتخاب يکی از آنان وجود خواهد داشت.
نحوه پياده سازی | استفاده از تگ <input> که خصلت type آن radio در نظر گرفته می شود.

نام کنترل | Check boxes
شکل ظاهری | انتخاب اول انتخاب دوم انتخاب سوم
توضيحات | دکمه هائی به منظور ارائه چندين گزينه که امکان انتخاب تعدادی از آنان وجود خواهد داشت.
نحوه پياده سازی | استفاده از تگ <input> که خصلت type آن checkbox در نظر گرفته می شود.

نام کنترل

List boxes

شکل ظاهری

توضيحات

دکمه هائی به منظور ارائه يک منوی Dropdown که امکان انتخاب يک و يا چندين آيتم را در اختيار کاربر قرار می دهد .

نحوه پياده سازی

استفاده از تگ <select>

نام کنترل | Submit buttons
شکل ظاهری |
توضيحات | دکمه هائی به منظور ارسال فرم های HTML برای سرويس دهنده
نحوه پياده سازی | استفاده از تگ <input> که خصلت type آن submit در نظر گرفته می شود.

نام کنترل | Reset buttons
شکل ظاهری |
توضيحات | دکمه های reset نمودن محتويات يک فرم HTML که هنوز ارسال نشده است .
نحوه پياده سازی | استفاده از تگ <input> که خصلت type آن Reset در نظر گرفته می شود.

نام کنترل | Normal buttons
شکل ظاهری |
توضيحات | باعث فعال شدن رويداد مربوطه می گردند .
نحوه پياده سازی | استفاده از تگ <input> که خصلت type آن button در نظر گرفته می شود.

نام کنترل | Password fields
شکل ظاهری |
توضيحات | کنترل فوق ، مشابه textbox است ، با اين نفاوت مهم که هر چيزی را که درون آن تايپ می گردد،توسط علامت ستاره نمايش داده می شود .
نحوه پياده سازی | استفاده از تگ <input> که خصلت type آن password در نظر گرفته می شود.

نام کنترل | Hidden filelds
شکل ظاهری | ندارد
توضيحات | فيلدهای مخفی که در HTML مقداردهی شده و همراه ساير داده های فرم ارسال می گردند.
نحوه پياده سازی | استفاده از تگ <input> که خصلت type آن hideden در نظر گرفته می شود.

همانگونه که مشاهده می شود از تگ <input> در اکثر کنترل های فرم HTML استفاده می گردد. به همراه تگ <input> ، صرفا" می توان از چهار خصلت زير استفاده کرد :

  • name : از خصلت فوق به منظور شناسائی کنترل در کد ASP.NET ، استفاده می گردد .

  • type : خصلت فوق ، نوع کنترل استفاده شده را مشخص می نمايد. گزينه های معتبر موجود در اين رابطه Submit , Reset , Radio , Checkbox ,Hidden , Text ,Password و Button می باشند ( در اين رابطه گزينه های image و file option نيز وجود دارد ) .

  • Value : از خصلت فوق به منظور مشخص نمودن مقادير پيش فرض برای برخی کنترل های button و يا text استفاده می گردد .

  • checked : از خصلت فوق به منظور مشخص نمودن گزينه انتخابی پيش فرض در برخی کنترل های نظير کنترل radio استفاده می گردد .( همزمان با مشاهده فرم توسط کاربر ، گزينه مورد نظر به صورت پيش فرض انتخاب شده است ) .

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

نحوه استفاده از تگ <form> در ASP.NET
ASP.NET دارای مجموعه ای از کنترل های فرم می باشد که می توان از آنان مشابه کنترل های فرم HTML ، استفاده بعمل آورد . مهمترين تفاوت موجود در اين رابطه به توليد پويای آنان برروی سرويس دهنده و ارسال آنان برای سرويس گيرنده برمی گردد . يکی ديگر از تفاوت های موجود ، نحوه تعريف يک "فرم" است :

<form runat="server" >
.... ASP.NET form ... >
</form>

خصلت runat به سرويس دهنده وب اعلام می نمايد که می بايست فرم را پردازش نمايد . ( صرفا" مسئوليت سرويس دهنده وب ، ارسال فرم برای سرويس گيرنده نبوده و در اين رابطه می بايست پردازش های لازم قبل از ارسال فرم نيز انجام شود ) . همانگونه که مشاهده می گردد در تعريف فرم فوق، مقدار خاصی به خصلت method نسبت داده نشده است. ASP.NET خود قادر به تشخيص و ارائه مقادير مورد نظر می باشد . در حقيقت تمامی فرم های ASP.NET با استفاده از متد POST ارسال می گردند . تگ <form> ارائه شده به همراه ASP.NET ، امکان پردازش کنترل های موجود بر روی يک فرم را برای سرويس دهنده فراهم می نمايد . در ASP.NET نسخه های سفارشی شده از کنترل ها در مقايسه با کنترل های فرم HTML با هدف ارائه تسهيلات لازم به منظور پردازش فرم ها و حل برخی مشکلات موجود نظير برخورد با ماهيت Stateless بودن پروتکل HTTP ، ارائه شده است.
در بخش سوم اين مقاله به بررسی کنترل های سرويس دهنده ASP.NET ، خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


آشنائی با فرم ها و کنترل های سرويس دهنده ASP.NET

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

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
فرم ها و کنترل های سرويس دهنده ( بخش سوم ) | مديريت وب | 1372 | 1 | 5

فرم ها و کنترل های سرويس دهنده

فرم ها و کنترل های سرويس دهنده ( بخش سوم )

آنچه تاکنون گفته شده است :

  • بخش اول : جايگاه فرم ها در برنامه های وب

  • بخش دوم : بررسی کنترل های فرم HTML

در بخش سوم اين مقاله به بررسی کنترل های سرويس دهنده ASP.NET خواهيم پرداخت .

کنترل های سرويس دهنده ASP.NET
در اين بخش به بررسی ويژگی ها و نحوه عملکرد هر يک از کنترل های سرويس دهنده ASP.NET پرداخته و آنان را با کنترل های استفاده شده در فرم های HTML مقايسه می نمائيم .

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

خصلت | عملکرد
Backcolor | رنگ زمينه label را مشخص می نمايد .
ForeColor | رنگ رويه label را مشخص می نمايد .
Height | بلندی Label بر حسب پيکسل را مشخص می نمايد .
ID | تعريف يک شناسه منحصر بفرد برای يک Label
Visible | با نسبت دادن مقدار True و False ، نمايش و يا عدم نمايش يک Lable مشخص می گردد .
Width | پهنای کنترل label را مشخص می نمايد.

مثال : به منظور ايجاد يک کنترل label با حداقل اطلاعات موردنياز می توان صرفا" از خصلت های id و runat استفاده نمود :

<asp:label id="message1" runat="server" > Test1 </asp:label>

خصلت id ، يک نام منحصربفرد به منظور شناسائی کنترل <label> را مشخص می نمايد.بدين ترتيب امکان مراجعه به آن از طريق کد ASP.NET فراهم می گردد . خصلت runat = sever به سرويس دهنده اعلام می نمايد که کنترل را پردازش و کد معادل HTML را به منظور ارسال برای سرويس گيرنده ، توليد نمايد .
در صورتی که قصد داشته باشيم که متن مورد نظر را با يک رنگ خاص نمايش دهيم ، کنترل label را به صورت زير استفاده خواهيم کرد :

<asp:label id="message1" forecolor = "Red" runat="server" > Test1 </asp:label>

همچنين می توان از خصلت text به منظور مشخص نمودن متن مورد نظر جهت نمايش ، استفاده نمود .در کد زير ، تگ پايان حذف و در مقابل از علامت "/" که نشاندهنده پايان تگ است ، استفاده شده است .

<asp:label id="message1" Text = "Test1" runat="server" / >

پيشوند <asp:> ، اعلام می نمايد که کنترل label از مجموعه کنترل های از قبل ساخته شده ASP.NET است .

مثال : نحوه استفاده از کنترل label

مرحله اول : تايپ کد زير با استفاده از يک ويرايشگر

<html dir =rtl>
<head>
<title> Label Test </title>
</head>
<body>
<h1>نحوه استفاده از label </h1>
<br />
ضمن تشکر از
<asp:label id="Message1" runat="server" text=" شما "/>
،در مجموعه مقالاتی که در رابطه با کنترل های ASP.NET ارائه می شود،
<asp:label id="Message2" runat="server" text="قصد داريم "/>
هر يک از آنان را به صورت جداگانه بررسی نمائيم
</body>
</html>

مرحله دوم : پس از ذخيره کد فوق در فايلی با نام LabelTest1.aspx و مشاهده آن در مرورگر ، خروجی زير را خواهيم داشت :

برای تمامی اهداف و خواسته ها يک کنترل label را می توان با يک کنترل HTML ، جايگزين نمود. تنها تفاوت موجود به اين موضوع برمی گردد که کنترل فوق بر روی سرويس دهنده اجراء می گردد .با مشاهده کد HTML از طريق برنامه مرورگر خود ، اطلاعات زير را مشاهده خواهيم کرد :

<html dir =rtl>
<head>
<title> Label Test </title>
</head>
<body>
<h1>نحوه استفاده از label </h1>
<br />
ضمن تشکر از
<span id="Message1"> شما </span>
،در مجموعه مقالاتی که در رابطه با کنترل های ASP.NET ارائه می شود،
<span id="Message2">قصد داريم </span>
هر يک از آنان را به صورت جداگانه بررسی نمائيم
</body>
</html>

همانگونه که مشاهده می گردد ، کنترل <asp:label> به معادل تگ <span> در HTML ترجمه شده است ( دارای عملکردی مشابه می باشند ) .

نحوه استفاده از خصلت های کنترل در يک برنامه ASP.NET
تا اين مرحله با کنترل Label و نحوه استفاده از آن در يک صفحه وب ، آشنا شديم . در اين رابطه يک سوال باقی است و اين که چگونه می توان از خصلت های کنترل فوق در کدهای نوشته شده ASP.NET استفاده نمود.بدين منظور می توان در ابتدای HTML ، کد مورد نياز ASP.NET را اضافه نمود . در ابتدا خصلت text را از ابتدای دو کنترل فوق حذف می نمائيم .

...
<asp:label id="Message1" runat="server" />
،در مجموعه مقالاتی که در رابطه با کنترل های ASP.NET ارائه می شود،
<asp:label id="Message2" runat="server" />
هر يک از آنان را به صورت جداگانه بررسی نمائيم
...

در ادامه ، اسکريپت زير را قبل از کد HTML اضافه می نمائيم .

<script language="vb" runat="server">
Sub Page_Load()
Message1.Text = "کاربران محترم"
Message2.Text = "تصميم داريم "
End Sub
</script>
<html>
...
</html>

با اعمال تغييرات فوق ، مقداردهی خصلت Text مربوط به کنترل label از طريق کد نوشته شده ASP.NET ، انجام می شود.

در مثال فوق ، با استفاده از روتين Page_Load که در زمان استقرار صفحه درخواستی در حافظه ، اجراء می گردد ، به خصلت text هر يک از کنترل های Label دستيابی و مقدار مورد نظر به آنان نسبت داده شده است . ( اختصاص پويای متن مورد نظر به يک کنترل label ) .

Message1.Text = "کاربران محترم "
Message2.Text = "تصميم داريم"
...

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

[ServerControl].[ServerControlAttribute]

مثلا" به منظور غير فعال نمودن وضعيت نمايش، می توان خصلت visible را به صورت زير مقداردهی نمود :

Message.Visible="false"

کنترل <asp:dropdownlist>
کنترل فوق يکی از بهترين کنترل های موجود به منظور نشان دادن اهميت و ضرورت پردازش يک کنترل بر روی سرويس دهنده می باشد. قبل از بررسی کنترل فوق ، در ابتدا با معادل آن در HTML بيشتر آشنا می شويم . Dropdown listbox ها در HTML با استفاده از تگ <select> و <option> پياده سازی می گردند ، برای هر option از يک تگ شروع و يک تگ پايان <option> ، درون تگ <select> ، استفاده می گردد :

<select name = "City" >
<option> تهران </option>
<option > اهواز </option>
<option> شيراز </option>
</select>

به منظور ايجاد يک list control در ASP.NET که عملکردی مشابه کد فوق را داشته باشد ، از کد زير استفاده می شود :

<asp:dropdownlist id="City" runat="server">
<asp:listitem> تهران </asp:listitem>
<asp:listitem> اهواز </asp:listitem>
<asp:listitem>شيراز </asp:listitem>
</asp:dropdownlist>

کد فوق نسبت به کد معادل HTML ، دارای سه تفاوت اساسی است :

  • جايگزينی تگ <asp:dropdownlist> با تگ <select>

  • جايگزينی تگ <asp:listitem> با تگ <option>

  • جايگزينی خصلت Id با name

از لحاظ شکل ظاهری کنترل <asp:dropdownlist> ، مشابه کنترل dropdown list در HTML است .

مثال : نحوه استفاده از کنترل dropdownlist

مرحله اول : تايپ کد زير با استفاده از يک ويرايشگر

<script runat="server" language="vb">
Sub Page_Load()
if Page.IsPostback then
Message.Text = "شما شهرستان " + list1.SelectedItem.Value + " را انتخاب نموده ايد "
end if
End Sub
</script>
<html dir = rtl>
<head><title>Drop Down Example</title></head>
<body>
<asp:label id="Message" runat="server"/> <br />
<form runat="server">
برای مسافرت کدام شهر را انتخاب می نمائيد ؟<br /><br />
<asp:dropdownlist id="list1" runat="server">
<asp:listitem> تهران </asp:listitem>
<asp:listitem> اهواز </asp:listitem>
<asp:listitem>شيراز </asp:listitem>
</asp:dropdownlist><br /><br /><br /><br />
<input type="Submit" Value ="ارسال درخواست" >
</form>
</body>
</html>

مرحله دوم : پس از ذخيره کد فوق در فايلی با نام DropdownlistTest.aspx و مشاهده آن در مرورگر ، خروجی زير را خواهيم داشت :

مرحله سوم : اننتخاب يک گزينه

مرحله چهارم : در صورت مشاهده View|Source در مرورگر ، کد زير نمايش داده می شود .

<<html dir = rtl>
<head>
<title>Drop Down Example</title>
</head>
<body>
<span id="Message">شما شهرستان اهواز را انتخاب نموده ايد </span> <br />
<form name="_ctl0" method="post" action="DropdownlistTest.aspx" id="_ctl0">
<input type="hidden" name="__VIEWSTATE" value="dDwtMTMyNTU5Mzc0Njt0PDtsPGk8MT47PjtsPHQ8cDxwPGw8VG
V4dDs+O2w82LTZhdinINi02YfYsdiz2KrYp9mGICAgINin2YfZiNin2LIgINix2
Kcg2KfZhtiq2K7Yp9ioINmG2YXZiNiv2Ycg2KfZitivIDs+Pjs+Ozs+Oz4+Oz5
nBTPLfX3RX+GXzS7SG4YwAQcC9Q==" />

برای مسافرت کدام شهر را انتخاب می نمائيد ؟<br /><br />
<select name="list1" id="list1">
<option value=" تهران "> تهران </option>
<option selected="selected" value=" اهواز "> اهواز </option>
<option value="شيراز ">شيراز </option>

</select><br /><br /><br /><br />
<input type="Submit" Value ="ارسال درخواست" >
</form>
</body>
</html>

توضيحات :

  • تمامی اطلاعات با فرمت HTML برای سرويس گيرنده اارسال می گردد.

  • با استفاده از تگ <form> و مقدار دهی خصلت runat به server يک فرم تعريف و به ASP.NET اعلام می شود که فرم بر روی سرويس دهنده اجراء می گردد . در صورتی که تعريف فوق را با آن چيزی که در مرورگر نمايش داده می شود ، مشاهده می نمائيم ، تفاوت های زيادی را مشاهده خواهيم کرد :

    <form name="_ctl0" method="post" action="DropdownlistTest.aspx" id="_ctl0">

    ASP.NET ، چهار خصلت جديد را ايجاد نموده است . خصلت های name و id اهداف يکسانی را دنبال می نمايند . ( مشخص نمودن انحصاری فرم ) . همانگونه که قبلا" اشاره گرديد فرم های HTML نيازمند يک صفحه به منظور دريافت داده و يک روش به منظور ارسال اطلاعات می باشند. ما هيچکدام از موارد فوق را در کد ASPX .، مشخص ننموده ايم . بنابراين ASP.NET ، آنان را برای ما مشخص نموده است . خصلت action به صفحه يکسانی که ما اجراء نموده ايم ، اشاره داشته و پاسخ ها را برای آن ارسال می نمايد . همچنين به صورت پيش فرض، روش ارسال اطلاعات به صورت POST در نظر گرفته شده است .

  • کنترل های سرويس دهنده ASP.NET داده های موجود بر روی فرم را برای کد ASP.NET ارسال می نمايند . بدين منظور و در جهت دستيابی به آنان از طريق کد ASP.NET ، از روتين زير استفاده شده است :

    <script runat="server" language="vb">
    Sub Page_Load()
    if Page.IsPostback then
    Message.Text = "شما شهرستان " + list1.SelectedItem.Value + " را انتخاب نموده ايد "
    end if
    End Sub
    </script>

    در روتين page_Load ، بررسی لازم در خصوص انتخاب يک آيتم توسط کاربر ، انجام شده و در ادامه يک پيام مناسب به منظور تائيد انتخاب انجام شده ، برای کاربر نمايش داده می شود. در صورتی که تاکنون انتخابی صورت نگرفته باشد ، پيامی در کنترل <label>، نمايش داده نمی شود . اولين خط موجود در روتين ، نشاندهنده اين موضوع است که آيا قبلا" صفحه برای کاربر ارسال شده است ؟ بدين منظور ازشی Page استفاده شده است . شی فوق ، يک رکورد از وضعيت اطلاعاتی يک فرم را که توسط يک کاربر ارسال شده است در IsPostback نگهداری می نمايد . در صورتی که فرم قبلا" نيز ارسال شده باشد ، IsPostBack مقدار true و در غير اين صورت مقدار False را برمی گرداند . کد محصور بين if و end if ، صرفا" در زمانی که فرم مجددا" برای کاربر ارسال شده باشد ، اجراء می گردد. بنابراين اگر اولين مرتبه ای است که کاربر فرم را مشاهده می نمايد ، کد فوق اجراء نخواهد شد .

در بخش چهارم اين مقاله به بررسی ساير کنترل های سرويس دهنده، خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


آشنائی با فرم ها و کنترل های سرويس دهنده ASP.NET

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

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
فرم ها و کنترل های سرويس دهنده ( بخش چهارم ) | مديريت وب | 1345 | 1 | 5

فرم ها و کنترل های سرويس دهنده ( بخش چهارم )

فرم ها و کنترل های سرويس دهنده ( بخش چهارم )

آنچه تاکنون گفته شده است :

  • بخش اول اين مقاله با جايگاه فرم ها در برنامه های وب

  • بخش دوم : بررسی کنترل های فرم HTML
  • بخش سوم : کنترل های سرويس دهنده ASP.NET

در بخش چهارم اين مقاله به بررسی ساير کنترل های سرويس دهنده ، خواهيم پرداخت .

کنترل <asp:listbox>
کنترل فوق ، شباهت زيادی به کنترل dropdown listbox دارد. همانگونه که می دانيد برای ايجاد يک dropdown در فرم های HTML از تگ <select> استفاده می شود. در ASP.NET بدين منظور از کنترل <asp:listbox> ، استفاده می گردد . با استفاده از کنترل فوق ، امکان انتخاب چندين گزينه وجود خواهد داشت . کنترل <asp:listbox> دارای فرمت زير است :

<asp:listbox id="list1" runat="server" selectionmode="multiple">
 <asp:listitem>تهران</asp:listitem>
 <asp:listitem>اهواز</asp:listitem>
 <asp:listitem>شيراز</asp:listitem>
</asp:listbox>

خصلت selectionmode امکان انتخاب يک و يا چندين گزينه را مشخص می نمايد . ( مقدار پيش فرض انتخاب يک گزينه است ) .

مثال : نحوه استفاده از کنترل listbox

مرحله اول : تايپ کد زير با استفاده از يک ويرايشگر

<script runat="server" language="vb">
Sub Page_Load()
Dim msg As String = "شما شهرستان ( شهرستان های ) زير را برای مسافرت انتخاب نموده ايد: <br />"

if Page.IsPostback then
 If list1.Items(0).Selected Then msg = msg & list1.Items(0).Text & "<br />"
 If list1.Items(1).Selected Then msg = msg & list1.Items(1).Text & "<br />"
 If list1.Items(2).Selected Then msg = msg & list1.Items(2).Text & "<br />"
 Message.Text = msg
end if

End Sub
</script>

<html dir=rtl>
<head>
<title>Drop Down List Example</title>
</head>
<body>
<asp:label id="Message" runat="server"/>
<br />
<form runat="server">
برای مسافرت کدام شهر را انتخاب می نمائيد ؟ <br /><br />
<asp:listbox id="list1" runat="server" selectionmode="multiple">
<asp:listitem>تهران</asp:listitem>
<asp:listitem>اهواز</asp:listitem>
<asp:listitem>شيراز</asp:listitem>
</asp:listbox>
<br /><br />
<input type="Submit" Value ="ارسال درخواست">
</form>
</body>
</html>

مرحله دوم : پس از ذخيره کد فوق در فايلی با نام listbox .aspx و مشاهده آن در مرورگر ، خروجی زير را خواهيم داشت :

مرحله سوم : اننتخاب گزينه های مورد نظر و کليک بر روی دکمه "ارسال درخواست "

کنترل <asp:textbox>
کنترل فوق يک نسخه جديد از کنترل textbox درفرم های HTML است .با استفاده از کنترل فوق ، امکان پياده سازی کنترل های textarea و password نيز فراهم می گردد . با استفاده از کنترل textarea ، امکان درج چندين خط داده وجود خواهد داشت .جدول زير برخی از خصلت های کنترل textbox را نشان می دهد :

خصلت | عملکرد
textmode | نوع کنترل textbox را مشخص می نمايد . در صورتی که خصلت فوق مقداری را دارا نباشد ، يک کنترل textbox معمولی را داشته که صرفا" می توان در آن يک خط داده درج نمود . در صورتی که خصلت فوق مقدار multiline را دارا باشد ، امکان درج چندين خط فراهم شده و در صورتی که خصلت فوق مقدار password را دارا باشد ، امکان درج يک خط داده که محتويات آن نمايش داده نخواهد شد ، فراهم می گردد .
Rows | تعداد خطوطی را که textbox می تواند داشته باشد ، مشخص می نمايد . اين خصلت زمانی کار می کند که قبلا" مقدار خصلت textmode معادل multiline در نظر گرفته شده باشد .
Columns | تعداد ستون مورد نظر برای يک Textbox را مشخص می نمايد . اين خصلت زمانی کار می کند که قبلا" مقدار خصلت textmode معادلmultiline در نظر گرفته شده باشد .

مثال : نحوه استفاده از کنترل textbox

مرحله اول : تايپ کد زير با استفاده از يک ويرايشگر

<script runat="server" language="vb">

Sub Page_Load ( )
 Message1.Text = ""
 Message2.Text = ""
 Message3.Text = ""
 if text1.Text <> "" then
 Message1.Text = "نام :" + text1.Text
 end if
 if text2.Text <> "" then
 Message2.Text = "آدرس : " + text2.Text
 end if
 if text3.Text <> "" then
 Message3.Text = "رمزعبور" + text3.Text
 end if
End Sub

</script>
<html dir=rtl>
<head>
<title>Text Box Example</title>
</head>
<body>
<asp:label id="Message1" runat="server" /><br />
<asp:label id="Message2" runat="server" /><br />
<asp:label id="Message3" runat="server" /><br />
<form runat="server">
نام : <asp:textbox id="text1" runat="server" /><br /><br />
آدرس : <asp:textbox id="text2" runat="server" rows=5 textmode="multiline" /><br /><br />
رمز عبور <asp:textbox id="text3" runat="server" textmode="password" /><br /><br />
<input type="Submit" Value ="ارسال درخواست">
</form>
</body>
</html>

مرحله دوم : پس از ذخيره کد فوق در فايلی با نام textbox.aspx و مشاهده آن در مرورگر ، خروجی زير را خواهيم داشت :

مرحله سوم : تکميل فرم و فعال نمودن دکمه "ارسال درخواست "

توضيحات :

  • در مثال فوق از سه نوع کنترل textbox استفاده شده است :

    <asp:textbox id="text1" runat="server" />
    <asp:textbox id="text2" runat="server" rows=5 textmode="multiline" />
    <asp:textbox id="text3" runat="server" textmode="password" />

  • به منظور نمايش نتايج مربوط به هر يک از کنترل های فوق ، از سه کنترل label که هر يک دارای کد شناسائی منحصر بفرد خاص خود می باشند، استفاده شده است . بذين ترتيب ، می توان اطلاعات درج شده در هر يک از کنترل ها را در يک کنترل label جداگانه ، نمايش داد .

    <asp:label
id="Message1" runat="server" /><br />
<asp:label  id="Message2" runat="server" /><br />
<asp:label  id="Message3" runat="server" /><br />

در بخش پنجم اين مقاله به بررسی ساير کنترل های سرويس دهنده ، خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


آشنائی با فرم ها و کنترل های سرويس دهنده ASP.NET

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

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
فرم ها و کنترل های سرويس دهنده ( بخش پنجم ) | مديريت وب | 1445 | 3 | 4.3

فرم ها و کنترل های سرويس دهنده ( بخش پنجم )

فرم ها و کنترل های سرويس دهنده ( بخش پنجم )

آنچه تاکنون گفته شده است :

  • بخش اول اين مقاله با جايگاه فرم ها در برنامه های وب

  • بخش دوم : بررسی کنترل های فرم HTML
  • بخش سوم : کنترل های سرويس دهنده ASP.NET
  • بخش چهارم: کنترل های سرويس دهنده ASP.NET

در بخش پنجم اين مقاله به بررسی ساير کنترل های سرويس دهنده ، خواهيم پرداخت .

کنترل های <asp:radiobuttonlist> و <asp:radiobutton>
در HTML از کنترل radio button در مواردی که دارای چنيدين گزينه می باشيم و قصد داريم که کاربران يکی از آنان را انتخاب نمايند ، استفاده می گردد. در صورت انتخاب يک گزينه ، امکان انتخاب گزينه های ديگری وجود نخواهد داشت . به منظور پياده سازی radio button در HTML از تگ <input> که خصلت type آن radio در نظر گرفته می شود، استفاده می گردد . هر radio button موجود بر روی فرم دارای تگ اختصاصی input مربوط به خود بوده و هر radio button موجود در يک گروه خاص ، می بايست دارای خصلت name يکسانی باشند.
کنترل های <asp:radiobutton> و <asp:radiobuttonlist> ، با روشی متفاوت نسبت به معادل خود در HTML کار می نمايند . در HTML ، با استفاده از خصلت name به تمامی آنان يک نام يکسان نسبت داده شود .

A <input name= "radio1" type"radio">
B <input name= "radio1" type"radio">
C <input name= "radio1" type"radio">

بدين ترتيب ، صرفا" امکان انتخاب يک گزينه وجود خواهد داشت . در کنترل <asp:radiobutton> ، امکان انجام چنين کاری وجود نداشته و در صورتی که تمامی آنان دارای نام يکسانی باشند ( با استفاده از خصلت id ) ، با يک پيام خطاء مواجه خواهيم شد:

A <asp:radiobutton id="radio1" runat="server" />
B <asp:radiobutton id="radio1" runat="server" />
C <asp:radiobutton id="radio1" runat="server" />

در اين رابطه لازم است که از کنترل <asp:radiobuttonlist> ، استفاده گردد. عملکرد کنترل فوق مشابه کنترل listbox می باشد . به منظور تعريف هر يک از آيتم ها درون کنترل <asp:radiobuttonlist> ، از <asp:listitem> ، استفاده می گردد .

<asp:radiobuttonlist id="radio1" runat="server" >
 <asp:listitem id="option1" runat="server" value="A" />
 <asp:listitem id="option2" runat="server" value="B" />
 <asp:listitem id="option3" runat="server" value="C" />
</asp:radiobuttonlist>

مثال : نحوه استفاده از کنترل <asp:radiobutton>

مرحله اول : تايپ کد زير با استفاده از يک ويرايشگر

<<script runat="server" language="vb">
Sub Page_Load()
if Page.IsPostBack then
Message.Text = "شما شهرستان " + radio1.SelectedItem.Value + " را برای مسافرت انتخاب نموده ايد "
end if
End Sub
</script>
<html dir=rtl>
<head>
<title>Radio Button Example</title>
</head>
<body>
<asp:label id="Message" runat="server" />
<br /><br />
کدام شهرستان را برای مسافرت انتخاب می نمائيد ؟
<br /><br />
<form runat="server">
<asp:radiobuttonlist id="radio1" runat="server">
<asp:listitem id="option1" runat="server" value="تهران" />
<asp:listitem id="option2" runat="server" value="اهواز" />
<asp:listitem id="option3" runat="server" value="شيراز " />
</asp:radiobuttonlist>
<br /><br />
<input type="Submit" Value ="ارسال درخواست">
</form>
</body>
</html>

مرحله دوم : پس از ذخيره کد فوق در فايلی با نام radiobutton.aspx و مشاهده آن در مرورگر ، خروجی زير را خواهيم داشت :

مرحله سوم : اننخاب يک گزينه و فعال نمودن دکمه "ارسال درخواست "

کنترل های <asp:checkbox> و <asp:checkboxlist>
 کنترل های فوق مشابه کنترل های radio button می باشند ، با اين تفاوت که می توان چندين گزينه را انتخاب نمود. با استفاده از کنترل <asp:checkboxlist> امکان معرفی چندين گزينه در يک گروه فراهم می گردد . درکنترل فوق برخلاف radio button ، امکان اعمال محدوديـت برای انتخاب صرفا" يک گزينه وجود نخواهد داشت . پس از انتخاب يک checkbox توسط کاربر، امکان غيرفعال نمودن آن نيز وجود خواهد داشت . فرمت تعريف يک کنترل <asp:checkbox > به صورت زير است :

<asp:checkbox id="check1" runat="server" >

در صورتی که قصد داريم آرايه ای از Checkbox را داشته باشيم ، می توان آنان را درون يک کنترل <asp:checkboxlist> ، قرار داد. در چنين مواردی می بايست خصلت id برای کنترل <asp:checkboxlist> ،بدرستی مقدار دهی شده و برای هر يک از گزينه های درون کنترل ، از يک کنترل <asp:listitem>، استفاده شود.

<asp:checkboxlist id="check1" runat="server" >
 <asp:listitem id="option1" runat="server" value="تهران" />
 <asp:listitem id="option2" runat="server" value="اهواز" />
 <asp:listitem i d="option3" runat="server" value="شيراز" />
</asp:checkboxlist>

مثال : نحوه استفاده از کنترل <asp:checkboxlist>

مرحله اول : تايپ کد زير با استفاده از يک ويرايشگر

<<script runat="server" language="vb">
Sub Page_Load()
Dim msg As String
if Page.IsPostBack then
msg = "شما شهرستان های زير را برای مسافرت انتخاب نموده ايد:<br />"
If check1.Items(0).Selected Then msg = msg & check1.Items(0).Text & "<br />"
If check1.Items(1).Selected Then msg = msg & check1.Items(1).Text & "<br />"
If check1.Items(2).Selected Then msg = msg & check1.Items(2).Text & "<br />"
End If
Message.Text = msg
End Sub
</script>
<html dir=rtl>
<head>
<title>Check Box Example</title>
</head>
<body>
<asp:label id="Message" runat="server" />
<br /><br />
کدام شهرستان را برای مسافرت انتخاب می نمائيد ؟
<br /><br />
<form runat="server">
<asp:checkboxlist id="check1" runat="server">
<asp:listitem id="option1" runat="server" value="تهران" />
<asp:listitem id="option2" runat="server" value="اهواز" />
<asp:listitem id="option3" runat="server" value="شيراز" />
</asp:checkboxlist>
<br /><br />
<input type="Submit" Value ="ارسال درخواست">
</form>
</body>
</html>

مرحله دوم : پس از ذخيره کد فوق در فايلی با نام checkbox1.aspx و مشاهده آن در مرورگر ، خروجی زير را خواهيم داشت :

مرحله سوم : اننخاب يک و يا چندين گزينه و فعال نمودن دکمه "ارسال درخواست "

جستجو
جستجو

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

مقالات
مشاهده گروه ها


آشنائی با ساختارهای کنترلی در VB.NET

 آشنائی با ساختارهای کنترلی در VB.NET New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
ساختارهای کنترلی در VB.NET ( بخش دوم ) | مديريت وب | 1675 | 3 | 3.3

ساختارهای کنترلی در VB.NET

ساختارهای کنترلی در VB.NET ( بخش دوم )

در بخش اول اين مقاله با اسکريپت های ويژوال بيسيک و ساختارهای کنترلی در VB.NET به صورت اجمالی آشنا شديم . در بخش دوم به بررسی ساختارهای تصميم گيری ، خواهيم پرداخت .
همانگونه که قبلا" اشاره گرديد ، با استفاده از ساختارهای تصميم گيری ، يک و يا چندين شرط بررسی و بر اساس نتايج بدست آمده ، دستور و يا دستوراتی اجراء و يا از اجرای دستور و يا دستوراتی صرفنظر می گردد . در VB.NET از دو روش متفاوت در اين رابطه استفاده می گردد :

  • If ...Then : تعداد مسيرهائی را که می توان پس از بررسی يک عبارت شرطی انتخاب نمود ، اندک است .

  • Select Case :تعداد مسيرهائی را که می توان پس از بررسی يک عبارت شرطی انتخاب نمود ، زياد است .

مثلا" در صورتی که در يک برنامه قصد طرح اين پرسش از کاربران را داريم که : " آيا می خواهيد قرار ملاقات خود را از طريق تلفن ، نهائی نمائيد ؟"قطعا" پاسخ به سوال فوق دو گزينه بيشتر نخواهد داشت ( پاسخ مثبت ( True ) و منفی ( False ) ) . بنابراين می توان در چنين مواردی از ساختار If...Then استفاده نمود . ولی در صورتی که از کا ربر پرسش شود که : " آيا می خواهيد قرار ملاقات خود را از طريق تلفن ، فاکس و يا Email ، نهائی نمائيد ؟" ، با توجه به تعداد گزينه های موجود ، ترجيح داده می شود که از ساختار Select Case استفاده شود .
قبل از پرداختن با جزئيات نحوه استفاده از ساختارهای فوق ، لازم است با برخی عملگرها که از آنان به منظور ايجاد عبارات شرطی استفاده می شود،بيشتر آشنا شويم .

عملگرهای مقايسه ای
عملگرهای مقايسه ای در VV.NET عبارتند از :

کاربرد | عملگر
مساوی | =
کوچکتر از | >
کوچکتر يا مساوی | =>
نامساوی | <>
بزرگتر | <
بزرگتر يا مساوی | =>

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

مثال | کاربرد | عملگر
If A=1 AND B=2 Then | در صورت درست بودن تمامی عملوندها ، شرط مورد نظر ارزش درست را پيدا خواهد کرد . | AND
If A=1 OR B=2 Then | درصورت درست بودن يکی از عملوندها ، شرط مورد نظر ارزش درست را پيدا خواهد کرد | OR
If NOT A=1 Then | مقدار مخالف شرط را بر می گرداند . در صورتی که شرط مورد نظر ارزش درست را داشته باشد ، NOT آن مقدار نادرست را برمی گرداند . | NOT

اولويت عملگرهای فوق به ترتيب OR,AND,NOT می باشد .

ساختار If...Then

ساختار فوق دارای چهار بخش اساسی است :

  • يک عبارت که شامل يک و يا چندين شرط است که ماحصل آن True و يا False خواهد بود .

  • کد لازم در صورتی که نتيجه عبارت شرطی ، درست باشد .

  • کد لازم در صورتی که نتيجه عبارت شرطی نادرست باشد ( اختياری )

  • يک عبارت که نشاندهنده پايان ساختار است .

برای ايجاد ساختار If...Then ازروش های متفاوتی استفاده می گردد . برای انتخاب گرامر مناسب می بايست به دو سوال فوق پاسخ داده شود :

  • در مواردی که نتيجه عبارت شرطی False گردد ، قصد انجام کار( و يا کارهای ) خاصی را داريد ؟

  • در صورتی که نتيجه عبارت شرطی درست باشد ، قصد اجرای بيش از يک دستور را داريد ؟

If..Then : ساده ترين روش استفاده ازساختار تصميم گيری است . در صورت استفاده از ساختار فوق و در مواردی که نتيجه عبارت شرطی نادرست ( False ) باشد ، نمی توان دستور ويا دستوراتی را اجراء نمود .

If A=1 Then TestMessage.Text = " نتيجه عبارت شرطی ، درست است "

در صورتی که قصد داشته باشيم پس از بررسی عبارت شرطی و درست بودن آن بيش از يک دستور را اجراء نمائيم ، می بايست پس از درج دستورات مورد نظر ، از يک End If در قسمت پايانی دستورات ، استفاده نمائيم .

If A=1 Then
TestMessage.Text = " در صورت درست بودن شرط ، دو دستور اجراء می گردد "
 B = 2
End If

If...Then...Else : از ساختار فوق در مواردی که قصد داشته باشيم پس ازبررسی عبارت شرطی و با توجه به نتيجه آن ( درست و يا نادرست ) دستورات خاصی را اجراء نمائيم ، استفاده می شود .

If A=1 Then
TestMessage.Text = " در صورت درست بودن شرط ، اجراء می گردد"
Else
TestMessage.Text = " در صورت نادرست بودن شرط ، اجراء می گردد"
End If

If...Then ...ElseIf : با اين که استفاده از ساختار فوق به منظور تصميم گيری بندرت انجام می شود ، ولی در موارد خاصی لازم است که از اين ساختار استفاده شود. با استفاده از ساختار فوق می توان عبارات شرطی متفاوتی را با يکديگر ترکيب و بر اساس نتايج بدست آمده ، دستور و يا دستورات خاصی را با توجه به وضعيت بوجود آمده ، اجراء نمود . بدين منظور لازم است که هر يک از حالات موجود را با استفاده از ElseIf از يکديگر جدا نموده و در نهايت تمامی ساختار را با استفاده از End If به پايان رساند .

If A=1 Then
TestMessage.Text = " A=1"
ElseIf A=2 Then
TestMessage.Text = " A=2 "
ElseIf A=3 Then
TestMessage.Text = " A=3 "
End If

مثال : نحوه استفاده از ساختار If...Then
در اين مثال کامپيوتر عددی را به صورت تصادفی توليد نموده و از شما درخواست می شود که اين عدد را تشخيص دهيد .

مرحله اول : تايپ کد زير با استفاده از يک ويرايشگر

<script language="vb" runat="server">
Sub Page_Load()
Dim theNumber As Integer
Dim theGuess As Integer

theNumber = int(10 * rnd) + 1

If Page.IsPostBack Then
 theGuess = Guess.SelectedItem.Valu

 If theGuess > theNumber then
 Message.Text = "<BR><BR>شما عدد بزرگتری را تشخيص داده ايد <BR>عدد مورد نظر " &_
 "<B>" & theNumber & " </B>" & " می باشد "
 End If

 If theGuess < theNumber then
 Message.Text = "<BR><BR>شما عدد کوچکتری را تشخيص داده ايد <BR>عدد مورد نظر " &_
 "<B>" & theNumber & " </B>" & " می باشد "
 End If

 If theGuess = theNumber then
 Message.Text = "<BR><BR>حدس شما صحيح است"
 End If
End If
End Sub
</script>

<html dir=rtl>
<head></head>
<body>
<form runat="server"> چه عددی را بخاطر سپرده ام ؟
 <asp:dropdownlist id="Guess" runat="server">
 <asp:listitem>1</asp:listitem>
 <asp:listitem>2</asp:listitem>
 <asp:listitem>3</asp:listitem>
 <asp:listitem>4</asp:listitem>
 <asp:listitem>5</asp:listitem>
 <asp:listitem>6</asp:listitem>
 <asp:listitem>7</asp:listitem>
 <asp:listitem>8</asp:listitem>
 <asp:listitem>9</asp:listitem>
 <asp:listitem>10</asp:listitem>
</asp:dropdownlist><br><br>
<input type="submit" value="تشخيص عدد">
 <asp:label id="message" runat="server"/>
</form></body></html>

مرحله دوم : پس از ذخيره کد فوق در فايلی با نام ifthen.aspx و مشاهده آن در مرورگر ، خروجی زير را خواهيم داشت :

مرحله سوم : انتخاب عدد مورد نظر و کليک بر روی دکمه "تشخيص عدد "

توضيحات :

  • با استفاده از کنترل <asp:dropdownlist> که اعداد يک تا ده را نمايش می دهد از کاربر خواسته ايم که عددی را انتخاب نمايد .

  • در کد نوشته شده دو متغير به اسامی theNumber و theGuess تعريف که از آنان به منظور ذخيره عدد توليد شده تصادفی و عدد حدس زده شده توسط کاربر استفاده می گردد .

  • برای توليد اعداد تصادفی از تابع ()rnd استفاده شده است. تابع فوق ، يک عدد اعشاری بين صفر و يک را توليد می نمايد . برای داشتن يک عدد تصادفی بين يک تا ده ، می بايست عدد توليد شده را در ده ضرب نمود . بدين ترتيب يک عدد بين صفر تا ده توليد می شود .

  • با استفاده از ساختار If...Then بررسی لازم در خصوص عدد انتخاب شده توسط کاربر و مقايسه آن با عدد تصادفی توليد شده انجام و بر اساس آن پيام مناسبی به کاربر ارائه خواهد شد .

ساختار Select Cast
يکی از چالش های استفاده از ساختار If...Then در مواردی است که قصد داشته باشيم تعداد سه و يا بيش از سه وضعيت را بکمک آن مقايسه نمائيم . مثلا" در صورتی که بخواهيم يک کاربر را بر اساس انتخاب انجام شده به شش صفحه وب مجزاء هدايت نمائيم ، استفاده از ساختار If...then علاوه بر اين که کد برنامه را ناخوانا خواهد کرد ، سرعت اجرای کد نوشته شده نيز کندتر می گردد. در چنين مواردی می توان از ساختار Select Case استفاده نمود .

مثال : نحوه استفاده از ساختار Select Case

مرحله اول : تايپ کد زير با استفاده از يک ويرايشگر

<script language="vb" runat="server">
 Sub Page_Load()
 If Page.IsPostBack Then
 Select Case(Destination.SelectedItem.Value)
 Case "تهران":
 Message.Text = "شما شهرستان تهران را برای مسافرت انتخاب نموده ايد"
 Case "اهواز":
 Message.Text = "شما شهرستان اهواز را برای مسافرت انتخاب نموده ايد"
 Case "شيراز":
Message.Text = "شما شهرستان شيراز را برای مسافرت انتخاب نموده ايد"
 Case else
 Message.Text = "شما شهرستان مورد نظر را انتخاب ننموده ايد"
 End Select
 End If
End Sub
</script>

<html dir=rtl>
<head></head>
<body>
 <form runat="server">
 کدام شهرستان را برای مسافرت انتخاب می نمائيد ؟ <br><br>
 <asp:radiobuttonlist id="destination" runat="server">
 <asp:listitem>تهران</asp:listitem>
 <asp:listitem>اهواز</asp:listitem>
 <asp:listitem>شيراز</asp:listitem>
 </asp:radiobuttonlist><br><br>
 <input type="submit" value="ارسال درخواست"><br><br>
 <asp:label id="message" runat="server"/>
</form>
</body>
</html>

مرحله دوم : پس از ذخيره کد فوق در فايلی با نام selectcase.aspx و مشاهده آن در مرورگر ، خروجی زير را خواهيم داشت :

مرحله سوم : انتخاب گزينه مورد نظر و کليک بر روی دکمه " ارسال درخواست "

توضيحات :

  • با استفاده از کنترل <asp:radiobuttonlist> ، مجموعه ای از گزينه ها ارائه شده است .

  • با استفاده از ساختار Select Case بررسی لازم در خصوص گزينه انتخاب شده توسط کاربر انجام و متناسب با آن پيام خاصی در کنترل lablel نمايش داده می شود .

  • در صورتی که به هر دليلی يکی از گزينه های ارائه شده، انتخاب نشود و يا خطای خاصی اتفاق افتاده باشد که داده انتخابی با هيچيک از موارد ذکر شده در ساختار Select Case مطابقت ننمايد ، بخش Case else ساختار Select Case انتخاب و دستورات موجود در اين بخش اجراء خواهند شد .

در بخش سوم اين مقاله به بررسی ساختارهای تکرار خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


بررسی ساختارهای کنترلی و برنامه نويسی رويه ای در VB.NET

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

ساير امکانات

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
ساختارهای کنترلی در VB.NET ( بخش سوم ) | مديريت وب | 1435 | 1 | 5

New Page 1

ساختارهای کنترلی در VB.NET ( بخش سوم )

آنچه تاکنون گفته شده است :

  • بخش اول : بررسی اجمالی ساختارهای کنترلی در VB.NET

  • بخش دوم : بررسی ساختارهای تصميم گيری

در بخش سوم به بررسی ساختارهای تکرار ، خواهيم پرداخت
VB.NET دارای چندين ساختار تکرار است :

  • For...Next

  • Do...While

  • Do...Until

  • For...Each

در اغلب موارد صرفا" از دو ساختار فوق ، استفاده می گردد . Do...While و Do...Until دارای عملکردی مشابه با يک تفاوت اساسی می باشند. از ساختار For...Each در زمان کار با آرايه ها و يا Collections ، استفاده می شود. ( Collection يک شی است که خود شامل اشياء ديگری است ) .

ساختار For...Next
ساختار فوق دارای سه بخش اساسی است :

  • بخش اول ، خطی است که مسئوليت مشخص نمودن تعداد دفعات اجرای حلقه تکرار را برعهده دارد .

  • بخش دوم ، مجموعه دستوراتی که می بايست تکرار گردند را مشخص می نمايد .

  • بخش سوم ، خطی است که انتهای حلقه تکرار را مشخص خواهد کرد.

شکل عمومی ساختار For...Next :

For LoopCounter = StartValue To EndValue
..... دستورات تکرارشونده ....
Next LoopCounter

مثال زير نحوه استفاده از ساختار For...Next را نشان می دهد :

For intCounter = 1 To 5
Message1.Text = Message.Text1 & " Test Looping Structures " & "<br/>"
Next intCounter

از ساختار For...Next در مواردی که تعداد دفعات اجرای حلقه تکرار از قبل مشخص است ، استفاده می گردد .

مثال : نحوه استفاده از ساختار For...Next
در اين مثال با ارائه يک DropDownlist و بر اساس انتخاب کاربر ، يک دستورالعمل تکرار می گردد .

مرحله اول : تايپ کد زير با استفاده از يک ويرايشگر

<script language="vb" runat="server">
Sub Page_load()
 Dim number As Integer
 Dim counter As Integer
 If Page.IsPostBack then
number = numberSelection.SelectedItem.value
 Message1.Text = ""
 For counter = 1 to number
 Message1.Text = Message1.Text & " نحوه استفاده از ساختار تکرار " & "<br/>"
Next counter
 End If
End Sub
</script>

<html dir=rtl>
<head>
<title>Loop Example</title>
</head>
<body>
<form runat="server">
لطفا" يک عدد را انتخاب نمائيد : <br><br>
<asp:dropdownlist id="numberSelection" runat="server">
 <asp:listitem >1</asp:listitem>
 <asp:listitem>2</asp:listitem>
 <asp:listitem>3</asp:listitem>
 <asp:listitem>4</asp:listitem>
 <asp:listitem>5</asp:listitem>
</asp:dropdownlist>
<br><br>
<input type="Submit" Value="ارسال درخواست"><br><br>
<asp:label id="message1" runat="server"/>
</form>
</body>
</html>

مرحله دوم : پس از ذخيره کد فوق در فايلی با نام ForLoop.aspx و مشاهده آن در مرورگر ، خروجی زير را خواهيم داشت :

مرحله سوم : انتخاب عدد مورد نظر و کليک بر روی دکمه "ارسال درخواست "

ساختار Do...While
از ساختار فوق در مواردی استفاه می گردد که نسبت به تعداد دفعاتی که می بايست فرآيند تکرار انجام شود ، شناخت اوليه ای وجود نداشته باشد .در ابتدا عبارت شرطی بررسی و در صورتی که ارزش آن TRUE باشد ، حلقه تکرار خواهد شد.
شکل عمومی ساختار Do...While :

ِDo While Expression test
..... دستورات تکرارشونده ....
Loop

ساختار Do...Until
همانگونه که در ساختار Do...While مشاهده گرديد ، عبارت شرطی در ابتدای حلقه قرار گرفته و پس از بررسی و در صورت درست بودن ، دستورات موجود در حلقه اجراء خواهند شد . با استفاده از ساختار Do...Until می توان عمليات بررسی شرط را در انتهای حلقه و پس از يک بار اجرای قطعی دستورات تکرار شونده ، انجام داد.
شکل عمومی ساختار Do...Until :

ِDo While
..... دستورات تکرارشونده ....
Loop Until Expression test

ساختار For...Each
ساختار فوق دارای عملکردی مشابه For...Next می باشد. با اين تفاوت که از آن به منظور انجام عمليات مورد نظر در ارتباط با هر يک از عناصر درون يک آرايه و يا يک Collection استفاده می گردد .

مثال : نحوه استفاده از ساختار For...Each
در اين مثال پس از تعريف يک آرايه و نسبت دهی مقدار به هر يک از عناصر آن ، با استفاده از For ...Each محتويات هر يک از عناصر آرايه در خروجی نمايش داده می شود.

<script language="vb" runat="server">
Sub Page_load()
Dim Item As String
Dim StrArticles(2) As String
StrArticles(0) = " ساختارهای کنترلی - بخش اول "
StrArticles(1) = " ساختارهای کنترلی - بخش دوم "
StrArticles(2) = " ساختارهای کنترلی - بخش سوم "
For Each Item In StrArticles
Message.Text = Message.Text & Item & "<BR>"
Next
End Sub
</script>

<html dir=rtl>
<head>
<title>Loop Example</title>
</head>
<body>
<form runat="server">
<asp:label id="message" runat="server"/>
</form>
</body>
</html>

مرحله دوم : پس از ذخيره کد فوق در فايلی با نام ForEach.aspx و مشاهده آن در مرورگر ، خروجی زير را خواهيم داشت :

در بخش چهارم به بررسی ساختارهای پرش ، خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


نحوه ايجاد و استفاده از فايل های RSS

 نحوه ايجاد و استفاده از فايل های RSS New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
ايجاد فايل های RSS و نحوه استفاده از آنان ( بخش اول ) | مديريت وب | 3392 | 11 | 3.9

ايجاد فايل های RSS و نحوه استفاده از آنان ( بخش اول )

ايجاد فايل های RSS و نحوه استفاده از آنان ( بخش اول )

RSS که از کلمات Really Simple Syndication و يا Rich Site Summary اقتباس شده است ، روشی به منظور توزيع لينک ها به صفحات وب از طريق فايل های مبتنی بر XML است . فايل های فوق معمولا" شامل عنوان ، خلاصه ای از آن و لينک به صفحه حاوی تمامی اطلاعات مرتبط با عنوان منتشر شده ، می باشند. علاقه مندان ( افراد و يا سايت ها ) می توانند با دريافت فايل های فوق ( مشترک آنان شوند ) ، آگاهی لازم در خصوص تغييرات و يا آخرين وضعيت اطلاعات منتشر شده بر روی يک وب سايت را کسب نمايند .
يکی از متداولترين کاربردهای استفاده از تکنولوژی RSS ، نشر عناوين و خلاصه اخبار است . سازمان ها و آژانس های خبری به صورت مستمر فايل RSS مربوط به خود را که نظير يک فايل ايندکس به اخبار و يا مقالات است ، بهنگام می نمايند . خوانندگان می توانند با استفاده از لينک ارائه شده و کليک بر روی آن به صفحه اصلی نشر خبر و يا مقاله هدايت شوند . با عضويت کاربران به مجموعه ای از فايل های RSS ، امکان بهنگام سازی مستمر اطلاعات آنان در خصوص موضوعات مورد علاقه فراهم می گردد . ( مطالعه خلاصه اطلاعات ارائه شده و در صورت تمايل، استفاده از لينک به منظور مطالعه تمامی خبر و يا مقاله ) . فايل های RSS محدود به نشر خلاصه اخبار نبوده و هر وب سايتی که به صورت مستمر اقدام به ارائه محتوا می نمايد نيز می تواند از اين تکنولوژی استفاده نمايد . بدين ترتيب ، اطلاعات لازم برای کاربران ارسال و آنان می توانند خلاصه ای از اطلاعات منتشر شده را بر روی کامپيوتر خود مشاهده نموده و در صورت تمايل از سايت اصلی نشر خبر و يا مقاله استفاده نمايند .

ماهيت فايل های RSS
فايل های RSS از سه بخش اطلاعاتی با فرمت XML تشکيل می گردند . اطلاعات فوق در يک گره و با نام <item> سازماندهی می شوند. بدين منظور گره <item> از سه گره فرزند استفاده می نمايد :

  • <title> : عنوان مطلب منتشر شده ( خبر ، مقاله ) را در خود ذخيره می نمايد.
  • <link> : آدرس مربوط به صفحه وب حاوی تمامی اطلاعات مرتبط با عنوان منتشر شده را مشخص می نمايد .
  • <description> : اطلاعاتی خلاصه در رابطه با عنوان مطلب منتشر شده ( خبر ، مقاله ) را در خود ذخيره می نمايد .

يک فايل RSS می تواند شامل يک و يا چندين گره <item> باشد . تمامی گره های <item> توسط گره ريشه <channel> احاطه می گردند . گره <channel> خود شامل عناصری به منظور مشخص نمودن سايت ارائه دهنده اطلاعات است . فرمت يک فايل RSS به صورت زير است :

<rss version="2.0">
<channel>
<title> عنوان سايت </title>
<link> آدرس سايت </link>
<description> توضيحاتی در رابطه با عملکرد سايت </description>

<item>
<title>عنوان</title>
<link>آدرس صفحه حاوی اطلاعات تکميلی در رابطه با عنوان منتشر شده </link>
<description>خلاصه ای از محتويات صفحه </description>
</item>
...
</channel>
</rss>

فايل های RSS با انشعاب xml . ذخيره می گردد . به منظور ايجاد يک فايل xml ، می یايست مجموعه قوانين خاصی را رعايت نمود . به منظور اطمينان از صحت فرمت فايل فوق می توان آن را برای يک سرويس اعتبار سنجی ارسال تا وی بررسی لازم در خصوص " خوش شکل بودن " و "معتبر بودن" آن را انجام دهد . مثلا" می توان از Feed Validator به منظور اعتبار سنجی فايل RSS استفاده نمود. پس از اعتبار سنجی يک فايل RSS ، می بايست امکان استفاده از آن را برای کاربران فراهم نمود .يکی از روش های انجام اين کار اعلام اين موضوع بر روی وب سايت مورد نظر است . قطعا" تاکنون آيکون های زير را بر روی وب سايت های متعددی مشاهده نموده ايد :

آيکون های فوق لينک های گرافيکی به فايل های RSS می باشند که URLs مورد نظر را برای يک و يا چندين RSS Feed ، ارائه می نمايند .با کليک بر روی آنان يک فايل با فرمت XML نمايش داده می شود . با استفاده از برنامه هائی خاص نيز می توان آدرس مربوط به هر RSS Feed مورد علاقه را مشخص تا در ادامه ، خلاصه ای از اطلاعات و لينک های مربوطه نمايش داده شود . به برنامه های فوق، aggregator گفته می شود . روش دوم به منظور ارائه فايل RSS ، استفاده از سرويس RSS syndication است . وب سايـت هائی نظير SearchEngineWatch ، تعداد زيادی دايرکتوری RSS را بدين منظور ارائه نموده اند . برخی از مراکز جستجو اين امکان را فراهم می نمايند که URL مربوط به يک فايل RSS برای آنان ارسال گردد.

عضويت در يک RSS feed
به منظورعضويت در يک RSS feed می توان از برنامه های Desktop متعددی که RSS aggregators ناميده می شوند ، استفاده نمود . SharpReader يک نمونه متدوال در اين زمينه است . شکل زير اجرای اين برنامه را نشان می دهد .

ليست Subscribed Feeds در ستون سمت چپ ، شامل لينک هائی به فايل های RSS است .با کليک بر روی يکی ازآنان، فايل مربوطه فعال شده و عناوين تمامی آيتم ها در فريم بالا ( سمت راست ) ، نمايش داده می شود . با کليک بر روی يک عنوان، خلاصه ای از اطلاعات در رابطه با آيتم مورد نظر در فريم پائين ( سمت راست ) ، نمايش داده خواهد شد . محتوای ارائه شده از گره های <title> ، <link> و <description> ، موجود در فايل RSS دريافت و نمايش داده می شود . با کليک بر روی يکی از عناوين ، صفحه اصلی حاوی عنوان منتشر شده در فريم پائين نمايش داده می شود :

به منظور عضويت در يک RSS feeds می توان گزينه "Open RSS Feed" را از طريق منوی فايل انتخاب و URL مربوط به يک فايل RSS را مشخص نمود .پس از انجام عمليات فوق ، عنوان سايتی که از آن فايلی دريافت شده است به ليست اضافه می گردد . هر مرتبه که ليست refresh می گردد ، نسخه ای جديد از فايل RSS دريافت و نمايش داده خواهد شد .

ايجاد RSS
RSS feeds با ايجاد يک فايل XML و ارائه لينک آن برای اعضاء و متقاضيان ، ايجاد می گردد . فرآيند ايجاد فايل می تواند به صورت دستی ( استفاده از يک اديتور متنی و يا يک اديتور XML ) و يا به صورت پويا و بر اساس برنامه ای خاص باشد . با توجه به اين که اغلب، محتوای فايل های RSS از يک بانک اطلاعاتی دريافت می گردد ، می بايست ايجاد فايل های RSS حتی المقدور به صورت اتوماتيک باشد .

استانداردهای RSS
تاکنون استانداردهای متعددی به منظور کدينگ RSS ايجاد شده است. متداولترين آنان نسخه شماره دو می باشد که در Technology at Harvard Law ، تشريح شده است . RSS عضوی از خانواده بزرگ XML بوده و تمامی فايل های RSS می بايست بر اساس مشخصه استاندارد XML 1.0 که توسط کنسرسيوم وب ( W3C ) منتشر شده است ، تائيد شوند .

تعريف RSS
يک سند RSS با عنصر <rss> که به دنبال آن خصلت " version = "2.0 آورده می شود ، تعريف می گردد .عنصر فوق به همراه تگ پايانی ، تمامی سند را در خود جای می دهد :

<rss version="2.0">
...
</rss>

عنصر <channel>
زير مجموعه عنصر <rss> را يک المان <channel> تشکيل می دهد که شامل اطلاعاتی در رابطه وب سايتی است که لينک ها و خلاصه اطلاعات موردنظر از آن استخراج می گردند . channel از سه عنصر ضرروی تشکيل می گردد : <title>, <link>و <description>.

<rss version="2.0">
<channel>
<title>عنوان سايت .</title>
<link>آدرس سايت </link>
<description> توضيحاتی در رابطه با عملکرد سايت </description>
...
</channel>
</rss>

ساير اطلاعات مورد نياز را می توان به بخش channel و با استفاده از استانداردهای تعريف شده ، اضافه نمود .

عنصر <item>
يک channel می تواند شامل يک و يا چندين عنصر <item> باشد . يک <item> شامل عناصری به منظور مشخص نمودن عنوان، لينک و خلاصه ای از اطلاعات در رابطه با مطلب منتشر شده ( خبر ، مقاله ) است . يک عنصر <item> معمولا" از سه عنصر <title>, <link>و <description> تشکيل می گردد . اطلاعات ارائه شده توسط يک <item> ممکن است کامل بوده و نيازی به استفاده از گره فرزند <link> نباشد .

<rss version="2.0">
<channel>
<title>عنوان سايت .</title>
<link>آدرس سايت </link>
<description> توضيحاتی در رابطه با عملکرد سايت </description>
<item>
<title>عنوان </title>
<link>آدرس صفحه حاوی اطلاعات تکميلی در رابطه با عنوان منتشر شده </link>
<description>خلاصه ای از محتويات صفحه </description>
</item>

<item>
<title>عنوان </title>
<description> تمامی اطلاعات موجود .</description>
</item>
...
</channel>
</rss>

در بخش دوم اين مقاله به بررسی نحوه ايجاد يک RSS feed با استفاده از يک بانک اطلاعاتی خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


نحوه ايجاد و استفاده از فايل های RSS

 نحوه ايجاد و استفاده از فايل های RSS New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
ايجاد فايل های RSS و نحوه استفاده از آنان ( بخش دوم ) | مديريت وب | 1618 | 3 | 4.3

ايجاد فايل های RSS و نحوه استفاده از آنان ( بخش دوم )

در بخش اول اين مقاله با فايل های RSS و موارد استفاده از آنان آشنا شديم . در بخش دوم به بررسی نحوه ايجاد فايل های RSS با استفاده از يک بانک اطلاعاتی و بهنگام سازی اتوماتيک آنان خواهيم پرداخت .
اطلاعات موجود در فايل های RSS را می توان به صورت دستی و با استفاده از يک اديتور متنی و يا يک اديتور XML ايجاد نمود. در صورتی که فرکانس تغيير اطلاعات زياد باشد، روش فوق گزينه ای مناسب نخواهد بود. در چنين مواردی می توان اطلاعات مورد نظر را از بانک اطلاعاتی مربوطه ( اخبار ، مقالات ) بازيابی و آنان را در فايل RSS درج نمود . بدين ترتيب در صورت بروز هر گونه تغيير در بانک اطلاعاتی ، فايل RSS نيز به صورت اتوماتيک بهنگام می گردد.

مثال : ايجاد RSS با استفاده از يک بانک اطلاعاتی
در اين مثال قصد د اريم اطلاعات را از يک بانک اطلاعاتی اکسس خوانده و به صورت يک فايل XML با فرمت RSS ذخيره نمائيم .

فرضيات :

  • بانک اطلاعاتی نمونه : RSS.mdb
  • جدول حاوی لينک های مورد نظر: XMLlink
  • جدول XMLLink در بانک اطلاعاتی rss.mdb دارای لی اوت زير است . اسامی فيلدها در جدول XMLlink مشابه اسامی مورد نياز يک فايل RSS 2.0 در نظر گرفته شده اند .

اندازه | نوع | نام فيلد
 | Date/Time | PubDate
100 | Text | Title
100 | Text | Link
 | Memo | Description

ايجاد يک فايل RSS

مرحله اول : تايپ کد زير با استفاده از يک ويرايشگر
اسکريپت های زير يک فايل RSS 2.0 را با توجه به اطلاعات موجود در بانک اطلاعاتی RSS.mdb ايجاد و آن را با نام RSS.XML در فهرست ريشه وب مورد نظر ذخيره می نمايد.

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

<SCRIPT runat="server">

Sub Page_Load
Create_RSS ()
End Sub

Sub Create_RSS ( )

Dim DBConnection As OleDbConnection
Dim DBCommand As OleDbCommand
Dim DBReader As OleDbDataReader
Dim SQLString As String
Dim FileWriter As StreamWriter

DBConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\RSS.mdb")
DBConnection.Open()
SQLString = "SELECT * FROM XMLLink"
DBCommand = New OleDbCommand(SQLString, DBConnection)
DBReader = DBCommand.ExecuteReader()

FileWriter = File.CreateText(MapPath("RSS.xml"))
FileWriter.WriteLine("<rss version=""2.0"">" )
FileWriter.WriteLine("<channel>")
FileWriter.WriteLine("<title>Sakha Ravseh </title>")
FileWriter.WriteLine("<link>http://www.srco.ir/</link>")
FileWriter.WriteLine("<description>Software ,Hardware ,Network </description>")

While DBReader.Read()
FileWriter.WriteLine("<item>")
FileWriter.WriteLine("<pubDate>" & DBReader("PubDate") & "</pubDate>")
FileWriter.WriteLine("<title>" & DBReader("Title") & "</title>")
FileWriter.WriteLine("<link>" & DBReader("Link") & "</link>")
FileWriter.WriteLine("<description>" & DBReader("Description") & "</description>")
FileWriter.WriteLine("</item>")
End While

FileWriter.WriteLine("</channel>")
FileWriter.WriteLine("</rss>")
FileWriter.Close()

DBReader.Close()
DBConnection.Close()

End Sub

</SCRIPT>

مرحله دوم : پس از ذخيره کد فوق در فايلی با نام MakeRss.aspx و اجرای آن ، فايل RSS.xml ايجاد می گردد .

توضيحات :

  • به منظور بازيابی رکوردهای موجود در بانک اطلاعاتی و ايجاد يک فايل RSS از ساختار تکرار While استفاده شده است .

  • به منظور نوشتن رکوردهای بازيابی شده در فايل RSS از کلاس StreamWriter دات نت استفاده شده است . بنابراين لازم است که از System.IO در ابتدای برنامه استفاده شود . ( " Import Namespace="System.IO )

  • namespace فوق کلاس های StreamReader و StreamWriter را به منظور خواندن و نوشتن در فايل های text ارائه می نمايد.

  • کلاس StreamReader دارای متدهای متفاوتی به منظور خواندن فايل های text است :

Dim FileReader As StreamReader

FileReader = File.OpenText(path)
FileLine = FileReader.ReadLine()
FileContents = FileReader.ReadToEnd()

FileReader.Close()

  • FileReader متغيری است که به عنوان يک شی StreamReader تعريف شده است . متد openText فايل موجود در مسير مشخص شده را به شی FileReader نسبت می دهد . متد ReadLine يک خط از فايل text را بدون در نظر گرفتن کاراکتر Line-break ، می خواند. با استفاده از متد ReadToEnd تمامی محتويات فايل با لحاظ نمودن کاراکترهای line-break ، خوانده می شوند. از متد close پس از اتمام کار و به منظور بستن فايل استفاده می گردد .

  • کلاس StreamWriter دارای متدهای متفاوتی به منظور نوشتن در فايل های text است :

Dim FileWriter As StreamWriter

FileWriter = File.CreateText(path)
FileWriter = File.AppendText(path)
FileWriter.WriteLine(text)
FileWriter.Write(text)

FileWriter.Close()

  • FileWriter متغيری است که به عنوان يک شی StreamWriter تعريف شده است . متد CreateText فايل text موجود در آدرس Path را به شی FileWriter نسبت می دهد . متد فوق در صورتی که فايل موجود نباشد آن را ايجاد و در صورت موجود بودن فايل بر روی آن بازنويسی می نمايد .متد AppendText خطوطی را به يک فايل موجود اضافه می نمايد . متد WriteLine يک رشته متن به همراه يک کاراکتر Line-break را به فايل text اضافه می نمايد. متد Write يک رشته متن را بدون لحاظ نمودن يک کاراکتر Line-break به فايل text اضافه می نمايد . از متد close پس از اتمام کار و به منظور بستن فايل استفاده می گردد .

  • در ابتدا، گره ريشه <channel> و اطلاعات مربوط به لينک به سايت ، تعريف شده اند .

  • برای هررکورد بازيابی شده از بانک اطلاعاتی يک گره <item> ايجاد شده است . گره فوق دارای سه گره فرزند به اسامی <pubDate>, <title>, <link> و <description> می باشد .

  • به منظور معرفی فايل RSS می توان از يک دکمه گرافيکی ( [image] ) که به فايل RSS اشاره می نمايد، استفاده کرد . توجه داشته باشيد که قبل از کليک بر روی دکمه فوق، می بايست فايل RSS با فرآيندی خاص ايجاد شده باشد ( اجرای فايل حاوی اسکريپت های نوشته شده ) .

بهنگام سازی اتوماتيک فايل RSS
محتويات يک فايل RSS متاثر از داده های موجود در بانک اطلاعاتی است . بديهی است در صورتی که لينک های جديدی به بانک اضافه شده و يا لينک هائی حذف گردد ، می بايست فايل RSS بهنگام گردد . در مثال فوق ، عمليات بهنگام سازی فايل RSS صرفا" پس از اجرای اسکريپت های نوشته شده ، انجام خواهد شد ( اجرای فايل MakeRss.aspx ) . ما نيازمند روشی هستيم که بر اساس آن فرآيند بهنگام سازی فايل RSS به صورت اتوماتيک و با توجه به آخرين اطلاعات موجود در بانک اطلاعاتی ، انجام شود . بدين منظور می توان اسکريپت های توليد کننده فايل RSS را در يک صفحه aspx . مستقر نموده و پس از ايجاد فايل RSS و با استفاده از متد Redirect فايل RSS.xml نمايش داده شود.
بدين ترتيب ، پس از کليک بر روی لينک مربوطه که معمولا" به صورت يک دکمه گرافيکی ( [image] ) است ، اسکريپت ها اجراء ، فايل RSS.XML توليد و در نهايت با استفاده از متد Redirect فايل RSS.xml نمايش داده می شود.( لينک ارائه شده به صفحه MakeRss.aspx است نه به فايل RSS.xml )

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

<SCRIPT runat="server">

Sub Page_Load

Dim DBConnection As OleDbConnection
Dim DBCommand As OleDbCommand
Dim DBReader As OleDbDataReader
Dim SQLString As String
Dim FileWriter As StreamWriter

DBConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\RSS.mdb")
DBConnection.Open()
SQLString = "SELECT * FROM XMLLink"
DBCommand = New OleDbCommand(SQLString, DBConnection)
DBReader = DBCommand.ExecuteReader()

FileWriter = File.CreateText(MapPath("RSS.xml"))
FileWriter.WriteLine("<rss version=""2.0"">" )
FileWriter.WriteLine("<channel>")
FileWriter.WriteLine("<title>Sakha Ravseh </title>")
FileWriter.WriteLine("<link>http://www.srco.ir/</link>")
FileWriter.WriteLine("<description>Software ,Hardware ,Network </description>")

While DBReader.Read()
FileWriter.WriteLine("<item>")
FileWriter.WriteLine("<pubDate>" & DBReader("PubDate") & "</pubDate>")
FileWriter.WriteLine("<title>" & DBReader("Title") & "</title>")
FileWriter.WriteLine("<link>" & DBReader("Link") & "</link>")
FileWriter.WriteLine("<description>" & DBReader("Description") & "</description>")
FileWriter.WriteLine("</item>")
End While

FileWriter.WriteLine("</channel>")
FileWriter.WriteLine("</rss>")
FileWriter.Close()

DBReader.Close()
DBConnection.Close()
Response.Redirect("http://www.srco.ir/RSS.xml")

End Sub

</SCRIPT>

جستجو
جستجو

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

مقالات
مشاهده گروه ها


نحوه ايجاد يک فايل XML در دات نت

 نحوه ايجاد يک فايل XML در دات نت New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
XML در دات نت : ايجاد يک فايل | مديريت وب | 1262 | 5 | 4

XML در دانت : ايجاد يک فايل

XML در دات نت : ايجاد يک فايل

XML ، يک زبان نشانه گذاری است که امکانات گسترده ای به منظور تشريح اطلاعات را ارائه می نمايد . مولفين اسناد XML به منظور تشريح اطلاعات از تگ ها و خصلت های اختصاصی خود استفاده می نمايند. ( تگ از قبل تعريف شده ای وجود ندارد ) . تگ های موجود در يک سند XML با يکديگر ترکيب و به همراه مجموعه قوانينی که ارتباط بين آنان را مشخص می نمايد ، ارائه می گردند . به منظور تعريف قوانين فوق از( DTD ( Documet Type Definition و XML Schema استفاده می گردد .
XML در سال 1996 توسط کنسرسيوم وب ( گروه کاری XML ) پياده سازی شده است . استاندارد باز و مستقل از پلت فرم بودن از جمله مهمترين ويژگی های XML محسوب می گردد. XML از آن زمان تاکنون دستخوش تغييرات متعددی شده و از آن در ابعاد گسترده ای نظير ذخيره سازی داده های مورد نياز که می بايست بين برنامه ها منتقل گردند، استفاده می شود ( خصوصا" برنامه هائی که بر روی اينترنت اجراء می گردند ) .

XML در دات نت
 XML دارای جايگاهی خاص در فريمورک دات نت است . فريمورک دات نت نه تنها امکان استفاده موثر از XML در برنامه ها را در اختيار شما قرار می دهد بلکه از آن در مواردی متعددی نظير فايل های پيکربندی ، سرويس های وب و ADO.NET نيز استفاده می گردد. فريمورک دات نت مجموعه ای گسترده از کلاس ها به منظور کار با اسناد XML را ارائه نموده است که جملگی از System.Xml مشتق می شوند . سه namespace زير ويژگی های اصلی XML در دات نت را ارائه می نمايند :

  • System.Xml ، مهمترين namespace ارائه شده در دات نت می باشد که اشياء سازگار با نسخه XML کنسرسيوم وب و مجموعه ای از اشياء جانبی به منظور کار با اسناد XML را ارائه می نمايد .با استفاده از اشياء سازگار با XML ارائه شده توسط کنسرسيوم وب ، امکان دستيابی به گره های موجود در يک سند XML فراهم می گردد . در اين رابطه اشياء reader و writer به منظور دستيابی به فايل های XML موجود بر روی ديسک و کلاسی به منظور بررسی اعتبار اسناد XML در مقابل يک DTD و يا XML Schema ، ارائه شده است .

  • System.Xml.XPath . با استفاده از XML Path Language) XPath )، امکان دستيابی و پردازش بخش هائی خاص ازيک سند XML فراهم می گردد. مثلا" می توان عبارت خاصی را ايجاد نمود که گره های خاصی را در يک سند XML و بر اساس نام ، نوع و يا مقدار پيدا نمايد . به عبارات فوق ، XPath Queries گفته می شود . namespace فوق مجموعه ای از اشياء Navigator به منظور انجام عمليات تکراری در يک سند XML را نيز ارائه نموده است . System.Xml.XPath اينترفيس DOM کنسرسيوم وب را حمايت نمی نمايد .

  • System.Xml.Xsl .از ( XSL ( eXtensible Stylesheet Language به منظورتعريف فرمت مورد نظر برای داده های XML استفاده می گردد . کلاس فوق ، اشياء لازم به منظور تبديل اسناد XML که از آن با نام XSLT ياد می شود را نيز ارائه می نمايد . XSLT فرآيندی است که در آن با استفاده از يک سند XML ، اسناد مبتنی بر text ايجاد می گردند . namespace فوق ، همچنين يک کلاس به منظور پاس دادن آرگومان به يک XSLT Stylesheet برای تبديل شرطی را ارائه نموده است .

علاوه بر سه namespace اشاره شده از دو namespace ديگر به نام System.Xml.Schema و System.Xml.Serialization به منظور انجام عمليات خاص در ارتباط با استاد XML ، استفاده می شود .

ايجاد يک سند XML با استفاده از XmlTextWriter
از XmlTextWriter ، به منظور نوشتن داده در اسناد XML سازگار با استاندارد W3C XML 1.0 استفاده می شود . کلاس فوق اطلاعات را cache نکرده و از آن به منظور نوشتن داده در يک سند XML به صورت forward-only ، استفاده می گردد . XmlTextWriter نسبت به DOM دارای سرعت بمراتب بيشتری بوده و از حافظه کمتری استفاده می نمايد ( در هر لحظه يک گره در حافظه قرار می گيرد ) . کلاس فوق گره ها را يکی پس از ديگری ايجاد نموده و آنان را برای خروجی مورد نظر ارسال می نمايد ( يک Stream ، شی ديگر ويا يک فايل موجود بر روی ديسک ) .
جدول زير مهمترين متدهای اين کلاس را نشان می دهد :

کاربرد | متد
از متد فوق به منظور شروع يک سند XML و درج اولين خط در آن که شامل معرفی فايل XML و نحوه encoding است ، استفاده می گردد. | WriteStartDocument()
از متد فوق به منظور ايجاد يک عنصر جديد در سند XML استفاده می گردد . نام عنصر جديد توسط رشته ورودی مشخص می شود . | WriteStartElement(string)
از متد فوق به منظور ايجاد يک عنصر جديد در سند XML استفاده می گردد . نام عنصر جديد و مقدار متناظر با آن توسط پارامترهای ورودی مشخص می گردد. | WriteElementString(name, text_value)
از متد فوق به منظور ايجاد يک خصلت و نسبت دهی مقدار مورد نظر به آن استفاده می شود . خصلت ايجاد شده به عنصر جاری سند XML نسبت داده می شود . | WriteAttributeString(name, value)
از متد فوق به منظور بستن عنصری که توسط متد WriteStartElementايجاد شده است ، استفاده می گردد . | WriteEndElement()
از متد فوق به منظور اتمام عمليات نوشتن در سند XML استفاده می گردد . | WriteEndDocument()
از متد فوق به منظور نوشتن محتوای سند XML به فايل مشخص شده در يک آدرس خاص، استفاده می گردد . | Close()

به منظور شروع کار با کلاس XmlTextWriter می بايست يک فايل و نحوه encoding آن مشخص گردد. encoding می بايست از نوع System.Text.Encoding باشد . ( مثلا" System.Text.Encoding.ASCII ، System.Text.Encoding.Unicode و يا System.Text.Encoding.UTF8 ) .

مثال : استفاده از XmlTextWriter به منظور ايجاد يک فايل XML
در اين مثال با استفاده از XmlTextWriter يک فايل XML با نام Visitors.xml و ساختار زير ايجاد می گردد .

<userInfo>
<browserInfo>
<urlReferrer>...</urlReferrer>
<userAgent>...</userAgent>
<userLanguages>...</userLanguages>
</browserInfo>
<visitInfo timeVisited>
<ip>...</ip>
<rawUrl>...</rawUrl>
<totalbytes>...</totalbytes>
<browsertype>...</browsertype>
<contentEncoding>...</contentEncoding>
<contentlength>...</contentlength>
<httpmethod>...</httpmethod>
<IsSecureConnection>...</IsSecureConnection>
<RequestType>...</RequestType>
</visitInfo>
</userInfo>

مرحله اول : تايپ کد زير با استفاده از يک ويرايشگر

<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="System.Text" %>

<script language="vb" runat="server">
Sub Page_Load()
Dim writer As XmlTextWriter
writer = new XmlTextWriter(Server.MapPath("Visitors.xml"), Encoding.UTF8)

writer.WriteStartDocument()
writer.WriteStartElement("userInfo")
writer.WriteStartElement("browserInfo")

if (Request.UrlReferrer is "") then
writer.WriteElementString("urlReferrer", "none")
Else
writer.WriteElementString("urlReferrer",Request.Url.Tostring())
End if

writer.WriteElementString("userAgent", Request.UserAgent)
writer.WriteElementString("userLanguages", String.Join(", ", Request.UserLanguages))
writer.WriteEndElement()

writer.WriteStartElement("visitInfo")
writer.WriteAttributeString("timeVisited", DateTime.Now.ToString())
writer.WriteElementString("ip", Request.UserHostAddress)
writer.WriteElementString("rawUrl", Request.RawUrl)
writer.WriteElementString("totalbytes", Request.TotalBytes)
writer.WriteElementString("browsertype", Request.Browser.Type)
writer.WriteElementString("contentEncoding", Request.ContentEncoding.EncodingName)
writer.WriteElementString("contentlength", Request.Contentlength)
writer.WriteElementString("httpmethod", Request.HttpMethod)
writer.WriteElementString("IsSecureConnection", Request.IsSecureConnection)
writer.WriteElementString("RequestType", Request.RequestType)

writer.WriteEndElement()
writer.WriteEndDocument()
writer.Close()
End Sub
</script>

مرحله دوم : پس از ذخيره کد فوق در فايلی با نام MakeXmlFile1.aspx و اجرای آن فايل Visitors.xml با محتوای زير ايجاد می گردد.

جستجو
جستجو

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

مقالات
مشاهده گروه ها


نحوه خواندن يک فايل XML در دات نت

 نحوه خواندن يک فايل XML در دات نت New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
XML در دات نت : خواندن يک فايل | مديريت وب | 1446 | 5 | 4

XML در دانت : خواندن يک فايل

XML در دات نت : خواندن يک فايل

در مقاله "XML در دات نت : ايجاد يک فايل " با نحوه ايجاد يک فايل XML با استفاده از XmlTextWriter آشنا شديم . در اين مقاله به بررسی نحوه خواندن يک فايل XML خواهيم پرداخت .
به منظور دستيابی به محتوای يک سند XML ، می بايست آن را Parse نمود تا به بخش مورد نظر دست يافت . به نرم افزارهائی که امکان انجام چنين عملياتی را فراهم می نمايند ، "پارسر" گفته می شود . پارسرها دارای دو نوع متفاوت می باشند :

  • پارسرهای ( DOM : ( Document Object Model ، يک ساختار درختی از سند XML را در حافظه ايجاد نموده و امکان حرکت بر روی گره ها و يا خصلت های متفاوتی را در اختيار قرار می دهند.

  • پارسرهای ( SAX : ( Simple API for XML ، سندهای XML را به صورت ترتيبی پردازش نموده و نسبت به پارسرهای DOM حافظه بمرابت کمتری را اشغال می نمايند .

در MSXML ver 3.0 ، شرکت مايکروسافت دو پارسر فوق را ارائه نموده است . در دات نت نيز از پارسر DOM که دارای سازگاری و شباهت بسيار زيادی با MSXML است و پارسر SAX که دستخوش تغييرات متعددی نسبت به گذشته شده است ، استفاده می گردد . پارسرهای قبل از دات نت ، (مثلا" پارسر MSXML ) کلاس ها و اينترفيس های متعددی را به منظور انجام عمليات متقاوت بر روی اسناد XML ارائه نموده که با استاندارد پيشنهادی کنسرسيوم وب ، سازگاری و نزديکی قابل توجهی دارد. در دات نت علاوه بر استمرار وضعيت فوق ، روش های ساده و انعطاف پذيری به منظور کار بر روی اسناد XML ارائه شده است .

کلاس XmlTextReader
کلاس XmlTextReader روشی سريع و موثر به منظور parse نمودن اسناد XML را ارائه می نمايد. کلاس فوق از حافظه بطرز کاملا" حساب شده و بهينه ای استفاده می نمايد. صرفا" گره جاری در حافظه نگهداری می گردد ( Cached ) و عنصری که قبلا" parse شده است در حافظه وجود نخواهد داشت . در صورتی که به وجود عناصر قبلی نياز باشد ، می بايست فايل XML مجددا" از ابتدا و به صورت forward-only خوانده شود. کلاس فوق از XmlReader به ارث رسيده و متعلق به System.Xml می باشد .
با استفاده از متدها و خصلت های ارائه شده توسط کلاس فوق، می توان بسادگی به محتوا و عناصر موجود در يک سند XML دست يافت . متدهای ارائه شده همواره گره جاری را برمی گردانند و در ادامه می توان عمليات مورد نظر را بر روی آنان انجام داد .
به منظور استفاده از کلاس XmlTextReader می بايست از System.Xml استفاده و يک نمونه از کلاس فوق را ايجاد نمود .

Dim reader As XmlTextReader
reader = New XmlTextReader ( Server.MapPath("visitors.xml") )

به منظور خواندن محتوای يک سند XML از متد Read و در يک ساختار تکرار استفاده می نمائيم .

Do while reader.read ()
'عمليات مورد نظر
loop

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

کاربرد | متد / خصلت
متد فوق ، cursor را بر روی گره بعدی قرار داده و درصورتی که گره با موفقيت خوانده شود ، مقدار true را بر می گرداند . از متد فوق در يک ساختار تکرار و به منظور خواندن و انجام پردازش های لازم در خصوص اسناد XML استفاده می گردد . | Read()
خصلت فوق نوع گره را بر می گرداند ( المان ، متن و يا ساير موارد ). | NodeType
خصلت فوق، نام گره جاری را بر می گرداند . | Name
خصلت فوق ، محتوای گره را بر می گرداند . | Value
محتوای يک گره را بر اساس يک نوع داده خاص برمی گرداند. مثلا" متد ReadString محتوای يک گره را به صورت يک رشته برمی گرداند . | ReadString(), Readxxxx()....
متد فوق ، مقدار خصلتی را که به عنوان پارامتر در اختيار آن گذاشته شده است ، برمی گرداند . | GetAttribute("attb_name")
در صورتی که گره ای دارای يک خصلت باشد، مقدار true و در غيراينصورت مقدار False ، برگردانده می شود . | HasAttributes

مثال : استفاده از XmlTextReader به منظور خواندن يک فايل XML
در اين مثال قصد داريم فايل Visitors.xml را که در مقاله "XML در دات نت : ايجاد يک فايل با نحوه ايجاد آن آشنا شديم را خوانده و عناصر موجود در آن را به همراه مقادير نسبت داده شده به هر يک در خروجی نمايش دهيم .

محتوای فايل Visitors.xml

<?xml version="1.0" encoding="utf-8"?>
<userInfo>
 <browserInfo>
 <urlReferrer>http://localhost/MakeXmlFile1.aspx</urlReferrer>
 <userAgent>Mozilla/4.0 (compatible; MSIE 6.0; ... </userAgent>
 <userLanguages>fa, en-us;q=0.5</userLanguages>
 </browserInfo>
 <visitInfo timeVisited="10/15/2004 2:18:27 AM"> <ip>127.0.0.1</ip>
 <rawUrl>/MakeXmlFile1.aspx</rawUrl>
 <totalbytes>0</totalbytes>
 <browsertype>IE6</browsertype>
 <contentEncoding>Unicode UTF-8)</contentEncoding>
<contentlength>0</contentlength>
<httpmethod>GET</httpmethod>
 <IsSecureConnection>False</IsSecureConnection>
 <RequestType>GET</RequestType>
 </visitInfo>
</userInfo>

مرحله اول : تايپ کد زير با استفاده از يک ويرايشگر

<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="System.Text" %>

<script runat="server">
 sub Page_Load(obj as object, e as eventargs)
 Dim reader As XmlTextReader

Try
reader = New XmlTextReader ( Server.MapPath("visitors.xml") )
Dim strNodeResult As String =""
Dim objNodeType As XmlNodeType

Do while reader.read ()
objNodeType = reader.NodeType
Select Case objNodeType
Case XmlNodeType.XmlDeclaration strNodeResult + =" XML Declaration : <b>" &_
 reader.Name & " " & reader.Value & "</b><br /> "
Case XmlNodeType.Element strNodeResult + =" Element : <b>" &_
 reader.Name & "</b><br /> "
Case XmlNodeType.Text strNodeResult + =" &nbsp; - Value : <b>" &_
 reader.Value & "</b></p><br /> "
 End Select
If reader.AttributeCount > 0 Then
Do While reader.MoveToNextAttribute()
strNodeResult += "&nbsp - Attribute : <b>" & _
 reader.name & "</b> &nbsp - Value <b>" & reader.Value & "</b><br />"
 Loop
 End If
Loop
LblMessage.Text =" <P Align=""Center"" dir =""rtl""> خواندن فايل <b>Visitors.xml</b>
LblFile.Text = strNodeResult

Catch objError As Exception
LblMessage.Text = "<b>* بروز اشکال در خواندن فايل </b>.<br /> " &_
objError.Message & "<br /> " & objError.Source
Exit Sub
Finally
If ( Not reader Is Nothing ) then
reader.close
End If
End Try
 End Sub
</script>
<html dir >
<form Language="vb" runat="server" >
 <asp:label id="LblMessage" runat="server" />
<asp:label id="LblFile" runat="server" />
</form>
</html>

مرحله دوم : پس از ذخيره کد فوق در فايلی با نام ReadXmlFile.aspx و اجرای آن ، خروجی زير نمايش داده می شود .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


نحوه تبديل يک سند XML در دات نت

 نحوه تبديل يک سند XML در دات نت New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
XML در دات نت : تبديل اسناد XML ( بخش اول ) | مديريت وب | 1492 | 2 | 5

XML در دانت : تبديل اسناد XML ( بخش اول )

XML در دات نت : تبديل اسناد XML ( بخش اول )

به منظور پردازش يک سند XML می توان از روش های مختلفی استفاده نمود . برخی از روش ها ، مبتنی بر تکنولوژی های سمت سرويس گيرنده و برخی ديگر مبتنی بر تکنولوژی های سمت سرويس دهنده بوده که پس از پردازش يک سند XML و ايجاد خروجی مناسب ، نتايج برای مرورگر ارسال می گردد . در اين رابطه می توان از امکانات ارائه شده به منظور &#


نحوه تبديل يک سند XML در دات نت

 نحوه تبديل يک سند XML در دات نت New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
XML در دات نت : تبديل اسناد XML ( بخش دوم ) | مديريت وب | 1553 | 2 | 5

XML در دات نت

XML در دات نت : تبديل اسناد XML ( بخش دوم )

دربخش اول اين مقاله با نحوه تبديل فايل های XML با استفاده از فايل های XSLT آشنا شديم .در بخش دوم به بررسی نحوه تبديل اسناد DOM با استفاده از XSLT خواهيم پرداخت .

تبديل اسناد DOM با اسنتفاده از XSLT
فريمورک دات نت از اينترفيس استاندارد DOM کنسرسيوم وب حمايت می نمايد ، بنابراين می توان فايل های XML را به طور کامل و به عنوان يک سند DOM در حافظه مستقر نمود . با استقرار سند DOM در حافظه امکان دستيابی به تمامی ساختار سلسله مراتبی سند XML فراهم می شود . پس از استقرار يک سند DOM در حافظه و به موازات آن می توان يک XSLT style sheet را نيز درون سند DOM و به عنوان يک سند تبديل در حافظه مستقر نمود . بدين ترتيب شرايط لازم به منظور اعمال اسکريپت های مورد نظر به منظور تبديل يک سند DOM فراهم می گردد .

مثال : در اين مثال فايل SrcoArticles.Xml به عنوان يک سند DOM و فايل SrcoArticles.Xsl به عنوان يک سند تبديل در حافظه مستقر شده و در ادامه با استفاده از کنترل <asp:xml> و اسکريپت های نوشته شده ، عمليات تبديل انجام خواهد شد . به منظور تبديل فوق کنترل <asp:xml> از دو خصلت متفاوت می نمايد :

  • id.Document : مرجعی به سند XML DOM

  • id.Transform مرجعی به سند تبديل XSLT

خصلت Document به يک سند DOM ( يک سند XML که درون DOM لود شده است ) اشاره می نمايد . خصلت Transform به يک سند تبديل اشاره می نمايد ( يک فايل XSLT که به درون DOM لود شده است ) . برخلاف حالتی که خصلت های DocumentSource و TransformSource مستقيما" در کنترل <asp:xml> استفاده و به آنان مراجعه می گرديد ، از خصلت های فوق نمی توان به عنوان خصلت های همراه کنترل استفاده نمود . امکان بکارگيری خصلت های فوق صرفا" از طريق اسکريپت های مورد نظر امکان پذير می باشد . در چنين مواردی کنترل <asp:xml> می بايست دارای يک مشخصه خاص ( id ) باشد تا اسکريپت های مورد نظر با استفاده از آن قادر به انجام فرآيند تبديل باشد .

< asp:xml id="TransformOut" runat="server"/>

ايجاد يک سند DOM
به منظور استقرار يک فايل XML درون سرويس دهنده DOM در ابتدا می بايست يک شی XmlDocument ايجاد گردد . در ادامه با استفاده از شی ايجاد شده ، امکان استقرار سند XML در حافظه فراهم می گردد :

Dim document As XmlDocument
document = New XmlDocument
document.Load(path)
يا

Dim document = New XmlDocument()
document.Load(path)

متد Load شی XmlDocument يک فايل XML را به عنوان ورودی گرفته و آن را به صورت يک درخت در حافظه مستقر می نمايد ( يک نمايش درخت گونه از سند XML در حافظه ) . Path مسير فيزيکی به فايل XML را مشخص می نمايد . در چنين مواردی می توان از متد MapPath به منظور تبديل يک آدرس نسبی به مسير کامل فيزيکی نيز استفاده نمود .
XmlDocument يکی از اشياء قدرتمند در ارتباط با فايل های XML است که به برخی از ويژگی های مهم آن اشاره می گردد :

  • مسئوليت پياد ه سازی اينترفيس استاندارد DOM مربوط به کنسرسيوم وب را برعهده دارد.( متعلق به System.Xml )

  • استقرار يک سند XML در حافظه به صورت يک نمايش درختی

  • امکان دستيابی به هر گره موجود در سند XML

  • ارائه يک روش کاملا" انعطاف پذير به منظور دستيابی به هر گره مورد نياز در سند XML در مقايسه با اشياء XmlTextReader و XmlTextReader که صرفا" امکان دستيابی به صورت Forward only را فراهم می نمايند .

  • خصلت ها و متدهای متعددی به منظور پردازش اسناد XML مستقر در حافظه را ارائه می نمايد .

  • مهمترين نکته قابل تامل در خصوص اينترفيس DOM ، استقرار تمامی داده XML در حافظه است . بنابراين در صورت بالا بودن حجم سند XML ، حافظه زيادی مصرف می شود . در مواردی که با محدوديت حافظه مواجه هستيم می توان از روش های مبتنی بر Forward-only استفاده نمود .

ايجاد يک سند تبديل
از فرآيندی مشابه آنچه اشاره گريد به منظور استقرار يک XSLT style sheet در حافظه استفاده می گردد . در ابتدا يک شی XslTransform ايجاد شده و در ادامه اين شی از طريق يک فايل XSLT style sheet در حافظه مستقر می گردد .

Dim document As XslTransform
document = New XslTransform()
document.Load(path)

يا

Dim document = New XslTransform()
document.Load(path)

کدهای لازم به منظور تبديل
پس از استقرار دو سند مورد نظر در حافظه ، از سند XSLT به منظور تبديل سند XML DOM استفاده می گردد . در چنين مواردی خصلت های Transform و Document به کنترل <asp:Xml> نسبت داده شده و در ادامه ماحصل فرآيند تبديل که يک سند XHTML است از طريق کنترل نمايش داده می شود .

<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="System.Xml.Xsl" %>

<SCRIPT runat="server">

Sub Page_Load

Dim SrcoXSL As New XslTransform()
Dim SrcoDOM As New XmlDocument()

SrcoDOM.Load(MapPath(" SrcoArticles.xml "))
SrcoXSL.Load(MapPath(" SrcoArticles.xsl"))

TransformOut.Document = SrcoDOM
TransformOut.Transform = SrcoXSL

End Sub

</SCRIPT>

<html dir=rtl>
<head>
<title>تبديل يک سند </title>
</head>
<body>

<form runat="server">
<p align="center" style ="font-weight:bold">
<asp:label id="Message" runat="server"/> </p>
<asp:xml id="TransformOut" runat="server"/>
</form>
</html >

از System.Xml به منظور ايجاد سند DOM و از System.Xml.Xsl به منظور ايجاد سند تبديل استفاده شده است .

عبارات ديگر تبديل
ترکيبات متفاوتی از خصلت های تبديل را می توان به همراه کنترل <asp:Xml> استفاده نمود . مثلا" می توان يک سند XML DOM را با استفاده از متد Load مربوط به شی XmlDocument در حافظه مستقر نمود و در ادامه يک فايل XSLT را در ارتباط با آن بکار گرفت . در چنين مواردی فايل XSLT با استفاده از خصلت TransformSource مربوط به کنترل <asp:xml> مشخص شده و سند DOM از طريق اسکريپت مورد نظر به خصلت Document مربوط به کنترل <asp:xml> نسبت داده می شود .

Dim SrcoDOM As New XmlDocument()
SrcoDOM.Load(MapPath(" SrcoArticles.xml "))
XMLControl.Document =SrcoDOM

<asp:xml id="XMLControl" TransformSource=" SrcoArticles.xsl" runat="server"/>

در روشی ديگر، می توان يک فايل XML را با استفاده از خصلت DocumentSource مربوط به کنترل <asp:xml> مشخص نمود و به موازات آن فايل XSLT را با استفاده از اسکريپت هائی که مقدار مورد نظر را به خصلت Transform نسبت می دهد ، استفاده نمود .

Dim SrcoDOM As New XmlDocument()
Dim SrcoXSL As New XslTransform()
SrcoXSL.Load(MapPath(" SrcoArticles.xsl"))
XMLControl.Transform = SrcoXSL

<asp:xml id="XMLControl" DocumentSource=" SrcoArticles.xml " runat="server"/>

جستجو
جستجو

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

مقالات
مشاهده گروه ها


تفاوت بين DataList ، DataGrid و Repeater

 تفاوت بين DataList ، DataGrid و Repeater New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
تفاوت بين DataList ، DataGrid و Repeater (بخش اول) | مديريت وب | 2108 | 5 | 4.2

تفاوت بين DataList ، DataGrid و Repeater (بخش اول)

تفاوت بين DataList ، DataGrid و Repeater (بخش اول)

ASP.NET دارای مزايای متعددی نسبت به ASP کلاسيک است . يکی از مزايای فوق ، ارائه کنترل های سرويس دهنده متعددی در ارتباط با داده ها است که از آنان با نام Data Web control و يا Display Data Server Control ياد می شود . کنترل های فوق با هدف تسهيل در امر نمايش داده ها طراحی شده اند . مثلا" DataGrid يک کنترل ايده آل به منظور نمايش داده در يک جدول با فرمت HTML است . علاوه بر کنترل DataGrid از دو کنترل داده ديگر به اسامی DataList و Repeater استفاده می گردد :

  • DataGrid
  • DataList
  • Repeater

کنترل های فوق در موارد متعددی مشابه يکديگر می باشند . مثلا" گرامر استفاده شده به منظور نسبت دهی داده به کنترل ها ، وجود خصلت و رويدادهای مشابه نمونه هائی در اين زمينه می باشد . علیرغم وجود برخی شباهت ها بين کنترل های فوق ، هر يک از آنان دارای مزايا و محدوديت های مختص به خود می باشند . برنامه نويسان برنامه های وب که از ASP.NET استفاده می نمايند و درگير طراحی و پياده سازی برنامه های وب با محوريت داده می باشند ، در زمان استفاده از کنترل های فوق دچار سردرگمی شده و همواره با اين پرسش مواجه هستند که کدام کنترل مناسب تر است ؟ انتخاب مناسب يک کنترل داده به نوع عملياتی که قصد انجام آنان را در يک برنامه وب داريم ، بستگی خواهد داشت .
در اين مقاله قصد داريم به بررسی نقاط قوت و محدوديت های هر يک از کنترل های فوق پرداخته و حالات خاصی را بررسی نمائيم که جايگاه و ضرورت استفاده از کنترل مورد نظر را مشخص می نمايد . در ابتدا و در بخش اول اين مقاله به بررسی نقاط مشترک بين کنترل های داده وب خواهيم پرداخت و قدرمشترک بين آنان را مشخص می نمائيم .

نقاط مشترک بين کنترل های داده
مهمترين وجه اشتراک بين کنترل های DataGrid ، DataList و Repeater ، استفاده از خصلتی با نام DataSource و يک متد با نام DataBind است . به منظور نسبت دهی داده به هر يک از کنترل های فوق از فرآيند مشابهی استفاده می گردد :

  • نسبت دهی داده هائی که می بايست نمايش داده شوند به خصلت DataSource
  • فراخوانی متد DataBind

يکی ديگر از نقاط مشترک بين کنترل های فوق ، بکارگيری تعداد مشخصی از DataWebControlNameItems است . يک DataGrid از تعدادی DataGridItems ، يک DataList از تعدادی DataListItems و يک Repeater از تعدادی RepeaterItems تشکيل می گردد . پس از فراخوانی متد DataBind ، در مجموعه رکوردهای موجود در DataSource حرکت نموده و برای هر يک از آنان يک نمونه جديد DataWebControlNameItem ايجاد و به کنترل اضافه می گردد . پس از ايجاد يک نمونه DataWebControlNameItem ، به خصلت DataItem آن مقدار مربوط به رکورد جاری DataSource نسبت داده شده و متد DataBind مربوط به DataWebControlNameItem فراخوانده شده تا ستون ها ی مربوط به رکورد Datasource به DataWebControlNameItem نسبت داده می شوند . ( در اين رابطه تفاوت اندکی بين سه کنترل اشاره شده وجود دارد که در ادامه به بررسی آنان خواهيم پرداخت ) . علاوه بر وجود شباهت های فوق ، کنترل های فوق از سه رويداد مشابه نيز استفاده می نمايند :

  • ItemCreated : رويداد فوق يک مرتبه به ازای هر DataWebControlNameItem که به کنترل اضافه می گردد ، فعال می گردد . فعال شدن رويداد فوق قبل از نسبت دهی خصلت DataItem مربوط به DataWebControlNameItem می باشد .

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

  • ItemCommand : رويداد فوق هر مرتبه که رويداد Command برای يک Button و يا LinkButton موجود در کنترل فعال می شود ، اجراء می گردد .

بررسی عملی وجه اشتراک بين سه کنترل داده
به منظور بررسی نقاط مشترک بين هر يک از کنترل های اشاره شده يک مثال عملی را دنبال می نمائيم . در اين مثال قصد داريم محتويات جدول Srcotable بانک اطلاعاتی SrcoTestDB.mdb را در خروجی نمايش دهيم . جدول فوق دارای سه فيلد اطلاعاتی با نام ArticlesName ، ArticlesDescription و ID است .

مرحله اول : ايجاد بانک اطلاعاتی SrcoTestDB.mdb و جدول Srcotable

مرحله دوم : ايجاد يک صفحه وب ASP.NET با نام TestWebDataControl.aspx و استفاده از کنترل DataGrid و مشخص نمودن فرمت مورد نظر برای نمايش داده های موجود در بانک اطلاعاتی

<form runat="server" >

<asp:DataGrid id="SrcoGrid1" runat="server"

AutoGenerateColumns="False"
Font-Names="Tahoma"
Font-Size="8pt"
CellPadding="1"
GridLines="Horizontal"
BorderWidth="3"
BackColor="#F0F0F0"
ForeColor="Black"
ShowFooter="True"
HeaderStyle-BackColor="#707070"
HeaderStyle-ForeColor="#FFFFFF"
HeaderStyle-Font-Bold="True"
HeaderStyle-HorizontalAlign="Center"
AlternatingItemStyle-ForeColor="Navy"
AlternatingItemStyle-BackColor="#CCCC99"
FooterStyle-BackColor="#336699"
FooterStyle-ForeColor="#FFFFFF"
FooterStyle-HorizontalAlign="Left"
FooterStyle-Font-Bold="True" >
<Columns>
<asp:BoundColumn
DataField="ArticlesName"
HeaderText="عنوان مقاله " />

<asp:BoundColumn
DataField="ArticlesDescription"
HeaderText="شرح"
ItemStyle-HorizontalAlign="Right"
FooterText="تهيه شده در شرکت سخاروش"
FooterStyle-Font-Size="8pt" />

</Columns>

</asp:DataGrid>
</form>

مرحله سوم : ايجاد و نسبت دهی يک DataSet از طريق Page_Laod

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

<SCRIPT runat="server">

Dim DBConnection As OleDbConnection
Dim DBCommand As OleDbCommand
Dim DBReader As OleDbDataReader
Dim SQLString As String

Sub Page_Load
If Not Page.IsPostBack Then

DBConnection = New OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\InetPub\wwwRoot\SrcoTestDB.mdb")
DBConnection.Open()
SQLString = "SELECT * FROM Srcotable Order by id DESC "
DBCommand = New OleDbCommand(SQLString, DBConnection)
DBReader = DBCommand.ExecuteReader()
SrcoGrid1.DataSource = DBReader
SrcoGrid1.DataBind()
DBReader.Close()
DBConnection.Close()

End If

End Sub

</SCRIPT>

مرحله چهارم : پس از ذخيره کد فوق در فايل TestWebDataControl.aspx و مشاهده آن در مرورگر ، خروجی زير را خواهيم داشت :

توضيحات :
پس از فراخوانی متد DataBind ، رکوردهای مربوط به DataSet نسبت داده شده به خصلت DataSource استخراج می گردند . در زمان حرکت در DataSet ، در حقيقت در بين مجموعه ای از سطرهای مربوط به DataTable پيش فرض DataSet حرکت می نمائيم . مجموعه Rows شامل تعدادی از نمونه های DataRow است که برای هر يک از رکوردهائی که توسط يک SQL query خاص برگردانده شده است ، ايجاد می گردند . برای هر DataRow ، در ابتدا يک DataGridItem ايجاد می گردد. در ادامه رويداد ItemCreated مربوط به DataGrid فعال می گردد . در مرحله بعد ، DataRow به خصلت DataItem مربوط به DataGridItem نسبت داده می شود .در نهايت رويداد ItemDataBound مربوط به DataGrid فعال می شود . اين فرآيند برای تمامی DataRows تکرار خواهد شد .
فرآيند فوق در سه کنترل اشاره شده مشابه بوده و تنها تفاوت موجود در اين رابطه ، ايجاد يک DataListItem ، در کنترل DataList و يک RepeaterItem درکنترل Repeater می باشد ( در مقابل ايجاد يک DataGridItem ، در کنترل DataGrid ) .

برگرفته از سايت http://www.4guysfromrolla.com

جستجو
جستجو

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

مقالات
مشاهده گروه ها


تفاوت بين DataList ، DataGrid و Repeater در ASP.NET

 تفاوت بين DataList ، DataGrid و Repeater در ASP.NET New Page 1

ساير امکانات

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
تفاوت بين DataList ، DataGrid و Repeater (بخش دوم ) | مديريت وب | 2040 | 5 | 3.8

تفاوت بين DataList ، DataGrid و Repeater (بخش دوم )

تفاوت بين DataList ، DataGrid و Repeater (بخش دوم )

در بخش اول اين مقاله با کنترل های DataList، Repeater و DataGrid و برخی ويژگی های مشترک آنان ، آشنا شديم . در بخش دوم به بررسی ساير موارد مرتبط به هر يک از کنترل های فوق ، خواهيم پرداخت .

کنترل DataGrid :

  • کنترل DataGrid به منظور نمايش داده در يک جدول HTML ، طراحی شده است. هر رکورد موجود در DataSource مرتبط با DataGrid به صورت يک سطر در جدول HTML نمايش داده می شود.

  • DataGrid دارای خصلتی با نام AutoGenerateColumns است که می تواند مقدار True و يا False را داشته باشد . در صورتی که مقدار خصلت فوق True باشد ( گزينه پيش فرض )، هر فيلد موجود در DataSource به عنوان يک ستون در جدول HTML نمايش داده می شود . در صورتی که خصلت AutoGenerateColumns مقدار False را دارا باشد ، برنامه نويسان می بايست ستون های مورد نظر برای نمايش را مشخص نمايند .

  • DataGrid ، هر رکورد موجود در DataSource را به عنوان يک سطر و هر فيلد را به صورت يک ستون در جدول نمايش می دهد .

  • با اين که DataGrid اين امکان را در اختيار پياده کنندگان قرار می دهد که بتوانند فرمت نمايش يک ستون خاص را با سليقه خود مشخص نمايند ( با استفاده از <asp:TemplateColumn> ) ، ولی کنترل فوق همچنان دارای محدوديت نمايش هر رکورد DataSource در يک سطر جدول HTML است .

  • صرفنظر از محدوديت اشاره شده ، کنترل فوق با توجه به ويژگی های متعددی که در اختيار طراحان و پياده کنندگان قرار می دهد ، يکی از رايج ترين کنترل های موجود به منظور نمايش داده است . مثلا" با نوشتن کد اندکی امکان مرتب سازی ، Paging و ويرايش داده ها فراهم می گردد .

کنترل DataList :

  • کنترل DataList به منظور نمايش داده هائی که دارای layout سفارشی شده بالائی می باشند ، توصيه شده است .

  • کنترل DataList به صورت پيش فرض داده خود را در يک جدول HTML نمايش می دهد .

  • با استفاده از مقداری که به خصلت RepeateColumns نسبت داده می شود ، می توان تعداد رکورد DataSource به منظور نمايش در هر سطر جدول HTML را مشخص نمود ( بر خلاف DataGrid ) . مثلا" کد زير امکان نمايش دو رکورد DataSource را در هر سطر جدول HTML فراهم می نمايد .

<asp:DataList runat="server" id="SrcoDataList1"
...
RepeatColumns="2">

<ItemTemplate>
<b>عنوان مقاله:</b><br />
<%# DataBinder.Eval(Container.DataItem, "ArticlesName") %>
<p>
<b>شرح</b><br />
<%# DataBinder.Eval(Container.DataItem, "ArticlesDescription") %>
</ItemTemplate>

</asp:DataList>

  • همانگونه که در کد فوق مشاهده می گردد ، DataList از تعدادی تمپليت تشکيل می گردد . تمپليت ها می توانند شامل ترکيبی از تگ های HTML و عبارات نسبت دهی داده باشند ( همانگونه که در ItemTemplate نشان داده شده است ) . عبارات نسبت دهی ، عباراتی هستند که محدوده آنان توسط علامت <% ...#%> مشخص شده و شامل کدهائی می باشند که همزمان با فراخوانی متد DataBind مربوط به DataListIItem ، اجراء خواهند شد . ItemTemplate ، تمپليتی را مشخص می نمايد که توسط هر يک از رکوردهای DataSource استفاده خواهد شد . کنترل DataList دارای تمپليت های متعددی است :
    □ AlternatingItemTemplate : در صورتی که مشخص گردد، هر رکورد DataSource از اين تمپليت در مقابل تمپليت ItemTemplate استفاده می نمايد( يکی در ميان ) .
    □ EditItemTemplate : تمپيلتی است که از آن در مواردی که يک سطر DataList در "وضعيت ويرايش " است ، استفاده می گردد .
    □ HeaderTemplate : تمپليتی است که از آن به منظور نمايش عنوان DataList استفاده می گردد( درصورتی که خصلت ShowHeader مقدار True را دارا باشد ).
    □ FooterTemplate : تمپيلتی است که از آن به منظور نمايش footer يک DataList استفاده می گردد ( درصورتی که خصلت Showfooter مقدار True را دارا باشد ) .
    □ Separator Template : در صورت تعريف ، پس از نمايش هر يک از آيتم های موجود در DataList از آن استفاده می گردد ( جداکننده هر يک از رکوردها ) .

    •

  • DataList قادر به انجام عمليات مرتب سازی ، paging و ويرايش داده ها نيز می باشد. اين کنترل به منظور انجام عمليات فوق، نيازمتد برنامه نويسی بمراتب بيشتری نسبت به DataGrid است. بنابراين در صورتی که به هر يک از موارد اشاره شده نياز داشته باشيم ، DataGrid گزينه مناسبتری در اين رابطه خواهد بود. در صورت عدم نياز به پتانسيل های اشارشده و تمايل به اعمال کنترل بيشتردر رابطه با نحوه نمايش داده ها ( formatting) ، استفاده از کنترل DataList توصيه می گردد .

کنترل Repeater :

  • کنترل Repeater بر خلاف کنترل های DataList و DataGrid از کلاس WebControl مشتق نشده است . بنابراين دارای خصلت هائی نظير Font، ForeColor، BackColor و BorderStyle نمی باشد ( معروف به خصلت های stylistic ) .

  • کنترل Repeater همانند کنترل DataList ، صرفا" از تمپليت ها حمايت نموده و دارای زيرمجموعه ای از تمامی تمپليت های قابل استفاده در يک DataList است . از تمپليت های زير می توان به همراه Repeater استفاده نمود :
    □ AlternatingItemTemplate
    □ ItemTemplate
    □ HeaderTemplate
    □ FooterTemplate
    □ SeparatorTemplate

  • کنترل Repeater حداکثر انعطاف لازم در خصوص توليد HTML را ارائه می نمايد . در حالی که کنترل DataGrid محتويات DataSource را در قالب يک جدول HTML و DataList در قالب يک جدول HTML و يا تگ های SPAN ، ارائه می نمايند ( متناسب با خصلت RepeateLayout مربوط به کنترل Repeater ) ، کنترل Repeater هيچگونه محتوای HTML را اضافه نمی نمايد، مگر اين که با صراحت آنان را در تمپيلت ها مشخص نمود .

  • Repeater يک کنترل مناسب به منظور نمايش داده درون يک ساختار مبتنی بر HTML خاص است ( مثلا" يک Unsorted List ) . همانگونه که در کد پائين مشاهده می گردد ، نمايش داده های موجود در يک بانک اطلاعاتی توسط يک Unsorted List با استفاده از يک Repeater بمراتب راحت تر از ساير کنترل های داده است : اضافه نمودن تگ <UL> به HeaderTemplate و تگ < UL/> به بخش FooterTemplate و تگ <li> به همراه فيلد DataSource مورد نظری است که قصد نمايش آن را در ItemTemplate داريم .

<asp:Repeater runat="server" id="SrcoRepeater">

<HeaderTemplate>
<ul>
</HeaderTemplate>

<ItemTemplate>
<li>
<Font face="Tahoma">
<%# DataBinder.Eval(Container.DataItem, "ArticlesName") %>
</Font>
</il>
</ItemTemplate>

<FooterTemplate>
</ul>
</FooterTemplate>

</asp:Repeater>

  • در مواردی که قصد نمايش داده را با يک فرمت خاص ( غير از يک جدول HTML ) داشته باشيم، استفاده از کنترل Repeater توصيه می گردد .

  • کنترل Repeater دارای امکانات از قبل تعبيه شده ای به منظور انجام عملياتی نظير مرتب سازی ، ويرايش و يا Paging داده ، نمی باشد . در صورت ضرورت، می بايست پتانسيل های فوق از طريق برنامه نويسی به آن اضافه گردد .

    •

خلاصه

در دو مقاله ای که ارائه گرديد به نقاط مشترک و تفاوت بين سه کنترل داده DataGrid، DataList و Repeater اشاره گرديد . مهمترين نقطه مشترک بين سه کنترل فوق ، نحوه حرکت در بين يک DataSource و ايجاد يک مجموعه از DataWebControlNameItems است . علاوه برموارد فوق ، کنترل های فوق از سه رويداد مشابه ItemCreated ItemDataBound, ItemCommand نيز استفاده می نمايند .
هر يک از کنترل های فوق دارای نقاط قوت و محدوديت های مختص به خود می باشند :

  • DataGrid يک گزينه بسيار مناسب برای نمايش سريع و ساده داده های موجود در يک بانک اطلاعاتی و در يک جدول با فرمت HTML است . کنترل فوق دارای امکانات پيشرفته ای نظير Paging ، مرتب سازی و ويرايش داده ها است .DataGrid دارای محدوديت اندکی در رابطه با فرمت عمومی ارائه داده است .

  • DataList دارای آزادی عمل بيشتری است . مثلا" همانگونه که مشاهده گرديد، با استفاده از خصلت RepeateColumns می توان چندين رکورد DataSource را در يک سطر جدول HTML نمايش داد . کنترل فوق به منظور نمايش محتوای مورد نظر از تمپليت ها استفاده می نمايد . تمپليت ها دارای پتانسيل بالائی به منظور سفارشی نمودن نحوه ارائه خروجی می باشند .

  • Repeater دارای کارآئی مطلوبی در خصوص نحوه ارائه خروجی است . تگ های HTML تفسير شده در کنترل Repeater ماحصل تگ های HTML توليد شده در تمپليت های مربوط به کنترل می باشد . بنابراين ما شاهد توليد HTML اضافه ای نخواهيم بود ( اين وضعيت در کنترل های DataGrid و DataList وجود دارد ) . کنترل Repeater دارای امکانات از قبل تعبيه شده ای به منظور انجام عملياتی نظير paging ، مرتب سازی و ويرايش داده نمی باشد .

برگرفته از سايت http://www.4guysfromrolla.com

جستجو
جستجو

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

مقالات
مشاهده گروه ها


ايجاد يک سند XML با استفاده از يک بانک اطلاعاتی

 ايجاد يک سند XML با استفاده از يک بانک اطلاعاتی New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
ايجاد فايل XML با استفاده از يک بانک اطلاعاتی | مديريت وب | 1955 | 9 | 3.7

ايجاد فايل XML با استفاده از بانک اطلاعاتی

ايجاد فايل XML با استفاده از يک بانک اطلاعاتی

از بانک های اطلاعاتی به منظور ذخيره و مديريت داده ها استفاده می گردد . در صورتی که قصد ارسال داده های ذخيره شده در يک بانک اطلاعاتی را برای يک سرويس گيرنده داشته باشيم ، XML گزينه ای مطلوب در اين رابطه است . با استفاده از XML داده ها در ساختاری ذخيره و سازماندهی می شوند که سرويس گيرندگان با هر نوع پلت فرم قادر به استفاده از آنان با توجه به اهداف عملياتی خود می باشند. در حقيقت ، XML مکانيزم استانداردی به منظور مبادله داده بين دو نقطه مبداء و مقصد را فراهم می نمايد . بدين ترتيب بخش های متفاوت يک نرم افزار و يا نرم افزارهای مختلف ، قادر به مبادله داده بين خود خواهند بود .
XML در دات نت دارای نقشی محوری و اساسی بوده و نظير چسبی است که تمام بخش های فريمورک دات نت را به يکديگر متصل و مرتبط می نمايد .مثلا" ADO.NET اساس کار خود را بر روی DataSet استوار نموده که بطور کامل از XML حمايت می نمايد . کلاس DataSet دارای مجموعه وسيعی از متدهای لازم به منظور پردازش اسناد XML است . برخی از متداولترين آنان عبارتند از :

  • ReadXml

  • WriteXml

  • GetXml

  • GetXmlSchema

  • InferXmlSchema

  • ReadXmlSchema

  • WriteXmlSchema.

در اين مقاله با نحوه ايجاد يک سند XML که محتويات آن متاثر از اجرای يک query در ارتباط با يک بانک اطلاعاتی می باشد ، آشنا خواهيم شد. بدين منظور مراحل زير را دنبال خواهيم کرد :

  • مرحله اول : ايجاد بانک اطلاعاتی ( از يک بانک اطلاعاتی Access استفاده خواهيم کرد )

  • مرحله دوم : مشخص نمودن يک ساختار برای فايل XML

  • مرحله سوم : ايجاد يک فرم وب که ليست محصولات را در يک DataGrid نمايش داده و کاربر بتواند با استفاده از Button تعبيه شده بر روی آن اقدام به ايجاد فايل XML و Schema مربوط به آن نمايد .

  • مرحله چهارم : ايجاد يک DataSet و پر نمودن داده در آن با استفاده از يک SQL query ( اين کار را در روتين Page_Load انجام خواهيم داد )

  • مرحله پنجم : نوشتن روتين مربوط به ايجاد فايل XML

مرحله اول : ايجاد بانک اطلاعاتی
بانک اطلاعاتی Products و جدول OurProducts

مرحله دوم : مشخص نمودن يک ساختار برای فايل XML
فايل XML که قصد ايجاد آن را داريم دارای ساختار زير است :

فا يل XML نمونه

<XMLProducts>
<ProductSpec>
<ProductID> </ProductID>
<ProductName> </ProductName>
<UnitPrice> </UnitPrice>
</ProductSpec>
...
</XMLProducts>

مرحله سوم : ايجاد يک فرم وب
در فرم وب از دو کنترل DataGrid و Button استفاده شده است . از کنترل DataGrid به منظور نمايش محتويات Dataset و از کنترل Button به منظور ايجاد فايل XML ، استفاده خواهيم کرد .

فرم وب

<%@ Page Language ="VB" %>
<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Data.OleDb" %>
<html><head></head><body>
<form runat="server">
<b>ليست محصولات </b> <br/><br/>
<asp:DataGrid id="ProductGrid" runat="server"
AutoGenerateColumns="False"
Font-Names="Tahoma"
Font-Size="8pt"
CellPadding="1"
GridLines="Horizontal"
...
</asp:DataGrid>
<br/><br/>
<asp:Button id="cmdMakeXML" Text="ايجاد فايل XML " runat="server" onclick="MakeXML"/>
</body></form></html>

مرحله چهارم : ايجاد يک DataSet و پر نمودن داده در آن
اين کار از طريق روتين Page_laod انجام می شود . در اين روتين پس از ارتباط با بانک اطلاعاتی Products و اجرای يک query در ارتباط با جدول OurProducts ، داده مورد نظر در DataSet قرار گرفته و در نهايت با نسبت دهی آن به خصلت DataSource کنترل DataGrid ، داده ها در کنترل DataGrid نمايش داده می شوند .

روتين Page_Load

Sub Page_Load(s As Object, e As EventArgs)
If Not Page.IsPostBack Then
Dim myDataSet As New DataSet("myXMLProduct")
Dim myConn As New OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Products.mdb")
Dim mydataAdapter As New OleDbDataAdapter _
("SELECT ProductID,ProductName,UnitPrice FROM OurProducts" ,myConn)
mydataAdapter.Fill(myDataSet,"ProductSpec")
ProductGrid.DataSource=myDataSet.Tables(0)
ProductGrid.DataBind
Session("Ds")=myDataSet
End If
End Sub

مرحله پنجم : روتين MakeXml
در اين مرحله فايل های myXMLData.xml و myXMLData.xsd ايجاد خواهند شد . بدين منظور يک DataSet ايجاد و داده آن از طريق متغير Session ايجاد شده در روتين Page_Load پر می گردد .

روتين MakeXml

Sub MakeXML(s As Object, e As EventArgs)
Dim myFs1 As New FileStream (Server.MapPath _
("myXMLData.xml") ,FileMode.Create ,FileShare.ReadWrite)
Dim myFs2 As New FileStream(Server.MapPath _
("myXMLData.xsd"),FileMode.Create,FileShare.ReadWrite)
Dim myDataSet As New DataSet
myDataSet=Session("Ds")
myDataSet.WriteXml(myFs1)
myFs1.Close()
myDataSet.WriteXmlSchema(myFs2)
myFs2.Close()
End Sub

پس از ذخيره تمامی کدهای اشاره شده در فايل MakeXmlFromDataBase.aspx و مشاهده آن در مرورگر ، خروجی زير را خواهيم داشت :

پس از فعال نمودن دکمه "ايجاد فايل XML " ، فايل های myXMLData.xml و myXMLData.xsd ايجاد می گردند .

فايل myXMLData.xml

myXMLData.xsd

جستجو
جستجو

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

مقالات
مشاهده گروه ها


مديريت فايل ها و دايرکتوری ها در ASP.NET

 مديريت فايل ها و دايرکتوری ها در ASP.NET New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
مديريت فايل ها و دايرکتوری ها در ASP.NET ( بخش اول ) | مديريت وب | 2190 | 7 | 4.6

مديريت فايل ها و دايرکتوری ها در ASP.NET ( بخش اول )

مديريت فايل ها و دايرکتوری ها در ASP.NET ( بخش اول )

طراحان و پياده کنندگان برنامه های وب در زمان پياده سازی اين نوع برنامه ها به مواردی برخورد می نمايند که لازم است به سيستم فايل سرويس دهنده وب دستيابی داشته و عمليات متفاوتی را در ارتباط با فايل ها و دايرکتوری ها انجام دهند . مثلا" شرکتی که خدمات hosting را انجام می دهد ممکن است قصد طراحی يک control panel را داشته باشد تا اين امکان را برای مشتريان خود فراهم آورد که با استفاده از يک اينترفيس وب ، اقدام به ويرايش فايل های وب سايت خود نمايند .
در ASP کلاسيک ، به منظور دستيابی به سيستم فايل سرويس دهنده وب ، از FileSystemObject استفاده می گرديد . در دات نت ، مجموعه ای از کلاس ها به منظور دستيابی به سيستم فايل ، پيش بينی شده است . کلاس های فوق در System.IO قرار داشته و از آنان به منظور انجام عمليات متفاوتی استفاده می گردد :

  • بازيابی و نمايش اطلاعات فايل ها و دايرکتوری ها
  • عمليات بر روی مسيرها ( ترکيب آنان و استخراج عنصر بخصوصی )
  • خواندن و يا نوشتن داده در فايل ها و بافرهای حافظه

معرفی کلاس ها
از کلاس های زير به منظور کار با فايل ها ، دايرکتوری ها و stream استفاده می گردد :

  • Directory : متدهای استاتيکی به منظور کار با دايرکتوری ها و درايوهای منطقی را ارائه می نمايد .

  • DirectoryInfo : به منظور کار با يک دايرکتوری خاص و زيردايرکتورهای آن استفاده می گردد .

  • File : متدهای استاتيکی به منظور کار با فايل ها را ارائه می نمايد .

  • FileInfo : به منظور کار با يک فايل خاص استفاده می گردد .

  • Stream : کلاس پايه ای که از آن به منظور خواندن و يا نوشتن در يک backing store نظير سيستم فايل و يا شبکه ، استفاده می گردد .

  • StreamReader : با تلفيق يک stream به منظور خواندن کاراکتر از يک backing store استفاده می شود .

  • StreamWriter : با تلفيق يک stream به منظور نوشتن کاراکتر در يک backing store استفاده می شود .

  • TextReader : متدهای لازم به منظور خواندن کاراکتر از هر منبعی ( نظير backing store ، رشته ها و ....) را ارائه می نمايد .

  • TextWriter : متدهای لازم به منظور نوشتن کاراکتر در هر منبعی ( نظير backing store ، رشته ها و ....) را ارائه می نمايد .

  • BinaryReader : به منظور خواندن نوع های اوليه ای نظير رشته ها ، اعدادصحيح و Boolean از يک stream استفاده می شود .

  • BinaryWriter : به منظور نوشتن نوع های اوليه ای نظير رشته ها ، اعدادصحيح و Boolean در يک stream استفاده می شود .

  • FileSystem : به منظور خواندن و نوشتن داده در سيستم فايل استفاده می شود .

  • MemoryStream : به منظور خواندن و نوشتن داده در يک بافر حافظه استفاده می شود .

backing store : به منبعی که می توان با استفاده از يک شی Stream داده ئی را در آن نوشت و يا داده ئی را از آن خواند ، اطلاق می گردد . هر backing store يک شی stream را ارائه می نمايد که می توان با استفاده از آن با منبع مورد نظر ارتباط برقرار نمود.

Directory و DirectoryInfo
برای کار با دايرکتوری ها از کلاس های Directory و DirectoryInfo استفاده می گردد . کلاس Directory ، تعدادی متد استاتيک را به منظور انجام عمليات دلخواه بر روی دايرکتوری ها ارائه می نمايد. کلاس DirectoryInfo ، مجموعه ای ازمتدهای غير استاتيک به منظور کار بر روی يک دايرکتوری خاص را ارائه می نمايد. از کلاس های فوق به منظور انجام عمليات زير استفاده می شود :

  • ايجاد و حذف دايرکتوری

  • تشخيص وجود يک دايرکتوری

  • بدست آوردن ليستی از زيرداکتوری ها و يا فايل های موجود در يک دايرکتوری خاص

  • دريافت اطلاعات در رابطه با دايرکتوری ها نظير تاريخ ايجاد ، صفات و اعمال تغييرات لازم در آنان

  • آگاهی از دايرکتوری جاری و تغيير آن ( صرفا" برای کلاس Directory )

  • مشخص نمودن ليستی از درايوهای موجود ( صرفا" برای کلاس Directory )

مثال : استفاده از متد Exists کلاس Directory به منظور تشخيص وجود يک دايرکتوری

تشخيص وجود يک دايرکتوری

<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>
<%
if Directory.Exists("C:\SrcoFolder") then
Response.Write("دايرکتوری وجود دارد " )
else
Response.Write( "دايرکتوری وجود دارند")
end if
%>

متد Exists ، استاتيک است . بنابراين ما مجبور نخواهيم بود که يک متغير و نمونه از کلاس Directory را ايجاد نمائيم .

مثال : استفاده از متد Exists کلاس DirectoryInfo به منظور تشخيص وجود يک دايرکتوری

تشخيص وجود يک دايرکتوری

<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>
<%
Dim dir as DirectoryInfo
dir = new DirectoryInfo("C:\SrcoFolder")

if dir.Exists = true then
Response.Write( "دايرکتوری وجود دارد")
Else
Response.Write( "دايرکتوری وجود دارند")
end if
%>

برای تشخيص وجود يک دايرکتوری با استفاده از کلاس DirectoryInfo ، می بايست يک نمونه از کلاس فوق را ايجاد و در ادامه نام دايرکتوری را به عنوان پارامتر در اختيار آن قرار دهيم .

مثال : نمايش تاريخ ايجاد يک دايرکتوری

نمايش تاريخ ايجاد يک دايرکتوری

<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>
<%
Dim dir as DirectoryInfo
dir = new DirectoryInfo("C:\SrcoFolder")

if dir.Exists = true then
Response.Write( "دايرکتوری وجود دارد")
Response.Write( "<br>Created: " & dir.CreationTime )
Else
Response.Write( "دايرکتوری وجود دارند")
end if
%>

File و FileInfo
برای دستيابی به اطلاعات مرتبط با فايل ها از دو کلاس File و FileInfo استفاده می گردد . در اين رابطه می توان عمليات زير را انجام داد :

  • ايجاد ، حذف ، باز نمودن ، کپی و انتقال فايل ها ( به منظور نوشتن ، خواندن ، اضافه نمودن و يا بستن فايل استفاده نمی گردد)

  • بازيابی اطلاعات مرتبط با فايل ها نظير تاريخ ايجاد ، صفات و اعمال تغييرات لازم در آنان

کلاس File نظير کلاس Directory دارای مجموعه ای از متدهای استاتيک به منظور انجام عمليات دلخواه در ارتباط با فايل ها است . کلاس FileInfo دارای مجموعه ای از متدهای غيراستاتيک و خصلت ها به منظور کار با يک فايل خاص است .

مثال : استفاده از متد Exists کلاس File به منظور تشخيص وجود يک فايل

تشخيص وجود يک فايل

<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>

<%

if File.Exists("C:\SrcoFolder\Test.Txt") then
Response.Write( "فايل وجود دارد")
else
Response.Write( "فايل وجود ندارد")
end if

%>

مثال : استفاده از متد Exists کلاس FileInfo به منظور تشخيص وجود يک فايل

تشخيص وجود يک فايل

<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>

<%

Dim myfile as FileInfo
myfile = new FileInfo("C:\SrcoFolder\Test.Txt")

if myfile.Exists = true then
Response.Write( "<br>فايل وجود دارد")
Response.Write( "<br>Created: " & myfile.CreationTime )
else
Response.Write( "<br/>فايل وجود ندارد")
end if

%>

در بخش دوم اين مقاله با نحوه انجام عمليات متداول بر روی فايل ها و دايرکتوری ها ، آشنا خواهيم شد.

جستجو
جستجو

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

مقالات
مشاهده گروه ها


مديريت فايل ها و دايرکتوری ها در ASP.NET

 مديريت فايل ها و دايرکتوری ها در ASP.NET New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
مديريت فايل ها و دايرکتوری ها در ASP.NET ( بخش دوم ) | مديريت وب | 1510 | 3 | 4.7

مديريت فايل ها و دايرکتوری ها در ASP.NET ( بخش دوم )

مديريت فايل ها و دايرکتوری ها در ASP.NET ( بخش دوم )

در بخش اول اين مقاله با کلاس های ارائه شده در دات نت به منظور کار با فايل ها و دايرکتوری ها آشنا شديم . در اين بخش با نحوه انجام عمليات متداول در ارتباط با فايل ها و دايرکتوری ها آشنا خواهيم شد.

تغيير و تشخيص دايرکتوری جاری
زمانی که يک صفحه ASP.NET اجراء می گردد ، thread استفاده شده به منظور اجرای کد لازم جهت توليد صفحه ، به صورت پيش فرض دارای دايرکتوری جاری Windir%\System32 % است . در صورت پاس دادن پارامتری نظير نام يک فايل به هر يک از کلاس های System.IO ، در دايرکتوری جاری عمليات مورد نظر انجام خواهد شد ( فرض می شود که فايل در دايرکتوری جاری است ).
بازيابی و تغيير دايرکتوری جاری از جمله عملياتی است که توسط کلاس Directory انجام می شود . مثال زير نحوه تغيير دايرکتوری جاری با استفاده از SetCurrentDirectory و بازيابی مجدد آن توسط GetCurrentDirectory را نشان می دهد .

تغيير و بازيابی دايرکتوری جاری

<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>

<%

Directory.SetCurrentDirectory("C:\Test")
Response.Write( "مسير جاری : " & _
Directory.GetCurrentDirectory() )
%>

نمايش ليست درايوهای منظقی موجود
به منظور نمايش ليست درايوهای منطقی موجود از متد GetLogicalDrives کلاس Directory استفاده می شود . متد فوق ، آرايه ای از نوع string شامل ليست درايوهای موجود را برمی گرداند .

ليست درايوهای منطقی

<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>

<%
dim Drives() as string
dim Drive as string

Drives = Directory.GetLogicalDrives()

For Each Drive in Drives
Response.Write(drive)
Response.Write("<BR>")
Next
%>

ايجاد يک دايرکتوری
برای ايجاد يک دايرکتوری از متد CreateDirectory کلاس Directory استفاده می شود . کد زير نحوه ايجاد يک ساختار سلسله مراتبی از دايرکتوری های مورد نياز را نشان می دهد .

ايجاد دايرکتوری

<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>

<%
Directory.CreateDirctory("C:\Test1\Test2\Test3")
%>

پس از فراخوانی متد CreateDirectory ، در ابتدا بررسی لازم در رابطه با وجود يک دايرکتوری با نام Test1 در درايو C انجام می شود ، در صورتی که دايرکتوری فوق وجود نداشته باشد ، آن را ايجاد می نمايد . در ادامه بررسی لازم در رابطه با دايرکتوری Test2 انجام خواهد شد و در صورت عدم وجود يک دايرکتوری با اين نام در دايرکتوری Test1 ، اين دايرکتوری نيز ايجاد می گردد . در نهايت ، متد CreateDirectory بررسی لازم در رابطه با دايرکتوری Test3 را انجام می دهد و در صورتی که اين دايرکتوری در مسير مربوطه نيز وجود نداشته باشد ، آن را ايجاد می نمايد .
نکته : در صورتی که سعی نمائيم يک دايرکتوری را با نام خاصی ايجاد نمائيم که قبلا" ايجاد شده است ، با يک Exception مواجه نخواهيم شد . در صورتی که می خواهيم از وجود يک دايرکتوری قبل از ايجاد آن مطمئن شويم ، می توان از متد Directory.Exists استفاده نمود . در صورتی که هر يک از بخش های آرگومان متد CreateDirectory نادرست باشند، با يک ArgumentException مواجه خواهيم شد .

مثال : نمايش محتويات يک دايرکتوری
کلاس Directory دارای متدهای متعددی به منظور بازيابی محتويات يک دايرکتوری است :

عملکرد | پارامتر | متد
آرايه ای از نوع String شامل نام هر يک از دايرکتوری های موجود در مسير مشخص شده ، برگردانده می شود . | Pathname | GetDirectories
مثال
<%@ Language="VB" %> <%@ Import Namespace="System.IO" %> <% Dim dir As String Dim Subdirs() As String Subdirs=Directory.GetDirectories("C:\") For Each dir in Subdirs Response.Write( dir & "<br />" Next %>

عملکرد | پارامتر | متد
آرايه ای از نوع String شامل نام هر يک از دايرکتوری های موجود در مسير مشخص شده و منطبق با الگوی جستجو ، برگردانده می شود. | Pathname, Search Path | GetDirectories
مثال
<%@ Language="VB" %> <%@ Import Namespace="System.IO" %> <% Dim dir As String Dim Subdirs() As String Subdirs=Directory.GetDirectories("C:\" , "Sa*") For Each dir in Subdirs Response.Write( dir & "<br />" Next %>

عملکرد | پارامتر | متد
آرايه ای از نوع String شامل نام هر يک از فايل های های موجود در مسير مشخص شده ، برگردانده می شود . | Pathname | Get Files
مثال
<%@ Language="VB" %> <%@ Import Namespace="System.IO" %> <% Dim f As String Dim files() As String files=Directory.GetFiles("C:\Test" ) For Each f in files Response.Write( f & "<br />" Next %>

عملکرد | پارامتر | متد
آرايه ای از نوع String شامل نام هر يک از فايل های های موجود در مسير مشخص شده و منطبق با الگوی جستجو ، برگردانده می شود. | Pathname, Search Path | Get Files
مثال
<%@ Language="VB" %> <%@ Import Namespace="System.IO" %> <% Dim f As String Dim files() As String files=Directory.GetFiles("C:\Test","sa*" ) For Each f in files Response.Write( f & "<br />" Next %>

عملکرد | پارامتر | متد
آرايه ای از نوع String شامل نام هر يک از فايل ها و دايرکتوری های موجود در مسير مشخص شده ، برگردانده می شود . | Pathname | GetFileSystemEntries
مثال
<%@ Language="VB" %> <%@ Import Namespace="System.IO" %> <% Dim item As String Dim items() As String items=Directory.GetFileSystemEntries("C:\Test") For Each item in items Response.Write( item & "<br />" Next %>

عملکرد | پارامتر | متد
آرايه ای از نوع String شامل نام هر يک از فايل ها و دايرکتوری های موجود در مسير مشخص شده است و منطبق با الگوی جستجو ، برگردانده می شود. | Pathname, Search Path | GetFileSystemEntries
مثال
<%@ Language="VB" %> <%@ Import Namespace="System.IO" %> <% Dim item As String Dim items() As String items=Directory.GetFileSystemEntries("C:\Test","sa*") For Each item in items Response.Write( item & "<br />" Next %>

کلاس DirectoryInfo نيز دارای متدهای GetDirectories ، GetFiles و GetFileSystemEntries است که دارای عملکردی مشابه متدهای کلاس Directory می باشند . در اين رابطه دو تفاوت عمده وجود دارد :

  • پارامترPathname به عنوان آرگومان در اختيار متدهای اشاره شده در کلاس DirectoryInfo قرار داده نمی شود. ( کلاس DirectoryInfo دارای آگاهی لازم در ارتباط با مسير می باشد ).

  • متدهای فوق ،آرايه ای از نوع String را برنمی گردانند . متد GetDirectories آرايه ای از نوع DirectoryInfo ، متد GetFiles آرايه ای از نوع FileInfo و متد GetFileSystemEntries ، آرايه ای از نوع FileSystemInfo را بر می گرداند .

در بخش سوم به بررسی ساير عمليات متداول در ارتباط با فايل ها و دايرکتوری ها خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


مديريت فايل ها و دايرکتوری ها در ASP.NET

 مديريت فايل ها و دايرکتوری ها در ASP.NET New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
مديريت فايل ها و دايرکتوری ها در ASP.NET ( بخش سوم ) | مديريت وب | 1453 | 1 | 4

مديريت فايل ها و دايرکتوری ها در ASP.NET ( بخش دوم )

مديريت فايل ها و دايرکتوری ها در ASP.NET ( بخش سوم )

آنچه تاکنون گفته شده است :

  • بخش اول: کلاس های دات نت برای کار با فايل ها و دايرکتوری ها

  • بخش اول: عمليات بر روی فايل ها و دايرکتوری ها

در اين بخش به بررسی ساير عمليات متداول مرتبط با فايل ها و دايرکتوری ها و يک نمونه مثال کاربردی خواهيم پرداخت .

حذف يک دايرکتوری
برای حذف يک دايرکتوری می توان از متدهای Directory.Delete و يا DirectoryInfo.Delete استفاده نمود. کد زير نحوه انجام اين کار را نشان می دهد :

حذف يک دايرکتوری

<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>
<%
Directory.Delete("C:\Test")
Dim dir As DirectoryInfo
dir = New DirectoryInfo("C:\Test")
dir.Delete
%>

توضيحات
در صورتی که قصد حذف يک دايرکتوری را داشته باشيم که موجود نمی باشد ، با يک خطای DirectoryNoFound ، مواجه خواهيم شد. اگر قصد حذف يک دايرکتوری را داشته باشيم که در آن فايل و يا دايرکتوری های ديگری موجود می باشد، با يک خطای IOException مواجه خواهيم شد. برای حل اين مسئله ، می توان از نسخه overload متد Delete استفاده نمود. در چنين مواردی در زمان استفاده از متد Delete ، می بايست در رابطه با حذف و يا عدم حذف فايل ها و يا دايرکتوری های موجود در يک دايرکتوری تعيين تکليف شود. کد زير نحوه انجام اين کار را نشان می دهد :

حذف يک دايرکتوری با تعيين تکليف در رابطه با فايل ها و دايرکتوری ها موجود در آن

<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>
<%
Directory.Delete("C:\Test",True)
Dim dir As DirectoryInfo
dir = New DirectoryInfo("C:\Test")
dir.Delete (True)
%>

حذف يک فايل
برای حذف يک فايل می توان از متدهای File.Delete و يا FileInfo.Delete ، استفاده نمود . کد زير نحوه انجام اين کار را نشان می دهد :

حذف يک فايل

<%@ Language="VB" %>
<%@ Import Namespace="System.IO" %>
<%
File.Delete("C:\Test.txt")
Dim file1 As FileInfo
file1 = New FileInfo("C:\Test.txt")
file1.Delete
%>

توضيحات
در صورتی که قصد حذف فايلی را داشته باشيم که موجود نمی باشد ، با يک خطاء و يا exception خاصی برخورد نخواهيم کرد، مگر اين که بخشی از آدرس مشخص شده در مسير ( Pathname ) وجود نداشته باشد . در چنين مواردی با خطائی از نوع DirectoryNotFoundException مواجه خواهيم شد .

خصلت ها و صفات فايل ها و دايرکتوری ها
بر روی فايل ها و دايرکتوری ها می توان عمليات مشترک و مشابهی نظير "حذف " را انجام داد . فايل ها و دايرکتوری ها دارای خصايص مشترک و مشابهی نظير تاريخ ايجاد ، نام کامل و يا صفات نيز می باشند . کلاس FileSystemInfo دارای اعضائی است که می توان آنان را در ارتباط با فايل ها و يا دايرکتوری ها بخدمت گرفت . کلاس های DirectoryInfo و FileInfo ازکلاس فوق مشتق شده اند .

خصلت های کلاس FileSystemInfo

توضيحات | Read / Write | نوع | نام
صفاتی نظير Hidden ، archive و Read-only ، مرتبط با يک فايل را برمی گرداند . | R / W | FileAttributes | Attributes
زمان ايجاد فايل و يا دايرکتوری را برمی گرداند | R / W | System.DateTime | CreationTime
آخرين زمان مراجعه به فايل و يا دايرکتوری را برمی گرداند | R / W | System.DateTime | LastAccessTime
آخرين زمان ويرايش يک فايل و يا دايرکتوری را برمی گرداند | R / W | System.DateTime | LastWriteTime
وضعيت موجود بودن يک فايل و يا دايرکتوری را مشخص می نمايد. | R | Boolean | Exists
انشعاب فايل و يا دايرکتوری را برمی گرداند ( به همراه نقطه). برای يک دايرکتوری،انشعاب متن موجود پس از آخرين نقطه در نام است . | R | String | Extension
نام فايل و يا دايرکتوری را متناسب با نام دايرکتوری مربوطه بر می گرداند . | R | String | Name
نام کامل فايل و يا دايرکتوری را برمی گرداند . | R | String | FullName

متدهای کلاس FileSystemInfo

توضيحات | نام
حذف فايل و يا دايرکتوری | Delete
بهنگام سازی هر نوع اطلاعات cache شده( نظير تاريخ ايجاد فايل) | Refresh
وضعيت موجود بودن يک فايل و يا دايرکتوری را مشخص می نمايد. | Exists

مثال : ايجاد يک مرورگر فايل و دايرکتوری
برای آشنائی با نحوه استفاده ازصفات و برخی متدها و خصلت های کلاس های DirectoryInfo و FileInfo به بررسی يک مثال کاربردی ( ايجاد يک مرورگر فايل ) ، خواهيم پرداخت . برنامه فوق يک مسير(PathName ) را از ورودی دريافت و تمامی فايل ها و دايرکتوری ها موجود در آن را نمايش خواهد داد .

مرحله اول : تايپ کد زير با استفاده از يک ويرايشگر

ايجاد يک مرورگر فايل و دايرکتوری

<%@ Import Namespace="System.IO" %>

<script runat="server">
Sub Page_Load( sender as object, e as EventArgs)
if not Request("dir") is nothing then
DirName.Value = Request("dir")
end if
End Sub
</script>

<Html dir="rtl">
<font face="Tahoma" size="3">
<h3>مرورگر فايل و دايرکتوری </h3></Font>
</html>

<form runat="server" dir="rtl">
نام دايرکتوری <input type="text" id="DirName" size="20" dir="ltr"
value="c:\program files\internet explorer" runat="server" >
<input type="submit" value="مشاهده ">
</form>

<%
dim dir as DirectoryInfo
dim anchor as string

' Get the information about the selected directory

dir = new DirectoryInfo( DirName.Value )

Response.Write("<h4>دايرکتوری های موجود در " & DirName.Value & "</h4>")

Response.Write("<table>")
Response.Write("<tr bgcolor=""#336699"" style=""border-collapse: collapse; color: #ffffff"">")
Response.Write("<td>")
Response.Write( "نام" )
Response.Write("<td>")
Response.Write( "تاريخ آخرين تغييرات" )
Response.Write("</tr></font>")

dim SubDir as DirectoryInfo

for each SubDir in dir.GetDirectories()
anchor = "<a href='" & "FileBrowser.aspx?dir=" & SubDir.FullName & "'>" + SubDir.Name & "</a>"
Response.Write("<tr dir=""ltr"">")
Response.Write("<td>" & anchor & "</td>" )
Response.Write("<td>" & SubDir.LastWriteTime & "</td>" )
Response.Write("</tr>")
next

Response.Write("</table>")

if ( not dir.Parent is nothing ) then
anchor = "<a href='" & "FileBrowser.aspx?dir=" & dir.Parent.FullName & "'>" & dir.Parent.FullName & "</a>"
Response.Write("<p>دايرکتوری ريشه " & anchor )
end if

Response.Write("<h3>فايل های موجود در " & DirName.Value & "</h3>")

Response.Write("<table>")
Response.Write("<tr bgcolor=""#336699"" style=""border-collapse: collapse; color: #ffffff"">")
Response.Write("<td>نام فايل</td>" )
Response.Write("<td>تاريخ آخرين تغييرات</td>" )
Response.Write("<td>ظرفيت</td>" )
Response.Write("<td>وضعيت فايل</td>" )
Response.Write("</tr>")

dim f as FileInfo
dim mystr As String

for each f in dir.GetFiles()
Response.Write("<tr dir=""ltr"">")
Response.Write("<td>" & f.Name )
Response.Write("<td>" & f.LastWriteTime & "</td>")
Response.Write("<td>" & f.Length.ToString() & "</td>" )
if ( (f.Attributes and FileAttributes.ReadOnly) <> 0 ) then
mystr ="فقط خواندنی"
end if
if ( (f.Attributes and FileAttributes.Hidden) <> 0 ) then
mystr ="مخفی"
end if
if ( (f.Attributes and FileAttributes.System) <> 0 ) then
mystr ="سيستم"
end if
if ( (f.Attributes and FileAttributes.Archive) <> 0 ) then
mystr ="آرشيو"
end if
Response.Write( "<td>" & mystr & "</td>" )
Response.Write("</tr>")
next
Response.Write("</table>")
%>

مرحله دوم : پس از ذخيره کد فوق در فايلی با نام FileBrowser.aspx و مشاهده آن در مرورگر ، خروجی زير را خواهيم داشت :

جستجو
جستجو

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

مقالات
مشاهده گروه ها


اعمال محدوديت مشاهده فايل های XML و XSL در ASP.NET

 اعمال محدوديت مشاهده فايل های XML و XSL در ASP.NET New Page 1

ساير امکانات

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
اعمال محدوديت مشاهده فايل های XML و XSL در ASP.NET | مديريت وب | 1504 | 6 | 3

اعمال محدوديت در مشاهده فايل های XML و XSL در ASP

اعمال محدوديت مشاهده فايل های XML و XSL در ASP.NET

XML يک فرمت استاندارد برای ذخيره سازی داده است که امروزه از آن در اکثر سايت ها به منظور مديريت محتوا استفاده می گردد . اغلب سايت ها از XML برای ذخيره سازی داده و از XSL و ساير StyleSheets برای نمايش داده استفاده می نمايند. فايل های XML را می توان نظير صفحات وب ايستا از سرويس دهنده وب درخواست و پس از ارسال، محتويات آنان توسط مرورگر نمايش داده می شود .
با استفاده از HTTP handlers می توان امکان مشاهده مستقيم اينگونه فايل ها از طريق مرورگر را غيرممکن نمود . HTTP handlers ، دارای انعطاف لازم به منظور برخورد با فايل های متفاوت با توجه به نوع انشعاب آنان می باشد . با استفاده از پتانسيل فوق می توان امکان دستيابی و يا عدم دستيابی به فايل هائی با انشعاب خاص را فراهم نمود .
برای اعمال محدوديت مشاهده يک فايل XML و ساير فايل های استاتيک ، می توان مراحل زير را دنبال نمود :

  • اضافه کردن کد زير در فايل Web.config و در بخش <System.web>

اعمال تغييرات لازم در فايل Web.Config

<httpHandlers>
<add verb="*" path="*.xml" type="System.Web.HttpForbiddenHandler"/>
</httpHandlers>

  • در IIS ، بر روی دايرکتوری مجازی مربوطه کليک سمت راست نموده و گزينه properties را انتخاب نمائيد .

  • با کليک بر روی دکمه Configuration ( موجود در بخش Home Directory ) ، ليستی از تنظيمات انجام شده در ارتباط با برنامه (انشعاب ها و مسيرهای اجرائی مربوط به هريک از آنان ) نمايش داده می شود .

  • پس از کليک بر روی دکمه Add و فعال شدن جعبه محاوره ای مربوطه ، از طريق دکمه browse فايل aspnet_isapi.dll موجود در مسير windir%\Microsoft.NET\Framework\v1.1.4322\ را آدرس دهی نموده تا در بخش "Executable" نمايش داده شود .

  • انشعاب فايل مورد نظر ( نظير xml . ) را در قسمت "Extension" تايپ نمائيد .

  • در بخش "Verb" بر روی گزينه "Limit" کليک نموده و "GET,HEAD,POST,DEBUG" را تايپ نمائيد .

  • گزينه OK را انتخاب و در ادامه دکمه Apply و نهايتا" OK را فعال نمائيد .

  • پس از انجام مراحل فوق ، در صورتی که از طريق مرورگر درخواست يک فايل XML را داشته باشيم، با پيام "This type of page is not served" مواجه خواهيم شد .

  • فرآيند فوق را می توان در سطح System نيز اعمال نمود ( در مقابل سطح Application ) . بدين منظور می بايست Handlers در فايل Machin.config اضافه گردد . در چنين وضعيتی سياست تعريف شده در ارتباط با تمامی برنامه های ASP.NET موجود بر روی سيستم اعمال خواهد شد .

از فرآيند فوق می توان به منظور اعمال محدوديت مشاهده ساير فايل های ايستا نظير فايل های XSL نيز استفاده نمود .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


پاسخ به دو سوال متداول در زمان استفاده از ويژوال استوديودات نت

 پاسخ به دو سوال متداول در زمان استفاده از ويژوال استوديودات نت New Page 1

ساير امکانات

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
دوسوال متفاوت و يک پاسخ يکسان ! | مديريت وب | 1608 | 7 | 4.1

دوسوال و يک پاسخ

دوسوال متفاوت و يک پاسخ يکسان !

در نامه های متعددی که اخيرا" توسط استفاده کنندگان سايت ارسال شده است ، اغلب آنان دو پرسش مشابه در ارتباط با استفاده از ويژوال استوديو دات نت و اجرای برنامه های ASP.NET را مطرح نموده اند . به منظور پاسخ به اين عزيزان و ساير دوستانی که ممکن است در آينده با چنين خطاهائی برخورد نمايند ، تصميم گرفته شد که به آنان در قالب يک مطلب پاسخ داده شده و نتايج جهت استفاده عموم بر روی سايت منتشر گردد .

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

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

"Visual Studio .NET has detected that the specified Web server is not running ASP.NET version 1.1. You will be unable to run ASP.NET Web applications"

  • علت : خطای متداول و در عين حال غيرعادی فوق در زمانی که قصد فعال نمودن يک برنامه ASP.NET با استفاده از ويژوال استوديو دات نت را داشنه باشيم ، ايجاد و عملا" باعث اختلال در اجرای يک برنامه ASP.NET می گردد .

  • رفع اشکال : برای رفع اشکال فوق ، کافی است aspnet user account را مجددا" ريجستر نمود . بدين منظور می بايست دستور زير را از طريق پنجره خط دستور تايپ نمود .

    رفع اشکال

    %windir%\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe -i

    دستور فوق بر اساس نسخه     دات نت 1 . 1 تايپ شده است . برای ساير نسخه ها کافی است شماره version را تغيير داد . پس از اجرای دستور فوق، aspnet user account نصب و asp.net با IIS ريجستر می گردد.

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

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

"Unable to Start Debugging on the Webserver. The Project is not configured to debug "

  • علت : خطای فوق زمانی محقق می گردد که vs.net به درستی نصب نشده باشد و يا aspnet account دارای مجوزهای مورد نياز نمی باشد .

  • رفع اشکال : همان روشی که در سوال اول مطرح گرديد!

جستجو
جستجو

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

مقالات
مشاهده گروه ها


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

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

ساير امکانات

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
دو سوال ، دو پاسخ و يک نکته ! | مديريت وب | 1820 | 8 | 3.8

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

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

بدون هيچگونه مقدمه ای و اتلاف وقت شما ، به طرح دو سوال متداول در رابطه با برنامه های نوشته شده با استفاده از فنآوری 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> است .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


تفاوت DataSet و DataReader

 تفاوت DataSet و DataReader New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
DataSet و يا DataReader ؟ | مديريت وب | 1705 | 8 | 4.1

DataSet و يا DataReader

DataSet و يا DataReader ؟

DataReader و DataSet دو شی ارائه شده در ADO.NET به منظور دستيابی به داده می باشند . اشياء فوق امکانات متعددی برای دستيابی به داده در برنامه های دات نت را در اختيار پياده کنندگان قرار می دهند . Scott Mitchell اخيرا" در مقاله ای جامع که بر روی سايت http://www.4guysfromrolla.com منشتر شده است به بررسی دو شی فوق پرداخته و آنان را از زوايای متفاوتی مقايسه و در نهايت به اين نتيجه رسيده است که استفاده از DataReader در برنامه های وب دارای مزايای بمراتب بيشتری نسبت به DataSet است . برای آشنائی با دلايل وی برای رسيدن به نتيجه فوق ، خلاصه ای از مقاله وی را در ادامه با هم مطالعه می کنيم .

مبانی و اصول اوليه DataReader
DataReader و DataSet دارای وظايف متفاوتی بوده و با اهداف مختلفی طراحی و پياده سازی شده اند :

  • DataSet : يک بانک اطلاعاتی کوچک در حافظه

  • DataReader : ترابری داده بين لايه بانک اطلاعاتی و يک برنامه دات نت

در ADO.NET يک provider شامل تعدادی منبع است و کلاس های خاص مرتبط با هر provider به منظور کار با ارائه دهندگان مربوطه ارائه شده است . مثلا" کلاس های SqlConnection, SqlCommand, SqlDataAdapter و SqlDataReader جهت کار با SqlClient provider و کلاس های OleDbConnection, OleDbCommand, OleDbDataAdapterو OleDbDataReader جهت کار با OleDb provider ارائه شده اند.اشيائی که شامل يک پيشوند با نام يک provider می باشند ( نظير Sql,OleDb,Oracle و ... ) ، اشياء مختص و وابسته به Provider بوده و به منظور کار با يک Provider خاص طراحی و پياده سازی شده اند.
DataReader يکی از اشياء فوق است ( SqlDataReader, OleDbDataReader ) .به منظور استفاده از شی فوق می بايست در ابتدا يک connection به منبع داده ايجاد و query مورد نظر جهت اجراء مشخص گردد . در ادامه DataReader ايجاد و به عنوان يک پل ارتباطی بين برنامه دات نت و منبع ذخيره سازی داده ايفای وظيفه می نمايد . مثلا" می توان از کد زير در اين رابطه استفاده نمود :

' Create command
Dim myCommand as New SqlCommand(myConnection, SQL query or stored procedure)

' Create a DataReader to ferry information back from the database
Dim myReader as SqlDataReader
myReader = myCommand.ExecuteReader()

'Iterate through the results
While myReader.Read()
'... Work with the current record ...
End While

' Close the connection (will automatically close the reader)
myConnection.Close()

DataReader در هر لحظه يک رکورد را از منبع ذخيره سازی داده load می نمايد . هر مرتبه که متد Read شی DataReader فراخوانده گردد ، DataReader رکورد جاری را کنارگذاشته و با مراجعه به بانک اطلاعاتی ، رکورد بعدی را بازيابی می نمايد .در صورتی که يک سطر از بانک اطلاعاتی load شده باشد ، متد Read مقدار True و اگر رکوردی برگردانده نشود ، مقدار False برگردانده خواهد شد .
DataReader ، يک شی داده Connected بوده و نيازمند وجود يک اتصال فعال با بانک اطلاعاتی است . بخاطر داشته باشيد که DataReader صرفا" مکاينزم لازم برای ترابری داده بين برنامه و بانک اطلاعاتی را ارائه نموده و پس از قطع connection ، امکان برگرداندن اطلاعات به بانک اطلاعاتی وجود نخواهد داشت . DataReader دارای ويژگی فقط خواندنی و فقط به سمت جلو می باشد . اين بدان معنی است که اطلاعات بازيابی شده از بانک اطلاعاتی را نمی توان با استفاده از DataReader تغيير و يا اقدام به بازيابی رکوردها به صورت تصادفی نمود . DataReader محدود به دستيابی رکوردها به صورت ترتيبی ( از اولين رکورد به سمت آخرين رکورد ) است .

مبانی و اصول اوليه DataSet
DataSet يک شی بمراتب پيچيده تر و با ويژگی های بيشتر در مقايسه با DataReader است . در حالی که DataReader به سادگی عمليات برگرداندن داده از يک منبع داده را برعهده دارد ، DataSet را می توان به منزله يک بانک اطلاعاتی مقيم در حافظه تصور نمود . DataSet همانند يک بانک اطلاعاتی از مجموعه ای جدول تشکيل شده است . يک DataSet از مجموعه ای شی DataTable تشکيل می گردد . همانگونه که يک بانک اطلاعاتی می تواند دارای ارتباطاتی بين جداول مربوطه به خود باشد ( به همراه محدوديت های متفاوتی در ارتب&#


بازيابی N ركورد جديد با استفاده از يك query

 بازيابی N ركورد جديد با استفاده از يك query New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
بازيابی N ركورد جديد با استفاده از يك query | مديريت وب | 585 | 1 | 5

بازيابی N ركورد جديد با استفاده از يك query

بازياب ی N ركورد جديد با استفاده از يك query

در زمان پياده سازی برنامه های وب ، ممکن است به مواردی برخورد نمائيم که می بايست به تعداد مشخصی از جديدترين رکوردهای درج شده در يك بانک اطلاعاتی دستيابی و آنان را بر روی يک صفحه وب نمايش دهيم. مثلا" يک وب ž


بازيابی Scalar Data با استفاده از Stored Procedure

 بازيابی Scalar Data با استفاده از Stored Procedure New Page 1

ساير امکانات

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
بازيابی Scalar Data با استفاده از Stored Procedure | مديريت وب | 556 | 23 | 4.8

برگرداندن داده عددی با استفاده از stored procedure

بازيابی Scalar Data با استفاده از Stored Procedure

بانك های اطلاعاتی دارای نقشی اساسی در اكثر برنامه های كامپيوتری بوده و برنامه های وب نيز از اين قاعده مستثنی نمی باشند . اكثر برنامه های وب نوشته شده با استفاده از ASP.NET در سطوح متفاوتی از بانك های اطلاعاتی استفاده می نمايند . يكی از متداولترين بانك های اطلاعاتی كه در برنامه های وب ASP.NET از آن در ابعاد بسيار گسترده ای استفاده می گردد ، SQL Server متعلق به شركت مايكروسافت است . در بانك های اطلاعاتی رابطه ای نظير SQL Server ، دستورات ( نظير SELECT ,INSERT ,UPDATE و DELETE ) با استفاده از يك گرامر مبتنی بر SQL نوشته می گردند كه عموما" در اين رابطه از دو روش استفاده می گردد :

  • ad-hoc queries : يكی از روش های صدور دستورات SQL ، استفاده از query مورد نظر در متن برنامه است . به دستورات فوق ، ad-hoc queries گفته می شود . مهمترين چالش اينگونه query ها ، نگهداری و پشتيبانی آنان است . در صورت نياز به تغيير query ، می بايست رشته موجود در برنامه را ويرايش ،‌ ترجمه و مجددا" آن را بكارگرفت .

  • Stored procedure ، توابع از قبل ترجمه شده ای می باشند كه بر روی سرويس دهنده بانك اطلاعاتی مستقر و امكان فراخوانی آنان از طريق نام مربوطه فراهم می گردد . عملكرد stored procedures مشابه ماژولار نمودن قابليت های برنامه نويسی در متدها می باشد . stored procedures علاوه بر اين كه دارای قابليت های بمراتب بيشتری از بعد ويرايش نسبت به ad-hoc queries می باشند ، امكان استفاده از آنان در ساير برنامه ها نيز وجود خواهد داشت. مثلا" ممكن است در يك برنامه ASP.NET و سرويس وب با استفاده از چندين query از داده های موجود در يك بانك اطلاعاتی مشابه استفاده گردد . در صورتی كه هر query مستقيما" در متن برنامه استفاده شده باشد ، برای اعمال تغييرات می بايست بر روی دو تقطه متمركز گرديد : محل استفاده از query در برنامه ASP.NET و مكانی كه از query در سرويس وب استفاده شده است . پس از اعمال تغييرات لازم در هر يك از مكان های اشاره شده ، می بايست آنان را مجددا" ترجمه و بكار گرفت . در صورت استفاده از stored procedure ، صرفا" اعمال تغييرات مورد نظر در يك نقطه انجام خواهد شد .
    stored procedure معمولا" resultset برمی گرداند ( نظير نتايج حاصل از اجرای يك SELECT query ) . در برخی موارد لازم است كه داده scalar از يك stored procedure برگردانده گردد . مثلا" ممكن است دارای يك stored procedure باشيم كه صرفا" مانده حساب يك مشتری خاص را برگرداند و يا در بانك اطلاعاتی دانشجويان كه نمرات يك درس خاص ذخيره شده است ، قصد بازيابی معدل كلاس را داشته باشيم . در مواردی كه از يك stored procedure برای درج يك ركورد جديد درون يك جدول كه دارای يك فيلد اطلاعاتی با ويژگی IDENTITY است، استفاده شده باشد ، می توان ID ركورد جديد را برگرداند .

برای بازيابی داده scalar از طريق stored procedure از روش های متعددی استفاده می گردد . در ادامه با برخی روش های موجود در اين رابطه و نحوه استفاده از نتايج مربوطه در برنامه های ASP.NET آشنا خواهيم شد .

برگرداندن داده با استفاده از يك عبارت SELECT
معمولا" با استفاده از يك عبارت SELECT داده ها از يك stored procedure كه عموما" به صورت يك resultset می باشد ، برگردانده می شوند . resultset ، شامل چندين فيلد و ركورد می باشد. مثلا" stored procedure زير مشخصات كالاهای موجود در يك انبار را برمی گرداند :

CREATE PROCEDURE store_GetInventory AS

SELECT InventoryID, ProductName, Price, UnitsOnStock
FROM store_Inventory

در صورت تمايل می توان يك مقدار scalar را با استفاده از يك stored procedure برگرداند . مثلا" فرض كنيد كه قصد بازيابی ميانگين قيمت محصولات موجود در انبار را با استفاده از يك stored procedure داشته باشيم . بدين منظور می توان از يك عبارت SELECT به منظور برگرداندن مقدار داده مورد نظر استفاده نمود :

CREATE PROCEDURE store_GetAverageInventoryPrice AS

SELECT AVG(Price) AS AveragePrice
FROM store_Inventory

در صورتی كه با استفاده از stored procedure يك ركورد جديد را در جدولی كه دارای يك فيلد با ويژگی IDENTITY است اضافه نمائيم ، می توان ID ركورد جديد را با استفاده از تابع SCOPE_IDENTITY برگرداند :

CREATE PROCEDURE store_AddNewInventoryItem
(
@ProductName nvarchar(50),
@Price money
) AS

-- INSERT the new record
INSERT INTO store_Inventory(ProductName, Price)
VALUES(@ProductName, @Price)

-- Now return the InventoryID of the newly inserted record
SELECT SCOPE_IDENTITY()

در زمان برگردان داده scalar با استفاده از يك عبارت SELECT ،‌ می توان با استفاده از روشی كه يك resultset بازيابی می گردد ،‌داده های مورد نظر را بازيابی نمود . در چنين مواردی می توان از يك DataSet , DataTable و يا يك DataReader استفاده نمود ( نتايج برگردانده شده صرفا" شامل يك سطر و يك فيلد می باشد).
كد زير با فراخوانی store_GetAverageInventoryPrice ، مقدار داده scalar را برمی گرداند :

Dim myConnection as New SqlConnection(connection string)
Dim myCommand as New SqlCommand("store_GetAverageInventoryPrice", myConnection)
myCommand.CommandType = CommandType.StoredProcedure

Dim reader as SqlDataReader = myCommand.ExecuteReader()

'Read in the first record and grab the first column
Dim avgPrice as Decimal
If reader.Read() Then
avgPrice = Convert.ToDouble(reader("AveragePrice"))
End If

در مقابل استفاده از متد ExecuteReader می توان از متد ExecuteScalar استفاده نمود . متد ExecuteScalar يك نمونه شی را برمی گرداند . با استفاده از متد فوق كد نوشته شده در مثال قبل به صورت زير خواهد بود :

Dim myConnection as New SqlConnection(connection string)
Dim myCommand as New SqlCommand("store_GetAverageInventoryPrice", myConnection)
myCommand.CommandType = CommandType.StoredProcedure

Dim avgPriceObject as Decimal = Convert.ToDecimal(myCommand.ExecuteScalar())

در كد فوق می بايست بررسی لازم در مواردی خاصی كه result مقدار NULL را می گرداند ، انجام شود .

استفاده از پارامترهای خروجی
يكی ديگر از روش های برگرداندن داده scalar از يك Stored procedure ( به جزء يك resultSet استاندارد ) ،‌ استفاده از يك و يا چندين پارامتر خروجی است . پارامتر خروجی ، پارامتری است كه به Stored procedure ارسال و مقدار آن در Stored procedure مقداردهی می گردد . پارامتر فوق در ادامه توسط برنامه ای كه Stored procedure را صدا می زند ،‌ خوانده شده و از آن استفاده می گردد .
برای استفاده از يك پارامتر خروجی ، می بايست نوع و ماموريت پارامتر مورد نظر را با استفاده از كليدواژه OUTPUT مشخص نمود . كد زير يك Stored procedure را نشان می دهد كه كالاهای موجود در انبار با استفاده از يك عبارت SELECT برگردانده شده و در ادامه با استفاده از يك پارامتر خروجی ، قيمت ميانگين كالاهای موجود در انبار محاسبه و برگردانده می شود .

CREATE PROCEDURE store_GetInventoryWithAveragePrice
(
@AveragePrice money OUTPUT
)
AS

SET @AveragePrice = (SELECT AVG(Price) FROM store_Inventory)

SELECT InventoryID, ProductName, Price, UnitsOnStock
FROM store_Inventory

برای دستيابی به مقدار يك پارامتر خروجی از طريق يك برنامه ASP.NET ، می بايست يك شی پارامتر را كه خصلت Direction آن مقدار OutPut را دارد تعريف نمود . پس از فراخوانی Stored procedure ، مقدار پارامتر خروجی با استفاده از خصلت Value قابل دسترس خواهد بود :

Dim myConnection as New SqlConnection(connection string)
Dim myCommand as New SqlCommand("store_GetInventoryWithAveragePrice", myConnection)
myCommand.CommandType = CommandType.StoredProcedure

'Create a SqlParameter object to hold the output parameter value
Dim avgPriceParam as New SqlParameter("@AveragePrice", SqlDbType.Money)

'IMPORTANT - must set Direction as Output
avgPriceParam.Direction = ParameterDirection.Output

'Finally, add the parameter to the Command's Parameters collection
myCommand.Parameters.Add(avgPriceParam)

'Call the sproc...
Dim reader as SqlDataReader = myCommand.ExecuteReader()

'Now you can grab the output parameter's value...
Dim avgPrice as Decimal = Convert.ToDecimal(avgPriceParam.Value)

در كد فوق می بايست بررسی لازم در مواردی خاصی كه result مقدار NULL را می گرداند ، انجام شود .
در زمان استفاده از Stored procedure صرفا" محدود به استفاده از يك پارامتر خروجی نخواهيم بود و می توان در چنين مواردی از چندين پارامتر ورودی و يا خروجی استفاده نمود .

استفاده از يك مقدار برگشتی
روش نهائی به منظور برگرداندن داده scalar از يك Stored procedure ، استفاده از مقادير برگشتی است . پس از اتمام اجرای يك Stored procedure ، همواره يك مقدار برگردانده می شود كه به صورت پيش فرض صفر است . در چنين مواردی می توان از عبارت RETURN برای برگرداندن يك مقدار عددی صحيح استفاده نمود . كد زير ID ركورد جديد اضافه شده را به عنوان يك مقدار عددی برمی گرداند :

CREATE PROCEDURE store_AddNewInventoryItem
(
@ProductName nvarchar(50),
@Price money
) AS

-- INSERT the new record
INSERT INTO store_Inventory(ProductName, Price)
VALUES(@ProductName, @Price)

-- Now return the InventoryID of the newly inserted record
RETURN SCOPE_IDENTITY()

در كد فوق SCOPE_IDENTITY توسط RETURN برگردانده شده است . اين در حالی است كه در مثال قبل از يك عبارت select استفاده شده بود.
برای بازيابی مقدار برگردانده شده از يك Stored procedure ، از روش های مشابه پارامترهای خروجی استفاده می گردد . تنها تفاوت موجود در اين رابطه ،‌استفاده از مقدار Direction مربوط به ReturnValue است:

Dim myConnection as New SqlConnection(connection string)
Dim myCommand as New SqlCommand("store_GetInventoryWithAveragePrice", myConnection)
myCommand.CommandType = CommandType.StoredProcedure

'Create a SqlParameter object to hold the output parameter value
Dim retValParam as New SqlParameter("@RETURN_VALUE", SqlDbType.Int)

'IMPORTANT - must set Direction as ReturnValue
retValParam.Direction = ParameterDirection.ReturnValue

'Finally, add the parameter to the Command's Parameters collection
myCommand.Parameters.Add(retValParam)

'Call the sproc...
Dim reader as SqlDataReader = myCommand.ExecuteReader()

'Now you can grab the output parameter's value...
Dim retValParam as Integer = Convert.ToInt32(retValParam.Value)

جمع بندی
در اين مقاله با سه روش متفاوت به منظور برگرداندن داده scalar از طريق يك Stored procedure آشنا شديم: عبارت SELECT ، پارامترهای خروجی و مقدار برگردانده شده .
در مواردی كه يك داده scalar با استفاده از يك عبارت SELECT برگردانده می شود ،‌ نتايج مورد نطر با استفاده از متد ExecuteScalar در دسترس و قابل استفاده خواهند بود . برای پارامترهای خروجی و مقادير برگردانده شده ،‌ می بايست يك شی پارامتر با مقدار مناسب خصلت Direction ايجاد و پس از فراخوانی Stored procedure به منظور دستيابی به نتايج برگردانده شده از مقدار خصلت Value استفاده گردد .

منبع : http://www.4guysfromrolla.com

جستجو
جستجو

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

مقالات
مشاهده گروه ها


دستيابی داده در ASP.NET 2.0

 دستيابی داده در ASP.NET 2.0 New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
دستيابی داده در ASP.NET 2.0 ( بخش دوم ) | مديريت وب | 775 | 3 | 4.3

دستيابی به داده در ASP.NET 2.0

دستيابی داده در ASP.NET 2.0 ( بخش دوم )

در بخش اول به مدل دستيابی داده در فريمورك دات نت اشاره و با عناصر اساسی در اين معماری آشنا شديم . در بخش دوم با تمركز بر روی لايه دوم ( ADO.NET API ) به بررسی امكانات موجود به منظور كار با ADO.NET ، كنترل های ASP.NET و providers خواهيم پرداخت .

Data Access APIs
لايه دوم در معماری دستيابی داده ، مكانيزم های لازم برای كار با ADO.NET ، كنترل های ASP.NET و providers را ارائه می نمايد. از امكانات ارائه شده در اين لايه می توان به منظور انجام مجموعه ای از عمليات و فرآيندهای متداول استفاده نمود . با استفاده از كنترل های متنوع منبع داده و نسبت دهی داده در ASP.NET 2.0 ، حجم كد مورد نياز به منظور حمايت از عمليات در ارتباط با داده كاهش و در مواردی نيز حذف می گردد .

Connection و Commands
ADO.NET از چندين Data Provider متفاوت برای اتصال به بانك های اطلاعاتی ، اجرای دستورات و بازيابی نتايج استفاده می نمايد . در ADO.NET از شی Connection برای اتصال به يك منبع داده خاص استفاده می گردد . مثلا" در صورت استفاده از بانك اطلاعاتی SQL Server 2000 ، می توان از شی SQLConnection به منظور اتصال به بانك اطلاعاتی استفاده نمود . كد زير روش انجام اين كار را نشان می دهد :

[Visual Basic]
Dim nwindConn As SqlConnection = _
New SqlConnection("Data Source=localhost;Integrated Security=SSPI;" _
"Initial Catalog=northwind")
nwindConn.Open()

[C#]
SqlConnection nwindConn =
new SqlConnection("Data Source=localhost; Integrated Security=SSPI;"
"Initial Catalog=northwind");
nwindConn.Open();

پس از اتصال به يك منبع داده ،‌ می توان از شی Command به منظور اجرای دستورات و برگرداندن نتايج مورد نظر استفاده نمود .شی Command از طريق Command constructor كه يك query و يا عبارت SQL را دريافت می نمايد ، ايجاد می گردد . پس از ايجاد شی Command با استفاده از خصلت CommandText می توان عبارات SQL را ويرايش كرد .

[Visual Basic]
Dim catCMD As SqlCommand = _
New SqlCommand("SELECT CategoryID, CategoryName FROM Categories",nwindConn)

[C#]
SqlCommand catCMD =
new SqlCommand("SELECT CategoryID, CategoryName FROM Categories", nwindConn);

شی Command چندين متد Execute را به منظور اجرای Stored Procedure ، query و يا عبارات غير query نظير Update و Insert ، ارائه نموده است :

  • متد ExecuteReader : داده را به عنوان يك شی DataReader برمی گرداند . از متد فوق می توان در ارتباط با هر نوع query كه داده ئی را برمی گرداند ،‌استفاده نمود .

  • متد ExecuteScalar : متد فوق يك مقدار نظير تعداد ركوردهائی كه با شرايط ذكر شده در يك query خاص مطابقت می نمايند و يا نتايج حاصل از فراخوانی يك تابع بانك اطلاعاتی را برمی گرداند .

  • متد ExecuteNonQuery : متد فوق ،‌ دستوراتی را كه سطرهائی را برنمی گردانند ( نظير Sored procedure ، update و insert ) ،‌ اجراء می نمايد .

در زمان مقداردهی اوليه شی Command می بايست با توجه به شرايط موجود ،‌ متد مورد نظر را ان&


دستيابی داده در ASP.NET 2.0

 دستيابی داده در ASP.NET 2.0 New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
دستيابی داده در ASP.NET 2.0 ( بخش سوم ) | مديريت وب | 388 | 3 | 3.3

دستيابی به داده در ASP.NET 2.0

دستيابی داده در ASP.NET 2.0 ( بخش سوم )

در بخش اول به مدل دستيابی داده در فريمورك دات نت اشاره و با عناصر اساسی در اين معماری آشنا شديم . در بخش دوم با تمركز بر روی لايه دوم ( ADO.NET API ) به امكانات موجود به منظور كار با ADO.NET ، كنترل های ASP.NET و providers اشاره گرديد .
در بخش سوم به بررسی كنترل های جديد معرفی شده در ASP.NET 2.0 برای دستيابی داده خواهيم پرداخت .

متداولترين هدف يك صفحه وب ، ‌ارائه اطلاعات مورد نياز كاربران است . ارائه اطلاعات شخصی ،‌ تجاری و عمومی نمونه هائی در اين زمينه می باشد . بديهی است در صورتی كه از اين زاويه برنامه های وب را بررسی نمائيم به جايگاه مهم فن آوری های موجود به منظور دستيابی داده بيشتر پی خواهيم برد .
تقريبا" هر نوع برنامه وب پويا به نوعی در ارتباط با داده بوده و نيازمند مكانيزم هائی به منظور دستيابی داده می باشد . هر پلت فرم به منظور دستيابی داده امكانات و پتانسيل های متعددی را در اختيار پياده كنندگان نرم افزار قرار می دهد . پس از ارائه دات نت ، پياده كنندگانی كه برای پياده سازی نرم افزار ( Desktop و يا وب ) اين محيط را انتخاب كرده بودند عملا" شاهد تغييرات گسترده در اين رابطه با هدف تسهيل در امر پياده سازی برنامه هائی با محوريت دستيابی داده بودند . در ASP.NET 2.0 مجموعه امكانات جديدی به منظور تسهيل در پياده سازی برنامه های وب با محوريت دستيابی به داده ارائه شده است . برخلاف ASP.NET 1.0 كه پياده كنندگان را ملزم می نمايد تا كدهائی سفارشی به منظور بازيابی و نسبت دهی داده به كنترل های سرويس دهنده بنويسند ، در ASP.NET 2.0 با تبعيت از يك رويكرد تعريفی ،‌ عمليات نسبت دهی داده بدون نياز به نوشتن كدی خاص انجام خواهد شد . عمليات زير نمونه هائی در اين زمينه می باشد :

  • انتخاب و نمايش داده

  • مرتب سازی ، Paging و Caching داده

  • درج ، حذف و بهنگام سازی داده

  • استفاده از پارامتر به منظور فيلترينگ و يا فرم های Master-Details

ASP.NET 2.0 دو مجموعه جديد از كنترل های سرويس دهنده را به منظور تامين خواسته های فوق و مدل تعريفی نسبت دهی داده ارائه نموده است . كنترل های فوق ، مسئوليت انجام عمليات مورد نظر برای سناريوهای متفاوت دستيابی داده با توجه به ماهيت Stateless بودن وب را ارائه نموده و پياده كنندگان درگير پيچيدگی ها و ساير مسائل پشت پرده نخواهند شد .

كنترل های منبع داده
كنترل های منبع داده يك منبع ذخيره سازی داده خاص نظير يك بانك اطلاعاتی ، فايل های XML و يا سرويس های وب XML را ارائه می نمايند . كنترل های فوق امكان انجام عمليات متفاوت و قدرتمندی در ارتباط با داده نظير مرتب سازی ، &


استفاده از Master Page در ASP.NET 2.0

 استفاده از Master Page در ASP.NET 2.0 New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
Master Page در ASP.NET 2.0 | مديريت وب | 387 | 2 | 4.5

Master Page در ASP.NET 2.0

Master Page در ASP.NET 2.0

طراحی و پياده سازی يك وب سايت پويا مسائل و چالش های مختص به خود را دارد . هماهنگی بين عناصر موجود در سايت و يكسان بودن شكل ظاهری تمامی صفحات نمونه ای در اين زمينه است . ما نمی خواهيم سايتی را پياده سازی نمائيم كه هر صفحه آن شكل ظاهری مختص به خود را داشته باشد و با هر كليك كاربر برای حركت بين صفحات موجود در سايت اين تصور ايجاد گردد كه وی قدم در سايتی ديگر نهاده كه همه چيز آن با صفحه قبل تفاوت دارد. برای حل مشكل فوق سعی می گردد كه عناصر متداول موجود بر روی يك صفحه دقيقا" بر روی ساير صفحات نيز تكرار گردد تا تمامی صفحات دارای يك شكل يكسان هم از لحاظ طرح بندی و هم از نظر عناصر باشند . در صورت تغيير صفحات ( هم از لحاظ شكل ظاهری و هم بكارگيری عناصر جديد ) ،‌ می بايست عناصر اضافه شده بر روی ساير صفحات نيز منتشر شوند تا تناسب سايت حفظ شود . ( عملياتی بس خسته كننده و تكراری كه فاقد هرگونه تجربه جديد است ) .
Master Page ارائه شده در ASP.NET 2.0 ، روشی منطقی و اصولی برای حل مشكلات فوق را در اختيار پياده كنندگان برنامه های وب قرار می دهد .

Master Page چيست ؟

  • يك صفحه تمپليت است كه عناصر ويژوال به همراه رفتار آنان را برای تمامی صفحات موجود بر روی سايت مشخص می نمايد .

  • صفحه ای است كه شامل تگ های Html و كنترل هائی است كه قصد به اشتراك گذاشتن آنان را بين چندين صفحه موجود در سايت داريم . مثلا" در صورتی كه تمامی صفحات يك وب سايت می بايست دارای يك عنوان و يا footer مشابه و يا منوهای مسيرياب يكسانی باشند ، می توان آنان را در يك Master Page و تنها برای يك مرتبه تعريف نمود . در ادامه تمامی صفحاتی كه در ارتباط با Master Page می باشند قادر به استفاده از عناصر تعريف شده خواهند بود ( جلوه ای ديگر از توارث و اين مرتبه از يك صفحه به ساير صفحات ) . بديهی است در صورتی كه عناصر موجود در Master Page تغيير يابند ، ساير صفحات مرتبط با Master page متاثر از اين تغييرات خواهند شد . بدين ترتيب نگهداری سايت شرايط مطلوب تری را پيدا كرده و از تكرار كدهای غير ضروری به منظور اشتراك ساختار و رفتار سايت پيشگيری خواهد شد .

  • Master Page ، يك صفحه ASP.NET است كه دارای انشعاب master . است . صفحات فوق شامل عناصر HTML ،‌ متن ايستا و كنترل های سرويس دهنده به منظور اشتراك بين تمامی صفحات می باشند.

  • يك Master Page ، شامل يك و يا چندين كنترل خاص با نام ContentPlaceHolder می باشد . يك ContentPlaceHolder ، ناحيه ای در Master Page را مشخص می نمايد كه محتوی آن از ساير صفحاتی كه در ارتباط با Master Page می باشند ،‌مشتق خواهد شد( Content Pages ).شكل عمومی تعريف يك ContentPlaceHolder به صورت زير است :

<asp:ContentPlaceHolder id="id" Runat="Server"/>

ايجاد Master Page

  • ايجاد يك Master Page همانند تعريف يك صفحه معمولی است . صفحات Master می


نحوه برخورد با خطاء در ASP.NET

 نحوه برخورد با خطاء در ASP.NET New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
Error Handling در ASP.NET | مديريت وب | 232 | 1 | 4

Error Handling در ASP.NET

Error Handling در ASP.NET

خطاء‌ و يا Error از جمله واژه های معروف در ادبيات برنامه نويسی است كه هر برنامه نويس صرفنظر از ميزان مهارت خود با آن مواجه خواهد شد . پياده كنندگان برنامه های وب نيز از اين قاعده مستثنی نبوده و ممكن است در زمان پياده سازی اين نوع برنامه ها با مجموعه ای از خطاها برخورد نمايند . علاقه مندانی كه پلت فرم مايكروسافت را برای طراحی و پياده سازی برنامه های وب انتخاب نموده اند ( ASP.NET ) ،‌ می توانند با استفاده از امكانات موجود با خطاها برخورد و آنان را مديريت نمايند .
پس از بروز خطاء در يك صفحه ، ASP.NET اطلاعات مربوط به خطاء را برای سرويس گيرنده ارسال می نمايد . يك صفحه وب ASP.NET ممكن است در زمان اجراء به يكی از خطاهای زير برخورد نمايد :

  • خطاهای پيكربندی : زمانی كه گرامر و يا ساختار فايل web.config نادرست باشد ، ايجاد می گردند .

  • خطاهای پارسر : زمانی كه گرامر ASP.NET بر روی يك صفحه نادرست باشد ، ايجاد می گردند .

  • خطاهای ترجمه : زمانی كه عبارات و دستورات نوشته شده در صفحات متناسب با گرامر زبان استفاده شده نباشند ،‌ ايجاد می گردند .

  • خطاهای زمان اجراء : در زمان اجرای يك صفحه ايجاد می گردند .

پس از بروز يك خطاء‌ ،‌ به صورت پيش فرض اطلاعات موجود در Stack كه حاوی فراخوانی ترتيبی مجموعه ای از روتين ها است ، نمايش داده می شود . در صورتی كه debug mode فعال شده باشد ،‌ ASP.NET شماره خط بروز خطاء در كد منبع را كه باعث بروز خطاء ‌شده است را نمايش خواهد داد . debug mode يك ابزار ارزشمند برای اشكال زدائی برنامه ها می‌باشد .

فعال كردن debug mode در سطح page : بدين منظور از دايركتيو زير استفاده می گردد :

<%@ Page Debug="true" %>

فعال كردن debug mode در سطح Application : بدين منظور از فايل Web.config موجود در فهرست ريشه application استفاده می گردد :

<configuration>
<system.web>
<compilation debug="true"/>
</system.web>
</configuration>

اثرات جانبی فعال كردن debug mode
فعال كردن debug mode كارآئی سيستم را كاهش و افزايش حجم عمليات سيستم را به دنبال خواهد داشت ، بنابراين لازم است پس از اتمام فرآيند پياده سازی نرم افزار و نصب در محيط عملياتی ، آن را غيرفعال نمود . پس از فع&


نحوه Cross Page Posting در ASP.NET 2.0

 نحوه Cross Page Posting در ASP.NET 2.0 New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
Cross Page Posting در ASP.NET 2.0 | مديريت وب | 352 | 4 | 4.2

Cross Page Posting در ASP

Cross Page Posting در ASP.NET 2.0

ASP.NET 2.0 ، مجموعه ای از امكانات و پتانسيل های جديد را در اختيار برنامه نويسان وب قرار می دهد . Cross Page Posting يك نمونه در اين زمينه می باشد كه در ادامه به بررسی آن خواهيم پرداخت .

سناريوی ارسال اطلاعات در صفحات ASP.NET
فرم ها به همراه كنترل های سرويس دهنده موجود بر روی آنان دارای نقشی اساسی در پياده سازی برنامه های وب خصوصا" بخش رابط كاربر می باشند . پس از فعال كردن كنترل های button ، به صورت پيش فرض اطلاعات برای همان صفحه ای كه شامل كنترل button است، ارسال ( post ) تا متناسب با رويداد ايجاد شده ،‌روتين مربوطه فعال و عمليات لازم را انجام دهد ( جلوه ای از برنامه نويسی مبتنی بر رويداد در برنامه های وب ASP.NET ) . در اكثر موارد سناريوی فوق منطبق با خواسته پياده كنندگان نرم افزار می باشد ولی در برخی موارد ممكن است لازم باشد كه اطلاعات برای صفحه ای ديگر در برنامه ارسال گردد . در چنين مواردی می توان از متد Server.Transfer به منظور حركت بين صفحات استفاده نمود ولی URL تغيير پيدا نخواهد كرد .
با استفاده از امكانات ارائه شده در ASP.NET 2.0 می توان اطلاعات موجود در يك صفحه را برای صفحه ديگر ارسال تا زمينه استفاده از آنان برای صفحه دوم فراهم گردد . با استفاده از ويژگی Cross Page Posting در ASP.NET 2.0 می توان يك postback طبيعی را به يك صفحه متفاوت در برنامه انجام داد . در ادامه ، صفحه مقصد قادر به دستيابی مقادير كنترل های سرويس دهنده موجود در صفحه مبداء خواهد بود .

نحوه استفاده از Cross Page Posting
برای استفاده از Cross Page Posting ، می توان از خصلت PostBackUrl مربوط به كنترل button استفاده و صفحه مقصد را مشخص نمود . در صفحه مقصد ، با استفاده از خصلت PreviousPage ، می توان مقادير مورد نظر از صفحه مبداء را بازيابی نمود . به صورت پيش فرض ، خصلت PreviousPage از نوع Page می باشد ،‌ بنابراين لازم است برای دستيابی به كنترل ها از متد FindControl استفاده گردد .

نحوه عملكرد Cross Page Posting
فرآيند Cross Page Posting بر اساس روال زير انجام می شود :

  • action فرم در صفحه اول ، متناسب با شرايط تعريف شده مقداردهی می گردد .

  • پس از فعال شدن button مربوطه ، ارسال اطلاعات از صفحه اول به صفحه دوم انجام می شود .

  • صفحه شماره دوم از viewstate صفحه اول استفاده می نمايد .

  • در زمان دستيابی PreviousPage ، مقدار Viewstate به عنوان يك نمونه از صفحه شماره يك مجددا" مورد توجه قرار می گيرد .

  • صفحه شماره يك عمليات خود را تا انتهای فاز LoadComplete انجام خواهد داد .

  • در اين مقطع ،‌ امكان استفاده از مقادير كنترل ها در صفحه اول برای صفحه دوم فراهم می گردد .

با توجه به اين كه صفحه شماره يك عمليات خود را در پاسخ به يك cross-page post تا فاز LoadComplete انجام خواهد داد ، لازم است در برخی موارد بررسی لازم در خصوص اين كه درخواست ارسالی از نوع cross-page post نمی باشد را انجام داد . بدين منظور می توان از IsCrossPagePostBack در صفحه شماره يك استفاده نمود :

If Not Page.IsCrossPagePostBack Then
' پردازش يك درخواست معمولی
End If

مثال : نحوه استفاده از Cross Page Posting
در اين مثال از يك فرم به همراه دو button استفاده شده است . پس از انتخاب يكی از آيتم های كنترل DropDownList ، در صورتی كه دكمه " ارسال به همين صفحه " فعال گردد ، اطلاعات برای صفحه Mypage1.aspx ارسال و در خروجی و به كمك يك كنترل label نمايش داده می شود .
در صورتی كه دكمه " ارسال به صفحه ديگر" فعال گردد ، اطلاعات برای صفحه ShowInSecondpage.aspx ارسال می گردند . بدين منظور به همراه Button2 از خصلت PostBackUrl استفاده شده است كه مقدار آن ShowInSecondPage.aspx در نظر گرفته شده است .
شكل زير اجرای Mypage1.aspx را نشان می دهد :

Mypage1.aspx

<SCRIPT runat="server">
Sub ShowSelection (Src As Object, Args As EventArgs)
Output.Text ="با تشكر ، "
Output.Text &= "نظر شما توسعه " & MyDropDownList.SelectedItem.Text
Output.Text &= " است "
End Sub
</SCRIPT>

<Html dir =rtl>
<Font Face="Tahoma" Size="2">
كدام بخش سايت srco نياز به توسعه دارد ؟

<form runat="server">
<asp:DropDownList id="MyDropDownList" runat="server"
style="font-family: Tahoma; font-size: 9pt">
<asp:ListItem Value="1" Text="بخش مقالات"/>
<asp:ListItem Value="2" Text="بخش نكته ها "/>
<asp:ListItem Value="3" Text="بخش خودآزمون ها"/>
<asp:ListItem Value="4" Text="بخش خودآموزها"/>
<asp:ListItem Value="5" Text="بخش دايره المعارف"/>
</asp:DropDownList>

<asp:Button Text="ارسال به همين صفحه" ID="Button1"
OnClick="ShowSelection" runat="server"
style="font-family: Tahoma; font-size: 8pt"/>
<asp:Button Text="ارسال به صفحه ديگر" ID="Button2"
PostBackUrl="ShowInSecondPage.aspx" runat="server"
style="font-family: Tahoma; font-size: 8pt" />

<asp:Label id="Output" runat="server"/>
</form>
</html>

كد صفحه ShowInSecondPage.aspx در جدول زير نشان داده شده است :

ShowInSecondPage.aspx

<SCRIPT runat="server">
Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Dim SelectionItem As DropDownList
SelectionItem = Page.PreviousPage.FindControl("MyDropDownList")
Output2.Text ="با تشكر ، "
Output2.Text &= "نظر شما توسعه " & SelectionItem.SelectedItem.Text
Output2.Text &= " است "
End Sub
</SCRIPT>

<Html dir =rtl>
<Font Face="Tahoma" Size="2">
<form runat="server">
<asp:Label id="Output2" runat="server"/>
</form>
</body>

در صورتی كه دكمه " ارسال به صفحه ديگر" فعال گردد ،‌ آيتم انتخابی برای صفحه ShowInSecondPage.aspx ارسال و با توجه به سياست های موجود نمايش داده می شود .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


بررسی مشخصات فنی انواع هارد Maxtor

 بررسی مشخصات فنی انواع هارد Maxtor New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
مشخصات فنی انواع هارد Maxtor | مديريت فنی | 5004 | 61 | 2.6

مشخصات فنی انواع هارد ديسک Maxtor

الف ) مشخصات : ظرفيت 60 ، 80 ، 120 ، 160 دور معمولی

160GB |  | 120GB | 80GB | 60GB |  | Capacity
4A160J0 |  |  | 4R080J0 | 4R060J0 |  | Model ATA/133 2MB buffer,ball bearing motor
4R160L0 |  | 4R120L0 | 4R080L0 | 4R060L0 |  | ATA/133 2MB buffer,FDB motor
 | Environmental Limits |  |  |  |  |  | Performance Specifications
 | Acoustics FDB motor |  |  |  | 5400RPM |  | Rotational Speed
2.4 | ldle (sound power:bel) |  |  |  | 2MB |  | Buffer Size
3.6 | Seek (sound power:bel) |  |  |  | 133 |  | External Transfer Rate (MB/sec)
 |  |  |  |  | <12.1 |  | Average Seek (ms)
 | Temperature |  |  |  | 5.56 |  | Average Latency (ms)
5 to 60 | Operating ( C) |  |  |  |  |  |
-40 to 71 | Non-operating ( C) |  |  |  |  |  | Drive Configuration
 |  |  |  |  | 512 |  | Bytes per Sector/Block
 | Shock |  |  |  | 16,383/16/63 |  | Logical CHS
60 | Operating Mechanical Shock 2ms (G) |  |  |  |  |  |
300 | Non-operating Mechanical Shock 2ms (G) |  |  |  |  |  | Reliability Specifications
 |  |  |  |  | <50.000 |  | Start/Stop Cycles (min)
 | Physical Demensions |  |  |  | 5 years |  | Component Design Life (min)
26.1 | Height (max mm) |  |  |  | <1 per 10E 15 bits read |  | Data Errors (non-recoverable)
101.6 | Width (typical mm) |  |  |  | <1% |  | Annualized Return Rate (APR)
146.1 | Length (max mm) |  |  |  |  |  |
1.37/620 | Weight (LB/g) |  |  |  |  |  | Power Requirements
 |  |  |  |  | 5V 12V |  | Mode
 |  |  |  |  | 628 587 |  | Seek (mA)
 |  |  |  |  | 582 224 |  | ldle (mA)
 |  |  |  |  | 116 41 |  | Standby (mA)

ب) مشخصات : ظرفيت 60 ، 80 ، 120 ، 160 دوربالا

160GB |  | 120GB | 80GB | 60GB |  | Capacity
6Y160L0 |  | 6Y120L0 | 6Y080L0 | 6Y060L0 |  | Model ATA/133 2MB buffer
6Y160P0 |  | 6Y120P0 | 6Y080P0 |  |  | ATA/133 8MB buffer
6Y160M0 |  | 6Y120M0 | 6Y080M0 | 6Y060M0 |  | SATA/150 8MB buffer
 | Environmentel Limits |  |  |  | Performance Specifications
 | Acoustics FDB motor |  |  |  | 7200RPM |  | Rotational Speed
2.5 | ldle (sound power:bel) |  |  |  | 2MB and 8MB cache |  | Buffer Size
3.5 | Seek (sound power:bel) |  |  |  | ATA/133 133 |  | External Transfer Rate (MB/sec)
 |  |  |  |  | SATA 150 |  |
 | Temperature |  |  |  | <9.0 |  | Average Seek (ms)
5 to 60


بررسی مدل های موجود بمنظور کدينگ فرم های وب

 بررسی مدل های موجود بمنظور کدينگ فرم های وب New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

شنبه 23 مهر 1384 2005 Oct. 15 Saturday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
روش های کدينگ فرم های وب | مديريت وب | 1465 | 6 | 4.2

New Page 1

مدل کدينگ فرم های وب

يک صفحه فرم وب دارای دو بخش ويژوال ( تگ های HTML ،کنترل های سرويس دهنده و متن های ايستا ) و صفحه مربوط به منظق برنامه نويسی است . هر يک از بخش های فوق در يک فايل جداگانه ذخيره خواهند شد . عناصر ويژوال در فايلی با انشعاب aspx . و کدها در فايل مجزائی با انشعاب ( aspx.vb , aspx.cs )
ASP.NET Page class
با اينکه يک صفحه فرم وب دارای دو فايل مجزاء می باشد ولی آنها بعنوان يک يونيت واحد در زمان اجرای يک برنامه ايفای وظيفه خواهند کرد. کد مربوط در فايل ها پس از ترجمه بصورت .dll درخواهند آمد. فايل .aspx نيز با يک روش متفاوت ترجمه خواهد شد . اولين بار که مرورگر درخواست يک فايل .aspx را می نمايد ، بصورت خودکار يک .NET class file ايجاد و آن را بصورت dll دوم ترجمه خواهد کرد . در صورتيکه صفحه دارای کنترل های سرويس دهنده باشد ، کلاس ايجاد شده بعنوان يک Container برای کنترل ايفای وظيفه خواهد کرد. نمونه هائی از کنترل ها در زمان اجراء ايجاد و خروجی مورد نظر را برای ارسال به سرويس گيرنده آماده می کنند.
برای افرادی که قبلا" با مدل ASP کلاسيک کار کرده اند ، مدل فوق يک رويکرد جديد است . در مدل ASP يک فايل HTML با کدهای نوشته شده توسط يکی از زبانهای اسکريپت نظير :Jscrip,JavaScript,VbScript تلفيق شده و در يک فايل واحد قرار می گيرنند. Parser مربوط به ASP فايل را خوانده و پس از تفسير، کدهای مربوطه را بمنظور ايجاد خروجی اجراء خواهد کرد. در ادامه ASP خروجی توليد شده توسط کدهای اسکريپت را با خروجی های Html ترکيب و در نهايت حاصل برای مرورگر سرويس گيرنده ارسال خواهد شد.
در مدل ASP.NET ، تمام صفحات فرم های وب بعنوان برنامه های اجرائی در نظر گرفته می شوند. اين برنامه ها قادر به ايجاد خروجی های مربوطه و ارسال آنان برای مرورگر سرويس دهنده خواهند بود. در مدل فوق مجموعه ای از مراحل پردازشی نظير : مقداردهی اوليه ، پردازش ، حذف انجام خواهد شد. عمليات پردازشی فوق ، دقيقا" مشابه با عملکرد ساير برنامه های اجرائی با دو تفاوت است :
▪Page Class ، تمامی مراحل فوق را در هر زمان که صفحه صدا زده می شود ،انجام خواهد داد. در اين حالت صفحه مقداردهی اوليه ،پردازش و در نهايت از بين خواهد رفت .
▪ Page Class ،دارای يک مرحله منحصر بفرد با نام رندرينگ است که در زمان اتمام چرخه حيات يک صفحه عملی خواهد شد.

اقتباس از Page Class
زمانيکه سيستم برای يک صفحه فرم وب ، صفحه و فايل های کلاس آن را ايجاد می کند برای آن کدی توليد می گردد که دارای خواص به ارث رسيده از Page class اوليه (Base) است . مثلا" اگر فرم جديدی با نام Webpage1 ايجاد گردد ، کلاس جديدی با نام Webpage1 از System.Web.UI.Page مشتق و بوجود می آيد. صفحه .aspx خواص خود را از کلاس webpage1 به ارث خواهد برد ارتباط بين Page Class و کلاس های مشتق شده و فايل .aspx در شکل زير نمايش داده شده است .

ASP.NET اين امکان را فراهم می کند که بخش های ويژوال و کد مربوط به يک فرم در يک فايل مشترک قرار گيرند. عملکرد اين نوع فايل ها با موارديکه دو بخش در دو فايل قرار می گيرنند ،بسيار مشابه است .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


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

 بررسی انواع گرامر های استفاده شده در فرم های وب New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
گرامر استفاده شده در فرم های وب | مديريت وب | 1112 | 3 | 3.3

Web Form Syntax يک صفحه فرم وب

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

<% %> يا <%= %>

نوع اول ▼Rendering Code

توضيحات : امکان درج کد بصورت مستقيم در فرم های وب فراهم می شود. کدهای محصور بين <% %> صرفا" اجراء شده ،در صورتيکه کدهای محصور شده بين <%= %> در ابتدا ارزيابی و در نهايت ماحصل آنان نمايش داده خواهد شد.

مثال : نمونه برنامه زير با استفاده از کدهای پيمايش سه مرتبه عبارت Learn Web Form Syntax را در خروجی نمايش خواهد داد. ( هر عبارت در يک خط مجزا )

<%@ Page Language="VB" %>
<html>
<body>
<% Dim I As Integer
For I = 0 To 3 %>
<font size="<%=I%>"> Learn Web Form Syntax </font> <br>
<% Next %>
</body>
</html>

<Script Runat="Server">

نوع دوم ▼Declaration Code

توضيحات : از طريق بلاک های فوق می توان متدها و متغيرهائی را تعريف نمود که در ادامه به Page Class ترجمه خواهند شد. بلاک های مربوطه با استفاده از تگ <Script> تعريف و دارای خصلتی با نام Runat و مقدار "Server" می باشند. المان <Script> می تواند دارای يک خصلت اختياری با نام Language بمنظور مشخص نمودن زبان مربوط به کدهای نوشته شده باشد. در صورتيکه زبان مورد نظر مشخص نگردد ، ASP.NET بصورت پيش فرض زبان در نظر گرفته شده برای صفحه ( استفاده از دايرکتيو page@) و يا کنترل کاربر ( استفاده از دايرکتيو Control@) را برای کدهای نوشته شده در بلاک در نظر خواهد گرفت .

مثال : نمونه برنامه زير با استفاده از کد تعريفی ، تابعی با نام subtract تعريف که وظيفه آن محاسبه اختلاف دو عدد ، و برگرداندن مقدار محاسبه شده است. در صفحه اصلی با استفاده از يک حلقه تکرار اعداد يکصد تا يک در خروجی نمايش داده خواهند شد. برای نيل به هدف فوق ، تابع Subtract به دفعات مشخص ( تحقق شرط) صدا زده می شود.

<html>
<script language="VB" runat=server>
Function Subtract(Num1 As Integer, Num2 As Integer) As Integer
Return Num1-Num2
End Function
</script>
<body>
<%
Dim Number As Integer = 100
Do While Number > 0
Response.Write("Value: " & Number & "<br>")
Number = Subtract(Number, 1)
Loop %>
</body>
</html>

<asp: ..... runat=server/ >

نوع سوم ▼ ASP.NET server Control

توضيحات : کنترل های سرويس دهنده ASP.NET ، اين امکان را به فراهم می نمايند که رابط های کاربر پويائی را بمنظور پاسخ به در خواست های سرويس گيرندگان ايجاد کرد.کنترل های فوق دارای خصلت Runat=Server می باشند.

مثال :برنامه زير نحوه استفاده از کنترل Lable را نشان می دهد. کنترل فوق به کلاسی مربوط می گردد که در namespace با نام System.Web.UI.WebControls قرار دارد. در ادامه می توان با استفاده از نام (Id) نسبت داده شده به کنترل ، به آن مراجعه و خصلت های مربوط به آن را تغيير داد.

<html>
<script language="VB" runat=server>
Sub Page_Load(Sender As Object, E As EventArgs)
Message.Text = "Welcome to ASP.NET"
End Sub
</script>
<body>
<asp:label id="Message" font-size=24 runat=server/>
</body>
</html>

<... runat=server>

نوع چهارم ▼ ASP.NET HTML Server Control

توضيحات : کنترل های سرويس دهنده Html ، امکان برنامه نويسی مورد نظر در رابطه با عناصر Html را فراهم می نمايند.کنترل های فوق با عناصر Html سرويس گيرنده از طريق خصلت (<Runat=Server>) متمايز خواهند شد. با استفاده از کدهای دلخواه ( برنامه نويسی ) ، می توان مستقيما" به متدها و صفات کنترل های فوق دستيابی پيدا کرد .

مثال : برنامه زير نحوه استفاده از کنترل سرويس دهنده <Span runat=server> را نشان می دهد.

<html>
<script language="VB" runat=server>
Sub Page_Load(Sender As Object, E As EventArgs)
Message.InnerHtml = "Welcome to ASP.NET"
End Sub
</script>
<body>
<span id="Message" style="font-size:24" runat=server/>
</body>
</html>

<%#........%>

نوع پنجم ▼ Data Binding

توضيحات : طراحان صفحات وب می توانند با استفاده از عمليات Data binding ،بصورت سلسله مراتبی صفات مربوط به هر کنترل را به مقادير موجود در Data Containers نسبت دهند. عبارات محصور بين <% ....# %> زمانی اجراء خواهند شد که متد DataBind فراخوانی گردد.

مثال : برنامه زير نحوه نسبت دهی داده در رابطه با کنترل <asp:Lable runat=Server> را نشان می دهد.

<html>
<script language="VB" runat=server>
Sub Page_Load(Sender As Object, E As EventArgs)
Dim Items As New ArrayList
Items.Add("One")
Items.Add("Two")
Items.Add("Three")
MyList.DataSource = Items
MyList.DataBind()
End Sub
</script>
<body>
<asp:datalist id="MyList" runat=server>
<ItemTemplate>
Here is a value: <%# Container.DataItem %>
</ItemTemplate>
</asp:datalist>
</body>
</html>

<Object runat=Server>

نوع ششم▼ Object tag

توضيحات : با استفاده از تگ های object ، می توان نمونه هائی از اشياء را تعريف کرد. بدين ترتيب يک شی در زمان اجراء بصورت اتوماتيک ايجاد و امکان برنامه نويسی در رابطه با آن وجود خواهد داشت.

مثال : برنامه زير نحوه استفاده از تگ فوق را برای تعريف کلاس ArrayList نشان می دهد.

<html>
<object id="Items" class="System.Collections.ArrayList" runat=server/>
<script language="VB" runat=server>
Sub Page_Load(Sender As Object, E As EventArgs)
Items.Add("One")
Items.Add("Two")
Items.Add("Three")
MyList.DataSource = Items
MyList.DataBind()
End Sub
</script>
<body>
<asp:datalist id="MyList" runat=server>
<ItemTemplate>
Here is a value: <%# Container.DataItem %>
</ItemTemplate>
</asp:datalist>
</body>
</html>

<%-- --%>

نوع هفتم ▼ Server-Side Comment

توضيحات : برای ارائه توضيحات در متن برنامه استفاده می شود. کدهای محصور بين تگ فوق ، بر روی سرويس دهنده پردازش نشده و برای آنها خروجی توليد نخواهد گرديد. . هر آيتم که بين <%-- --%> قرار می گيرد ، فيلتر می گردد. تگ های ابتدا و پايان می تواند يک خط را شامل شده ( توضيحات يک خط ) و يا مجموعه ای از خطوط را در برگيرد ( توضيحات چند خط ) . بلاک ها ی مربوطه نمی توانند بصورت تودردتو (Nested) باشند.

مثال : برنامه زير نحوه استفاده از تگ های فوق را نشان می دهد.

<html>
<body>
<%--
<asp:calendar id="MyCal" runat=server/>
<% For I = 0 To 44 %>
Hello World <br>
<% Next %>
--%>
</body>
</html>

<-- #Include file="Location.inc" -->

نوع هشتم ▼ Server-Side Include

توضيحات : امکان درج محتويات يک فايل درون فايل ديگر فراهم می گردد

مثال : برنامه زير نحوه درج Header و Footer در يک صفحه وب را نشان می دهد.

<html>
<body>
<!-- #Include File="Header.inc" -->
<p>
<h3> Main page content </h3>
<p>
<!-- #Include File="Footer.inc" -->
</body>
</html>

Header.inc Contents :
This header has been included using a server-side include....

Footer.Inc Contents :
This footer has been included using a server-side include....

جستجو
جستجو

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

مقالات
مشاهده گروه ها


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

 بررسی نحوه نسبت دهی داده در فرم های وب New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
نسبت دهی داده در فرم های وب | مديريت وب | 1307 | 1 | 5

نسبت دهی داده در فرم های وب فرم ها ی وب امکان نمايش داده ها را بر اساس Bind نمودن کنترل هائی به منابع داده ئی فراهم می کنند

نسبت دهی داده در فرم های وب
بممنظور نمايش داده در فرم های وب ، می توان کنترل ها را به منابع داده نسبت داد. نسبت دهی داده در فرم های وب با سا ير فرم ها ، نظير فرم های تحت ويندوز کاملا" متفا وت است . در اين مقاله به بررسی فرآيند فوق در فرم های وب و نحوه مشخص نمودن آنا ن برای کنترل ها ی متفاوت خواهيم پرداخت .
ما هيت فقط خواندنی داده ها . نسبت دهی داده در فرم های وب بر اين واقعيت استوار است که : دستيابی به داده ها در برنامه های تحت وب، عمدتا" بصورت فقط خواندنی است . در چنين حا لتی ، صفحات متنا وبا" اطلاعاتی را از يک منبع داده ئی ، نمايش خواهند داد.در اين نوع برنامه ها به موارد کمتری برخورد می شود که نياز به نوشتن داده ( در مقايسه با خواندن اطلاعات از يک منبع داده ) در يک بانک اطلاعاتی باشد . موارد زير نمونه هائی در اين زمينه می باشند ( اطلاعات از منابع داده ئی خوانده شده و در اختيار کاربران قرار می گيرند )

  • يک صفحه جستجو که حا وی اطلاعات مربوط به سا ير صفحات و يا محصولات است.اطلاعات نمايش داده شده در صفحه نتا يج ،اغلب بصورت لينک به سا ير صفحات بوده که در چنين حالتی نياز به ورود اطلاعات از طرف کاربر جهت ذخيره در بانک اطلاعاتی نخواهد بود.

  • يک صفحه که شامل نتايج مسابقات ورزشی و يا گزارش آب و هوا است .

  • يک صفحه که اطلاعات مربوط به بورس و سهام را نشا ن می دهد

  • و ساير موارد مشابه

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

  • منبع داده چيست ؟

  • آيا داده ها توسط يک Dataset می توانند Cache شوند ؟

  • از چه نوع کنترل ها ئی استفاده می شود؟ ( مثلا" آيا کنترل چندين رکورد را در يک Grid نمايش داده و يا يک رکورد ( مقدار) را در يک TextBox نمايش می دهد؟)

  • قصد استفاده از چه نوع کنترل هائی را بصورت همزمان داريد ؟

نسبت دهی داده در فرم های وب کاملا" انعطاف پذير بوده و در اين راستا می توان هر يک از خصلت های يک کنترل را به يک منبع داده نسبت داد. در روش های قبلی نسبت دهی داده ، معمولا" به خصلت Display داده ئی نسبت داده می گرديد. ( مثلا" Text Property مربوط به يک Text box ) . در فرم های وب ، منبع داده می تواند شامل تقريبا" هر نوع اطلاعات قابل دسترس برای صفحات باشد . ( بانک اطلاعاتی ، سند Xml ، يک کنترل و يا پردازش ديگر و يا حتی ما حصل محا سبات انجام شده توسط شما ) . از نسبت دهی داده در موارد زير می توان استفاده کرد :

  • مقداردهی متن مورد نظر جهت نمايش در کنترل های Textbox,Lable,Button,LinkButton و ساير کنترل ها

  • مقداردهی صفحات مقصد ( HREF ) مربوط به يک Link Control

  • نسبت دادن يک کنترل Checkbox به يک مقدار منطقی ( Boolean) بمنظور تنظيم خودکار وضعيت بررسی شده کنترل

  • مقدار دهی يک فايل گرافيکی به کنترل Image از طريق نسبت دادن صفت ImageURL به ستون مربوطه ای که حاوی نام فايل گرافيکی در بانک اطلاعاتی است .

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

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

  • کنترل های چند رکوردی ، قادر به نمايش يک و يا بيش از يک رکورد داده در هر لحظه می باشند. Repeater ,DataList , DataGrid ، نمونه هائی در اين زمينه می باشند.

  • کنترل های تک مقدار ، در هر لحظه قا در به نمايش يک مقدار خواهند بود. اغلب کنترل های سرويس دهنده Html نظير textbox,Lable,HtmlInputText,HtmlAnchor نمونه هائی از اين نوع کنترل ها می باشند.

اغلب کنترل ها امکا ن نسبت دهی خصا يص وصفات به يک مقدار داده ئی را فراهم می کنند.مثلا" کنترل DataList ، قادر به نمايش چندين رکورد در هر لحظه است اما می بايست صفت Backcolor آن را صرفا" به يک داده نسبت داد. فرآيند نسبت دهی داده ، با توجه به نوع استفاده شده ( چند رکورد ، تک مقدار ) دارای عملکردی کاملا" متفاوت با يکديگر می باشند . برای نمايش چندين رکورد می با يست يک کنترل از نوع چند رکوردی ، را به يک منبع داده که شامل چندين رکورد است نسبت داد ( نظير بردار ،يک مجموعه ،يک جدول و ...) . برای نسبت دهی يک کنترل تک مقدار ، می بايست مشخص نمود که چه صفتی می بايست نسبت داده شده و چه مقداری را می بايست به آن اختصاص يابد .

مقايسه کنترل های چند رکوردی و تک رکوردی

برخی از کنترل های فرم های وب ، قادر به نمايش چندين رکورد اطلاعاتی در يک لحظه می باشند. کنترل هائی نظير Repeater,DataList,DataGride,CheckBoxList,RadioButtonList نمونه هائی در اين زمينه می باشند . کنترل هائی نظير Label,Textbox,Checkbox,Hyperlink ، صرفا" در هر لحظه قادر به نمايش يک مقدار ( رکورد) خواهند بود.
برای نسبت دهی داده در رابطه با کنترل های چند رکوردی ، مطابق زير عمل می شود.
در رابطه با اين نوع کنترل ها ، مهم مشخص کردن منبع داده ئی است که می بايست به يکی از خصلت های مربوطه نسبت داده شود . منابع داده ئی می تواند يکی از موارد زير با شد :

  • Source Data و يا container که شا مل رکوردها ی مورد نظر جهت نسبت دهی به يکی از خصلت های مربوط به کنترل است ، می بايست مشخص گردد .

  • Data Member ، نظير نا م يک جدول

  • يک فيلد يا ستون خاص برای نمايش ، ويژگی فوق در رابطه با کنترل هائی نظير ListBox ،HtmlSelect که چندين آيتم اطلاعا تی را نمايش خواهند داد، استفاده می گردد.

کنترل های چند رکوردی را می توان به يک DataSet نسبت داد. علاوه بر امکا ن فوق می توان کنترل هائی از اين نوع را به تقريبا" هر نوع ساختما ن داده ئی که اينترفيس IEnumerable را حمايت می کنند، نيز نسبت داد:

▪ ArrayList objects
▪ Collections
▪ Data readers (objects of type OleDbDataReader and SqlDataReader)
▪ DataView objects
▪ DataRow objects
▪ DataTable objects in datasets

کنترل های تک مقدار ، صرفا" قادر به نمايش يک مقدار ( رکورد) در هر لحظه خواهند بود. مثلا" می توان صفت Text مربوط به کنترل TextBox را به يک مقدار داده ئی نسبت داد. برای نسبت دادن مقدار به کنترل هائی از اين نوع ،می توان از روش های متعددی بمنظور مشخص نمودن رکورد مورد نظر استفا ده نمود:

  • يک Data View را بگونه ای ايجا د کرد که با بکارگيری فيلتر های مربوطه صرفا" يک رکورد برگردانده شده و در ادامه می توان کنترل مورد نظر را به Data view نسبت داد. عبارت مربوط به نسبت دهی داده به اين نوع کنترل ها مطابق زير است. ا يندکس صفر [0] ، مشخص می نمايد که می بايست اولين رکورد موجود در Data View انتخا ب و به کنترل مربوطه نسبت داده شود.

DataBinder.Eval(DataView1, "[0].au_lname")

  • يک DataSet را بگونه ای تکميل کرد که شامل صرفا" يک رکورد باشد. ( روش فوق يک را هکا ر منا سب جهت استفاد ه از DataSet نخواهد بود )

  • استفاده از دستورات SQL و يا Stored Procedure جهت نسبت دهی مقدار به کنترل مورد نظر

جستجو
جستجو

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

مقالات
مشاهده گروه ها


بررسی ده نکته مهم در رابطه با تکنولوژی XML

 بررسی ده نکته مهم در رابطه با تکنولوژی XML New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

شنبه 23 مهر 1384 2005 Oct. 15 Saturday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
ده نکته در رابطه با XML | مديريت وب | 1234 | 1 | 4

ده نکته مهم در رابطه با XML

ده نکته در رابطه با XML

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

نکته اول ◄ کنسزسيوم وب با طراحی XML ، امکان استفاده از آن را در اينترنت ، مجموعه وسيعی از برنامه ها ، سيستم های عامل مستقل ، سخت افزار و زبان های کامپيوتر فراهم کرده است . XML روشی مطمئن بمنظور تبادل اطلاعات بين سيستم های متفاوت است .

نکته دوم ◄ تکنولوژی XML دارای مجموعه ای از تکنولوژی های مرتبط نظير : RDF,Schema و XSL بوده که هر يک از آنان بر اساس XML ايجاد شده اند .

نکته سوم ◄ در زمان ايجاد سندهای XML ، می بايست قوانين اندکی را رعايت نمود. مثلا" هر تگ شروع می بايست با يک تگ پايان ، خاتمه يابد ( <letter> b < /letter> ) . در صورت رعايت قوانين ، سند XML يک سند " خوش شکل " حواهد بود .

نکته چهارم ◄ تکنولوژی Schema ، ساختار داده های موجود در XML را تشريح می نمايد . فايل های XML ، اجباری به داشتن يک Schema نداشته و اين امر يک گزينه اختياری است . سندهای "خوش شکل " XML ، دارای اشاره گری به يک Schema بوده و بدين ترتيب سند XML "معتبر" می گردد . بنابراين درصورتيکه سند XML دارای يک Schema نباشد ، سند معتبر نخواهد بود .

نکته پنجم ◄ تکنولوژی XSLT ،امکان تغيير يک سند XML را از يک فرمت به فرمت ديگر فراهم می نمايد. حرف "T" ، نشاندهنده "تبديل " است . XSLT ، مشابه يک زبان برنامه نويسی کامل بوده و دارای امکانات مشابه زبان های برنامه نويسی نظير : for-each ، if و متغير است . پس از تبديل فرمت يک سند XML ، خروجی ( نتيجه عمليات تبديل ) می تواند بصورت Html ، متن، WML، و يا صرفا" يک سند XML با فرمت ديگر باشد. ( همواره سند می بايست خوش شکل باشد ) . با استفاده از XSLT می توان سندهای XML را به WML تبديل تا زمينه استفاده از آنان بر روی تلفن های مبتنی بر WAP فراهم گردد .

نکته ششم ◄ تکنولوژی Schema ، درسال 2001 ميلادی استاندارد شده است . Schema و DTD دارای موارد اختلاف کاملا" مشهودی می باشند . Schema جديدتر بوده و مبتنی بر XML و انعطاف پذير است . DTD در عين کامل بودن بدليل عدم انعطاف پذيری لازم و طراحی مبتنی بر XML گزينه ای مناسب برای تشريح ساختار يک سند XML نمی باشد . DTD توسط SGML که قبل از XML ارائه شده ، مطرح و می توان از آن برای ارائه راه حل های مبتنی بر SGML استفاده نمود. تا قبل از سال 1998 عمدتا" از DTD استفاده می گرديد .

نکته هفتم ◄ معتبر سازی يک سند XML توسط پارسر انجام می گيرد . پارسر، برنامه ای است که يک سند XML را خوانده و در رابطه با معتبر بودن آن اتخاذ تصميم می نمايد. فرآيند تصميم گيری در رابطه با معتبر بودن يک سند XML ، اعتبارسنجی ناميده می شود. پارسر ، قادر به اتخاذ تصميم در رابطه با "خوش شکل " بودن و "معتبر " بودن يک سند XML است .

نکته هشتم ◄ تمام تگ های مشابه : <book> XML </book> و يا <price> 12000 </price> ، المان ناميده می شوند. المان تهی بصورت <comments> </comments> نمايش داده می شود .

نکته نهم ◄ در صورتيکه XML زير را داشته باشيم :

<name> webmaster </name>

و در يک فايل XML مشابه دارای المانی بصورت <name> BMV </name> باشيم و بخواهيم بين آنها تفاوت قائل شويم ( بين نوع نام المان ها ) ، از namespace استفاده می گردد . namespace روشی بمنظور مشخص نمودن المان ها بصورت کاملا" اختصاصی می باشد .

نکته دهم ◄ پارسر شرکت ماکروسافت MSXML ناميده شده و اولين مرتبه همراه IE4 عرضه گرديد . پارسرهای متعدد ديگر نظير " Saxon,Xalan,Oracle XSL, Sablotorn , Unicorn, Napa , 4XSLT, Instant Saxon و XML Full Parser نير وجود دارد .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


بررسی ده نکته مهم در رابطه با تکنولوژی XSL

 بررسی ده نکته مهم در رابطه با تکنولوژی XSL New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

شنبه 23 مهر 1384 2005 Oct. 15 Saturday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
ده نکته در رابطه با XSL | مديريت وب | 1158 | 7 | 3.7

ده نکته مهم در رابطه با XSL

ده نکته در رابطه با XSL

تکنولوژی XSL ، از CSS)Cascading Style Sheets) اقتباس شده است . CSS از يک Stylesheet بمنظور فرمت يک فايل HTML استفاده می نمايد .XSL و CSS در موارد متعددی با يکديگر تفاوت دارند. CSS ، امکان تعريف رنگ ها ، مشخص نمودن زمينه ها ، نوع فونت ها و ... را برای فايل های مبتنی بر Html فراهم می نمايد. XSL امکان تبديل يک فايل XML را به يک فايل Html ( و يا ساير فرمت های دلخواه نظير متن ) فراهم می نمايد. در اين مقاله ده نکته مهم در رابطه با تکنولوژی XSL بيان می گردد .

نکته اول ◄ همزمان با ارائه تکنولوژی XML توسط کنسرسيوم وب ، تکنولوژی XSLT)Extensible StyleSheet Language for Transformation )، برای تبديل يک سند به نوع ديگر ، مطرح گرديد. در زمان پياده سازی XSLT ، تکنولوژی ديگر و مرتبط با XML با نام XPointer نيز ارائه گرديد. XPointer ، مکانيزمی برای اشاره به بخش های متفاوت يک سند XML است . يکی ديگر از تکنولوژی های مرتبط با XML ، با نام XPath مطرح و ارائه گرديد. XSLT,XPointer و XPath جملگی تکنولوژی های مبتنی بر XML می باشند .

نکته دوم ◄ تکنولوژی XSLT ، مشابه يک زبان برنامه نويسی بوده و دارای توابع و متدهای فراوانی است که نمونه آنها را می توان در ساير زبان های برنامه نويسی مشاهده نمود. مثلا" XSLT دارای يک حلقه تکرار با نام for-each است .<XSL:for-each> .تکنولوژی فوق دارای برخی امکانات خاص ديگر است که نمونه آنها در ساير زبانهای برنامه نويسی وجود ندارد . مثلا" با استفاده از المان <XSL:script> ، می توان در هر مکان دلخواه ، اقدام به درج اسکريپت های مورد نظر نمود. برای درج محتويات يک فايل نيز می توان از المان <XSL:include> استفاده کرد . در صورتيکه XML را بمنزله داده ها در نظر بگيريم ، XSL ، زبان برنامه نويسی مناسب ، بمنظور انجام عمليات دلخواه بر روی داده ها است .

نکته سوم ◄ با اينکه XSLT مشابه يک زبان برنامه نويسی است ولی دارای يک تفاوت اساسی با زبانهای برنامه نويسی است . زبان XSLT مبتنی بر تمپليت ها می باشد . با استفاده از تمپليت ها می توان نحوه پردازش يک المان را مشخص نمود. قوانين تمپليت می توانند با اولويت های متفاوت و بصورت دلخواه تعريف و استفاده گردند. XSLT يک زبان تعريفی است . (در صورت مواجه شدن با يک الگو ، خروجی به چه صورت توليد می گردد ) . روش برنامه نويسی در XSLT ، مشابه زبانهای VB و يا جاوا نمی باشد . زبانهای فوق بصورت "رويه ای " می باشند . ( XSLT زبانی تعريفی است )

نکته چهارم ◄ در تمام فايل های XSL ، می بايست XSL namespace مشخص گردد. بدين ترتيب پارسر از نوع نسخه XSLT آگاهی پيدا خواهد کرد . برای مشخص نمودن namespace ، عموما" از عبارت زير استفاده می گردد. با معرفی namespace مربوطه ، می توان يک XSLT را بگونه ای طراحی و پياده سازی کرد که هم با نسخه های قبلی و هم با نسخه های بعدی ، سازگار باشد .

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

نکته پنجم ◄ همانگونه که اشاره گرديد ، XSLT يک زبان مبتنی بر تمپليت است . با تعريف يک تمپليت خاص و دلخواه ، عمليات تطبيق آن با اطلاعات موجود در فايل XML انجام خواهد شد. با توجه به اينکه تکنولوژی XSLT از تمپليت ها استفاده می نمايد ، هر فايل XSL می بايست دارای حداقل يک تمپليت تعريف شده باشد . تمپليت تعريف شده عموما" بصورت زير است :

< xsl:template match ="/" >

ريشه تمپليت شامل عبارت "/" = match می باشد ( ريشه سند XML است ) . در صورتيکه المان ريشه در سند XML با نام PEOPLE باشد ، عبارت فوق بصورت " match="PEPOLE ، خواهد بود . تعداد تمپليت های موجود در XSLT دارای محدوديت نمی باشد .

نکته ششم ◄ در زمان انجام عمليات در XSLT ، محدوده مورد نظر برای يک پرسو جو (query) ، گره (node ) در حال پردازش است . بنابراين در تمپليت "/" = xsl:template match،محدوده عملياتی ريشه سند XML است . زمانيکه با استفاده از xsl:for-each در يک حلقه تکرار مستقر می گرديم ،محدوده عملياتی شامل هر يک از گره هائی خواهد بود که در حلقه ايجاد می گردند . " محدوه عملياتی " (Context) ، يکی از مشخصه ها ی مهم تکنولوژی XPath است . يک برنامه XSLT بسيار مشابه برنامه ای خود بازگشتی بوده ( دارای چندين حلقه تکرار است ) و بدفعات از کدهای موجود در تمپليت استفاده خواهد شد .

نکته هفتم ◄ " مکان " (Location) ، يکی از مشخصه های مهم XPath است . مثلا" / ، بمنظور انتخاب المان ريشه در سند جاری و يا گره موجود در محدوده عملياتی است . article/ ، باعث انتخاب المان "article" که خود فرزند ريشه است ، می گردد . x/article ، باعث انتخاب تمام المان های "article" که فرزند x می باشند ، خواهد شد . آدرس PERSON/PEOPLE ، باعث انتخاب تمام المان های PEPOLE که ريشه آنان PERSON است ، می گردد .

نکته هشتم ◄ آدرس دهی مبتنی بر مکان ، امکان استقرار بر روی گره های مورد نظر برای پردازش را فراهم می نمايد .مثلا" با معرفی آدرس PEPOLE/PERSON امکان يافتن تمام المان های PERSON در المان PEPOLE فراهم می گردد . با استفاده از مسيريابی مبتنی بر مکان ، می توان موقعيت خود را در سند XML تغيير و بسمت بالا و يا پائين حرکت کرد . برای يافتن تمام المان های PERSON با عمق دلخواه ( فاصله المان تا ريشه ) و ريشه PEOPLE از آدرسی مشابه PERSON//PEOPLE / استفاده می گردد .

نکته نهم ◄ تکنولوژی XPath ، الگوهای مناسب برای فيلتر نمودن داده ها را با استفاده از امکاناتی نظير AND, + - > <=, mod ، فراهم می نمايد . مثلا" [" article[author="Ali" and author="Reza، گره های article را که نام author آنان Ali و Reza است برمی گرداند . XPath دارای توابعی نظير : Count,position,substring و sum است . مثلا" عبارت زير ،باعث برگرداندن مقدار Total Price می گردد . در مثال فوق از تابع sum برای محاسبه مجموع قيمت های ذخيره شده توسط المان price ، استفاده شده است .. تکنولوژی XSLT و XPath عموما" در کنار يکديگر استفاده می گردند .

<p>Total Price = <xsl:value-of select="sum(//price)"/></p>

نکته دهم ◄ تکنولوژی XSLT ، از معماری مبتنی برقانون که در آن تمپليت ها دارای نقشی کليدی هستند، استفاده می نمايد . برنامه نويسی XSLT ،عموما" بصورت خود بازگشتی بوده و بدين دليل همواره می بايست در رابطه با محدوده عملياتی که تمپليت اجراء خواهد شد ، دقت لازم را انجام داد . XSLT و XPath دارای پتانسيل های زيادی بوده که بمنظور پردازش سندهای XML ، می توان از آنها استفاده کرد .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


بررسی ده نکته مهم در رابطه با تکنولوژی XML - DOM

 بررسی ده نکته مهم در رابطه با تکنولوژی XML - DOM New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

شنبه 23 مهر 1384 2005 Oct. 15 Saturday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
ده نکته در رابطه با XML - DOM | مديريت وب | 1205 | 0 | 0

ده نکته مهم در رابطه با XML DOM

ده نکته در رابطه با XML - DOM
يکی از مهمترين مفاهيم موجود در رابطه با XML ، تکنولوژی DOM)Document Object Model) است . XML نظير برنامه Word و يا DHTML ( مربوط به شرکت ماکروسافت ) ، دارای يک مدل مبتنی بر شی ، برای برنامه نويسی است . در اين مقاله به بررسی ده نکته مهم در رابطه با تکنولوژی XML - DOM خواهيم پرداخت .

نکته اول ◄ تکنولوژی DOM ، يکی از ابزارهای برنامه نويسی موجود بمنظور استقرار يک سند XML در حافظه ، تفسير و پردازش است . ابزار فوق ، اغلب توسط برنامه های VB و ASP بمنظور پردازش فايل های XML استفاده می گردد . DOM بمنزله يک شی بوده که برنامه نويسان با استفاده از آن ، امکان فعال نمودن ، ويرايش و ذخيره يک فايل XML را بدست می آورند .

نکته دوم ◄ ساختار داخلی DOM مشابه چيست ؟ ساختار فوق مشابه يک درخت با شاخه ها و برگ هائی است . برخی از شاخه ها ممکن است دارای شاخه های ديگری باشند. همانگونه که در مقاله ده نکته در رابطه با XML ، اشاره گرديد ، يک سند XML دارای المان هائی است که مناسب است در اين مقطع و از اين زاويه به آنها شاخه گفته شود. بنابراين DOM شامل مجموعه ای از المان ها است . البته ، اغلب برنامه نويسان به آنها " گره " و يا " گره فرزند " می گويند. گره ها ممکن است دارای يک مقدار، تهی و يا شامل ساير گره های فرزند باشند . المان ، گره ، گره های فرزند عملا" در بردارنده مفاهيم مشابه ای می باشند .

نکته سوم ◄ تکنولوژی DOM ، دارای اشياء متفاوتی است . DOMDocument يکی از اشياء موجود بمنظور دستيابی به DOM ( شامل اطلاعات مربوط به سند XML ) است . DOMElement و DOMNode نمونه هائی ديگر از اشياء موجود می باشند . بمنظور انجام عمليات و پردازش های مورد نظر در DOM ، دوازده شی متفاوت پيش بينی شده است . شی DOMDocument ، اولين شی استفاده شده برای فعال نمودن يک سند XML بوده و دارای مجموعه ای از متدها و خصلت ها برای استفاده توسط برنامه نويسان است . مثلا" شی فوق، دارای خصلتی بمنظور بازيابی firstChild ( اولين فرزند ) ، lastChild ( آخرين فرزند ) ، nextSibling ( برادر بعدی ) و previousSibling (برادر قبلی ) است . در حقيقت شی DOMDocument ، تصويری از سند XML را با توجه به قوانين مربوطه در خود نگهداری کرده و با استفاده از خصلت های متعدد موجود ، امکان حرکت در طول سند با روش های متفاوت ميسر می گردد .

نکته چهارم ◄ شی DOMDocument ، دارای تعداد زيادی متد مفيد نيز می باشد . مثلا" متد insertBefore برای درج يک گره قبل از موقعيت جاری استفاده می گردد. برای ايجاد يک المان جديد، می توان از متد createElement استفاده کرد . برای افزودن يک المان جديد به شی DOMDocument می بايست دو مرحله عمليات را دنبال نمود . مرحله اول : با استفاده از متد createElement المان ايجاد می گردد ( در اين حالت يک شی DOMNode ، ايجاد می گردد ) . مرحله دوم : با استفاده از متد appendChild شی DOMNode را به DOMDocument اضافه می نمائيم . ( DOMDocument و DOMNode دو شی مجزا با عملکردهای خاص خود می باشند و نبايد آنها را بمنزله اشياء مشابه در نظر گرفت ) .

نکته پنجم ◄ در مقاله ده نکته در رابطه با XML ، به اين نکته اشاره گرديد که می توان يک سند XML را به Html ، WML و يا يک سند XML ديگر با يک ساختار متفاوت ، تبديل کرد . برای تحقق خواسته فوق ، می توان از متد transformNode استفاده کرد . بدين منظور لازم است از دو شی DOMDocument استفاده گردد. يکی از آنها توسط سند XML فعال و ديگری توسط XSL فعال خواهد شد. با استفاده از متد transformNode ، خروجی بصورت يک رشته خواهد بود . رشته فوق شامل نتايج مورد نظر بمنظور استفاده در WML, Html ، متن و يا ساير موارد دلخواه است .

نکته ششم ◄ تمام اشياء DOMDocument ، دارای يک گره ريشه می باشند . گره فوق تنها ريشه موجود بوده که ساير گره ها مستقيما" و يا غير مستقيم به آن متصل می گردند. در يک سند XML ، دوازده گره متفاوت وجود دارد . NODE_ELEMENT ، NODE_ATTRIBUTE ، NODE_TEXT و NODE_COMMENT نمونه هائی در اين زمينه می باشند . برخی از گره ها ، دارای فرزند و برخی ديگر فاقد فرزند می باشند . مثلا" NODE_ELEMENT می تواند دارای شش فرزند متفاوت ! باشد . ( نگران نباشيد وضعيت فوق در رابطه با يک المان است نه انسان ) و يا NODE_TEXT فاقد فرزند است .

نکته هفتم ◄ يکی ديگر از اشياء بسيار مفيد ، شی HTTPRequest می باشد. شی فوق امکان گفتگوی برنامه هائی که در سمت سرويس گيرنده اجراء می گردند را با سرويس دهنده وب فراهم می نمايد . اين شی شامل تمامی روتين های مورد نياز بمنظور برقراری ارتباط و مبادله اطلاعات است . پس از ارتباط با سرويس دهنده ، از طريق متدهای POST و يا GET ، با استفاده از متد Send می توان يک ارتباط را برقرار کرد. در ادامه با استفاده از خصلت های متعددی نظير : responseXML و يا responseText می توان اقدام به بازيابی XML و يا متن مورد نظرنمود . شی HTTPRequest بهمراه اشياء XML در IE ارائه شده است .

نکته هشتم ◄ پاس دادن رشته های XML در برنامه ها و بين برنامه ها ، يکی از خواسته های مورد نيار است . در اين راستا متدهای Load و LoadXML ازشی DOMDocument مطرح می باشند . متد Load، باعث فعال نمودن يک فايل XML شده ، در صورتيکه متد LoadXML يک رشته را فعال می نمايد . برای توقف فعال نمودن يک سند XML ، می توان از متد abort استفاده کرد . خصلت parseError يک امکان در دسترس ، برای کنترل خطاء و متد save برای ذخيره نمودن XML بصورت يک فايل استفاده می گردد . مثلا" در صورتيکه يک رشته XML را که " خوش شکل " نمی باشد ، فعال نمائيم ، خصلت parseError شامل يک کد خطاء بوده و می توان با استفاده از آن برخورد مناسبی با وضعيت پيش آمده را انجام داد .

نکته نهم ◄ يکی از انواع گره هائی که می توان در يک DOMDocument درج کرد ، DOMProcessingInstruction است . يک PI)Processing Instructing) ، شامل دستورالعمل هائی است که تمايلی به تفسير آنها را نداريم . مثلا" شايد بخواهيم جزئيات مربوط به نسخه خاصی از برنامه RealAudio را که از اطلاعات آن يک المان در سند استفاده می نمايد ، ارسال نمائيم ، در چنين مواردی می توان يک دستورالمل PI بصورت زير در سند درج کرد :

<?realaudio version"4.0"?>

نکته دهم ◄ در صورتيکه قصد ارسال اطلاعاتی را داشته باشيم که شامل عباراتی نظير < ، # و يا > باشد ، و نياز است که آنها را از طريق پارسر ارسال نمائيم ، ( استفاده از حروف فوق باعث بروز خطای پارسر خواهد شد ) می توان اطلاعات فوق را در يک گره خاص با نا م NODE_CDATA_SECTION قرار داد . مثلا" عبارت زير مقدار '#91' را بهمراه يک المان استفاده کرده است . پارسر اطلاعات موجود در بخش CDATA را می خواند ولی آنها را تفسير نخواهد کرد .

<house_number><![CDATA[#91]]><house_number>

جستجو
جستجو

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

مقالات
مشاهده گروه ها


بررسی XML بهمراه امکانات مربوطه برای برنامه نويسان

 بررسی XML بهمراه امکانات مربوطه برای برنامه نويسان New Page 1

ساير امکانات

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

شنبه 23 مهر 1384 2005 Oct. 15 Saturday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
XML برای برنامه نويسان VB و ASP ( بخش اول ) | مديريت وب | 1410 | 0 | 0

XML برای برنامه نويسان VB و ASP

XML برای برنامه نويسان VB و ASP ( بخش اول )

XML از کلمات Extensible Markup Language اقتباس شده است . XML را نمی توان بعنوان يک زبان برنامه نويسی در نطر گرفت . XML ، سيستمی برای تعريف ساير زبان ها ( زبان هائی در رابطه با داده ها ) است . کنسرسيوم وب ، XML را بدين صورت تعريف کرده است : " يک گرامر مناسب برای بيان ساختار داده ها " .Html و XML هر دو از SGML)Standard Generalized Markup Language) اقتباس شده اند . SGML زبانی بمنظور تعريف يک زبان نشانه گذاری مبتنی بر سند است . Html ، دارای مجموعه ای ثابت از تگ ها است . XML ، مشابه SGML امکان تعريف تگ را فراهم می نمايد.

XML چيست ؟

  • يک استاندارد ارائه شده توسط کنسرسيوم وب است .

  • يک زبان نشانه گذاری مبتنی بر تگ است .

  • يک زبان متا ديتا است . زبانی که امکان تعريف ساير زبان ها را فراهم می نمايد.

  • روشی برای ارائه داده است .

  • نسبت به حروف بزرگ و کوچک دارای حساسيت است .

  • خود را بگونه ای مناسب تشريح می نمايد .

  • خوانائی بالائی دارد .

  • يک روش قدرتمند برای اشتراک و ارسال اطلاعات بين برنامه ها ، سيستم ها و پردازه ها است .

XML شامل موارد زير نيست :

  • جايگزين Html نخواهد بود .

  • درگير نمايش اطلاعات نخواهد شد .

  • مالکيت آن در انحصار يک شرکت و يا توليد کننده خاص نمی باشد .

  • مورد حمايت تمام مرورگر های وب نمی باشد .

  • يک بانک اطلاعاتی نيست .

XML ، امکان تفکيک داده از نمايش را فراهم می نمايد( XML نحوه تشريح داده ها ، Html نحوه نمايش داده ها ) . با استفاده از XML ، می توان سندهای حاوی اطلاعاتی را ايجاد که بسادگی از يک محل به محل ديگر ارسال گردند. XML استانداردی برای مبادله داده های ساختيافته بين عناصر نرم افزاری ، برنامه و سيستم ها است .

آشنائی عملياتی با XML

بمنظور آشنائی با سندهای XML ، مثال زير را در نظر بگيريد :

مثال : يک سندXML

<?xml version="1.0"?>
<mycomputer>
<pc>
<type>Laptop</type>
<brand>Toshiba</brand>
<model>Tecra 8000</model>
<processor>300 Mhz Pentium II</processor>
<ram>128 MB</ram>
<drives>
<drive>9 MB Hard Disk</drive>
<drive>1.4 MB Floppy Disk</drive>
<drive>CD-ROM</drive>
</drives>
<display>14 inch active matrix LCD panel</display>
<modem>Toshiba internal V.90</modem>
<network>Xircom Cardbus Ethernet II 10/100</network>
</pc>
<docking_station/>
<case>
<brand>USL</brand>
<color>black</color>
<fabric>vinyl</fabric>
</case>
</mycomputer>

در رابطه با مثال فوق ، ذکر موارد زير ضروری است :

  • محتويات سند فوق بصورت متنی است .

  • بر خلاف Html ، تگ ها جملگی بدرستی استفاده شده و بنوعی داده مورد نظر خود را تشريح می نمايند .

  • همانگونه که مشاهده می شود ، XML امکان داده های سلسله مراتبی تودر تو را حمايت می نمايد .

  • سند فوق با توجه به تعريف مناسب تگ ها ، بخوبی خود را تشريح می نمايند .

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

توضيحات

ويژگی

<?xml version="1.0"?>

تعريف XML . هر سند XML ، می بايست با تعريف XML آغاز گردد. تعريف فوق می بايست بصورت حروف کوچک انجام گردد . تعريف XML بخشی از قسمت Prolog يک سند XML است . در مثال ارائه شده ، تنها بخش موجود در prolog همين تعريف است . در بخش Prolog می توان DTD و يا XSL را نيز مشخص نمود.

<?xml version="1.0"?>
<mycomputer>
...
</mycomputer>

المان های XML . سندهای XML از المان های متفاوتی تشکيل می گردند. يک المان دارای يک تگ آغاز ، محتويات و يک تگ پايان است . <ram>128 MB</ram> . تمام سندهای XML دارای يک المان ريشه می باشند . در مثال ارائه شده mycomputer بمنزله المان ريشه است .

<ram>128 MB</ram>

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

Character | Entity Reference
< | &lt;
> | &gt;
& | &amp;

محتويات المان ها . متن موجود بين تگ های آغاز و پايان بعنوان محتويات يک المان در نظر گرفته شده و می تواند شامل : > ، < و & باشد. با توجه به استفاده خاص از کاراکترهای فوق در سندهای XML ، در صورت ضرورت به استفاده از حروف فوق در متن محتويات يک المان ، می توان از کد معادل آنها استفاده کرد . مثلا" در صورت تعريف المان <formula> ، می توان محتويات آن را بصورت زير مشخص می گردد .

<formula>x &lt; y + 5</formula>

المان های تودرتو صحيح :

<case>
<brand>USL</brand>
<color>black</color>
<fabric>vinyl</fabric>
</case>

المان های تودرتو . تمام المان های تودرتو بطور کامل همراه المان های مادر خود قرار گرفته و می بايست شامل تگ های آغاز و پايان در بلاک داخلی مربوطه باشند . در صورتيکه المان های فرزند دارای تگ های پايان در ساختار داخلی مربوطه نباشند ، سند XML درست نخواهد بود . در مثال زير المان <brand> فرزند المان <case> است . بنابراين می بايست تگ پايان آن نيز درون المان <case> قرار گيرد .

<case>
<brand>
<color>black</color>
<fabric>vinyl</fabric>
</case>
</brand>

روش اول :

<element/>

روش دوم :

<element></element>

المان تهی . يک المان تهی را می توان به دو صورت مشخص نمود . در مثال ارائه شده يک المان تهی تعريف شده است :

<docking_station/>

فايل XML زير ، شامل داده های مشابه با مثال قبلی بوده با اين تفاوت که برخی از اطلاعات با استفاده از خصلت ها ارائه شده اند .

مثال : يک سندXML با تاکيد بر استفاده از خصلت ها برای ارائه اطلاعات اضافه

<?xml version="1.0"?>
<mycomputer>
<pc type="Laptop" brand="Toshiba" model="Tecra 8000">
<processor>300 Mhz Pentium II</processor>
<ram>128 MB</ram>
<drives>
<drive>9 MB Hard Disk</drive>
<drive>1.4 MB Floppy Disk</drive>
<drive>CD-ROM</drive>
</drives>
<display>14 inch active matrix LCD panel</display>
<modem>Toshiba internal V.90</modem>
<network>Xircom Cardbus Ethernet II 10/100</network>
</pc>
<docking_station/>
<case brand="USL">
<color>black</color>
<fabric>vinyl</fabric>
</case>
</mycomputer>

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

توضيحات

ويژگی

<element
attribute_1="value_1" attribute_2="value_2" ...
attribute_n="value_n">

 خصلت ها . المان PC ، دارای سه خصلت است .

<pc type="Laptop" brand="Toshiba" model="Tecra 8000">

خصلت ها در XML شامل نام و مقدار می باشند . برخلاف Html ، مقدار خصلت های استفاده شده در XML ، می بايست بين علامت " " ، قرار گيرد .

<!-- توضيحات دلخواه -->

توضيحات . برای ارا ئه توضيحات در فايل های XML از فرم عمومی روبرو استفاده می شود .

<?xml version="1.0"?>
<mycomputer>
<pc xmlns:org="url:test.com:schema-org"
xmlns:pc="url:test.com:schema-pc" >
<org:type>Accounting</org:type>
<pc:type>Laptop</pc:type>

Namespace . فرض کنيد يک سند XML را ايجاد و قصد ترکيب آن با يک سند XML ديگر را داريم . يکی از مسائلی که ممکن است در زمان ترکيب دو سند مطرح گردد ، استفاده از اسامی مشابه برای المان هائی است که دارای مفهومی کاملا" متفاوت می باشند . ( مثلا" در يک سند از المان <name> بمنظور مشخص نمودن نام يک شهر استفاده شده و در سند ديگر از المان <name> برای مشخص نمودن نام کتاب استفاده شده است ) . بمنظور حل مشکل فوق از namespace استفاده می گردد . namespace ، مجموعه ای از المان ها بهمراه خصلت های مربوطه بوده که به يک آدرس URL مرتبط تا منحصر بفرد بودن اسامی المان ها را تضمين نمايد . برای تعريف يک namespace از خصلت xmlns بهمراه تگ شروع يک المان استفاده می گردد . پس از تعريف namespace ، زمينه استفاده از آن برای هر يک از المان های موجود در سند xml فراهم می گردد .در مثال روبرو ، دو namespace با نام pc و org تعريف و در ادامه ساير المان ها ی موجود در سند از آنان استفاده نموده اند .

<? name data?>

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

در بخش دوم اين مقاله به بررسی DTD و XML-Data Schema خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


بررسی DTD , XML-Data Schema و جايگاه آنان در XML

 بررسی DTD , XML-Data Schema و جايگاه آنان در XML New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
XML برای برنامه نويسان VB و ASP ( بخش دوم ) | مديريت وب | 1373 | 0 | 0

XML برای برنامه نويسان VB و ASP ( بخش دوم )

XML برای برنامه نويسان VB و ASP ( بخش دوم )

در بخش اول اين مقاله با مفاهيم اوليه تکنولوژی XML آشنا شديم . در بخش دوم به بررسی DTDs and XML-Data Schemas خواهيم پرداخت .

Document Type Definition ) DTD)

قبل از بررسی تکنولوژی DTD و Schema ذکر موارد زير مفيد خواهد بود :

  • مولفين سندهای XML می توانند ساختار دلخواه و مورد نظر خود را برای تشريح داده های مربوطه ايجاد نمايند .

  • يک مولف سندهای XML ، نمی تواند اين اطمينان را داشته باشد که ساختار ايجاد شده برای سند ها ، توسط ساير مولفين سندهای XML تغيير نمی نمايد .

  • ما بدنبال روشی هستيم که اين اطمينان را ايجاد نمايد که تغيير تصادفی ساختار يک سند XML تحقق پيدا نخواهد کرد .

  • DTD ، روشی برای تشريح و مسنتد سازی ساختار استفاده شده در يک سند XML است . برای اعبتار سنجی يک سند XML وجود DTD ضرورت دارد ( ممکن است از تکنولوژی مشابه استفاده گردد )

  • مولفين سندهای XML ، با استفاده از مجموعه ای قوانين که نوشته خواهند شد ، يک سند XML را معتبر می نمايند .

  • يک سند XML ، زمانی " خوش شکل" ناميده می شود که گرامر مربوط به XML در آن رعايت شده باشد. صرف "خوش شکل " بودن يک سند XML ، بمنزله معتبر بودن آن نيست .

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

  • DTD ممکن است نوع داده های موجود در سند XML را نيز مشخص نمايد .( مشخص نمودن نوع در رابطه با المان و خصلت ها صدق خواهد کرد ) .

  • DTD بعنوان بخشی از استاندارد XML بوده که توسط کنسرسيوم وب ارائه شده است .

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

  • هر نوع اطلاعات لازم در خصوص يک سند XML ( از بالا تا پايين يک سند ) توسط DTD تعريف و معتبر خواهد شد .

  • يک DTD می تواند بصورت داخلی و يا خارجی استفاده گردد . در مدل داخلی ، اطلاعات مربوط به DTD بهمراه سند XML قرار گرفته و يک فايل را تشکيل خواهند داد ( سند XML و DTD مربوطه ) . در مدل خارجی ، اطلاعات مربوط به DTD در يک فايل مجزا و با انشعاب dtd ذخيره و در سند XML مربوطه به آن مراجعه خواهد شد .

  • در صورت تعريف يک DTD بصورت خارجی ، امکان مراجعه به آن توسط سندهای XML متعددی وجود خواهد داشت . با توجه به گفته فوق ، استفاده از روش فوق دارای مزايای عمده نسبت به حالتی است که DTD را بصورت داخلی و همراه با سند XML استفاده نمائيم .

  • برای برنامه هائی که اطلاعات خود را بصورت XML مبادله می نمايند ، DTD مهم خواهد بود .

  • يک نمونه DTD داخلی

مثال : يک نمونه DTD داخلی

<?xml version="1.0"?>
<!DOCTYPE message [
<!ELEMENT message (#PCDATA)>
]>
<message>
Internal DTD
</message>

  • يک نمونه DTD خارجی

مثال : يک نمونه DTD خارجی

<?xml version="1.0"?>
<!DOCTYPE message SYSTEM "message.dtd">
<message>
External DTD
</message>

سندهای XML ، می توانند شامل يک DTD اختياری باشند . سندهای XML از گزينه فوق بمنظور تضمين فرمت مشخص شده استفاده می نمايند. مثال زير يک سند XML بهمراه DTD آن را نشان می دهد . سند XML در بخش اول مقاله ارائه شده است . در مثال فوق DTD بصورت داخلی و همراه سند استفاده شده است .

مثال : يک سندXML بهمراه DTD مربوطه

<?xml version="1.0"?>
<!DOCTYPE mycomputer [
<!ELEMENT mycomputer (pc, docking_station, case)>
<!ELEMENT pc (processor, ram, drives, display,modem, network)>
<!ATTLIST pc
type (Laptop|Desktop) "Desktop"
brand CDATA #IMPLIED
model CDATA #IMPLIED>
<!ELEMENT processor (#PCDATA)>
<!ELEMENT ram (#PCDATA)>
<!ELEMENT drives (drive*)>
<!ELEMENT drive (#PCDATA)>
<!ELEMENT display (#PCDATA)>
<!ELEMENT modem (#PCDATA)>
<!ELEMENT network (#PCDATA)>
<!ELEMENT docking_station (#PCDATA)>
<!ELEMENT case (color, fabric)>
<!ATTLIST case
brand CDATA #IMPLIED>
<!ELEMENT color (#PCDATA)>
<!ELEMENT fabric (#PCDATA)>
]>

<mycomputer>
<pc type="Laptop" brand="Toshiba" model="Tecra 8000">
<processor>300 Mhz Pentium II</processor>
<ram>128 MB</ram>
<drives>
<drive>9 MB Hard Disk</drive>
<drive>1.4 MB Floppy Disk</drive>
<drive>CD-ROM</drive>
</drives>
<display>14 inch active matrix LCD panel</display>
<modem>Toshiba internal V.90</modem>
<network>Xircom Cardbus Ethernet II 10/100</network>
</pc>
<docking_station/>
<case brand="USL">
<color>black</color>
<fabric>vinyl</fabric>
</case>
</mycomputer>

يکی ديگر از روش های استفاده از DTD در يک سند XML ، بصورت خارجی است . در اين حالت اطلاعات مربوط به DTD در يک فايل مجزا و با انشعاب dtd ذخيره و در ادامه در سند XML به آن مراجعه می گردد .

مثال : بخش آغازين يک سندXML و نحوه استفاده از DTD بصورت خارجی

<?xml version="1.0"?>
<!DOCTYPE mycomputer SYSTEM "mycomputer.dtd">
<mycomputer>
....
</mycomputer>

سندهای XML خوش شکل و معتبر

يک سند "خوش شکل" XML ، سندی است که دارای گرامر صحيح و تعريف شده در رابطه با XML باشد . گرامر مربوطه در قالب مجموعه ای از قوانين مشخض شده است . برخی از اين قوانين عبارتند از :

  • سند می بايست دارای يک و يا چند المان باشد .

  • سند می بايست دارای يک المان ريشه بوده که ساير عناصر با يک ساختار مناسب ( تودر تو ) به آن متصل می گردند .

  • تمام المان های موجود در سند می بايست دارای تگ شروع و پايان باشند .

يک سند "خوش شکل" XML که شامل يک DTD ( داخلی و يا خارجی ) می باشد ، بعنوان يک سند معتبر در نظر گرفته خواهد شد . پارسر XML ( پردازنده نيز ناميده می شود ) با استفاده از يک DTD قادر به معتبر نمودن يک سند XML خواهد بود . بررسی جزئيات مربوط به تکنولوژی DTD از حوصله اين مقاله خارج است .

XML-Data and Schema

DTD دارای محدوديت و مسائل خاص خود می باشد :

  • برای نوشتن DTD لازم است که با يک زبان جديد آشنا شويم .

  • DTD انتظارات لازم در خصوص نوع داده ها را بخوبی تامين نمی نمايد .

  • DTD قابليت بسط و توسعه را ندارد .

XML-Data ، با هدف حل مشکلات فوق ايجاد شده است . XML-Data يک زبان مبتنی بر XML بوده که از آن بمنظور تشريح پيش نويس (Schema) يک سند استفاده می گردد . زبان فوق ، بسط پذير، انعطاف پذير و قدرتمند است . فايل های Schema با انشعاب xsd ذخيره می گردند . فايل های Schema خود بمنزله سندهای XML بوده و المان ريشه آنان Schema نام دارد . در ابتدای فايل های Schema ، می بايست namespace مربوطه تعريف گردد . جدول زير XML-Data Schema ، معادل DTD ارائه شده در مثال قبل را نشان می دهد :

مثال : XML-Data Schema مربوط به سند XML

<schema xmlns = "http://www.w3.org/2001/XMLSchema">
<ElementType name="mycomputer" content="eltOnly" order="seq">
<element type="pc"/>
<element type="docking_station"/>
<element type="case"/>
</ElementType>
<ElementType name="pc" content="eltOnly" order="seq">
<element type="processor"/>
<element type="ram"/>
<element type="drives"/>
<element type="display"/>
<element type="modem"/>
<element type="network"/>
</ElementType>
<ElementType name="pc">
<AttributeType name="type"
xmlns:dt="urn:schemas-microsoft-com:datatypes"
dt:type="enumeration" dt:values="Laptop Desktop"
default="Desktop"/>
<AttributeType name="brand" required="no"/>
<AttributeType name="model" required="no"/>
<attribute type="type"/>
<attribute type="brand"/>
<attribute type="model"/>
</ElementType>
<ElementType name="processor" content="textOnly"/>
<ElementType name="ram" content="textOnly"/>
<ElementType name="drives" content="eltOnly">
<element type="drive" minOccurs="0" maxOccurs="*"/>
</ElementType>
<ElementType name="drive" content="textOnly"/>
<ElementType name="display" content="textOnly"/>
<ElementType name="modem" content="textOnly"/>
<ElementType name="network" content="textOnly"/>
<ElementType name="docking_station" content="textOnly"/>
<ElementType name="case" content="eltOnly" order="seq">
<element type="color"/>
<element type="fabric"/>
</ElementType>
<ElementType name="case">
<AttributeType name="brand" required="no"/>
<attribute type="brand"/>
</ElementType>
<ElementType name="color" content="textOnly"/>
<ElementType name="fabric" content="textOnly"/>
</Schema>

بررسی جزئيات تکنولوژی Schema از حوصله اين مقاله خارج است .

آيا معتبر سازی يک سند ، ضرورت دارد ؟

در صورتيکه سندهای XML دارای يک حيات طولانی بوده و يا از آنها بمنظور مبادله اطلاعات بين سيستم ها و برنامه های متفاوت استفاده می گردد ، لازم است که معتبر سازی يک سند XML بکمک DTD و يا Schema انجام گيرد . در صورتيکه از سند های XML برای ارسال اطلاعات بين لايه های متفاوت يک برنامه سه لايه استفاده می گردد ، ضرورتی به معتبر ساری يک سند XML نخواهد بود . اگر قصد ايجاد تعداد زيادی از سندهای معتبر را داشته باشيد ، می توان يک ابزار مناسب بمنظور ايجاد DTD و يا Schema را تهيه نمود .

در بخش سوم اين مقاله به بررسی XML Document Object Model خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


بررسی XML Document Object Model

 بررسی XML Document Object Model New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
XML برای برنامه نويسا ن VB و ASP ( بخش سوم ) | مديريت وب | 1360 | 0 | 0

XML برای برنامه نويسان VB و ASP ( بخش سوم )

XML برای برنامه نويسان VB و ASP ( بخش سوم )

در بخش اول اين مقاله با مفاهيم اوليه تکنولوژی XML آشنا شديم . در بخش دوم به بررسی DTD و XML-Data Schema پرداخته و در اين بخش به بررسی XML Document Object Model خواهيم پرداخت.

XML DOM ، بمنظور ارائه قابليت های لازم برنامه نويسی برای انجام عمليات دلخواه در رابطه با اشياء موجود در يک سند XML ، ايجاد شده است .

ساختار سلسله مراتبی اشياء در XML DOM

ساختار اشياء در XML DOM ، بصورت سلسله مراتبی و تصويری مناسب از اشياء موجود در سند XML است . شکل زير يک نمونه از ساختار سلسله مراتبی اشياء در XML DOM را نشان می دهد . شکل فوق شامل شی Document و مجموعه ای از اشياء تودرتو ديگر است .

اشياء XML DOM

XML DOM دارای چهار شی است :

  • شی Document . شامل سند XML است . ( منظور گره ای با نام Document نيست )

  • شی node . شامل يک گره در سند XML است .

  • شی nodeList . شامل ليستی از گره های همزاد ( برادر و يا خواهر ) است . برخی از متدهای DOM يک شی nodeList را بعنوان خروجی برمی گردانند.

  • شی ParseError . از شی فوق بمنظور بازيابی آخرين مورد خطاء در رابطه با پارسينگ استفاده می شود .

اشياء فوق دارای مجموعه ای از متدها و خصلت ها بوده و با استفاده از يک زبان اسکريپت ، می توان عمليات مورد نظر در رابطه با يک سند XML را بکمک آنها انجام داد .

مثال : فرض کنيد سند XML ارائه شده در بخش های قبل را داشته باشيم ( mycomputer.xml)

مثال : يک سندXML نمونه (mycomputer.xml)

<?xml version="1.0"?>
<mycomputer>
<pc>
<type>Laptop</type>
<brand>Toshiba</brand>
<model>Tecra 8000</model>
<processor>300 Mhz Pentium II</processor>
<ram>128 MB</ram>
<drives>
<drive>9 MB Hard Disk</drive>
<drive>1.4 MB Floppy Disk</drive>
<drive>CD-ROM</drive>
</drives>
<display>14 inch active matrix LCD panel</display>
<modem>Toshiba internal V.90</modem>
<network>Xircom Cardbus Ethernet II 10/100</network>
</pc>
<docking_station/>
<case>
<brand>USL</brand>
<color>black</color>
<fabric>vinyl</fabric>
</case>
</mycomputer>

برنامه زير، نام اولين گره موجود در سند XML را برمی گرداند . در برنامه فوق تمام اسکريپت ها بر روی مرورگر سرويس گيرنده اجراء و به زبان VBSrcipt نوشته شده اند . اطلاعات فوق را در فايلی با نام دلخواه ذخيره و در ادامه آن را توسط مرورگر فعال و مشاهده نمائيد .

مثال : بازيابی اولين گره موجود در سند mycomputer.xml ( نسخه VBScript)

<HTML>
<HEAD>
<TITLE>XML Example </TITLE>
<SCRIPT LANGUAGE=vbscript>
<!--
Function getXML()
Dim xmlDoc
Dim xmlRoot
Dim xmlNode
Set xmlDoc = CreateObject("Microsoft.xmldom")
xmlDoc.async = False
xmlDoc.load("mycomputer.xml")
Set xmlRoot = xmlDoc.documentElement
Set xmlNode = xmlRoot.childNodes(0)
divHere.innerHTML = _
"<H3>" & xmlNode.nodeName & "</H3>"
End Function
-->
</SCRIPT>
</HEAD>
<BODY onload="getXML()">
<H1>بازيابی اولين گره </H1>
<DIV ID="divHere"></DIV>
</BODY>
</HTML>

در صورت مشاهده صفحه فوق در مرورگر ، خروجی زير مشاهده خواهد شد :

بازيابی اولين گره

pc

برنامه زير، نام اولين گره موجود در سند XML را برمی گرداند . در برنامه فوق تمام اسکريپت ها بر روی مرورگر سرويس گيرنده اجراء و به زبان JavaScript نوشته شده اند .( نسخه فوق با نسخه نوشته شده توسط VBScript دارای اختلاف اندکی می باشند ) . اطلاعات فوق را در فايلی با نام دلخواه ذخيره و در ادامه آن را توسط مرورگر فعال و مشاهده نمائيد .

مثال : بازيابی اولين گره موجود در سند mycomputer.xml ( نسخه JavaScript)

<HTML>
<HEAD>
<TITLE>XML Example </TITLE>
<SCRIPT LANGUAGE=javascript>
<!--
function getXML() {
var xmlDoc
var xmlRoot
var xmlNode
xmlDoc = new ActiveXObject("Microsoft.xmldom")
xmlDoc.async = false
xmlDoc.load("mycomputer.xml")
xmlRoot = xmlDoc.documentElement
xmlNode = xmlRoot.childNodes(0)
divHere.innerHTML =
"<H3>" + xmlNode.nodeName + "</H3>"
}
//-->
</SCRIPT>
</HEAD>
<BODY onload="getXML()">
<H1>بازيابی اولين گره</H1>
<DIV ID="divHere"></DIV>
</BODY>
</HTML>

در صورت مشاهده صفحه فوق در مرورگر ، خروجی زير مشاهده خواهد شد :

بازيابی اولين گره

pc

در ادامه بخش های متفاوت دو مثال فوق تشريح خواهند گرديد .

استقرار يک سند XML در حافظه

قبل از انجام هر گونه عمليات در رابطه با يک سند XML ، می بايست سند فوق در حافظه مستقر گردد . قبل از استقرار سند XML در حافظه ، می بايست نمونه ای از شی XML DOM را ايجاد نمود. کدهای زير که در مثال اول ( نسخه نوشته شده به زبان VBScript) ارائه شده اند ، نحوه ايجاد يک نمونه شی XML -DOM را با استفاده از متد CreateObject و استقرار يک سند XML را نشان می دهد .

مثال : کدهای لازم بمنظور ايجاد يک نمونه شی XML DOM و استقرار سند XML در حافظه

Set xmlDoc = CreateObject("Microsoft.xmldom")
xmlDoc.async = False
xmlDoc.load("mycomputer.xml")

در مثال فوق ،از متد async مربوط به شی document بمنظور استقرار سند XML در حافظه بصورت همزمان استفاده شده است . بدين ترتيب مرورگر قبل از انجام هر گونه پردازش بر روی سند XML ، در انتظار استقرار تمام سند در حافظه باقی خواهد ماند . در صورتيکه از کد فوق استفاده نگردد ، مرورگر بمحض دريافت بخشی از سند ، عمليات پردازش را آغاز خواهد کرد . در برنامه فوق از متد Load بمنظور استقرار يک فايل XML در حافظه استفاده شده است . در صورتيکه قصد استقرار يک سند XML را از طريق يک رشته داشته باشيم ، می توان از متد LoadXML استفاده کرد .

در نسخه جاوا اسکريپت مثال فوق ،با استفاده از شی AxtiveXObject يک نمونه از شی XML DOM ايجاد شده است . کدهای فوق بصورت زير می باشند :

مثال : کدهای لازم بمنظور ايجاد يک نمونه شی XML DOM و استقرار سند XML در حافظه

xmlDoc = new ActiveXObject("Microsoft.xmldom")
xmlDoc.async = false
xmlDoc.load("mycomputer.xml")

المان سند

کد زير بمنظور بازيابی يک مرجع به المان سند ( گره مادر در سند XML) استفاده شده است :( نسخه نوشته شده به زبان VBScript)

Set xmlRoot = xmlDoc.documentElement

کد معادل جاوا اسکريپت بصورت زير است :

xmlRoot = xmlDoc.documentElement

مجموعه ChildNodes

پس از ايجاد يک مرجع به گره Document ، می توان با استفاده از مجموعه childNodes مربوط به گره Document اقدام به بازيابی گره ها نمود . کد زير ، يک مرجع ( اشاره گر ) به اولين گره مجموعه childNodes مربوط به المان سند ، ايجاد می نمايد

Set xmlNode = xmlRoot.childNodes(0)

کد معادل جاوا اسکريپت بصورت زير است :

xmlNode = xmlRoot.childNodes(0)

تمام مجموعه ها در XML با صفر شروع می گردد . بنابراين اولين المان همواره صفر، دومين المان يک و ... خواهد بود.

نمايش XML بر روی صفحه

بمنظور نمايش داده های XML در يک صفحه Html ، می بايست از روش های خاصی استفاده نمود. يکی از مناسبترين اين روش ها ، استفاده از خصلت innerHTML يک تگ Html است . کد زير نحوه انجام عمليات فوق را نشان می دهد ( نسخه VBScript) . در کد فوق از خصلت nodeName مربوط به گره ، برای بدست آوردن نام المان XML استفاده شده است .

divHere.innerHTML = "<H3>" & xmlNode.nodeName & "</H3>"

کد زير نحوه نمايش داده های XML در يک صفحه Html را با استفاده از خصلت innerHTML نشان می دهد ( نسخه حاوا اسکريپت )

divHere.innerHTML ="<H3>" + xmlNode.nodeName + "</H3>"

صدا زدن کدهای اسکريپت DOM

در مثال های ارائه شده ( نسخه نوشته شده با VBScript و نسخه نوشته شده با جاوا اسکريپت ) ،از تابعی با نام getXML همزمان با فعال شدن صفحه استفاده شده است . تابع فوق مسئول استقرار سند XML در حافظه و يافتن اولين المان در بوده و ماحصل عمليات را در خروجی نمايش خواهد داد .

<BODY onload="getXML()">
<H1>Mycomputer XML Example</H1>
<DIV ID="divHere">
</DIV>
</BODY>
</HTML>

پس از ارائه توضيحات لازم در خصوص مثال های ارائه شده ، در ادامه نحوه انجام ساير عمليات بر روی يک سند XML بکمک XML DOM تشريح می گردد .

تکرار در بين گره های يک سند

سند XML ارائه شده در مثال قبل (mycomputer.xml) دارای ساختار درختی زير است :

با استفاده از مجموعه childNodes ، می توان عمليات تکرار در بازيابی تمام درخت XML مربوط به يک سند XML را انجام داد . برنامه زير تمام اطلاعات موجود در درخت XML را بازيابی و آنها را با يک فرمت قابل قبول ( مجموعه ای از جداول ) در خروجی نمايش خواهد داد . در اين برنامه اطلاعات مربوط به اولين سطح گره های موجود ( pc,case,docking_station) با استفاده از يک حلقه تکرار استخراج و برای بازيابی اطلاعات موجود در دومين سطح گره ها ( type, brand, model ) از يک حلقه تکرار ديگر استفاده شده است .

مثال : بازيابی تمام گره های موجود در يک سند XML و نمايش آنها با يک فرمت مناسب

<HTML>
<HEAD>
<TITLE>XML Example </TITLE>
<STYLE>
H3 {color: blue}
</STYLE>
<SCRIPT LANGUAGE=vbscript>
<!--
Option Explicit
Function getXML()
Dim xmlDoc
Dim xmlRoot
Dim xmlPNode
Dim xmlNode
Dim strDoc
Set xmlDoc = CreateObject("Microsoft.xmldom")
xmlDoc.async = False
xmlDoc.load("mycomputer.xml")
Set xmlRoot = xmlDoc.documentElement
For Each xmlPNode In xmlRoot.childNodes
strDoc = strDoc & "<H3>" & xmlPNode.nodeName & "</H3>"
If xmlPNode.childNodes.length = 0 Then
strDoc = strDoc & "<I>No data</I>"
Else
strDoc = strDoc & "<TABLE border>"
For Each xmlNode In xmlPNode.childNodes
strDoc = strDoc & "<TR>" & _
"<TD><B>" & xmlNode.nodeName & ":</B></TD>" & _
"<TD>" & xmlNode.text + "</TD>" & "</TR>"
Next
End If
strDoc = strDoc & "</TABLE>"
Next
divHere.innerHTML = strDoc
End Function
-->
</SCRIPT>
</HEAD>
<BODY onload="getXML()">
<H1 align="center" dir="rtl">بازيابی تمام المان های يک سند XML</H1>
<DIV ID="divHere"></DIV>
</BODY>
</HTML>

خروجی برنامه فوق پس از مشاهده صفحه مربوطه در مرورگر به شکل زير خواهد بود :

بازيابی تمام المان های يک سند XML

pc

type: | Laptop
brand: | Toshiba
model: | Tecra 8000
processor: | 300 Mhz Pentium II
ram: | 128 MB
drives: | 9 MB Hard Disk 1.4 MB Floppy Disk CD-ROM
display: | 14 inch active matrix LCD panel
modem: | Toshiba internal V.90
network: | Xircom Cardbus Ethernet II 10/100

docking_station

No data

case

brand: | USL
color: | black
fabric: | vinyl

نسخه جاوا اسکريپت برنامه فوق به شکل زير است : ( فقط حلقه های تکرار مشخص شده اند )

مثال : بازيابی تمام گره های موجود در يک سند XML (نسخه جاوااسکريپت )

xmlRoot = xmlDoc.documentElement
strDoc = "<TABLE>"
for (intI=0; intI <= xmlRoot.childNodes.length-1;intI++) {
xmlPNode = xmlRoot.childNodes(intI)
strDoc = strDoc +"<H3>" + xmlPNode.nodeName + "</H3>"
if (xmlPNode.childNodes.length == 0)
strDoc = strDoc + "<I>No data</I>"
else {
strDoc = strDoc + "<TABLE border>"
for (intJ=0;intJ <= xmlPNode.childNodes.length-1;intJ++) {
xmlNode = xmlPNode.childNodes(intJ)
strDoc = strDoc + "<TR>" +
"<TD><B>" + xmlNode.nodeName + ":</B></TD>" +
"<TD>" + xmlNode.text + "</TD>" +
"</TR>"
}
strDoc = strDoc + "</TABLE>"
}
}

بازيابی يک گره خاص و يا مجموعه ای از گره ها

در برخی حالات علاقه مند به بازيابی گره ها از طريق حلقه تکرار نمی باشيم ، در چنين مواردی می توان مستقيما" اقدام به بازيابی مجموعه ای از گره ها در يک سند XML نمود . در اين رابطه می توان از متد getElementsByTagName استفاده کرد . گرامر استفاده از متد فوق بشکل زير است :

nodelist = document.getElementsByTagName(tagname)

در گرامر فوق :

  • nodelist ، يک شی از نوع nodelist است .

  • document ، يک شی از نوع document است .

  • tagname ، رشته ای بمنظور مسخص نمودن يک المان است . مثلا" "case/brand" . برای بازيابی تمام درخت XML می توان از "*" استفاده کرد .

متد getElementsByTagName ، يک شی nodeList را بر می گرداند . شی nodeList ذاتا" معادل مجموعه childNodes است . شی فوق دارای يک خصلت ( lenght) و سه متد ( item,nextNode,reset) است . از متد item مربوط به شی nodeList بمنظور بازيابی يک آيتم از مجموعه گره های موجود در nodeList استفاده می گردد . در مثال زير از متد getElementsByTagName بمنظور بازيابی متن مربوط به المان pc/ram استفاده شده است .

مثال : بازيابی يک المان خاص با استفاده از متد getElementsByTagName ( نسخه Vbscript)

Function getXML()
Dim xmlDoc
Dim xmlNodes
Set xmlDoc = CreateObject("Microsoft.xmldom")
xmlDoc.async = False
xmlDoc.load("mycomputer.xml")
Set xmlNodes = xmlDoc.getElementsByTagName("pc/ram")
divHere.innerHTML = xmlNodes.item(0).text
End Function

مثال: بازيابی يک المان خاص با استفاده از متد getElementsByTagName ( نسخه javascript)

function getXML() {
var xmlDoc
var xmlNodes
xmlDoc = new ActiveXObject("Microsoft.xmldom")
xmlDoc.async = false
xmlDoc.load("mycomputer.xml")
xmlNodes = xmlDoc.getElementsByTagName("pc/ram")
divHere.innerHTML = xmlNodes.item(0).text
}

بازيابی خصلت ها

تمام اطلاعات در سند های XML از طريق محتويات المان ها ذخيره نشده و در برخی حالات از خصلت مربوط به يک المان استفاده و اطلاعات بکمک آن ذخيره می گردد . بمنظور بازيابی اطلاعات ذخيره شده در خصلت مربوط به يک المان می توان از مجموعه attributes استفاده کرد . برای ارائه توضيحات کاربردی بيشتر ، فايل mycomputer.xml ( در مثال های قبل از آن استفاده شده بود ) را با اندک تغييراتی که عمدتا" به استفاده از خصلت بهمراه المان ها بر می گردد ، تغيير نام و يک فايل ديگر با نام mycomputer1.xml را ايجاد که تگ های pc و case آن بصورت زير باشند :

<pc type="Laptop" brand="Toshiba" model="Tecra 8000">
...
<case brand="USL">

برنامه زيرخصلت های مربوط به المان PC را در خروجی نمايش می دهد .

مثال : نمايش خصلت های يک المان ( نسخه VBScript)

<HTML>
<HEAD>
<TITLE>XML Example </TITLE>
<SCRIPT LANGUAGE=vbscript>
<!--
Function getXML( )
Dim xmlDoc
Dim xmlAtt
Dim xmlPNode
Dim strDoc
Dim xmlNodes
Dim xmlPCNode
Set xmlDoc = CreateObject("Microsoft.xmldom")
xmlDoc.async = False
xmlDoc.load("mycomputer.xml")
Set xmlNodes = xmlDoc.getElementsByTagName("pc")
Set xmlPCNode = xmlNodes.item(0)
For Each xmlAtt in xmlPCNode.attributes
strDoc = strDoc & "<BR><B>" & xmlAtt.nodeName & ":</B>" & _
xmlAtt.text
Next
divHere.innerHTML = strDoc
End Function
-->
</SCRIPT>
</HEAD>
<BODY onload="getXML( )">
<H1 align="center" dir="rtl">بازيابی خصلت های يک المان </H1>
<DIV ID="divHere"></DIV>
</BODY>
</HTML>

خروجی برنامه فوق پس از مشاهده صفحه مربوطه در مرورگر به صورت زير است :

بازيابی خصلت های يک المان

type:Laptop
brand:Toshiba
model:Tecra 8000

مثال : نمايش خصلت های يک المان ( نسخه JavaScript) - فقط حلقه تکرار آورده شده است .

for (intI=0;intI <= xmlPCNode.attributes.length-1;intI++) {
xmlAtt = xmlPCNode.attributes(intI)
strDoc = strDoc + "<BR><B>" + xmlAtt.nodeName + ": </B>" +
xmlAtt.text
}

بمنظور بازيابی محتويات يک خصلت خاص، می توان از متد getAttribute مربوط به شی node استفاده کرد . مثلا" کد زير خصلت brand مربوط به المان case را بازيابی می نمايد :

Set xmlNodes = xmlDoc.getElementsByTagName("case")
Set xmlPCNode = xmlNodes.item(0)
divHere.innerHTML = xmlPCNode.getAttribute("brand")

تاکنون به بررسی برخی از امکانات XML DOM بصورت بسيار محدود اشاره شد. XML DOM دارای مجموعه ای از خصلت ها و متد ها ی متنوع ديگر است . شرکت ماکروسافت نيز مجموعه ای ديگر از خصلت ها و متدها را در اين زمينه تعريف نموده است . بهرحال برای انجام يک عمليات بخصوص می توان از روش های متعددی استفاده و در اين زمينه يک راه حل شفاف و منحصر بفرد وجود ندارد .

استفاده از XML بر روی سرويس دهنده

تمام مثال های ارائه شده در بخش های قبل ، فايل های XML را بر روی سرويس گيرنده پردازش می کردند. بمنظور پردازش فايل های XML بر روی سرويس دهنده ، می توان از عنصر XMLDOM از طريق صفحات ASP استفاده کرد . برنامه زير اطلاعات موجود در فايل mycomputer.xml ( در بخش های قبل از آن استفاده شده است ) را پردازش و با يک فرمت مناسب ( استفاده از سه جدول مجزا برای نمايش هر يک از المان های سطح اول ) در خروجی نمايش می دهد . ( نظير اين عمليات در بخش های قبل نيز ارائه گرديد در اين مثال عمليات مورد نظر بر روی سرويس دهنده انجام خواهد شد ) .

مثال : پردازش يک فايل XML برروی سرويس دهنده و ارائه خروجی مناسب

<%@ Language=VBScript %>
<%Option Explicit%>
<HTML>
<HEAD>
<TITLE>XML/ASP Example </TITLE>
<STYLE>
H3 {color: blue}
</STYLE>
</HEAD>
<H1>Mycomputer XML Tree Parsed on the Server</H1>
<%
Dim xmlDoc
Dim xmlRoot
Dim xmlPNode
Dim xmlNode
Dim strDoc
Set xmlDoc = Server.CreateObject("Microsoft.xmldom")
xmlDoc.async = False
xmlDoc.load(Server.MapPath("mycomputer.xml"))
Set xmlRoot = xmlDoc.documentElement
For Each xmlPNode In xmlRoot.childNodes
strDoc = strDoc & "<H3>" & xmlPNode.nodeName & "</H3>"
If xmlPNode.childNodes.length = 0 Then
strDoc = strDoc & "<I>No data</I>"
Else
strDoc = strDoc & "<TABLE border>"
For Each xmlNode In xmlPNode.childNodes
strDoc = strDoc & "<TR>" & _
"<TD><B>" & xmlNode.nodeName & ":</B></TD>" & _
"<TD>" & xmlNode.text + "</TD>" & _
"</TR>"
Next
End If
strDoc = strDoc & "</TABLE>"
Next
Response.Write strDoc
%>
</BODY>
</HTML>

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

جستجو
جستجو

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

مقالات
مشاهده گروه ها


تشريح ساختار يک سند XML

 تشريح ساختار يک سند XML New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
ساختار يک سند XML | مديريت وب | 2105 | 0 | 0

ساختار يک سند XML

ساختار يک سند XML

شکل زير ساختار يک سند XML را نشان می دهد . بر روی بخش های رنگی کليک نموده تا اطلاعات تکميلی در رابطه با هر يک را مشاهده نمائيد .

ساختار عمومی يک سند XML
Prolog | <?xml version="1.0" encoding = "UTF-8"?>
 | <?xml-stylesheet type="text/xsl" href="mystyle.xsl"?>
 | <!DOCTYPE catalog SYSTEM "catalog.dtd" >
 | <!-- Date publish 1382 - 1- 14 -- >
Document Elements | <catalog xmlns="http://www.example.com/catalog/"> < Article id="ar110"> <author> Webmaster </author> <title>XML structure &#x47;uide </title> <category> software </category> <point>4.0 </point> <publish_date> 1382 - 1- 14 </publish_date> <description> <![CDATA[describe xml structure < ,> ]] > </description> </Article> <Article id="ar111"> <author> Network administrator </author> <title>Network infrastructure</title> <category>network</category> <point>3.5 </point> <publish_date> 1382 - 1- 13 </publish_date> <description> windows networking </description> </Article> </catalog>

Prolog ، به اطلاعات قبل از تگ آغاز سند و يا المان ريشه ، اطلاق می گردد . اطلاعات فوق مشخصات و خصايصی را مشخص می نمايد که به تمام سند نسبت داده خواهد شد . اطلاعاتی نظير Character Encoding ، ساختار سند و يا Style Sheets

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="mystyle.xsl"?>
<!DOCTYPE catalog SYSTEM "catalog.dtd">
<!--Date publish 1382 - 1- 14 -->

برگشت به ساختار سند XML
Document Elements . المان ها (Elements) بمنزله ستون فقرات در سندهای XML مطرح و ساختار مورد نياز جهت پردازش های لازم توسط برنامه های ذيربط و يا style-sheet را فراهم می نمايند. المان ها با استفاده از تگ مربوطه که نام يک المان را مشخص می نمايد ، تعريف می گردنند. المان ها می توانند دارای نام و مقادير مربوط به يک Attribute نيز باشند. خصايص فوق، اطلاعات اضافه تری را نسبت به محتويات يک سند مشخص خواهند کرد.تمامی المان ها می بايست دارای نام باشند. اسامی المان ها بر روی حروف بزرگ و کوچک حساس بوده و می بايست حتما" با يک حرف و يا Underscore آغاز گردند.اسامی المان ها می تواند شامل حروف، ارقام ، hypen,underscore و نقطه باشد. ( کاراکتر colon برای namespace ها رزو شده است ) . هر تگ محدوده مربوط به يک المان را مشخص می نمايد. تگ شروع يک المان ، دارای گرامری مشابه زير است :.

<elementName att1Name="att1Value" att2Name="att2Value"...>

برای المان هائی که دارای Attribute نمی باشند ، تگ شروع بصورت زير تعريف می گردد.

<elementName>

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

</elementName>

يک المان همواره محصور بين تگ های شروع و پايان است .

<person>
<FirstName>Ali</FirstName>
<LastName>Irani</LastName>
</person>

در مثال فوق المان Person دارای دو المان ديگر به نام FirstName و LastName است. المان FirstName شامل مقدار Ali و المان LastName شامل مقدار Irani است . از تگ های خالی ، در موارديک المان مورد نظر دارای محتوياتی نباشد ، استفاده می گردد. برای نشان دادن اين نوع تگ ها به دو صورت می توان رفتار نمود: در روش اول در ابتدا يک تگ شروع و بلافاصله يک تگ پايان قرار می گيرد.

<Emptytag></Emptytag>

در روش دوم ، می توان صرفا" از يک تگ خالی بصورت <Emptytag/> استفاده کرد .

ارتباط المان ها با يکديگر : بمنظور تشريح المان های موجود در يک سند XML ، می توان از دو روش ساختار درختواره ای و يا ساختار فاميلی استفاده کرد . سند XML ، می بايست دارای يک المان ريشه و يا يک سند (Document) باشد. المان ريشه ، شامل ساير محتويات سند خواهد بود. کدهای زير يک المان ريشه با نام Person را تعريف می کند.

<person>
<FirstName>Ali</FirstName>
<LastName>Irani</LastName>
</person>

يک سند XML ، نمی تواند شامل دو المان ريشه باشد. کدهای زير يک سند XML نادرست را نشان می دهد .

<FirstName>Ali</FirstName>
<LastName>Irani</LastName>

در ساختار درختواره ای ، برگ ها بمنزله المان ها ئی بوده که خود شامل المان ديگری نمی باشند. ( نظير برگ های موجود در يک شاخه درخت ) . عناصر برگ ، المان هائی هستند که صرفا" شامل متن و يا تهی می باشند ( گره خالی و يا گره های شامل متن ) . در مثال فوق مشخصات مربوط به هر مقاله در المان های برگ ذخيره می گردنند. در ساختار فاميلی ارتباطات بين المان ها از طريق : Parent,Child,Ancestor, Descendant , Sibiling تشريح می گردد.
برگشت به ساختار سند XML
Xml Decleration . بخش فوق در اکثر سندهای XML در اولين خط قرار خواهد گرفت . استفاده از تعريف فوق الزامی نبوده و در صورتيکه نياز ، می بايست بعنوان اولين خط در سندهای XML قرار گيرد. بخش تعاريف در يک سند Xml از اجزای زير تشکيل شده است :

  • شماره ورژن . شماره فوق همزمان با توسعه XML ، تغيير خواهد کرد. شماره نسخه فعلی XML ، يک است .

<?xml version="1.0"?>

  • تعريف نحوه رمزگشائی سند . بخش فوق اختياری بوده و در صورت لزوم می بايست بلافاصله پس از شماره ورژن قرار گرفته و نشاندهنده يک Characterset درست باشد.

<?xml version="1.0" encoding="UTF-8"?>

  • بخشStandAlone.. استفاده از بخش فوق اختياری بوده و در صورت لزوم می بايست در بخش انتهائی تعاريف سندهای XML. قرار گيرد. بخش فوق مشخص خواهد کرد که آيا سند مورد نظر از لحاظ منابع اطلاعاتی به منابع خارجی ديگری وابسته است يا خير ؟ در صورتيکه مقدار آن Yes باشد بمنزله عدم دريافت منابع خارجی بوده و در غير اينصورت بمنزله دريافت اطلاعات از منابع خارجی است .

<? xml version="1.0" encoding="UTF-8" standalone="yes" ?>

برگشت به ساختار سند XML
Processing Instructions . از بخش فوق برای پاس دادن اطلاعات به ساير برنامه ها استفاده می گردد. دستورالعمل های پردازش الزامی به داشتن يک گرامر داخلی نداشته و ممکن است از کاراکترهای نشانه گذاری استفاده نمايند. بدين ترتيب امکان استفاده آنان در هر محل از سند و خارج از نشانه گذاری ها امکان پذير خواهد بود . دستورات فوق ، می توانند در prolog ، بهمراه DTD و يا در بخش محتويات استفاده گردند . نحوه نمايش دستورالعمل های پردازش توسط Schema و يا پردازنده های DTD توضيح داده نخواهند شد. دستورالعمل های پردازشی می بايست با يک شناسه Target آغاز گردنند. اين نوع شناسه ها نسبت به حروف بزرگ و کوچک حساس بوده و می بايست با يک حرف و يا يک UnderScore آغاز گردنند. کدهای زير نمونه ای از دستورالعمل های پردازشی را نشان می دهد.

<?xml-stylesheet type="text/xsl" href="mystyle.xsl"?>

دستورالعمل های فوق با <؟ خاتمه خواهند يافت .
Style Sheet Processing Instructions . شرکت مايکروسافت در هماهنگی با W3C اقدام به پياده سازی يک دستورالعمل پردازشی با نام Xml-StyleSheet نموده است . دستورالعمل فوق می بايست در بخش prolog و قبل از المان ريشه قرار گيرد . نحوه بکارگيری دستور فوق به شکل زير است :

<?xml-stylesheet type="type" href="uri" ?>

type ، يک text/css ( در صورت لينک به فايل Cascading Style Sheet ) و يا text/XSL ( در صورت لينک به فايل XSLT ) است . Uri)Universal resource Identifier) آدرس محل استقرار stylesheet را مشخص کرده و با آدرس محل استقرار سند xml ارتباط خواهد داشت . کدهای زير نمونه ای از دستورالعمل های پردازش ، برای يک Style-Sheet را نشان می دهد که با استفاده از يک CSS ايجاد شده است .

<? xml-stylesheet href="/style.css" type="text/css" title="default stylesheet" ?>

کدهای زير نحوه بکارگيری و تعريف يک Style-Sheet را که بر اساس XSL ايجاد شده است را نشان می دهد.

<? xml-stylesheet href="/style.xsl" type="text/xsl" title="default stylesheet" ?>

برگشت به ساختار سند XML

DocType Declerations . بخش فوق ، امکان مشخص نمودن المان ريشه و DTD)Document Type Definition) را با مراجعه به يک فايل خارجی و يا از طريق تعاريف مستقيم ( داخلی ) برای يک سند XML فراهم می نمايد . تعريف يک DOCType شامل موارد زير است :

  • نام سند و يا المان ريشه ( وجود بخش فوق زمانيکه از تعاريف DocType استفاده می گردد ،الزامی است ) .

  • شناسه های system و Public برای DTD بمنظور بررسی صحت ساختار سند.

  • يک زير مجموعه داخلی از تعاريف DTD . بخش فوق بين علائم [ و ] قرار خواهد گرفت .

در ساده ترين حالت تعريف DocType ، صرفا" المان ريشه معرفی می گردد.

<!DOCTYPE rootElement>

اغلب سندهائی که از بخش تعاريف DocType استفاده می کنند به يک سند خارجی که شامل تعاريف مربوطه برای ايجاد DTD است، مراجعه خواهند کرد .

<!DOCTYPE rootElement SYSTEM "URIreference">

URIreference به فايلی که شامل تعاريف است ، اشاره می نمايد.

<!DOCTYPE rootElement PUBLIC "PublicIdentifier" "URIreference">

PublicIdentifier شناسه ای مجزا را معرفی می نمايد که برخی پارسر ها را قادر به استفاده از آن جهت مراجعه به DTD در مقابل URIreference باشند. دربخش تعاريف DocType ،می توان اقدام به درج تعاريف بصورت مستقيم کرد . در چنين مواردی از گرامر زير استفاده می گردد:

<!DOCTYPE rootElement [
declarations
]>

در صورتيکه تعاريف DTD با يک فايل خارجی مرتبط می گردنند ،از گرامر زير استفاده می گردد.

<!DOCTYPE rootElement SYSTEM "URIreference"[
declarations
]>

برگشت به ساختار سند XML
Comments .از بخش فوق بمنظور درج توضيحات لازم در رابطه با سند XML استفاده می گردد . در چنين مواردی پارسر، عمليات خاصی را بر روی آنها ( توضيحات ) انجام نخواهد داد. توضيحات با علامت--!> شروع و با علامت < -- خاتمه می يابد . عبارت زير توضيحات دلخواهی را در يک سند XML درج می نمايد .

<!--catalog last updated 2000-11-01-->

توضيحات می توانند در بخش prolog ، همراه DTD ، بعد از سند و يا در قسمت محتويات درج گردند. امکان استفاده از توضيحات بهمراه Attribute و يا درون تگ ها وجود ندارد . پارسر با مشاهده < -- از خاتمه توضيحات آگاه و عمليات عادی خود برای پردازش سند XML را دنبال ( پس از يک وقفه کوتاه همزمان با درج توضيحات ) خواهد کرد . با توجه به رسالت <-- ، ( خاتمه دهنده توضيحات ) نمی توان از آن در بخش های متفاوت عبارات مندرچ در قسمت توضيحات استفاده کرد . بجزء محدوديت فوق ، امکان استفاده از ساير کاراکترهای مجاز XML در بخش توضيحات ، ميسر خواهد بود . ( مشابه بخش CDATA) .

برگشت به ساختار سند XML

NameSpace . با استفاده از XML namespace ، می توان اين اطمينان را پيدا نمود که بين اسامی المان ها ی مشابه ( با مفا هيم متفاوت ) تداخل و تعارضی بوجود نخواهد آمد.

برگشت به ساختار سند XML

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

<elementName att1Name="att1Value" att2Name="att2Value"...>

يا

<elementName att1Name="att1Value" att2Name="att2Value".../>

Attribute ، می بايست دارای نام و مقدار باشد. يک المان نمی تواند دارای دو attribute باشد.

برگشت به ساختار سند XML
CDATA . در اين بخش به پارسر اعلان می گردد که کدهای نشانه گذاری در کاراکترهای موجود در بخش CDATA وجود ندارد. بخش فوق اغلب مورد استفاده زبانهای اسکريپت و نمونه محتويات HTML,XML است . زمانيکه پارسر با ] CDATA] ! > مواجه می گردد ، هيچگونه تفسيری در رابطه کاراکترهای موجود در بخش فوق را انجام نخواهد داد . پارسر با مواجه شدن با <[[ ، عمليات عادی خود برای تفسير را دنبال ادامه خواهد داد ( پس از يک توقف کوتاه و صرفا" ارائه گزارش ) . گرامراستفاده از CDATA بصورت زير است .

<![CDATA[An in-depth look at creating applications with XML, using <, >,]]>

برگشت به ساختار سند XML
Character and entity Refrences . امکان درج مستقيم کد حروف در يک سند XML نيز وجود دارد. ( در اين حالت برای درج حروف از تايپ کاراکترها بصورت مستقيم استفاده نشده است ) . استفاده از ويژگی فوق در موارد زير مفيد خواهد بود :

  • امکان درج مستقيم کاراکترها در يک سند (بدليل تفسير آنان بعنوان کدهای نشانه گذاری) وجود نداشته باشد .

  • امکان درج مستقيم کاراکترها بدليل محدوديت دستگاه ورود اطلاعات وجود داشته باشد .

  • امکان ارسال مطمئن کاراکترها از طريق پردازنده ئی با محدوديت کاراکترهای تک بايت وجود داشته باشد .

  • يک رشته و يا بخشی از سند بصورت متناوب تکرار و می توان آن را بصورت مختصر استفاده کرد .

بمنظور ارائه محتويات دلخواه ، XML از تعدادی عبارت خاص که با علامت & شروع و با ; خاتمه می يابند، استفاده می نمايد . مرجع کاراکترها ، امکانی را بمنظور درج کاراکترهای Unicode که توسط يک عدد مشخص می گردند ، فراهم می نمايد . برای درج کدهای مربوطه می توان از مبنای ده و يا شانزده استفاده کرد . برای درج کد با استفاده از مبنای ده از; value#& و برای مبنای شانزده از ; x value#& استفاده می گردد. مثلا" برای درج علامت يورو در يک سند XML می توان از ; x20AC#& و يا ; z 8364 #& استفاده کرد . جدول زير پنج entity از قبل ساخته شده برای کاراکترهای استفاده شده در يک سند XML را نشان می دهد .

Entity | Entity Reference | Meaning
lt | &lt; | < ( less than)
gt | &gt; | > (greater than)
amp | &amp; | & (ampersand)
apos | &apos; | ' (apostroph or single quote)
quot | &quot; | " (double quote)

برگشت به ساختار سند XML

Textual content . در سندهای XML ، امکان استفاده از کدهای Unicode و مجموعه وسيعی از کاراکترها شامل حروف، ارقام و ... وجود دارد.

جستجو
جستجو

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

مقالات
مشاهده گروه ها


نحوه دستيابی و انجام پردازش های لازم در رابطه با سند های XML

 نحوه دستيابی و انجام پردازش های لازم در رابطه با سند های XML New Page 1

ساير امکانات

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
DOM چيست ؟ | مديريت وب | 2188 | 0 | 0

DOM چيست

DOM چيست ؟

DOM)Document Object Model) يک رابط برنامه نويسی برای سندهای XML و Html است . با استفاده از اينترفيس فوق، نحوه دستيابی و انجام پردازش های لازم در رابطه با سند های XML و Html فراهم می گردد . برنامه نويسان با استفاده از DOM ، قادر به ايجاد يک سند ،حرکت در طول ساختار سند، افزودن ، اصلاح و يا حذف المان های يک سند XML و يا Html می باشند . DOM توسط کنسرسيوم وب استاندارد و بمنظور استفاده از طريق زبان های برنامه نويسی متعددی طراحی شده است .
گره ها
برنامه ای با نام پارسر، امکان استقرار يک سند XML در حافظه را فراهم می نمايد . پس از استقرار سند در حافظه ، اطلاعات مربوطه بکمک DOM ، قابل بازيابی و پردازش خواهد بود . DOM ، يک نمايش شبه درختی از يک سند XML را ايجاد می نمايد . المان Document ، دارای بالاترين سطح در درخت ايجاد شده است . المان فوق ، دارای يک و يا چندين فرزند است . يک اينترفيس گره ، امکان خواندن و يا نوشتن المان های خاصی در ساختار درختواره ای يک سند XML را ميسر می نمايد .با استفاده از خصلت ChildNodes مربوط به المان Document و بکارگيری يک حلقه تکرار می توان هر يک از گره ها را انتخاب و در ادامه عمليات مورد نظر در رابطه با آن را انجام داد . پارسر شرکت ماکروسافت (MSXML) ، دارای توابع متفاوت بمنظور حرکت در طول درخت، دستيابی به گره ها بهمراه خصلت مربوطه، درج و حذف گره ها و تبديل ساختار درختی به شکل اوليه XML است . در حال حاضر، سيزده نوع متفاوت گره توسط پارسرشرکت ماکروسافت، حمايت می گردد . جدول زير متداولترين نوع گره ها را نشان می دهد .

مثال | نوع گره
<!DOCTYPE food SYSTEM "food.dtd"> | Document type
<?xml version="1.0"?> | Processing instruction
<drink type="tea">Irani</drink> | Element
type="tea" | Attribute
Irani | Text

استفاده از پارسر
بمنظور خواندن، ويرايش و يا ايجاد و پردازش يک سند XML ، می بايست از يک پارسر استفاده کرد . پارسر شرکت ماکروسافت، يک عنصر مبتنی بر COM بوده که بهمراه IE نسخه پنج ، ارائه شده است . پس از نصب مرورگر فوق، امکان استفاده از پارسر فراهم می گردد . پارسر MSXML ، دارای امکانات متعدد برنامه نويسی بمنظور استفاده توسط زبانهای زير است :

  • حمايت از جاوااسکريپت VBScript Perl جاوا و ++ C

  • حمايت از استاندارد کنسرسيوم وب و XML DOM

  • حمايت از DTD و معتبر سازی

مثال : نحوه ايجاد شی Document ، با استفاده جاوااسکريپت ، VBscript و ASP در جدول زير نشان داده شده است :

مثال | تکنولوژی
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM") | Javascript
set xmlDoc = CreateObject("Microsoft.XMLDOM") | VBscript
set xmlDoc = Server.CreateObject("Microsoft.XMLDOM") | ASP

استقرار يک سند XML در حافظه
کدهای زير نحوه استقرار يک سند XML با نام Test.xml در حافظه را نشان می دهد :

استقرار يک سند XML در حافظه

<script language="JavaScript">
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.load("Test.xml")
// ....... پردازش های لازم
</script>

اولين خط در اسکريپت های فوق ، يک نمونه از پارسر XML شرکت ماکروسافت را ايجاد می نمايد . در دومين خط ، به پارسر اعلام می گردد منتظر دريافت کامل سند XML بوده قبل از اينکه پردازش خود را آغاز نمايد . در سومين خط ، به پارسر اعلام شده است که يک سند XML با نام Test.xml را در حافظه مستقر نمايد .

استقرار متن XML در پارسر
کدهای زير، نحوه استقرار يک رشته متن را در پارسر XML نشان می دهد . در مثال فوق از متد LoadXML در مقابل متد load استفاده شده است . از متد loadXML بمنظور استقرار يک رشته متن در پارسر استفاده می گردد .

استقرار يک رشته متن XML در حافظه

<script language="JavaScript">
var text="<note>"
text=text+"<to>Ali</to><from>Reza</from>"
text=text+"<heading>Reminder</heading>"
text=text+"<body>Don't forget me this weekend!</body>"
text=text+"</note>"
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.loadXML(text)
// ....... پردازش های لازم
</script>

شی ParseError
خطای مربوط به فايل : با استفاده از شی ParseError ، می توان از کد ، متن خطاء و حتی شماره خطی که خطاء در آن اتفاق افتاده است ، آگاهی يافت . در برنامه زير پارسر، سعی در استقرار سندی XML در حافظه نموده که وجود خارجی ندارد . پس از تشخيص خطاء ، برخی از خصلت های مربوط به خطاء در خروجی نمايش داده خواهد شد .

تشخيص خطاء و استفاده از شی ParseError در رابطه با وجود يک فايل

var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.load("Test1.xml")
document.write("<br>Error Code: ")
document.write(xmlDoc.parseError.errorCode)
document.write("<br>Error Reason: ")
document.write(xmlDoc.parseError.reason)
document.write("<br>Error Line: ")
document.write(xmlDoc.parseError.line)

خطای مربوط به XML . فرض کنيد يک سند XML که "خوش شکل " نمی باشد، توسط پارسر خوانده شود . کدهای زير نحوه تشخيص و برخورد با خطاء را نشان می دهد :

تشخيص خطاء و استفاده از شی ParseError در رابطه با سند "خوش شکل "

var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.load("note_error.xml")
document.write("<br>Error Code: ")
document.write(xmlDoc.parseError.errorCode)
document.write("<br>Error Reason: ")
document.write(xmlDoc.parseError.reason)
document.write("<br>Error Line: ")
document.write(xmlDoc.parseError.line)

خصلت های ParseError

عملکرد | خصلت
کد خطای بوجود آمده ، برگردانده می شود . | errorCode
علت خطای بوجود آمده ،برگردانده می شود . | reason
شماره خط خطای بوجود آمده ، برگردانده می شود | line
محل بروز خطاء در خط مربوطه را برمی گرداند . | linePos
رشته ای که شامل خط مربوط به خطای بوجود آمده است، برگردانده می شود | srcText
url مربوط به سند مستقر سده در حافظه ، بر گردانده می شود . | url
محل بروز خطاء در فايل مربوطه، برگردانده می شود . | filePos

حرکت در طول درخت
يکی از متداولترين روش های بازيابی المان های يک سند XML ، حرکت در طول درخت ( از گره ای به گره ديگر ) و استخراج مقدار متن ذخيره شده بهمراه هر يک از المان ها است . کدهای نوشته شده زير ، امکان حرکت در طول يک درخت XML را فراهم و در ادامه هر يک از المان های سند XML ، در خروجی نمايش داده می شوند ( کدها با استفاده از VBScript نوشته شده اند ) .

حرکت در طول درخت و نمايش المان های يک سند XML

set xmlDoc=CreateObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.load("note.xml")
for each x in xmlDoc.documentElement.childNodes
document.write(x.nodename)
document.write(": ")
document.write(x.text)
next

ايجاد محتويات مبتنی بر Html برای يک سند XML
يکی از مهمترين قابليت های XML ، تمايز و تفکيک سندهای Html از داده های مربوطه است . با استفاده از يک پارسر XML ، موجود در مرورگرها ، يک صفحه وب قادر به ايجاد محتوياتی پويا است . در اين زمينه می توان از پتانسيل های جاوااسکريپت بمنظور توليد و ارائه محتويات پويا نيز استفاده کرد . در همين راستا ، امکان استفاده از ASP برا ی ايجاد محتويات پويا با تاکيد بر نقش سرويس دهنده وب نيز وجود دارد . برنامه زير ، داده های موجود در يک سند XML را خوانده و آنها را با فرمت Html در خروجی نمايش خواهد داد .

نمايش داده های موجود در يک سند XML با استفاده از جاوااسکريپت

var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.load("note.xml")
nodes = xmlDoc.documentElement.childNodes
to.innerText = nodes.item(0).text
from.innerText = nodes.item(1).text
header.innerText = nodes.item(2).text
body.innerText = nodes.item(3).text

دستيابی به المان ها از طريق نام
رنامه زير داده های موجود در يک سند XML را خوانده و آنها را با فرمت Html در خروجی نمايش خواهد داد .

دستيابی به المان ها د ر يک سند XML از طريق نام و بکمک جاوااسکريپت

var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.load("note.xml")
document.write(xmlDoc.getElementsByTagName("from").item(0).text)

جستجو
جستجو

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

مقالات
مشاهده گروه ها


بررسی ضرورت استفاده از XSD و معرفی برخی از ويژگی های آن

 بررسی ضرورت استفاده از XSD و معرفی برخی از ويژگی های آن New Page 1

ساير امکانات

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
XSD چيست ؟ ( بخش اول ) | مديريت نرم افزار | 2291 | 6 | 4

XSD چيست

XSD چيست ؟
پس از عرضه XML ، مجموعه ای از تکتولوژی های ديگر در رابطه با آن و با هدفمندی خاصی مطرح و ارائه گرديده است . بهمين دليل است که امروزه XML بعنوان خانواده ای بزرگ از ساير تکنولوژی ها در نظر گرفته می شود .XSD) XML Schema Definition) ، يکی از تکنولوژی های موجود در اين زمينه است. در مجموعه مقالاتی که در اين رابطه ارائه خواهد شد، به بررسی جايگاه XSD و نحوه ارتباط آن با XML خواهيم پرداخت . در اين مقاله ، به بررسی ضرورت استفاده از XSD و معرفی برخی از ويژگی های آن اشاره خواهد شد .
چرا به Schema نياز است ؟
يکی از مزايای مهم XML ،ارائه انعطاف و تسهيلات لازم برای طراحان و پياده کنندگان در رابطه با تشريح ساختار داده ها است. سندهای XML ، دارای مخاطبان خاص خود ( انسان و يا ساير برنامه های کامپيوتری ) بوده و می بايست امکانات لازم از زاويه استفاده کننده نيز مورد توجه قرار گيرد . در اين رابطه می بايست مجوزهای لازم بمنظور ارائه هر يک از عناصر و يا خصلتهای موجود در سند مشخص گردد.ترتيب عناصر و خصلت های موجود در يک سند XML نيز بسيار حائز اهميت بوده و همواره مورد نياز منابعی خواهد بود که بنحوی از سندهای XML بعنوان ساختاری برای تامين داده های خود استفاده می نمايند. همانگونه که اشاره شد، سندهای XML ممکن است توسط انسان و يا ساير برنامه ها و نرم افزارها استفاده گردند. بديهی است با فراگير شدن استفاده از داده ها با فرمتی که توسط سندهای XML مطرح می گردد ،انتظار حمايت از انواع داده ها که در ساير زبانهای برنامه نويسی نظير Java، VB، C++ ، SQL وجود دارد ،بشدت مورد نياز خواهد بود. پياده کنندگان سندهای XML بدنبال يک راهکار مناسب برای تعريف نوع داده ها (Date ، String ، Integer) و ساير موارد مربوط به قانونمند نمودن ساختار داده ها در رابطه با يک سند XML بودند .بدين ترتيب تعريف Schema برای سندهای XML ، امری حياتی و ضروری تلقی گرديد .

Schema ، محتوای مجاز يک کلاس از اسناد XML را تشريح مي کند.

تاريخچه XML Schema
برای نوشتن سندهای XML ،در ابتدا از شکل ساده ای از زبان نشانه گذاری SGML استفاده می گرديد .SGML ، صرفا" برای نشانه گذاری اسناد مورد استفاده قرار می گرفت . جايگاه استفاده از XML در ابتدا برای برنامه نويسان مشخص نبود و اکثر عرضه کنندگان مرورگرهای وب ، از تکنولوژی فوق حمايت نمی کردند . پس از مدت زمان کوتاهی، تکنولوژی XML جايگاه خاصی را در بين متقاضيان خصوصا" برنامه نويسان پيدا کرد . اکثر استفاده کنندگان به اين نکته پی بردند که XML گزينه ای مناسب برای اکثر نيازهای آنان بوده و کاربرد آن بسيار فراتر از نشانه گذاری اسناد است .
در زمان عرضه XML 1.0 توسط کنسرسيوم وب ، از تکنولوژی DTD برای تشريح سندهای XML استفاده می گرديد . گرامر استفاده شده در DTD ، پاسخگوی برخی از نيازهای جديد خصوصا" در رابطه با انتقال اطلاعات بود . در ادامه نياز های جديدی در رابطه با پردازش داده های موجود در اسناد XML مطرح گرديد . بمنظور ارائه قابليت فوق برای منابع مصرف کننده ، می بايست امکاناتی بمنظور تشريح مناسب داده ها ( ارتباط ، نوع داده و ... ) در اختيار برنامه نويسان قرار گيرد . بدين ترتيب برنامه نويسان قادر به تشخيص رفتار داده ها در يک سند XML و انجام پردازش های لازم در رابطه با داده های موجود در يک سند XML خواهند بود . بمنظورپاسخ مناسب به خواسته های فوق ، کنسرسيوم وب تصميم به طراحی يک زبان توصيفی جديد با نام XML Schema گرفت . در اين رابطه يک گروه کاری با همين نام تاسيس گرديد . مهمترين هدف گروه فوق، ايجاد يک زبان توصيفی جديد با قابليت استفاده توسط استفتاده کنندگان ، توليدکنندگان و برنامه نويسان با توجه به طيف گسترده انتظارات هر گروه بود . گروه XML Schema کنسرسيوم وب ، فعاليت خود را از فوريه سال 1999 آغاز و پس از دو سال در 2001 موفق به طراحی زبان توصيفی شدند . تکنولوژی فوق با نام XML Schema Definition و يا XSD معرفی گرديد . در زمانيکه گروه فوق ، سرگرم طراحی زبان توصيفی خود بودند، راهکارهای متفاوتی در اين خصوص توسط ساير شرکت ها ارائه گرديد . مثلا" شرکت ماکروسافت تکنولوژی XDR را عرضه نمود . تکنولوژی استاندارد شده کنسرسيوم وب ، در مدت زمان کوتاهی پس از عرضه ، بعنوان گزينه ای مناسب برای تشريح ساختار داده ها ی موجود در يک سند XML ، مورد توجه عموم متقاضيان قرار گرفت .

ويژگی های مهم XSD

  • فرمت آن همانند يک سند XML است. بنابراين ضرورتی به فراگيری گرامر جديدی برای ايجاد XSD نخواهد بود . بدين ترتيب می توان از تمام ابزارهای موجود در رابطه با سندهای XML ، در ارتباط با XSD نيز استفاده کرد .

  • ضمن حمايت از انواع داده (Data Type) تعريف شده در اکثر زبانهای برنامه سازی، امکان تعريف نوع داده مورد نظر استفاده کننده را نيز فراهم می نمايد . بدين ترتيب می توان محتويات سند را محدود به نوع داده مورد استفاده در نرم افزار خود نمود و يا حتی از خصلت فيلدهای موجود در بانک اطلاعاتی کپی برداری کرد .

  • امکان تعريف کليد يکتا (Key) در عناصر اطلاعاتی را بمنظور عمليات يکتا سازی(Uniqe) فراهم می نمايد .

  • از خصلت توارث مدل شئ گراء ، بخوبی تبعيت می نمايد . بدين ترتيب يک توصيف می تواند از توصيف ديگر به ارث رسيده باشد .ويژگی فوق ، توانائی توليد توصيف هائی با قابليت استفاده مجدد را ميسر می سازد .

  • امکان تعريف عناصر با ارزش NULL ، و يا فاقد ارزش ، در XSD وجود دارد .

  • از Namespace بخوبی حمايت می نمايد . بدين ترتيب امکان توصيف اسناد با استفاده از Namespace مختلف فراهم می گردد . اين ويژگی در راستای توليد توصيف هائی با قابليت استفاده مجدد است .

  • اسناد XSD ، نيز نظير سندهای XML ، توسط پارسر اعتبار سنجی شده و در صورت وجود خطا ء گزارشات لازم ارائه می گردد .

در بخش دوم ، به بررسی گرامر XSD خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


بررسی گرامر XSD

 بررسی گرامر XSD New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

شنبه 23 مهر 1384 2005 Oct. 15 Saturday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
XSD چيست ؟ ( بخش دوم ) | مديريت نرم افزار | 1249 | 6 | 3.3

XSD چيست ؟)بخش دوم )

XSD چيست ؟( بخش دوم )
در بخش اول اين مقاله ، به بررسی ضرورت استفاده از XSD و معرفی برخی از ويژگی های آن اشاره گرديد، در بخش دوم به بررسی گرامر XSD خواهيم پرداخت .

گرامر XSD
برای تشريح گرامر XSD ،در ابتدا به ذکر يک مثال پرداخته و سپس المانهای موجود در آن تشريح می گردد. جدول زير نمونه سند XML را نشان می دهد :

يک سند نمونه XML

<?XML Version = "1.0"?>
<Students>
<Student>
<ID>12345</ID>
<GPA>3.5</GPA>
</Student>
<Student>
<ID>67890</ID>
<GPA>4.0</GPA>
</Student>
</Students>

توصيف سند فوق، بر اساس متد XSD بصورت زير است :

توصيف سند XML با استفاده از متد XSD

<?XML Version = "1.0"?>
<XSD:Schema xmlns:xsd='http://www.W3.org/2001/xmlschema'>
<XSD:Element Name="student" Minoccurs="0" MaxOccurs="Unbounded"/>
<XSD:ComplexType>
<XSD:Sequence>
<XSD:Element Name="ID" Type="XSD:String" MinOccurs="1" MaxOccurs="1"/>
<XSD:Element Name="GPA" Type="XSD:String" MinOccurs="1" MaxOccurs="1"/>
</XSD:Sequence>
</XSD:ComplexType>
</XSD:Element>
</XSD:Schema>

در ادامه با توجه به سند XML اشاره شده وXSD مربوطه ، به تجزيه و تحليل توصيف تعريف شده خواهيم پرداخت .

اعلاميه XML
با توجه به اينکه XSD خود يک سند XML است ، پس خط اول آن ميتواند يک اعلاميه XML باشد . (به خط اول توصيف تعريف شده XSD توجه نمائيد )

<?XML Version = "1.0"?>

المان ريشه در توصيف XSD
 المان ريشه در يک سند XSD ،همواره با تگ <Schema> مشخص می گردد . بمنظور اعلام به پارسر XML که توصيف ارائه شده از روش XSD تبعيت می نمايد ، لازم است Namespace مرجع در المان <schema> تعيين گردد. Namespace فوق توسط کنسرسيوم وب ارائه شده است .(به خط دوم توصيف تعريف شده XSD توجه نمائيد )

<XSD:Schema xmlns:xsd='http://www.W3.org/2001/xmlschema'>
 .
 .
.
</XSD:Schema>

نکته : پيشوند XSD که در مثال فوق از آن استفاده شده است، نشاندهنده متد بکارگرفته شده بمنظور توصيف سند است . پيشوند فوق ، در صورت تعريف در NameSpace مرجع ، می تواند هر چيز ديگری را نيز شامل شود . همچنين اگر NameSpace مربوطه بصورت پيش فرض مشخص گردد ، می توان آن را حذف نمود. پيشنهاد می گردد بمنظور افزايش خوانائی سند و همچنين جلوگيری از مشکلات آتی خصوصا" زمانی که در توصيف مربوطه از توصيف ديگری استفاده ميگردد، ( Import) حتما" از پيشوند فوق ، استفاده گردد .

عناصر (Elements)
 المان ها ، مهمترين بخش در يک سند XSD می باشند . جهت معرفی هر المان می بايست خصلت های زير تعريف گردند .

  • Name : خصلت اجباری فوق ، نام عنصر مورد نظر را مشخص می نمايد .

  • Type : خصلت فوق ، نوع داده (Data Type) عنصر مورد نظر را مشخص و می تواند ساده نظير String و يا از انواع داده مرکب باشد .

  • MinOccurs : خصلت فوق،اختياری بودن يا اجباری بودن عنصرمورد نظر را مشخص می نمايد. اين خصلت اجباری نبوده و در صورت عدم مقدار دهی ، بصورت پيش فرض عدد يک برای آن در نظر گرفته خواهد شد . جدول ذيل مقادير مختلف خصلت فوق را نشان می دهد.

توضيحات | مقدار نسبت داده شده
عنصر اختياری است | 0
عنصر بايد حداقل به تعداد مشخص شده در سند وجود داشته باشد | Integer > 0

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

توضيحات | مقدار نسبت داده شده
عنصر فقط می تواند به اندازه عدد مشخص شده در سند وجود داشته باشد | Integer > 0
محدوديتی در ظهور عنصر در سند وجود ندارد | Unbounded

تگ Sequence
 اين تگ(نشانه) زمانی استفاده می گردد، که توالی عناصر در سند برای ما اهميت داشته باشد. از نشانه فوق، فقط در تعريف عناصر مرکب (عناصری که بيش از يک جزء داشته باشند) ميتوان استفاده نمود ، در چنين حالتی محل قرارگيری آن می بايست قبل از تعريف اجزاء مربوطه باشد .
با توجه به توضيحات فوق و مشاهده مجدد سند توصيفی نمونه، آناليز سند XML مربوطه به شرح ذيل خواهد بود .

توصيف سند XML با استفاده از متد XSD

<?XML Version = "1.0"?>
<XSD:Schema xmlns:xsd='http://www.W3.org/2001/xmlschema'>
<XSD:Element Name="student" Minoccurs="0" MaxOccurs="Unbounded"/>
<XSD:ComplexType>
<XSD:Sequence>
<XSD:Element Name="ID" Type="XSD:String" MinOccurs="1" MaxOccurs="1"/>
<XSD:Element Name="GPA" Type="XSD:String" MinOccurs="1" MaxOccurs="1"/>
</XSD:Sequence>
</XSD:ComplexType>
</XSD:Element>
</XSD:Schema>

  • اين سند شامل عناصری است به نام Student که يا اصلا" در سند وجود ندارد و يا به هر تعداد ممکن است وجود داشته باشد چراکه MinOccurs آن برابر صفر است و MaxOccurs آن برابر Unbounded .

  • عنصر Student ، شامل دو زير عنصر به نامهای ID و GPA و از نوع String بوده و هرکدام فقط ميتوانند يک بار در سند ظاهر شوند چرا که MinOccurs و MaxOccurs آنها برابر يک است (در مثال فوق ،در صورت حذف خصلت های MinOccurs و MaxOccurs مربوط به توصيف عناصر ID و GPA ،هيچ تغييری در ماهيت توصيف ايجاد نمی شود، چرا که مقادير پيش فرض آنها برابر يک است ).

  • عناصر ID و GPA در سند بايد به صورت پشت سرهم بيايند چرا که در توصيف سند از نشانه Sequence استفاده شده است .

در بخش سوم اين مقاله، به بررسی نوع های ساده (SimpleType) و نوع های مرکب (ComplexType) در XSD خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


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

 بررسی روش های پيشگيری از تخريب اطلاعات در شبکه های کامپيوتری از طريق پست الکترونيکی New Page 1

ساير امکانات

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
امنيت نامه های الکترونيکی ( بخش اول ) | مديريت شبکه | 3735 | 11 | 3.1

امنيت نامه های الکترونيکی ( بخش اول )

امنيت نامه های الکترونيکی ( بخش اول )
 اينترنت چالش های جديدی را در عرصه ارتباطات ايجاد کرده است. کاربران اينترنت با استفاده از روش های متفاوت ،امکان ارتباط با يکديگر را بدست آورده اند .اينترنت زير ساخت مناسب برای ارتباطات نوين را فراهم و زمينه ای مساعد و مطلوب بمنظور بهره برداری از سرويس های ارتباطی توسط کاربران فراهم شده است . ب


بررسی جايگاه تکنولوژی XPath در خانواده بزرگ XML

 بررسی جايگاه تکنولوژی XPath در خانواده بزرگ XML New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

شنبه 23 مهر 1384 2005 Oct. 15 Saturday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
XPath چيست ؟ ( بخش اول ) | مديريت وب | 1962 | 1 | 5

XPath چيست ؟ ( بخش اول )

XPath چيست ؟ ( بخش اول )

XML ، بهمراه خود مجموعه ای از ساير تکنولوژی ها را ايجاد کرده است . XSL يکی از مهمترين تکنولوژی های مرتبط با XML بوده که عموما" به سه تکنولوژی ديگر اشاره می نمايد :

  • XSLT : زبانی برای تبديل ساختار يک سند XML

  • XPath : زبانی برای آدرس دهی بخش های متفاوت يک سند XML

  • XSL-FO : زبانی بمنظور فرمت دهی يک سند XML

XPath يکی از تکنولوژی های مرتبط با XML بوده که ارتباط بسيار نزديکی با XSLT دارد . بنابراين لازم است قبل از آشنائی با XPath ،نگاهی سريع به تکنولوژی XSLT داشته و از اين رهگذر جايگاه XPath را تبين نمائيم .XSLT زبانی مبتنی بر قوانين بوده و با ساير زبان های برنامه نويسی تفاوت دارد. XSLT مبتنی بر مجموعه ای از تمپليت ها است که هر يک بر اساس قوانين تعريف شده شکل واقعی خود را پيدا خواهند کرد .در حقيقت يک تمپليت با اتکاء بر قوانين تعريف شده، نحوه پردازش سندهای XML را مشخص می نمايد.به عبارت ديگر يک Stylesheet ، نحوه ايجاد خروجی مورد نظر در زمان مواجه شدن با يک الگو در سند XML را مشخص می نمايد. در XSLT بر اساس مجموعه ای از قوانين، تمپليت ( تمپليت ها ) تعريف و در زمان تبديل يک سند XML از قوانين موجود در XSLT برای يافتن يک الگو در سند XML استفاده می گردد . در صورتيکه الگوی مورد نظر در سند XML پيدا گردد ، واکنش های پيش بينی شده ، انجام و خروجی مورد نظر ايجاد می گردد. يک StyleSheet می تواند نحوه برخورد با يک المان خاص در زمان عمليات تبديل را مشخص و تعريف نمائيد. مثلا" در صورتيکه المانی با نام NAME در سند XML پيدا گرديد، می توان واکنش های مورد نظر را بمنظور برخورد با واقعيت موجود مشخص کرد. گرامر تمپليت در اين حالت بصورت زير خواهد بود :

<xsl:template match="NAME">
...
</xsl:template>

مثال: استفاده از XSLT بمنظور تبديل يک سند XML
در اين مثال با استفاده از XSLT يک سند XML به Html تبديل و در خروجی نمايش داده می شود .

سند XML نمونه ( Test.xml)

<?xml version="1.0" ?>
<?xml:stylesheet type="text/xsl" href="Test.xsl"?>
<PEOPLE>
<PERSON>
<NAME>Webmaster</NAME>
<EMAIL>webmaster@Srco.ir</EMAIL>
</PERSON>
<PERSON>
<NAME>Webadmin</NAME>
<EMAIL>info@Srco.ir</EMAIL>
</PERSON>
</PEOPLE>

در سند فوق از يک دستورالعمل پردازشی بمنظور مراجعه به Stylesheet بصورت زير استفاده شده است :

<?xml:stylesheet type="text/xsl" href="Test.xsl"?>

خروجی Html مورد نظر
Name | Email
Webmaster | webmaster@Srco.ir
Webadmin | info@Srco.ir

سند XSLT بمنظور تبديل سند XML به HTML برای نمايش در مرورگر ( Test.xsl)

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<HTML>
<BODY>
<TABLE BORDER="3">
<TR>
<TD>Name</TD>
<TD>Email</TD>
</TR>
<xsl:for-each select="PEOPLE/PERSON">
<TR>
<TD><xsl:value-of select="NAME"/></TD>
<TD><xsl:value-of select="EMAIL"/></TD>
</TR>
</xsl:for-each>
</TABLE>
</BODY>
</HTML>
</xsl:template>
</xsl:stylesheet>

در هر فايل XSL ، می بايست XSL namespace معرفی گردد . بدين ترتيب پارسر از نسخه XSLT استفاده شده ، آگاهی لازم را پيدا خواهد کرد .

<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">

توضيحاتی در رابطه با مثال فوق :

  • قبل از انجام هر گونه پردازش در رابطه با يک سند XML ، می بايست با استفاده از يک عبارت XPath بخش مورد نظر در سند انتخاب گردد .عمليات فوق توسط يک عملگر match انجام می شود . در صورتيکه تمام سند انتخاب گردد، از "/" = match استفاده می گردد. يکی ديگر از رويکردهای موجود، استفاده از المانی است که نشاندهنده تمام سند است . در مثال فوق،المان موجود در سند که دارای چنين رسالتی است با استفاده از match = PEPOLE مشخص می گردد.

    <xsl:template match=" ... ">

  • عبارت زير، تمام المان های PERSON در بافتار PEPOLE را با استفاده از PEPOLE/PERSON که عبارتی از نوع XPath است، پيدا خواهد کرد. در صورتيکه گره انتخابی، شامل تمام المان ها در ريشه باشد ، تمام المان های PEOPLE انتخاب خواهند شد . با توجه به اينکه قصد نمايش تمام المان های PERSON در سند خروجی وجود دارد ، از عبارت فوق استفاده شده است . عبارت for-each يک حلقه تکرار بوده که باعث انجام پردازش های يکسان در رابطه با المان های مورد نظر( انتخابی ) خواهد شد .

    <xsl:for-each select="PEOPLE/PERSON">

  • زمانيکه يک المان PEPOLE توسط عبارت xsl:for-each انتخاب گرديد، با استفاده از عبارت xsl:value-of مقدار مربوط به المان استخراج و در فايل خروجی قرار می گيرد. در مثال فوق، مقدار ذخيره شده در المان NAME در خروجی قرار خواهد گرفت .

    <xsl:value-of select="NAME"/>

CSS
هسته اوليه XSL از CSS شکل گرفته است . CSS بمنظور تعريف و افزودن فرمت به يک فايل Html استفاده می گردد . گرامر استفاده شده در يک Stylesheet مربوط به XSLT مشابه گرامر استفاده شده در CSS است . Stylesheet های استفاده شده در XSLT دارای عملکردی بسيار متفاوت نسبت به نمونه های خود در CSS می باشند . CSS امکان تعريف زنگ ها ، زمينه ها ، نوع و اندازه فونت ها را برای يک صفحه وب Html فراهم می نمايد . XSLT امکان تبديل يک فايل XML را به فرمتی ديگر فراهم می نمايد . در صورتيکه هدف صرفا" تعريف فرمت و قالب برای يک صفحه وب باشد ، می توان همچنان از CSS استفاده کرد . استفاده از CSS با توجه به عموميت آن، برای اکثر استفاده کنندگان گزينه ای مناسب خواهد بود .

XML Query Language
XML ، امکان تعريف تگ های اختصاصی را توسط مولفين سندها ، فراهم می نمايد، بنابراين تبديل يک سند XML به نوع ديگر، همواره بعنوان يک نياز خواهد بود . از طرف ديگر، مرورگر قادر به نمايش مستقيم اسناد XML نمی باشند . بنابراين ضروری است که يک سند XML به HTML تبديل تا امکان نمايش آن توسط مرورگرهای وب فراهم گردد . بمنظور پاسخ به نيازهای فوق، شرکت های ماکروسافت، Texcel و WebMethods در سال 1998 پيشنهاد ايجاد يک زبان پرسو جو برای XML را به کنسرسيوم وب، ارائه دادند (XML Query Language :XQL) . بخشی از پيشنهاد فوق به نحوه استفاده از زبان XSL در اسناد XML اشاره داشت . در سال 1999 کنسرسيوم وب ، تصميم به يکپارچه نمودن تمامی تحقيقات انجام شده در رابطه با " ايجاد يک مدل اساسی برای پرس و جو " ، گرديد . و بر همين اساس XSLT معرفی و عرضه گرديد .

XPath
در زمان پياده سازی XSLT ، گروه ديگری در کنسرسيوم وب بر روی يکی از تکنولوژی های مرتبط با XML و با نام XPointer فعاليت خود را آغاز نمودند. XPointer از ايده تگ های anchor در يک سطح جديد استفاده می کرد . هم XPointer و هم XSLT نيازمند روشی بمنظور اشاره به بخش های متفاوت يک سند XML می باشند. XSLT نيازمند انتخاب بخش های از يک سند XML بمنظور عمليات تبديل بوده و XPointer بمنظور الحاق دو سند به امکان فوق نياز خواهد داشت . بدين منظور می بايست از يک گرامر متداول در اين زمينه استفاده تا امکان بکارگيری آن در XSLT و XPointer فراهم گردد . اين تکنولوژی جديد، XPath ناميده شد . با اينکه XPath زيرمجموعه ای از XSLTاست ولی می تواند بصورت مستقل نيز استفاده گردد .
XPath زبانی برای يافتن اطلاعات در يک سند XML است . با استفاده از XPath می توان محل و موقعيت ساختار سند و يا داده های موجود در يک سند XML را مشخص نمود. پس از مشخص نمودن موقعيت و مکان المان مورد نظر در يک سند XML ، می توان با استفاده از XSLT پردازش های لازم را در رابطه با اطلاعات مربوطه، انجام داد .کنسرسيوم وب ، تعريف زير را در ارتباط با XPath ارائه نموده است :

تعريف XPath

XPath ، زبانی بمنظورآدرس دهی بخش های متفاوت يک سند XML بمنظور استفاده در XSLT و XPointer است .

هدف اوليه XPath ،امکان آدرس دهی بخش های متفاوت يک سند XML است . بمنظور تامين خواسته فوق از امکانات و پتانسيل های متعددی بمنظور انجام عمليات بر روی رشته ها ، اعداد و منطق استفاده می شود . XPath از يک گرامر فشرده و عدم مبتنی بر XML بهمراه URI و مقادير خصلت های XML استفاده می نمايد.دليل انتخاب نام XPath برای تکنولوژی فوق بدين علت است که در حقيقت از يک آدرس بمنظور حرکت در طول يک سند XML با ساختار سلسله مراتبی استفاده می گردد. XPath يک سند XML را بعنوان درختی از گره ها شبيه سازی می نمايد . در اين راستا ، گره های متفاوتی نظير: گره های Element ، گره های Attribute و گره های Text ، وجود دارد برای هر گره توسط XPath ، يک رشته در نظر گرفته می شود . برخی از انواع خاص گره ها دارای اسامی اختصاصی خود می باشند . XPath بطور کامل XML Namespace را حمايت می نمايد .بنابراين نام يک گره توسط يک زوج ، شامل يک بخش محلی و يک Namespace از نوع URIمشخص می گردد ( نام توسعه يافته ) .

برخی از مفاهيم اوليه XPath
گرامر استفاده شده در XPath شباهت زيادی به نحوه آدرس دهی فايل ها در يک سيتستم آدرس دهی فايل ها دارد . در صورتيکه مسير با "/" شروع گردد ، نشاندهنده يک مسير مطلق به المان مورد نياز است . در صورتيکه آدرس با " //" شروع گردد، تمام المان هائی که با شرايط اعلام شده مطابقت نمايند، انتخاب می گردند . مثلا" //Price// ، باعث انتخاب تمام المان های price موجود در سند می گردد .

Context ( بافتار )
بافتار يک پرس وجو ، گره ای در سند XML است که پردارشی بر روی آن در حال انجام است . بنابراين در تمپليت زير :

xsl:template match="/"

ما در بافتار ريشه سند XML می باشيم . زمانيکه از از حلقه تکرار xsl:for-each استفاده می گردد ، بافتار، گره ای است که در حال حاضر از طريق حلقه تکرار بر روی آن قرار گرفته ايم . شناخت بافتاری که توسط يک تمپليت XSL پردازش می گردد ، بسيار حايز اهميت بوده و در خيلی از موارد و زمانيکه يک فايل XSL نوشته شده ، خروجی مورد نظر را توليد نمی نمايد ، ممکن است اشکال از بافتار باشد . زمانيکه عمليات اشکال زدائی XSL را انجام خواهيم داد ، اولين سوالی که مطرح خواهد شد ، ماهيت بافتار پردازش شده است .

مکان يابی مسيرها
با مکان يابی مسيرها ، بافتار مربوط به گره ای که قصد يافتن آن را داريم ، مشخص می گردد . برای تعيين موقعيت يک مسير، می توان از دو روش کوتاه و يا غيرکوتاه استفاده کرد . بمنظور انتخاب يکی از روش های فوق، می بايست به حمايت آن از طرف پارسر مطمئن گرديد( از سال 2000 ، پارسر MSXML ماکروسافت، دو روش فوق را حمايت می نمايد ) .

  • گرامر کوتاه (Abbreviated ) . مثال زير، نحوه مکان يابی المان های موجود در يک سند XML را به صورت کوتاه توسط XPath نشان می دهد.

<xsl:for-each select="PEOPLE//PERSON">

  • گرامر غيرکوتاه (unabbreviated ) .مثال زير ، نحوه مکان يابی المان های موجود در يک سند XML را به صورت غيرکوتاه توسط XPath نشان می دهد.

<xsl:for-each select="child::PEOPLE/descendant::PERSON">

د ر بخش دوم اين مقاله، به بررسی عبارات و توابع در XPath خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


سري نرم افزارهاي آموزشي ICTL

 سري نرم افزارهاي آموزشي ICTL New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها

يكی از مهمترين اهداف راه اندازی سايت سخاروش ،‌ افزايش ضرِِيب نفوذ دانش در جامعه است ، چراكه اعتقاد داريم توسعه پايدار و مستمر جزء با ارتقاء سطح دانش عموم شهروندان يك جامعه امری غير ممكن و دور از انتظار خواهد بود . از بدو راه اندازی سايت تاكنون عليرغم تمامی مشكلات و مسائل موجود سعی نموده ايم كه از اين مسير خارج نشويم و اين راه دشوار را با حمايت و كمك شما عزيزان به درستی، با سرعت مناسب و با هم طی نمائيم .
در تلاشی ديگر جهت نيل به اهداف اشاره شده ، اين شركت اقدام به طراحی و توليد مجموعه نرم افزارهای آموزشی و با نام ICTL نموده است . اولين مجموعه از اين سري با عنوان سخت افزار به تشريح عملكرد چهل سخت افزار متداول می پردازد كه برای ارائه آنان از متن ، گرافيك ، انيميشن و نزديك به سی و پنج دقيقه فيلم در خصوص معرفی و نحوه نصب سخت افزار مربوطه استفاده شده است .
اميد داريم كه اين مجموعه مورد توجه و استفاده علاقه مندان قرار بگيرد و به زودی با مجموعه های بعدی در كنار شما باشيم .

روش تهيه
علاقه مندان به تهيه اين CD آموزشی می توانند درخواست خود را مستقيما" از طريق شماره تلفن 7643788 و يا آدرس پست الكترونيكی ICTL AT Srco.ir برای اين شركت ارسال نمايند .

سری نرم افزارهای آموزشي ICTL
( سخت افزار )

جستجو
جستجو

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


آشنائی با مدل مرجع OSI

 آشنائی با مدل مرجع OSI New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | درباره ما | خود آزمون ها

نسخه قابل چاپ

عنوان | نويسنده | مشاهده
آشنائی با مدل مرجع OSI ( بخش دوم) | مديريت آموزش | 1565

آشنائی با مدل مرجع OSI ( بخش اول)

آشنائی با مدل مرجع OSI ( بخش دوم)

سوال يک : PDU از چه کلماتی اقتباش شده و در مدل مرجع OSI نشان دهنده چه چيزی است ؟

  1. Private Data Unit
  2. Protected Data Unit
  3. Public Data Unit
  4. Protocol Data Unit

مشاهده پاسخ :

پاسخ : گزينه d
توضيحات :
PDU از کلمات Protocol Data Unit اقتباس و بيانگر يک قطعه داده در يک لايه خاص مدل مرجع OSI است . مثلا" در لايه فيزيکی PDU ، يک بيت و در لايه شبکه يک Packet است .

سوال دوم : هدف از کپسوله سازی در مدل OSI چيست ؟

  1. رمزنگاری داده برای امنيت

  2. افزودن هدر و در برخی موارد اطلاعاتی به انتهای PDU

  3. شکستن يک PDU به بخش های کوچکتر

  4. هيچکدام

مشاهده پاسخ :

پاسخ : گزينه b
توضيحات :
زمانی که شبکه بر اساس مدل OSI داده خود را ارسال می نمايد ، عمليات از لايه Application شروع شده و حرکت به سمت پائين ادامه می يابد . هر PDU در يک لايه بخصوص می بايست به يک PDU در لايه پائين تر تبديل گردد . روش و الگوی تبديل در مدل OSI توسط کپسوله سازی مشخص می گردد( فرآيندی که بر اساس آن به هدر داده تعداد اندکی بايت اضافه می گردد ) .
در لايه Data Link ( لايه دوم ) ، داده هائی نيز به انتهای PDU اضافه می گردد که از آنان به منظور تشخيص خطاء استفاده می شود .

سوال سوم: کداميک از PDU های زير در لايه Transport استفاده می گردد ؟

  1. bits

  2. frames

  3. packets

  4. segments

مشاهده پاسخ :

پاسخ : گزينه d

سوال چهارم: کداميک از PDU های زير در لايه Network استفاده می گردد ؟

  1. bits

  2. frames

  3. packets

  4. segments

مشاهده پاسخ :

پاسخ : گزينه c

سوال پنجم : کداميک از PDU های زير در لايه Data Link استفاده می گردد ؟

  1. bits

  2. frames

  3. packets

  4. segments

مشاهده پاسخ :

پاسخ : گزينه b

سوال ششم: کداميک از PDU های زير در لايه Physical استفاده می گردد ؟

  1. bits

  2. frames

  3. packets

  4. segments

مشاهده پاسخ :

پاسخ : گزينه a

سوال هفتم :کدام لايه در مدل OSI مسئوليت تشخيص خطاء را برعهده دارد ؟

  1. physical

  2. data link

  3. network

  4. transport

مشاهده پاسخ :

پاسخ : گزينه b

سوال هشتم : کدام لايه در مدل OSI مسئوليت برطرف نمودن خطاء را برعهده دارد ؟

  1. physical

  2. data link

  3. network

  4. transport

مشاهده پاسخ :

پاسخ : گزينه d

سوال نهم: کدام لايه در مدل OSI مرتبط با زير لايه های MAC و LLC است ؟

  1. physical

  2. data link

  3. network

  4. transport

مشاهده پاسخ :

پاسخ : گزينه b
توضيحات :
MAC که از کلمات Media Access Control و LLC که از کلمات Logical Link Control اقتباس شده اند، مرتبط با لايه Data Link می باشند . زير لايه MAC ، امکانات حمايتی لازم به منظور حرکت به سمت لايه Network را فراهم نموده و زير لايه LLC با لايه فيزيکی در ارتباط است .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


آشنائی با اصول اوليه امنيت اطلاعات

 آشنائی با اصول اوليه امنيت اطلاعات New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | درباره ما | خود آزمون ها

نسخه قابل چاپ

عنوان | نويسنده | مشاهده
مبانی امنيت اطلاعات ( بخش اول) | مديريت آموزش | 2257

مبانی امنيت اطلاعات ( بخش اول)

مبانی امنيت اطلاعات ( بخش اول)

سوال يک : هر کامپيوتر موجود بر روی اينترنت به منظور ارتباط با ساير کامپيوترها می بايست دارای يک ....... باشد .

  1. نام

  2. آدرس IP

  3. آدرس MAC

  4. امضای ديجيتال

مشاهده پاسخ :

پاسخ : گزينه b
توضيحات :
هر کامپيوتر موجود در اينترنت به منظور ارتباط با ساير کامپيوترها می بايست دارای يک آدرس IP منحصربفرد باشد .

سوال دوم : عملکرد يک آدرس IP در اينترنت مشابه کداميک از موارد زير است ؟

  1. تاريخ تولد

  2. آدرس پستی

  3. شماره دانشجوئی

  4. شماره تلفن

مشاهده پاسخ :

پاسخ : گزينهb
توضيحات :
هر کامپيوتر ميزبان در اينترنت دارای يک آدرس منحصر بفرد مشابه با روش آدرس دهی منازل در يک آدرس پستی است که IP ناميده می شود .

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

  1. مودم

  2. پروتکل

  3. زبان

  4. فرآيند

مشاهده پاسخ :

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

سوال چهارم: TCP داده ها را به بخش های کوچکتری با نام ........... تقسيم می نمايد :

  1. فايل

  2. packet

  3. بايت

  4. بيت

مشاهده پاسخ :

پاسخ : گزينه b
توضيحات :
پروتکل TCP داده ها را به بخش های کوچکتر و قابل مديريتی با نام packet تقسيم می نمايد .

سوال پنجم :يک آدرس IP از چند بخش تشکيل شده است ؟

  1. 4
  2. 2
  3. 1
  4. 3

مشاهده پاسخ :

پاسخ : گزينه a
توضيحات :
آدرس های IP از چهار بلاک عدد سه رقمی بين صفر تا 255 تشکيل می گردند .

سوال ششم: کانال های يک تلويزيون را می توان با ........ بر روی يک شبکه مقايسه نمود .

  1. برنامه ها


آشنائی با اصول اوليه امنيت اطلاعات

 آشنائی با اصول اوليه امنيت اطلاعات New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | درباره ما | خود آزمون ها

نسخه قابل چاپ

عنوان | نويسنده | مشاهده
مبانی امنيت اطلاعات ( بخش دوم) | مديريت آموزش | 1751

مبانی امنيت اطلاعات ( بخش دوم)

مبانی امنيت اطلاعات ( بخش دوم)

سوال اول : يک ...... که به درستی طراحی و پيکربندی شده باشد ، مشابه وجود صرفا" يک نقطه برای ورود به يک ساختمان است که می بايست صلاحيت افراد برای ورود به آن توسط مامورين امنيتـی ، تائيد و مجوز مربوطه صادر شود .

  1. کارت شبکه

  2. نرم افزار آنتی ويروس

  3. سيستم تشخيص مزاحمين ( IDS )

  4. فايروال

مشاهده پاسخ :

پاسخ : گزينه d
توضيحات :
يک فايروال که به درستی طراحی و پيکربندی شده باشد ، مشابه وجود صرفا" يک نقطه برای ورود به يک ساختمان است که می بايست صلاحيت افراد برای ورود به آن توسط مامورين امنيتـی ، تائيد و مجوز مربوطه صادر شود .

سوال دوم :از چه نوع نرم افزاری می بايست به منظور تشخيص کدهای مخرب موجود در نامه های الکترونيکی استفاده نمود ؟

  1. Windows Update

  2. سيستم تشخيص مزاحمين ( IDS )

  3. آنتی ويروس

  4. فايروال

مشاهده پاسخ :

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

سوال سوم:يک نامه الکترونيکی فوری که از يک منبع غيرمتداول ارسال و خبر از وجود و يا شيوع يک ويروس می نمايد و از شما می خواهد که با فوروارد نمودن نامه الکترونيکی ، موضوع را سريعا" به اطلاع ساير دوستان خود برسانيد ، عموما" يک .......... است .

  1. گزارش دروغين ( Hoax )

  2. خبرنامه امنيتی

  3. ويروس

  4. کرم

مشاهده پاسخ :

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

سوال چهارم:يکی از روش های عمده برای توزيع ويروس ، استفاده از .......... است .

  1. فولدرهای به اشتراک گذاشته شده

  2. نامه های الکترونيکی

  3. اتصالات شبکه

  4. AOL

مشاهده پاسخ :

پاسخ : گزينه b
توضيحات :


آشنائی با اصول اوليه امنيت اطلاعات

 آشنائی با اصول اوليه امنيت اطلاعات New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | درباره ما | خود آزمون ها

نسخه قابل چاپ

عنوان | نويسنده | مشاهده
مبانی امنيت اطلاعات ( بخش سوم) | مديريت آموزش | 1908

مبانی امنيت اطلاعات

مبانی امنيت اطلاعات ( بخش سوم)

سوال اول :از کداميک از پروتکل های زير به منظور قرار دادن بسته های اطلاعاتی در مقصد با اولويت مشخص شده و بر اساس sequence number استفاده می شود ؟

  1. FTP

  2. SMTP

  3. UDP

  4. TCP

مشاهده پاسخ :

پاسخ : گزينه d
توضيحات :
مسئوليت بررسی sequence number موجود در هدر هر يک از بسته های اطلاعاتی و قراردادن آنان با اولويت مشخص شده در مقصد بر عهده پروتکل TCP است .

سوال دوم : عنوان و ...... يک Email بگونه ای در نظر گرفته می شوند که کاربران را ترغيب به فعال نمودن فايل های ضميمه آلوده نمايند .

  1. نام فايل

  2. محتوای

  3. آدرس مبداء

  4. نام ويروس

مشاهده پاسخ :

پاسخ : گزينه b
توضيحات :
عنوان و محتوای يک Email بگونه ای در نظر گرفته می شوند که کاربران را ترغيب به فعال نمودن فايل های ضميمه و در نهايت اجرای يک برنامه ويروس نمايند .

سوال سوم:به سرويس های اشتراک فايلی نظير Kazaa,Napster و Morpheus چه اصطلاحی اطلاق می گردد ؟

  1. Warez

  2. شبکه های Peer-To-Peer

  3. پروتکل های ارسال فايل

  4. نرم افزارهای غير مجاز

مشاهده پاسخ :

پاسخ : گزينه b
توضيحات :
با استفاده از سرويس های اشتراک فايلی نظير Morpheus,GNUtella و Kazaa به کاربرانی که نرم افزار سرويس گيرنده مربوطه را بر روی کامپيوتر خود نصب کرده باشند ، اجازه داده می شود که ماشين های خود را به عنوان سرويس دهنده فايل برای مجامع P2P وارد شبکه نموده و خود نيز به فايل ها و ساير کامپيوترهای موجود در شبکه P2P دستيابی داشته باشند .

سوال چهارم: يک ....... ، دستگاه و يا نرم افزاری است که از آن به منظور بررسی ترافيک شبکه و اعلام پيام های هشداردهنده به کاربران و يا مديران شبکه در مواردی که مهاجمان قصد دستيابی غيرمجاز به منابع موجود بر روی شبکه را داشته باشند ، استفاده می گردد.

  1. Firewall

  2. Network monitor

  3. IDS

  4. Honeypot

مشاهده پاسخ :

پاسخ : گزينه c
توضيحات :
يک IDS ، دستگاه و يا نرم افزاری است که از آن به منظور بررسی ترافيک شبکه و اعلام پيام های هشداردهنده به کاربران و يا مديران شبکه در مواردی که مهاجمان قصد دستيابی غيرمجاز به منابع موجود بر روی شبکه را داشته باشند ، استفاده می گردد.


مبانی شبکه

 مبانی شبکه New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | درباره ما | خود آزمون ها

نسخه قابل چاپ

عنوان | نويسنده | مشاهده
مبانی شبکه | مديريت آموزش | 1806

مبانی شبکه

مبانی شبکه

سوال يک :کداميک از اينترفيس های زير در هر لحظه يک بيت را ارسال می نمايد ؟

  1. پورت ويدئو

  2. پورت صدا

  3. پورت موازی

  4. پورت سريال

مشاهده پاسخ :

پاسخ : گزينه d
توضيحات :
پورت سريال در هر لحظه امکان ارسال يک بيت را فراهم می نمايد .

سوال دوم : کداميک از گزينه های زير عملکرد يک کارت شبکه را بهتر توصيف می نمايد ؟

  1. يک آداپتور WAN برای استفاده همراه مودم

  2. يک برد مدار چاپی که امکان مبادله اطلاعات در يک شبکه را فراهم مِی نمايد .

  3. يک کارت که صرفا" توسط شبکه های اترنت و CSMA/CD استفاده می شود .

  4. دستگاهی که مکانيزم استانداری برای ارائه يک آدرس منطقی را ارائه می نمايد .

مشاهده پاسخ :

پاسخ : گزينه b
توضيحات :
کارت شبکه ، يک برد مدار چاپی است که امکان مبادله اطلاعات در شبکه را برای يک کامپيوتر فراهم می نمايد . کارت شبکه بر روی يکی از اسلات های آزاد برداصلی کامپيوتر نصب و دارای يک و يا چندين اينترفيس برای اتصال به محيط انتقال است .

سوال سوم: کداميک از دستورات زير ، چندين بسته اطلاعاتی IP را به يک مقصد مشخص شده ارسال می نمايد ؟

  1. debug
  2. Ping
  3. ipconfig
  4. echo

مشاهده پاسخ :

پاسخ : گزينه b
توضيحات :
با استفاده از دستور Ping می توان چندين بسته اطلاعاتی را به يک مقصد مشخص ارسال نمود . هر بسته اطلاعاتی ارسالی ، در انتظار دريافت يک پاسخ از مقصد خواهد بود . پاسخ ارسالی، شامل مدت زمان رفت و برگشت بسته اطلاعاتی به مقصد مورد نظر است . با استفاده از نتايج ارسالی می توان تشخيص داد که آيا امکان ارتباط با مقصد وجود دارد ؟ از دستور ping می توان به منظور بررسی صحت عملکرد ارسال و يا دريافت اطلاعات توسط يک کارت شبکه ، پيکربندی TCP/IP و اتصال شبکه ای استفاده نمود .

سوال چهارم : فرض کنيد در شبکه ای يک دستگاه هاب و يا سوئيچ به چهار دستگاه هاب و يا سوئيچ ديگر متصل شده باشد و هر يک از آنان نيز به چندين ايستگاه متصل شده باشند . کداميک از موارد زير بيانگر توپولوژی استفاده شده در اين شبکه است ؟

  1. bus
  2. ring
  3. star
  4. Extended star

مشاهده پاسخ :

پاسخ : گزينه d
توضيحات :
يک توپولوژی Extended star ، چندين توپولوژی star را از طريق اتصال چندين هاب و يا سوئيچ به يکديگر مرتبط می نمايد . بدين ترتيب می توان حوزه تحت پوشش &


شبکه های محلی : عناصر و دستگاه ها

 شبکه های محلی : عناصر و دستگاه ها New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | درباره ما | خود آزمون ها

نسخه قابل چاپ

عنوان | نويسنده | مشاهده
شبکه های محلی : عناصر و دستگاه ها | مديريت آموزش | 1359

شبکه های محلی : عناصر و دستگاه ها

شبکه های محلی : عناصر و دستگاه ها

بخش اول : مفاهيم اوليه

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

  • کارت شبکه ، امکان مبادله اطلاعات در شبکه را برای يک کامپيوتر فراهم می نمايد .

  • از کابل های Crossover برای اتصال دو دستگاه مشابه نظير سوئيچ ها ، روترها ، هاب ها و کامپيوترهای شخصی ، استفاده می گردد .

  • از کابل های straight-through به منظور اتصال دستگاه های مختلف نظير اتصال بين سوئيچ و روتر ، سوئيچ و کامپيوتر و يا هاب و روتر ، استفاده می گردد.

  • شبکه های محلی را می توان به دو نوع عمده نظير به نظير ( peer-to-peer ) و سرويس گيرنده - سرويس دهنده ( client/server ) ، تقسيم نمود .

  • کابل Rollover به منظور اتصال يک ترمينال به پورت کنسول يک دستگاه بين شبکه ای استفاده می گردد .

  • ادامه ...

بخش دوم : پرسش و پاسخ

سوال يک : تاثير استفاده از هاب و يا repeater در يک شبکه بر روی Collision domain چيست ؟

  1. باعث کاهش Collision domain می گردد

  2. باعث افزايش Collision domain می گردد

  3. باعث حذف Collision domain می گردد

  4. بر روی Collision domain تاثيری ندارد

مشاهده پاسخ :

پاسخ : گزينه b
توضيحات :
Repeater ، يک سيگنال را دريافت و با توليد مجدد آن ، امکان ارسال آن را در مسافت های طولانی تر قبل از تضعيف سيگنال فراهم می نمايد . در زمان توسعه سگمنت های يک شبکه محلی، می بايست از استانداردهای موجود در اين زمينه استفاده نمود . مثلا" نمی توان بيش از چهار repeater را بين کامپيوترهای ميزبان در يک شبکه استفاده نمود .
فرآيند ارسال سيگنال از يک repeater به repeater ديگر می بايست حداقل تاخير ممکن را داشته باشد . در صورت وجود تاخير فراوان بر روی يک شبکه محلی، احتمال بروز تصادم و يا Collision افزايش يافته و متعاقب آن کارآئی شبکه کاهش خواهد يافت .
دستگاه هائی که به يک هاب متصل می شوند ، تمامی ترافيک عبوری از يک هاب را دريافت خواهند کرد . بديهی است به موازات افزايش دستگاه های متصل شده به هاب ، احتمال بروز تصادم و يا Collision افزايش می يابد .

سوال دوم:علت بروز تصادم و يا Collision در يک شبکه اترنت چيست ؟

  1. دو گره دارای آدرس های MAC يکسان باشند
  2. دو و يا بيش از دو گره در يک لحظه اقدام به ارسال داده نمايند
  3. از پروتکل های غيرسازگار با مدل مرجع OSI استفاده گردد
  4. چندين پروتکل routed در شبکه اجراء شود

مشاهده پاسخ :

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

سوال سوم: کداميک از عبارات زير در ارتباط با سوئيچ صحيح می باشد ؟

  1. مسئول کپسوله نمودن سگمنت ها به بسته های اطلاعاتی
  2. سازماندهی ترافيک بر اساس آدرس دهی لايه يک
  3. به منظور استفاده در شبکه های Token ring طراحی شده اند
  4. دارای پتانسيل های ارتباطی نظير هاب و تنظيم ترافيک مشابه Bridge می باشند

مشاهده پاسخ :

پاسخ : گزينه d
توضيحات :
در برخی موارد لازم است که يک شبکه بزرگ محلی به سگمنت های کوچکتر و قابل مديريتی تقسيم گردد. هدف از انجام اين کار کاهش ترافيک و افزايش حوزه جغرافيائی يک شبکه است . از دستگاه های شبکه ای متفاوتی به منظور اتصال سگمنت های متفاوت يک شبکه به يکديگر استفاده می گردد . Bridge ، سوئيچ ، روتر و gateway نمونه هائی در اين زمينه می باشند . سوئيچ و Bridge در لايه Data Link مدل مرجع OSI کار می کنند . وظيفه Bridge ، اتخاذ تصميم هوشمندانه در خصوص ارسال يک سيگنال به سگمنت بعدی شبکه است . پس از دريافت يک فريم توسط Bridge ، آدرس MAC مقصد فريم در جدول Bridge بررسی تا مشخص گردد که آيا ضرورتی به فيلترينگ فريم وجود دارد و يا می بايست فريم به سمت يک سگمنت ديگر هدايت گردد .
سوئيچ از لحاظ پورت های ارتباطی مشابه هاب بوده و از لحاظ مديريت ترافيک اطلاعات همانند يک bridge عمل می نمايد .

سوال چهارم : کداميک از دستگاه های شبکه ای زير می توانند بر اساس آدرس دهی IP در خصوص فورواردينگ ترافيک،اتخاذ تصميم نمايند؟

  1. bridge
  2. hub
  3. router
  4. MAU

مشاهده پاسخ :

پاسخ : گزينه c
توضيحات :
روتر مسئوليت روتينگ بسته های اطلاعاتی از مبداء به مقصد را در شبکه های محلی برعهده دارد و امکان ارتباطی را برای شبکه های WAN فراهم می نمايد . در شبکه های محلی روتر شامل broadcast بوده و سرويس های ترجمه آدرس محلی نظير ARP و RARP را ارائه می نمايد و می تواند با استفاده از يک ساختار Subnetwork ، شبکه را به چندين بخش تقسيم نمايد . به منظور ارائه سرويس های فو&


مشاهده مقالات در گروه

 مشاهده مقالات در گروه New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

Weblog.netkadeh.com باحال ترين وبلاگ كامپيوتري

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها

تعداد 231 مقاله وجود داشته و در 16 صفحه نمايش داده می شود. صفحه جاری : 1

مقالات گروه ◄ تمام مقالات تعداد مقالات موجود ◄ 231
عنوان | Cross Page Posting در ASP.NET 2.0
موضوع | نحوه Cross Page Posting در ASP.NET 2.0
نويسنده | مديريت وب | تاريخ نشر | 17 شهريور 1384
مشاهده | 397 | تعداد آراء 4 | امتياز 4.2
عنوان | Error Handling در ASP.NET
موضوع | نحوه برخورد با خطاء در ASP.NET
نويسنده | مديريت وب | تاريخ نشر | 17 شهريور 1384
مشاهده | 263 | تعداد آراء 1 | امتياز 4
عنوان | Master Page در ASP.NET 2.0
موضوع | استفاده از Master Page در ASP.NET 2.0
نويسنده | مديريت وب | تاريخ نشر | 4 شهريور 1384
مشاهده | 416 | تعداد آراء 2 | امتياز 4.5
عنوان | دستيابی داده در ASP.NET 2.0 ( بخش سوم )
موضوع | دستيابی داده در ASP.NET 2.0
نويسنده | مديريت وب | تاريخ نشر | 4 شهريور 1384
مشاهده | 419 | تعداد آراء 3 | امتياز 3.3
عنوان | دستيابی داده در ASP.NET 2.0 ( بخش دوم )
موضوع | دستيابی داده در ASP.NET 2.0
نويسنده | مديريت وب | تاريخ نشر | 6 مرداد 1384
مشاهده | 805 | تعداد آراء 3 | امتياز 4.3
عنوان | دستيابی داده در ASP.NET 2.0 ( بخش اول )
موضوع | دستيابی داده در ASP.NET 2.0
نويسنده | مديريت وب | تاريخ نشر | 2 مرداد 1384
مشاهده | 748 | تعداد آراء 3 | امتياز 3.7
عنوان | بازيابی Scalar Data با استفاده از Stored Procedure
موضوع | بازيابی Scalar Data با استفاده از Stored Procedure
نويسنده | مديريت وب | تاريخ نشر | 30 تير 1384
مشاهده | 583 | تعداد آراء 23 | امتياز 4.8
عنوان | بازيابی N ركورد جديد با استفاده از يك query
موضوع | بازيابی N ركورد جديد با استفاده از يك query
نويسنده | مديريت وب | تاريخ نشر | 29 تير 1384
مشاهده | 602 | تعداد آراء 1 | امتياز 5
عنوان | DataSet و يا DataReader ؟
موضوع | تفاوت DataSet و DataReader
نويسنده | مديريت وب | تاريخ نشر | 20 ارديبهشت 1384
مشاهده | 1722 | تعداد آراء 8 | امتياز 4.1
عنوان | دو سوال ، دو پاسخ و يک نکته !
موضوع | دو سوال متداول در رابطه با برنامه های وب ASP.NET و يک نکته
نويسنده | مديريت وب | تاريخ نشر | 23 اسفند 1383
مشاهده | 1857 | تعداد آراء 8 | امتياز 3.8
عنوان | انتخاب يک host برای يک سايت ASP.NET
موضوع | نحوه انتخاب يک host مناسب برای يک سايت ASP.NET
نويسنده | مديريت وب | تاريخ نشر | 19 اسفند 1383
مشاهده | 2150 | تعداد آراء 5 | امتياز 4.6
عنوان | دوسوال متفاوت و يک پاسخ يکسان !
موضوع | پاسخ به دو سوال متداول در زمان استفاده از ويژوال استوديودات نت
نويسنده | مديريت وب | تاريخ نشر | 18 اسفند 1383
مشاهده | 1622 | تعداد آراء 7 | امتياز 4.1
عنوان | اعمال محدوديت مشاهده فايل های XML و XSL در ASP.NET
موضوع | اعمال محدوديت مشاهده فايل های XML و XSL در ASP.NET
نويسنده | مديريت وب | تاريخ نشر | 18 اسفند 1383
مشاهده | 1518 | تعداد آراء 6 | امتياز 3
عنوان | آشنائی با ASP.NET 2.0 ( بخش دوم )
موضوع | آشنائی با ASP.NET 2.0
نويسنده | مديريت وب | تاريخ نشر | 10 اسفند 1383
مشاهده | 1973 | تعداد آراء 6 | امتياز 4.3
عنوان | آشنائی با ASP.NET 2.0 ( بخش اول )
موضوع | آشنائی با ASP.NET 2.0
نويسنده | مديريت وب | تاريخ نشر | 7 اسفند 1383
مشاهده | 1947 | تعداد آراء 12 | امتياز 4.1

صفحه : << بعدی 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

حداکثر امتياز يک مقاله پنج است .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


مشاهده مقالات در گروه

 مشاهده مقالات در گروه New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها

تعداد 231 مقاله وجود داشته و در 16 صفحه نمايش داده می شود. صفحه جاری : 1

مقالات گروه ◄ تمام مقالات تعداد مقالات موجود ◄ 231
عنوان | Cross Page Posting در ASP.NET 2.0
موضوع | نحوه Cross Page Posting در ASP.NET 2.0
نويسنده | مديريت وب | تاريخ نشر | 17 شهريور 1384
مشاهده | 352 | تعداد آراء 4 | امتياز 4.2
عنوان | Error Handling در ASP.NET
موضوع | نحوه برخورد با خطاء در ASP.NET
نويسنده | مديريت وب | تاريخ نشر | 17 شهريور 1384
مشاهده | 233 | تعداد آراء 1 | امتياز 4
عنوان | Master Page در ASP.NET 2.0
موضوع | استفاده از Master Page در ASP.NET 2.0
نويسنده | مديريت وب | تاريخ نشر | 4 شهريور 1384
مشاهده | 388 | تعداد آراء 2 | امتياز 4.5
عنوان | دستيابی داده در ASP.NET 2.0 ( بخش سوم )
موضوع | دستيابی داده در ASP.NET 2.0
نويسنده | مديريت وب | تاريخ نشر | 4 شهريور 1384
مشاهده | 389 | تعداد آراء 3 | امتياز 3.3
عنوان | دستيابی داده در ASP.NET 2.0 ( بخش دوم )
موضوع | دستيابی داده در ASP.NET 2.0
نويسنده | مديريت وب | تاريخ نشر | 6 مرداد 1384
مشاهده | 776 | تعداد آراء 3 | امتياز 4.3
عنوان | دستيابی داده در ASP.NET 2.0 ( بخش اول )
موضوع | دستيابی داده در ASP.NET 2.0
نويسنده | مديريت وب | تاريخ نشر | 2 مرداد 1384
مشاهده | 721 | تعداد آراء 3 | امتياز 3.7
عنوان | بازيابی Scalar Data با استفاده از Stored Procedure
موضوع | بازيابی Scalar Data با استفاده از Stored Procedure
نويسنده | مديريت وب | تاريخ نشر | 30 تير 1384
مشاهده | 557 | تعداد آراء 23 | امتياز 4.8
عنوان | بازيابی N ركورد جديد با استفاده از يك query
موضوع | بازيابی N ركورد جديد با استفاده از يك query
نويسنده | مديريت وب | تاريخ نشر | 29 تير 1384
مشاهده | 586 | تعداد آراء 1 | امتياز 5
عنوان | DataSet و يا DataReader ؟
موضوع | تفاوت DataSet و DataReader
نويسنده | مديريت وب | تاريخ نشر | 20 ارديبهشت 1384
مشاهده | 1707 | تعداد آراء 8 | امتياز 4.1
عنوان | دو سوال ، دو پاسخ و يک نکته !
موضوع | دو سوال متداول در رابطه با برنامه های وب ASP.NET و يک نکته
نويسنده | مديريت وب | تاريخ نشر | 23 اسفند 1383
مشاهده | 1820 | تعداد آراء 8 | امتياز 3.8
عنوان | انتخاب يک host برای يک سايت ASP.NET
موضوع | نحوه انتخاب يک host مناسب برای يک سايت ASP.NET
نويسنده | مديريت وب | تاريخ نشر | 19 اسفند 1383
مشاهده | 2131 | تعداد آراء 5 | امتياز 4.6
عنوان | دوسوال متفاوت و يک پاسخ يکسان !
موضوع | پاسخ به دو سوال متداول در زمان استفاده از ويژوال استوديودات نت
نويسنده | مديريت وب | تاريخ نشر | 18 اسفند 1383
مشاهده | 1608 | تعداد آراء 7 | امتياز 4.1
عنوان | اعمال محدوديت مشاهده فايل های XML و XSL در ASP.NET
موضوع | اعمال محدوديت مشاهده فايل های XML و XSL در ASP.NET
نويسنده | مديريت وب | تاريخ نشر | 18 اسفند 1383
مشاهده | 1504 | تعداد آراء 6 | امتياز 3
عنوان | آشنائی با ASP.NET 2.0 ( بخش دوم )
موضوع | آشنائی با ASP.NET 2.0
نويسنده | مديريت وب | تاريخ نشر | 10 اسفند 1383
مشاهده | 1954 | تعداد آراء 6 | امتياز 4.3
عنوان | آشنائی با ASP.NET 2.0 ( بخش اول )
موضوع | آشنائی با ASP.NET 2.0
نويسنده | مديريت وب | تاريخ نشر | 7 اسفند 1383
مشاهده | 1929 | تعداد آراء 12 | امتياز 4.1

صفحه : << بعدی 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

حداکثر امتياز يک مقاله پنج است .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


مشاهده مقالات در گروه

 مشاهده مقالات در گروه New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

Weblog.netkadeh.com باحال ترين وبلاگ كامپيوتري

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها

تعداد 231 مقاله وجود داشته و در 16 صفحه نمايش داده می شود. صفحه جاری : 10

مقالات گروه ◄ تمام مقالات تعداد مقالات موجود ◄ 231
عنوان | نقش عوامل انسانی در امنيت شبکه های کامپيوتری
موضوع | بررسی نقش عوامل انسانی در امنيت شبکه های کامپيوتری
نويسنده | مديريت شبکه | تاريخ نشر | 9 شهريور 1382
مشاهده | 4303 | تعداد آراء 14 | امتياز 3.8
عنوان | دستيابی به داده ها در دات نت ( بخش دوم)
موضوع | نحوه استفاده از ويژوال استوديو دات نت بمنظور ايجاد بانک اطلاعاتی
نويسنده | مديريت وب | تاريخ نشر | 7 شهريور 1382
مشاهده | 2099 | تعداد آراء 5 | امتياز 3.4
عنوان | معماری سرويس های وب ( بخش اول )
موضوع | بررسی معماری سرويس های وب
نويسنده | مديريت وب | تاريخ نشر | 5 شهريور 1382
مشاهده | 2846 | تعداد آراء 3 | امتياز 3.3
عنوان | مفاهيم اوليه برنامه نويسی در دات نت ( بخش دوم )
موضوع | مفاهيم اوليه برنامه نويسی در دات نت
نويسنده | مديريت وب | تاريخ نشر | 3 شهريور 1382
مشاهده | 1422 | تعداد آراء 1 | امتياز 5
عنوان | بررسی يک برنامه نمونه دات نت
موضوع | آناليز يک برنامه نمونه دات نت
نويسنده | مديريت وب | تاريخ نشر | 1 شهريور 1382
مشاهده | 1216 | تعداد آراء 6 | امتياز 3.7
عنوان | پيکربندی DHCP با رعايت مسائل ايمنی
موضوع | نحوه پيکربندی سرويس دهنده و سرويس گيرندگان DHCP
نويسنده | مديريت شبکه | تاريخ نشر | 29 مرداد 1382
مشاهده | 4165 | تعداد آراء 15 | امتياز 3.4
عنوان | دات نت برای شروع
موضوع | آشنائی با مفاهيم اوليه دات نت
نويسنده | مديريت وب | تاريخ نشر | 27 مرداد 1382
مشاهده | 6429 | تعداد آراء 21 | امتياز 2.7
عنوان | ارتباط به منابع داده در ADO.NET ( بخش دوم )
موضوع | نحوه ايجاد يک Connection
نويسنده | مديريت وب | تاريخ نشر | 26 مرداد 1382
مشاهده | 2569 | تعداد آراء 6 | امتياز 3
عنوان | با کرم بلستر بيشتر آ شنا شويم !
موضوع | آ شنائی با ويژگی های کرم بلستر
نويسنده | مديريت شبکه | تاريخ نشر | 25 مرداد 1382
مشاهده | 4243 | تعداد آراء 20 | امتياز 3.3
عنوان | XSD چيست ؟( بخش چهارم)
موضوع | نحوه تعريف Attribute
نويسنده | مديريت نرم افزار | تاريخ نشر | 25 مرداد 1382
مشاهده | 1111 | تعداد آراء 2 | امتياز 3
عنوان | کتابخانه کلاس فريمورک دات نت ( بخش دوم )
موضوع | بررسی کتابخانه کلاس فريمورک دات نت
نويسنده | مديريت وب | تاريخ نشر | 24 مرداد 1382
مشاهده | 1110 | تعداد آراء 2 | امتياز 3
عنوان | ساختار داخلی فرم های وب ( بخش اول )
موضوع | نحوه ترجمه يک صفحه ASP.NET
نويسنده | مديريت وب | تاريخ نشر | 21 مرداد 1382
مشاهده | 1272 | تعداد آراء 3 | امتياز 4.7
عنوان | فرم های وب ( بخش سوم )
موضوع | بررسی مدل رويدادها در فرم های وب
نويسنده | مديريت وب | تاريخ نشر | 19 مرداد 1382
مشاهده | 2014 | تعداد آراء 0 | امتياز 0
عنوان | XSD چيست ؟( بخش سوم )
موضوع | بررسی انواع داده ساده و مرکب
نويسنده | مديريت نرم افزار | تاريخ نشر | 16 مرداد 1382
مشاهده | 1136 | تعداد آراء 0 | امتياز 0
عنوان | مفاهيم اوليه برنامه نويسی در دات نت ( بخش اول )
موضوع | آشنائی با مفاهيم اوليه برنامه نويسی در دات نت
نويسنده | مديريت وب | تاريخ نشر | 14 مرداد 1382
مشاهده | 2775 | تعداد آراء 3 | امتياز 3.7

صفحه : << بعدی 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 قبلی >>

حداکثر امتياز يک مقاله پنج است .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


مشاهده مقالات در گروه

 مشاهده مقالات در گروه New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

Weblog.netkadeh.com باحال ترين وبلاگ كامپيوتري

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها

تعداد 231 مقاله وجود داشته و در 16 صفحه نمايش داده می شود. صفحه جاری : 12

مقالات گروه ◄ تمام مقالات تعداد مقالات موجود ◄ 231
عنوان | مفاهيم اوليه پروتکل TCP/IP ( بخش سوم )
موضوع | بررسی برنامه ها و ابزارهای کمکی پروتکل TCP/IP
نويسنده | مديريت شبکه | تاريخ نشر | 14 تير 1382
مشاهده | 5899 | تعداد آراء 14 | امتياز 3.4
عنوان | مبانی يک برنامه ASP.NET
موضوع | بررسی اجزاء و نحوه اجرای يک برنامه ASP.NET
نويسنده | مديريت وب | تاريخ نشر | 13 تير 1382
مشاهده | 2692 | تعداد آراء 3 | امتياز 4.3
عنوان | فرم های وب ( بخش اول )
موضوع | بررسی اصول اوليه فرم های وب در ASP.NET
نويسنده | مديريت وب | تاريخ نشر | 12 تير 1382
مشاهده | 3152 | تعداد آراء 16 | امتياز 3.2
عنوان | ارتباط به منابع داده در ADO.NET ( بخش اول )
موضوع | تشريح انواع Data Provider و نحوه انتخاب آنان
نويسنده | مديريت وب | تاريخ نشر | 10 تير 1382
مشاهده | 3961 | تعداد آراء 7 | امتياز 3.3
عنوان | پيکربندی IIS با رعايت مسائل امنيتی ( بخش سوم )
موضوع | بررسی روش های متفاوت دستيابی به سرويس های IIS
نويسنده | مديريت شبکه | تاريخ نشر | 7 تير 1382
مشاهده | 5089 | تعداد آراء 12 | امتياز 4.4
عنوان | مفاهيم اوليه پروتکل TCP/IP ( بخش دوم )
موضوع | بررسی پروتکل های موجود در TCP/IP
نويسنده | مديريت شبکه | تاريخ نشر | 4 تير 1382
مشاهده | 6848 | تعداد آراء 23 | امتياز 3.6
عنوان | اولين برنامه VB.NET بکمک ويژوال استوديودات نت
موضوع | نحوه ايجاد يک برنامه با استفاده از VB.NET در محيط ويژوال استوديو دات نت
نويسنده | مديريت وب | تاريخ نشر | 2 تير 1382
مشاهده | 1828 | تعداد آراء 14 | امتياز 4.3
عنوان | معرفی اوليه VB.NET
موضوع | معرفی اوليه VB.NET و نحوه نصب آن
نويسنده | مديريت وب | تاريخ نشر | 31 خرداد 1382
مشاهده | 10553 | تعداد آراء 42 | امتياز 3.5
عنوان | مفاهيم اوليه پروتکل TCP/IP ( بخش اول )
موضوع | معرفی لايه های پروتکل TCP/IP و نحوه استفاده از سوکت
نويسنده | مديريت شبکه | تاريخ نشر | 30 خرداد 1382
مشاهده | 9787 | تعداد آراء 59 | امتياز 3.2
عنوان | ارتباط اتوماتيک به مقالات ما
موضوع | ارائه روشی مناسب بمنظور ارتباط اتوماتيک به مقالات سخا روش
نويسنده | مديريت وب | تاريخ نشر | 27 خرداد 1382
مشاهده | 13440 | تعداد آراء 44 | امتياز 3.3
عنوان | مبانی زيرساخت شبکه های مبتنی بر ويندوز
موضوع | بررسی عناصر لازم در زيرساخت شبکه های مبتنی بر ويندوز
نويسنده | مديريت شبکه | تاريخ نشر | 24 خرداد 1382
مشاهده | 4280 | تعداد آراء 11 | امتياز 3.7
عنوان | مبانی ويندوز و شبکه ( بخش دوم )
موضوع | بررسی سيستم های عامل شبکه ای و نحوه پياده سازی شبکه با استفاده از ويندوز
نويسنده | مديريت شبکه | تاريخ نشر | 20 خرداد 1382
مشاهده | 3399 | تعداد آراء 9 | امتياز 4.4
عنوان | مبانی ويندوز و شبکه ( بخش اول )
موضوع | بررسی سيستم عامل شبکه ای ويندوز بهمراه امکانات شبکه ای آن
نويسنده | مديريت شبکه | تاريخ نشر | 17 خرداد 1382
مشاهده | 5876 | تعداد آراء 32 | امتياز 3.7
عنوان | استراتژی حفاظت از اطلاعات در شبکه های کامپيوتری( بخش دوم )
موضوع | بررسی مولفه های مهم در استراتژی ايمن سازی اطلاعات
نويسنده | مديريت شبکه | تاريخ نشر | 13 خرداد 1382
مشاهده | 3529 | تعداد آراء 10 | امتياز 3
عنوان | مفاهيم اوليه سرويس های وب (بخش چهارم )
موضوع | بررسی مفاهيم اوليه سرويس های وب
نويسنده | مديريت وب | تاريخ نشر | 10 خرداد 1382
مشاهده | 1992 | تعداد آراء 1 | امتياز 4

صفحه : << بعدی 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 قبلی >>

حداکثر امتياز يک مقاله پنج است .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


مشاهده مقالات در گروه

 مشاهده مقالات در گروه New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

Weblog.netkadeh.com باحال ترين وبلاگ كامپيوتري

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها

تعداد 231 مقاله وجود داشته و در 16 صفحه نمايش داده می شود. صفحه جاری : 13

مقالات گروه ◄ تمام مقالات تعداد مقالات موجود ◄ 231
عنوان | مفاهيم اوليه سرويس های وب (بخش سوم)
موضوع | تاثير استانداردهای وب در فرآيند طراحی و پياده سازی برنامه های توزيع شده
نويسنده | مديريت وب | تاريخ نشر | 7 خرداد 1382
مشاهده | 2545 | تعداد آراء 3 | امتياز 4.7
عنوان | مفاهيم اوليه سرويس های وب ( بخش دوم )
موضوع | بررسی معماری RPC و مبتنی بر پيام در رابطه با برنامه های توزيعی
نويسنده | مديريت وب | تاريخ نشر | 4 خرداد 1382
مشاهده | 2733 | تعداد آراء 4 | امتياز 4
عنوان | مفاهيم اوليه سرويس های وب ( بخش اول )
موضوع | بررسی مفاهيم اوليه برنامه های توزيع شده و چالش های مربوطه
نويسنده | مديريت وب | تاريخ نشر | 1 خرداد 1382
مشاهده | 3162 | تعداد آراء 6 | امتياز 4.7
عنوان | مفاهيم اوليه ارتباط ADO.NET وXML
موضوع | بررسی مفاهيم اوليه ارتباط ADO.NET و XML
نويسنده | مديريت وب | تاريخ نشر | 30 ارديبهشت 1382
مشاهده | 1564 | تعداد آراء 7 | امتياز 3.7
عنوان | مفاهيم اوليه ADO.NET
موضوع | بررسی مفاهيم اوليه ADO.NET
نويسنده | مديريت وب | تاريخ نشر | 28 ارديبهشت 1382
مشاهده | 3519 | تعداد آراء 10 | امتياز 3.6
عنوان | معماری برنامه های مبتنی بر داده
موضوع | بررسی معماری برنامه های کامپيوتری با محوريت داده و گزينه های ذخيره سازی داده ها
نويسنده | مديريت وب | تاريخ نشر | 23 ارديبهشت 1382
مشاهده | 4213 | تعداد آراء 29 | امتياز 2.8
عنوان | استراتژی حفاظت از اطلاعات در شبکه های کامپيوتری( بخش اول )
موضوع | پيشنهادات لازم در خصوص تدوين يک استراتژی منسجم برای حفاظت از اطلاعات در شبکه های کامپيوتری
نويسنده | مديريت شبکه | تاريخ نشر | 20 ارديبهشت 1382
مشاهده | 4000 | تعداد آراء 18 | امتياز 3.7
عنوان | XML در دات نت ( بخش دوم )
موضوع | بررسی استانداردهای کنسرسيوم وب در دات نت
نويسنده | مديريت وب | تاريخ نشر | 17 ارديبهشت 1382
مشاهده | 1328 | تعداد آراء 3 | امتياز 4
عنوان | XML در دات نت ( بخش اول )
موضوع | بررسی جايگاه XML در دات نت
نويسنده | مديريت وب | تاريخ نشر | 16 ارديبهشت 1382
مشاهده | 1216 | تعداد آراء 2 | امتياز 3.5
عنوان | XPath چيست ؟ ( بخش اول )
موضوع | بررسی جايگاه تکنولوژی XPath در خانواده بزرگ XML
نويسنده | مديريت وب | تاريخ نشر | 13 ارديبهشت 1382
مشاهده | 1957 | تعداد آراء 1 | امتياز 5
عنوان | نمونه هائی از حملات اينترنتی توسط نامه های الکترونيکی
موضوع | بررسی نمونه هائی ازگسترش ويروس های کامپيوتری توسط نامه های الکترونيکی
نويسنده | مديريت شبکه | تاريخ نشر | 11 ارديبهشت 1382
مشاهده | 3185 | تعداد آراء 15 | امتياز 3.3
عنوان | امنيت نامه های الکترونيکی ( بخش اول )
موضوع | بررسی روش های پيشگيری از تخريب اطلاعات در شبکه های کامپيوتری از طريق پست الکترونيکی
نويسنده | مديريت شبکه | تاريخ نشر | 9 ارديبهشت 1382
مشاهده | 3736 | تعداد آراء 11 | امتياز 3.1
عنوان | XSD چيست ؟ ( بخش دوم )
موضوع | بررسی گرامر XSD
نويسنده | مديريت نرم افزار | تاريخ نشر | 7 ارديبهشت 1382
مشاهده | 1245 | تعداد آراء 6 | امتياز 3.3
عنوان | پيکربندی IIS با رعايت مسائل امنيتی ( بخش دوم )
موضوع | بررسی نحوه تنظيم خصلت های متفاوت برنامه Internet Services Manager
نويسنده | مديريت شبکه | تاريخ نشر | 5 ارديبهشت 1382
مشاهده | 4442 | تعداد آراء 10 | امتياز 3.6
عنوان | XSLT چيست ؟ ( بخش سوم )
موضوع | بررسی روند شکل گيری XSLT و جايگاه آن بعنوان يک زبان برنامه نويسی
نويسنده | مديريت وب | تاريخ نشر | 3 ارديبهشت 1382
مشاهده | 1955 | تعداد آراء 5 | امتياز 4

صفحه : << بعدی 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 قبلی >>

حداکثر امتياز يک مقاله پنج است .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


مشاهده مقالات در گروه

 مشاهده مقالات در گروه New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها

تعداد 231 مقاله وجود داشته و در 16 صفحه نمايش داده می شود. صفحه جاری : 14

مقالات گروه ◄ تمام مقالات تعداد مقالات موجود ◄ 231
عنوان | XSD چيست ؟ ( بخش اول )
موضوع | بررسی ضرورت استفاده از XSD و معرفی برخی از ويژگی های آن
نويسنده | مديريت نرم افزار | تاريخ نشر | 2 ارديبهشت 1382
مشاهده | 2259 | تعداد آراء 6 | امتياز 4
عنوان | ارزيابی امنيتی سيستم عامل ويندوز
موضوع | بررسی و ارائه پيشنهادات لازم در خصوص سيستم امنيتی ويندوز
نويسنده | مديريت شبکه | تاريخ نشر | 31 فروردين 1382
مشاهده | 3633 | تعداد آراء 18 | امتياز 2.7
عنوان | مراحل اوليه ايجاد امنيت در شبکه
موضوع | پيشنهاداتی در رابطه با ايجاد يک محيط ايمن در شبکه
نويسنده | مديريت شبکه | تاريخ نشر | 30 فروردين 1382
مشاهده | 5276 | تعداد آراء 17 | امتياز 3.7
عنوان | DOM چيست ؟
موضوع | نحوه دستيابی و انجام پردازش های لازم در رابطه با سند های XML
نويسنده | مديريت وب | تاريخ نشر | 29 فروردين 1382
مشاهده | 2188 | تعداد آراء 0 | امتياز 0
عنوان | پيکربندی IIS با رعايت مسائل امنيتی ( بخش اول )
موضوع | نحوه پيکربندی سرويس دهنده وب IIS در شبکه های مبتنی بر ويندوز
نويسنده | مديريت شبکه | تاريخ نشر | 27 فروردين 1382
مشاهده | 5801 | تعداد آراء 17 | امتياز 4.3
عنوان | XSLT چيست ؟ ( بخش دوم )
موضوع | بررسی جايگاه تکنولوژی XSLT در بين خانواده بزرگ تکنولوژی های مرتبط با XML
نويسنده | مديريت وب | تاريخ نشر | 23 فروردين 1382
مشاهده | 2052 | تعداد آراء 1 | امتياز 5
عنوان | XSLT چيست ؟ ( بخش اول )
موضوع | ضرورت استفاده از XSLT و تبديل يک سند از فرمتی به فرمت ديگر
نويسنده | مديريت وب | تاريخ نشر | 16 فروردين 1382
مشاهده | 2789 | تعداد آراء 5 | امتياز 3
عنوان | XML و ده نکته مهم
موضوع | بررسی ده نکته مهم بمنظور آشنائی با XML
نويسنده | مديريت وب | تاريخ نشر | 15 فروردين 1382
مشاهده | 2806 | تعداد آراء 4 | امتياز 3.2
عنوان | ساختار يک سند XML
موضوع | تشريح ساختار يک سند XML
نويسنده | مديريت وب | تاريخ نشر | 14 فروردين 1382
مشاهده | 2094 | تعداد آراء 0 | امتياز 0
عنوان | XML برای برنامه نويسا ن VB و ASP ( بخش سوم )
موضوع | بررسی XML Document Object Model
نويسنده | مديريت وب | تاريخ نشر | 13 فروردين 1382
مشاهده | 1352 | تعداد آراء 0 | امتياز 0
عنوان | XML برای برنامه نويسان VB و ASP ( بخش دوم )
موضوع | بررسی DTD , XML-Data Schema و جايگاه آنان در XML
نويسنده | مديريت وب | تاريخ نشر | 12 فروردين 1382
مشاهده | 1352 | تعداد آراء 0 | امتياز 0
عنوان | XML برای برنامه نويسان VB و ASP ( بخش اول )
موضوع | بررسی XML بهمراه امکانات مربوطه برای برنامه نويسان
نويسنده | مديريت وب | تاريخ نشر | 11 فروردين 1382
مشاهده | 1405 | تعداد آراء 0 | امتياز 0
عنوان | ده نکته در رابطه با XML - DOM
موضوع | بررسی ده نکته مهم در رابطه با تکنولوژی XML - DOM
نويسنده | مديريت وب | تاريخ نشر | 10 فروردين 1382
مشاهده | 1200 | تعداد آراء 0 | امتياز 0
عنوان | ده نکته در رابطه با XML
موضوع | بررسی ده نکته مهم در رابطه با تکنولوژی XML
نويسنده | مديريت وب | تاريخ نشر | 9 فروردين 1382
مشاهده | 1230 | تعداد آراء 1 | امتياز 4
عنوان | ده نکته در رابطه با XSL
موضوع | بررسی ده نکته مهم در رابطه با تکنولوژی XSL
نويسنده | مديريت وب | تاريخ نشر | 9 فروردين 1382
مشاهده | 1154 | تعداد آراء 7 | امتياز 3.7

صفحه : << بعدی 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 قبلی >>

حداکثر امتياز يک مقاله پنج است .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


مشاهده مقالات در گروه

 مشاهده مقالات در گروه New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها

تعداد 231 مقاله وجود داشته و در 16 صفحه نمايش داده می شود. صفحه جاری : 15

مقالات گروه ◄ تمام مقالات تعداد مقالات موجود ◄ 231
عنوان | XML چيست و چرا دارای اهميت فراوان است ؟ ( بخش سوم)
موضوع | بررسی نحوه پردازش سندهای XML
نويسنده | مديريت وب | تاريخ نشر | 8 فروردين 1382
مشاهده | 1397 | تعداد آراء 0 | امتياز 0
عنوان | XML چيست و چرا دارای اهميت فراوان است ؟ (بخش دوم )
موضوع | بررسی نحوه انتشار سندهای XML
نويسنده | مديريت وب | تاريخ نشر | 7 فروردين 1382
مشاهده | 1400 | تعداد آراء 2 | امتياز 3
عنوان | XML چيست و چرا دارای اهميت فراوان است ؟ (بخش اول )
موضوع | بررسی و تشريح عناصرکليدی مرتبط با تکنولوژی XML و تبين جايگاه هر يک
نويسنده | مديريت وب | تاريخ نشر | 6 فروردين 1382
مشاهده | 1696 | تعداد آراء 3 | امتياز 3.3
عنوان | اصول مقدماتی ASP.NET
موضوع | معرفی سريع ASP.NET بهمراه امکانات مربوطه همراه با مثال
نويسنده | مديريت وب | تاريخ نشر | 5 فروردين 1382
مشاهده | 3282 | تعداد آراء 11 | امتياز 3.8
عنوان | از ASP کلاسيک تا ASP.NET ( بخش سوم )
موضوع | ارائه يک مدل مناسب بمنظور گذر از ASP کلاسيک و رسيدن به ASP.NET
نويسنده | مديريت وب | تاريخ نشر | 4 فروردين 1382
مشاهده | 1518 | تعداد آراء 0 | امتياز 0
عنوان | از ASP کلاسيک تا ASP.NET ( بخش دوم )
موضوع | ارائه يک مدل مناسب بمنظور گذر از ASP کلاسيک و رسيدن به ASP.NET
نويسنده | مديريت وب | تاريخ نشر | 3 فروردين 1382
مشاهده | 1504 | تعداد آراء 1 | امتياز 3
عنوان | از ASP کلاسيک تا ASP.NET ( بخش اول )
موضوع | ارائه يک مدل مناسب بمنظور گذر از ASP کلاسيک و رسيدن به ASP.NET
نويسنده | مديريت وب | تاريخ نشر | 2 فروردين 1382
مشاهده | 1667 | تعداد آراء 3 | امتياز 2.7
عنوان | نسبت دهی داده در فرم های وب
موضوع | بررسی نحوه نسبت دهی داده در فرم های وب
نويسنده | مديريت وب | تاريخ نشر | 1 فروردين 1382
مشاهده | 1301 | تعداد آراء 1 | امتياز 5
عنوان | گرامر استفاده شده در فرم های وب
موضوع | بررسی انواع گرامر های استفاده شده در فرم های وب
نويسنده | مديريت وب | تاريخ نشر | 29 اسفند 1381
مشاهده | 1105 | تعداد آراء 3 | امتياز 3.3
عنوان | روش های کدينگ فرم های وب
موضوع | بررسی مدل های موجود بمنظور کدينگ فرم های وب
نويسنده | مديريت وب | تاريخ نشر | 28 اسفند 1381
مشاهده | 1457 | تعداد آراء 6 | امتياز 4.2
عنوان | راهکارهای مديريت وضعيت صفحات ASP.NET
موضوع | بررسی مزايا و معايب روش های متفاوت مديريت وضعيت صفحات
نويسنده | مديريت وب | تاريخ نشر | 21 اسفند 1381
مشاهده | 2058 | تعداد آراء 7 | امتياز 3.7
عنوان | استراتژی دستيابی به داده ها در وب
موضوع | بررسی استراتژی دستيابی به داده ها در صفحات ASP.NET
نويسنده | مديريت وب | تاريخ نشر | 21 اسفند 1381
مشاهده | 1657 | تعداد آراء 4 | امتياز 3.8
عنوان | دستيابی به داده ها در فرم های وب
موضوع | بررسی مدل های دستيابی به داده ها در فرم های وب ASP.NET
نويسنده | مديريت وب | تاريخ نشر | 21 اسفند 1381
مشاهده | 1867 | تعداد آراء 6 | امتياز 3.7
عنوان | مديريت وضعيت صفحات در ASP.NET
موضوع | بررسی روش های متفاوت مديريت وضعيت فرم های وب
نويسنده | مديريت وب | تاريخ نشر | 20 اسفند 1381
مشاهده | 1916 | تعداد آراء 4 | امتياز 4
عنوان | معرفی فرم های وب در ASP.NET
موضوع | آشنائی با فرم های وب بهمراه معرفی ساختار و امکانات مربوطه
نويسنده | مديريت وب | تاريخ نشر | 20 اسفند 1381
مشاهده | 1779 | تعداد آراء 7 | امتياز 3.4

صفحه : << بعدی 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 قبلی >>

حداکثر امتياز يک مقاله پنج است .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


مشاهده مقالات در گروه

 مشاهده مقالات در گروه New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها

تعداد 231 مقاله وجود داشته و در 16 صفحه نمايش داده می شود. صفحه جاری : 16

مقالات گروه ◄ تمام مقالات تعداد مقالات موجود ◄ 231
عنوان | معرفی ASP.NET
موضوع | معرفی امکانات و پتانسيل های ASP.NET
نويسنده | مديريت وب | تاريخ نشر | 20 اسفند 1381
مشاهده | 1847 | تعداد آراء 12 | امتياز 3.9
عنوان | دات نت و جايگاه ASP.NET
موضوع | بررسی پروژه دات نت و موقعيت ASP.NET
نويسنده | مديريت وب | تاريخ نشر | 11 اسفند 1381
مشاهده | 2215 | تعداد آراء 7 | امتياز 3.1
عنوان | سرويس های وب XML
موضوع | بررسی سرويس های وب بهمراه تکنولوژی های مربوطه
نويسنده | مديريت وب | تاريخ نشر | 11 اسفند 1381
مشاهده | 1284 | تعداد آراء 3 | امتياز 4.7
عنوان | تفاوت ASP.NET و ASP کلاسيک
موضوع | بررسی تفاوت های موجود بين ASP.NET و ASP کلاسيک
نويسنده | مديريت وب | تاريخ نشر | 11 اسفند 1381
مشاهده | 1482 | تعداد آراء 2 | امتياز 4.5
عنوان | مشخصات فنی انواع هارد Maxtor
موضوع | بررسی مشخصات فنی انواع هارد Maxtor
نويسنده | مديريت فنی | تاريخ نشر | 5 دی 1381
مشاهده | 5005 | تعداد آراء 61 | امتياز 2.6
عنوان | زيرساخت شبکه ( اول )
موضوع | بررسی زيرساخت شبکه های مبتنی بر ويندوز
نويسنده | مديريت شبکه | تاريخ نشر | 30 آذر 1381
مشاهده | 4867 | تعداد آراء 35 | امتياز 4.2

صفحه : 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 قبلی >>

حداکثر امتياز يک مقاله پنج است .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


مشاهده مقالات در گروه

 مشاهده مقالات در گروه New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها

تعداد 231 مقاله وجود داشته و در 16 صفحه نمايش داده می شود. صفحه جاری : 2

مقالات گروه ◄ تمام مقالات تعداد مقالات موجود ◄ 231
عنوان | مديريت فايل ها و دايرکتوری ها در ASP.NET ( بخش سوم )
موضوع | مديريت فايل ها و دايرکتوری ها در ASP.NET
نويسنده | مديريت وب | تاريخ نشر | 11 بهمن 1383
مشاهده | 1443 | تعداد آراء 1 | امتياز 4
عنوان | مديريت فايل ها و دايرکتوری ها در ASP.NET ( بخش دوم )
موضوع | مديريت فايل ها و دايرکتوری ها در ASP.NET
نويسنده | مديريت وب | تاريخ نشر | 18 دی 1383
مشاهده | 1498 | تعداد آراء 3 | امتياز 4.7
عنوان | مديريت فايل ها و دايرکتوری ها در ASP.NET ( بخش اول )
موضوع | مديريت فايل ها و دايرکتوری ها در ASP.NET
نويسنده | مديريت وب | تاريخ نشر | 5 دی 1383
مشاهده | 2178 | تعداد آراء 7 | امتياز 4.6
عنوان | ايجاد فايل XML با استفاده از يک بانک اطلاعاتی
موضوع | ايجاد يک سند XML با استفاده از يک بانک اطلاعاتی
نويسنده | مديريت وب | تاريخ نشر | 21 آذر 1383
مشاهده | 1949 | تعداد آراء 9 | امتياز 3.7
عنوان | تفاوت بين DataList ، DataGrid و Repeater (بخش دوم )
موضوع | تفاوت بين DataList ، DataGrid و Repeater در ASP.NET
نويسنده | مديريت وب | تاريخ نشر | 26 آبان 1383
مشاهده | 2030 | تعداد آراء 5 | امتياز 3.8
عنوان | تفاوت بين DataList ، DataGrid و Repeater (بخش اول)
موضوع | تفاوت بين DataList ، DataGrid و Repeater
نويسنده | مديريت وب | تاريخ نشر | 23 آبان 1383
مشاهده | 2097 | تعداد آراء 5 | امتياز 4.2
عنوان | XML در دات نت : تبديل اسناد XML ( بخش دوم )
موضوع | نحوه تبديل يک سند XML در دات نت
نويسنده | مديريت وب | تاريخ نشر | 18 آبان 1383
مشاهده | 1539 | تعداد آراء 2 | امتياز 5
عنوان | XML در دات نت : تبديل اسناد XML ( بخش اول )
موضوع | نحوه تبديل يک سند XML در دات نت
نويسنده | مديريت وب | تاريخ نشر | 12 آبان 1383
مشاهده | 1493 | تعداد آراء 2 | امتياز 5
عنوان | XML در دات نت : خواندن يک فايل
موضوع | نحوه خواندن يک فايل XML در دات نت
نويسنده | مديريت وب | تاريخ نشر | 28 مهر 1383
مشاهده | 1441 | تعداد آراء 5 | امتياز 4
عنوان | XML در دات نت : ايجاد يک فايل
موضوع | نحوه ايجاد يک فايل XML در دات نت
نويسنده | مديريت وب | تاريخ نشر | 24 مهر 1383
مشاهده | 1253 | تعداد آراء 5 | امتياز 4
عنوان | ايجاد فايل های RSS و نحوه استفاده از آنان ( بخش دوم )
موضوع | نحوه ايجاد و استفاده از فايل های RSS
نويسنده | مديريت وب | تاريخ نشر | 13 مهر 1383
مشاهده | 1599 | تعداد آراء 3 | امتياز 4.3
عنوان | ايجاد فايل های RSS و نحوه استفاده از آنان ( بخش اول )
موضوع | نحوه ايجاد و استفاده از فايل های RSS
نويسنده | مديريت وب | تاريخ نشر | 12 مهر 1383
مشاهده | 3365 | تعداد آراء 11 | امتياز 3.9
عنوان | ساختارهای کنترلی در VB.NET ( بخش سوم )
موضوع | بررسی ساختارهای کنترلی و برنامه نويسی رويه ای در VB.NET
نويسنده | مديريت وب | تاريخ نشر | 31 شهريور 1383
مشاهده | 1423 | تعداد آراء 1 | امتياز 5
عنوان | ساختارهای کنترلی در VB.NET ( بخش دوم )
موضوع | آشنائی با ساختارهای کنترلی در VB.NET
نويسنده | مديريت وب | تاريخ نشر | 21 شهريور 1383
مشاهده | 1661 | تعداد آراء 3 | امتياز 3.3
عنوان | ساختارهای کنترلی در VB.NET ( بخش اول )
موضوع | آشنائی با ساختارهای کنترلی در VB.NET
نويسنده | مديريت وب | تاريخ نشر | 14 شهريور 1383
مشاهده | 2002 | تعداد آراء 7 | امتياز 3.1

صفحه : << بعدی 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 قبلی >>

حداکثر امتياز يک مقاله پنج است .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


مشاهده مقالات در گروه

 مشاهده مقالات در گروه New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها

تعداد 231 مقاله وجود داشته و در 16 صفحه نمايش داده می شود. صفحه جاری : 3

مقالات گروه ◄ تمام مقالات تعداد مقالات موجود ◄ 231
عنوان | فرم ها و کنترل های سرويس دهنده ( بخش پنجم )
موضوع | آشنائی با فرم ها و کنترل های سرويس دهنده ASP.NET
نويسنده | مديريت وب | تاريخ نشر | 5 شهريور 1383
مشاهده | 1444 | تعداد آراء 3 | امتياز 4.3
عنوان | فرم ها و کنترل های سرويس دهنده ( بخش چهارم )
موضوع | آشنائی با فرم ها و کنترل های سرويس دهنده ASP.NET
نويسنده | مديريت وب | تاريخ نشر | 1 شهريور 1383
مشاهده | 1344 | تعداد آراء 1 | امتياز 5
عنوان | فرم ها و کنترل های سرويس دهنده ( بخش سوم )
موضوع | آشنائی با فرم ها و کنترل های سرويس دهنده ASP.NET
نويسنده | مديريت وب | تاريخ نشر | 24 مرداد 1383
مشاهده | 1371 | تعداد آراء 1 | امتياز 5
عنوان | فرم ها و کنترل های سرويس دهنده ( بخش دوم )
موضوع | آشنائی با فرم ها و کنترل های سرويس دهنده ASP.NET
نويسنده | مديريت وب | تاريخ نشر | 16 مرداد 1383
مشاهده | 1746 | تعداد آراء 3 | امتياز 4
عنوان | فرم ها و كنترل های سرويس دهنده ( بخش اول )
موضوع | آشنائی با فرم ها و کنترل های سرويس دهنده ASP.NET
نويسنده | مديريت وب | تاريخ نشر | 7 مرداد 1383
مشاهده | 2418 | تعداد آراء 9 | امتياز 3.2
عنوان | برنامه نوِِيسی مبتنی بر رويداد در وب ( بخش سوم )
موضوع | بررسی فرآيند PostBack
نويسنده | مديريت وب | تاريخ نشر | 23 تير 1383
مشاهده | 1768 | تعداد آراء 4 | امتياز 3.8
عنوان | برنامه نوِِيسی مبتنی بر رويداد در وب ( بخش دوم )
موضوع | بررسی رويدادهای کنترل های سرويس دهنده
نويسنده | مديريت وب | تاريخ نشر | 21 تير 1383
مشاهده | 1935 | تعداد آراء 4 | امتياز 3
عنوان | برنامه نویسی مبتنی بر رويداد در وب ( بخش اول )
موضوع | بررسی مدل برنامه نویسی مبتنی بر رويداد در وب
نويسنده | مديريت وب | تاريخ نشر | 14 تير 1383
مشاهده | 2935 | تعداد آراء 13 | امتياز 2.9
عنوان | مبانی امنيت اطلاعات
موضوع | اصول اوليه امنيت اطلاعات و ايمن سازی شبکه های کامپيوتری
نويسنده | مديريت شبکه | تاريخ نشر | 7 تير 1383
مشاهده | 4748 | تعداد آراء 23 | امتياز 3.6
عنوان | ذخيره سازی اطلاعات در VB.NET ( بخش سوم )
موضوع | بررسی امکانات VB.NET به منظور ذخيره سازی اطلاعات
نويسنده | مديريت وب | تاريخ نشر | 2 تير 1383
مشاهده | 1441 | تعداد آراء 2 | امتياز 4.5
عنوان | ذخيره سازی اطلاعات در VB.NET ( بخش دوم )
موضوع | بررسی امکانات VB.NET به منظور ذخيره سازی اطلاعات
نويسنده | مديريت وب | تاريخ نشر | 31 خرداد 1383
مشاهده | 1375 | تعداد آراء 2 | امتياز 3.5
عنوان | ذخيره سازی اطلاعات در VB.NET ( بخش اول )
موضوع | بررسی امکانات VB.NET به منظور ذخيره سازی اطلاعات
نويسنده | مديريت وب | تاريخ نشر | 27 خرداد 1383
مشاهده | 2032 | تعداد آراء 2 | امتياز 3.5
عنوان | انواع حملات در شبکه های کامپيوتری ( بخش دوم )
موضوع | آشنائی با انواع حملات در شبکه های کامپيوتری
نويسنده | مديريت شبکه | تاريخ نشر | 24 خرداد 1383
مشاهده | 3509 | تعداد آراء 7 | امتياز 4
عنوان | انواع حملات در شبکه های کامپيوتری ( بخش اول )
موضوع | آشنائی با انواع حملات در شبکه های کامپيوتری
نويسنده | مديريت شبکه | تاريخ نشر | 17 خرداد 1383
مشاهده | 3624 | تعداد آراء 14 | امتياز 3.6
عنوان | استراتژی طراحی شبکه (بخش دوم )
موضوع | بررسی پارامترهای لازم در رابطه با طراحی شبکه
نويسنده | مديريت شبکه | تاريخ نشر | 10 خرداد 1383
مشاهده | 4694 | تعداد آراء 10 | امتياز 3.5

صفحه : << بعدی 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 قبلی >>

حداکثر امتياز يک مقاله پنج است .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


مشاهده مقالات در گروه

 مشاهده مقالات در گروه New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها

تعداد 231 مقاله وجود داشته و در 16 صفحه نمايش داده می شود. صفحه جاری : 4

مقالات گروه ◄ تمام مقالات تعداد مقالات موجود ◄ 231
عنوان | استراتژی طراحی شبکه (بخش اول )
موضوع | بررسی پارامترهای لازم در رابطه با طراحی شبکه
نويسنده | مديريت شبکه | تاريخ نشر | 2 خرداد 1383
مشاهده | 6733 | تعداد آراء 35 | امتياز 3.3
عنوان | وبلاگ چيست ؟ ( بخش دوم )
موضوع | بررسی پديده وبلاگ و وبلاگ نويسی
نويسنده | مديريت وب | تاريخ نشر | 26 ارديبهشت 1383
مشاهده | 4382 | تعداد آراء 17 | امتياز 4.2
عنوان | وبلاگ چيست ؟ ( بخش اول )
موضوع | بررسی پديده وبلاگ و وبلاگ نويسی
نويسنده | مديريت وب | تاريخ نشر | 25 ارديبهشت 1383
مشاهده | 6891 | تعداد آراء 32 | امتياز 2.5
عنوان | Spam چيست ؟
موضوع | آشنائی با Spam ، منابع توزيع و روش های مقابله با آن
نويسنده | مديريت وب | تاريخ نشر | 16 ارديبهشت 1383
مشاهده | 3015 | تعداد آراء 21 | امتياز 4.2
عنوان | فن آوری اطلاعات و ارتباطات چيست ؟ ( بخش دوم )
موضوع | بررسی فن آوری اطلاعات و ارتباطات و نقش آن در توسعه
نويسنده | مديريت وب | تاريخ نشر | 6 ارديبهشت 1383
مشاهده | 7110 | تعداد آراء 22 | امتياز 2.7
عنوان | فن آوری اطلاعات و ارتباطات چيست؟( بخش اول )
موضوع | بررسی فن آوری اطلاعات و ارتباطات و نقش آن در توسعه
نويسنده | مديريت وب | تاريخ نشر | 21 فروردين 1383
مشاهده | 8152 | تعداد آراء 44 | امتياز 3.1
عنوان | به مناسبت اولين سالگرد تاسيس سايت
موضوع | بررسی عملکرد سايت
نويسنده | مديريت وب | تاريخ نشر | 29 اسفند 1382
مشاهده | 4197 | تعداد آراء 17 | امتياز 3.6
عنوان | ايجاد يک برنامه وب نمونه در دات نت ( بخش دهم )
موضوع | مراحل عملی ايجاد يک برنامه نمونه دات نت
نويسنده | مديريت وب | تاريخ نشر | 28 اسفند 1382
مشاهده | 2946 | تعداد آراء 7 | امتياز 4.4
عنوان | ايجاد يک برنامه وب نمونه در دات نت ( بخش نهم )
موضوع | مراحل عملی ايجاد يک برنامه نمونه دات نت
نويسنده | مديريت وب | تاريخ نشر | 27 اسفند 1382
مشاهده | 2612 | تعداد آراء 5 | امتياز 5
عنوان | ايجاد يک برنامه وب نمونه در دات نت ( بخش هشتم )
موضوع | مراحل عملی ايجاد يک برنامه نمونه دات نت
نويسنده | مديريت وب | تاريخ نشر | 26 اسفند 1382
مشاهده | 2430 | تعداد آراء 10 | امتياز 3.9
عنوان | ايجاد يک برنامه وب نمونه در دات نت ( بخش هفتم )
موضوع | مراحل عملی ايجاد يک برنامه نمونه دات نت
نويسنده | مديريت وب | تاريخ نشر | 25 اسفند 1382
مشاهده | 3238 | تعداد آراء 9 | امتياز 4.6
عنوان | ايجاد يک برنامه وب نمونه در دات نت ( بخش ششم )
موضوع | مراحل عملی ايجاد يک برنامه نمونه دات نت
نويسنده | مديريت وب | تاريخ نشر | 23 اسفند 1382
مشاهده | 3316 | تعداد آراء 7 | امتياز 4.9
عنوان | ايجاد يک برنامه وب نمونه در دات نت ( بخش پنجم )
موضوع | مراحل عملی ايجاد يک برنامه نمونه دات نت
نويسنده | مديريت وب | تاريخ نشر | 22 اسفند 1382
مشاهده | 3403 | تعداد آراء 8 | امتياز 4.2
عنوان | ايجاد يک برنامه وب نمونه در دات نت ( بخش چهارم )
موضوع | مراحل عملی ايجاد يک برنامه نمونه دات نت
نويسنده | مديريت وب | تاريخ نشر | 20 اسفند 1382
مشاهده | 2971 | تعداد آراء 14 | امتياز 3.8
عنوان | ايجاد يک برنامه وب نمونه در دات نت ( بخش سوم )
موضوع | مراحل عملی ايجاد يک برنامه نمونه دات نت
نويسنده | مديريت وب | تاريخ نشر | 19 اسفند 1382
مشاهده | 2991 | تعداد آراء 8 | امتياز 4.8

صفحه : << بعدی 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 قبلی >>

حداکثر امتياز يک مقاله پنج است .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


مشاهده مقالات در گروه

 مشاهده مقالات در گروه New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

Iran Developers Network - Learn Programming

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها

تعداد 231 مقاله وجود داشته و در 16 صفحه نمايش داده می شود. صفحه جاری : 5

مقالات گروه ◄ تمام مقالات تعداد مقالات موجود ◄ 231
عنوان | ايجاد يک برنامه وب نمونه در دات نت ( بخش دوم )
موضوع | بررسی عملی ايجاد يک برنامه نمونه دات نت
نويسنده | مديريت وب | تاريخ نشر | 17 اسفند 1382
مشاهده | 3874 | تعداد آراء 11 | امتياز 4.9
عنوان | ايجاد يک برنامه وب نمونه در دات نت ( بخش اول )
موضوع | مراحل عملی ايجاد يک برنامه نمونه دات نت
نويسنده | مديريت وب | تاريخ نشر | 16 اسفند 1382
مشاهده | 7276 | تعداد آراء 20 | امتياز 3.7
عنوان | کارت شناسائی بيومتريک
موضوع | آشنائی با کارت شناسائی بيومتريک و نحوه عملکرد آن
نويسنده | مديريت وب | تاريخ نشر | 13 اسفند 1382
مشاهده | 2093 | تعداد آراء 9 | امتياز 3.2
عنوان | ذخيره وبازيابی داده توسط ADO.NET (بخش ششم)
موضوع | نحوه ذخيره وبازيابی داده توسط ADO.NET
نويسنده | مديريت وب | تاريخ نشر | 10 اسفند 1382
مشاهده | 3156 | تعداد آراء 4 | امتياز 4.5
عنوان | ذخيره و بازيابی داده توسط ADO.NET (بخش پنجم)
موضوع | نحوه ذخيره وبازيابی داده توسط ADO.NET
نويسنده | مديريت وب | تاريخ نشر | 5 اسفند 1382
مشاهده | 2592 | تعداد آراء 0 | امتياز 0
عنوان | ذخيره و بازيابی داده توسط ADO.NET (بخش چهارم)
موضوع | نحوه ذخيره وبازيابی داده توسط ADO.NET
نويسنده | مديريت وب | تاريخ نشر | 3 اسفند 1382
مشاهده | 2486 | تعداد آراء 2 | امتياز 5
عنوان | ذخيره و بازيابی داده توسط ADO.NET (بخش سوم)
موضوع | نحوه ذخيره وبازيابی داده توسط ADO.NET
نويسنده | مديريت وب | تاريخ نشر | 30 بهمن 1382
مشاهده | 2767 | تعداد آراء 4 | امتياز 3.8
عنوان | ذخيره و بازيابی داده توسط ADO.NET (بخش دوم )
موضوع | نحوه ذخيره و بازيابی داده توسط ADO.NET
نويسنده | مديريت وب | تاريخ نشر | 26 بهمن 1382
مشاهده | 3735 | تعداد آراء 11 | امتياز 4.5
عنوان | ذخيره و بازيابی داده توسط ADO.NET (بخش اول)
موضوع | نحوه ذخيره و بازيابی داده توسط ADO.NET
نويسنده | مديريت وب | تاريخ نشر | 22 بهمن 1382
مشاهده | 4377 | تعداد آراء 13 | امتياز 3.5
عنوان | ايجاد يک ارتباط ايمن در برنامه های وب (بخش پنجم)
موضوع | نحوه ايجاد يک ارتباط ايمن بين سرويس گيرنده وسرويس دهنده
نويسنده | مديريت وب | تاريخ نشر | 19 بهمن 1382
مشاهده | 1806 | تعداد آراء 2 | امتياز 4
عنوان | حفاظت فايل ها توسط ASP.NET
موضوع | نحوه استفاده از ASP.NET به منظور حفاظت فايل های بانک اطلاعاتی اکسس
نويسنده | مديريت وب | تاريخ نشر | 16 بهمن 1382
مشاهده | 2576 | تعداد آراء 8 | امتياز 4.6
عنوان | ايجاد يک ارتباط ايمن در برنامه های وب (بخش چهارم)
موضوع | نحوه ايجاد يک ارتباط ايمن بين سرويس گيرنده وسرويس دهنده
نويسنده | مديريت وب | تاريخ نشر | 14 بهمن 1382
مشاهده | 2322 | تعداد آراء 3 | امتياز 3.3
عنوان | با کرم Mydoom بيشتر آشنا شويم !
موضوع | بررسی عملکرد کرم Mydoom و روش مقابله با آن
نويسنده | مديريت وب | تاريخ نشر | 11 بهمن 1382
مشاهده | 3829 | تعداد آراء 13 | امتياز 3.8
عنوان | ايجاد يک ارتباط ايمن در برنامه های وب (بخش سوم)
موضوع | نحوه ايجاد يک ارتباط ايمن بين سرويس گيرنده و سرويس دهنده
نويسنده | مديريت وب | تاريخ نشر | 11 بهمن 1382
مشاهده | 1953 | تعداد آراء 5 | امتياز 1.8
عنوان | ايجاد يک ارتباط ايمن در برنامه های وب ( بخش دوم )
موضوع | نحوه ايجاد يک ارتباط ايمن بين سرويس گيرنده و سرويس دهنده
نويسنده | مديريت وب | تاريخ نشر | 7 بهمن 1382
مشاهده | 3276 | تعداد آراء 2 | امتياز 5

صفحه : << بعدی 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 قبلی >>

حداکثر امتياز يک مقاله پنج است .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


مشاهده مقالات در گروه

 مشاهده مقالات در گروه New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

Weblog.netkadeh.com باحال ترين وبلاگ كامپيوتري

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها

تعداد 231 مقاله وجود داشته و در 16 صفحه نمايش داده می شود. صفحه جاری : 6

مقالات گروه ◄ تمام مقالات تعداد مقالات موجود ◄ 231
عنوان | ايجاد يک ارتباط ايمن در برنامه های وب( بخش اول )
موضوع | نحوه ايجاد يک ارتباط ايمن بين سرويس گيرنده و سرويس دهنده
نويسنده | مديريت وب | تاريخ نشر | 4 بهمن 1382
مشاهده | 2925 | تعداد آراء 7 | امتياز 3.6
عنوان | امنيت برنامه های وب ( بخش پنچم )
موضوع | روش های کنترل دستيابی کاربران به برنامه های وب دات نت
نويسنده | مديريت وب | تاريخ نشر | 29 دی 1382
مشاهده | 2088 | تعداد آراء 1 | امتياز 5
عنوان | امنيت برنامه های وب ( بخش چهارم )
موضوع | روش های کنترل دستيابی کاربران به برنامه های وب دات نت
نويسنده | مديريت وب | تاريخ نشر | 26 دی 1382
مشاهده | 2597 | تعداد آراء 1 | امتياز 5
عنوان | نحوه پردازش صفحات ASP.NET بر روی سرويس دهنده وب
موضوع | نحوه پردازش صفحات ASP.NET بر روی سرويس دهنده وب
نويسنده | مديريت وب | تاريخ نشر | 25 دی 1382
مشاهده | 1795 | تعداد آراء 1 | امتياز 5
عنوان | امنيت برنامه های وب ( بخش سوم )
موضوع | روش های کنترل دستيابی کاربران به برنامه های وب دات نت
نويسنده | مديريت وب | تاريخ نشر | 22 دی 1382
مشاهده | 2067 | تعداد آراء 1 | امتياز 5
عنوان | امنيت برنامه های وب ( بخش دوم )
موضوع | روش های کنترل دستيابی کاربران به برنامه های وب دات نت
نويسنده | مديريت وب | تاريخ نشر | 20 دی 1382
مشاهده | 2197 | تعداد آراء 2 | امتياز 4.5
عنوان | امنيت برنامه های وب ( بخش اول )
موضوع | روش های کنترل دستيابی کاربران به برنامه های وب دات نت
نويسنده | مديريت وب | تاريخ نشر | 19 دی 1382
مشاهده | 3076 | تعداد آراء 10 | امتياز 3.7
عنوان | ايجاد Help در برنامه های وب
موضوع | نحوه ايجاد Help در برنامه های وب دات نت
نويسنده | مديريت وب | تاريخ نشر | 15 دی 1382
مشاهده | 1207 | تعداد آراء 2 | امتياز 4.5
عنوان | استفاده از XSLT در برنامه های وب(بخش سوم)
موضوع | استفاده از XSLT به منظورفرمت دهی خروجی برنامه های وب دات نت
نويسنده | مديريت وب | تاريخ نشر | 12 دی 1382
مشاهده | 1107 | تعداد آراء 2 | امتياز 4.5
عنوان | استفاده از XSLT در برنامه های وب(بخش دوم)
موضوع | استفاده از XSLT به منظورفرمت دهی خروجی برنامه های وب دات نت
نويسنده | مديريت وب | تاريخ نشر | 10 دی 1382
مشاهده | 1115 | تعداد آراء 2 | امتياز 4.5
عنوان | استفاده از XSLT در برنامه های وب(بخش اول)
موضوع | استفاده از XSLT به منظورفرمت دهی خروجی برنامه های وب دات نت
نويسنده | مديريت وب | تاريخ نشر | 9 دی 1382
مشاهده | 1116 | تعداد آراء 3 | امتياز 4.7
عنوان | استفاده از CSS در برنامه های وب دات نت
موضوع | استفاده از CSS به منظور فرمت دهی خروجی برنامه های وب
نويسنده | مديريت وب | تاريخ نشر | 5 دی 1382
مشاهده | 1595 | تعداد آراء 2 | امتياز 4.5
عنوان | اسکريپت های سمت سرويس گيرنده در برنامه های وب
موضوع | بررسی جايگاه استفاده از اسکريپت های سمت سرويس گيرنده دربرنامه های وب
نويسنده | مديريت وب | تاريخ نشر | 2 دی 1382
مشاهده | 1638 | تعداد آراء 3 | امتياز 4.3
عنوان | حرکت بين فرم های وب
موضوع | بررسی روش های متفاوت حرکت بين فرم های وب
نويسنده | مديريت وب | تاريخ نشر | 29 آذر 1382
مشاهده | 1722 | تعداد آراء 3 | امتياز 4.7
عنوان | ذخيره و بازيابی اطلاعات کاربران در برنامه های وب
موضوع | بررسی روش های ذخيره و بازيابی اطلاعات کاربران در برنامه های وب
نويسنده | مديريت وب | تاريخ نشر | 27 آذر 1382
مشاهده | 1523 | تعداد آراء 6 | امتياز 3

صفحه : << بعدی 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 قبلی >>

حداکثر امتياز يک مقاله پنج است .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


مشاهده مقالات در گروه

 مشاهده مقالات در گروه New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

Iran Developers Network - Learn Programming

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها

تعداد 231 مقاله وجود داشته و در 16 صفحه نمايش داده می شود. صفحه جاری : 7

مقالات گروه ◄ تمام مقالات تعداد مقالات موجود ◄ 231
عنوان | رويدادها در برنامه های وب دات نت
موضوع | جايگاه رويدادها در چرخه حيات يک برنامه وب دات نت
نويسنده | مديريت وب | تاريخ نشر | 24 آذر 1382
مشاهده | 2322 | تعداد آراء 3 | امتياز 4
عنوان | نحوه انتخاب یک مانيتور( بخش دوم )
موضوع | بررسی پارامترهای لازم در خصوص انتخاب مانيتور
نويسنده | مديريت فنی | تاريخ نشر | 21 آذر 1382
مشاهده | 6917 | تعداد آراء 32 | امتياز 3.1
عنوان | نحوه انتخاب يک مانيتور( بخش اول )
موضوع | بررسی پارامترهای لازم در خصوص انتخاب مانيتور
نويسنده | مديريت فنی | تاريخ نشر | 19 آذر 1382
مشاهده | 8840 | تعداد آراء 54 | امتياز 2.8
عنوان | نحوه انتخاب يک دوربين ديجيتال
موضوع | بررسی پارامترهای لازم در خصوص انتخاب دوربين ديجيتال
نويسنده | مديريت فنی | تاريخ نشر | 15 آذر 1382
مشاهده | 14455 | تعداد آراء 77 | امتياز 3.1
عنوان | نحوه انتخاب يک DVD
موضوع | بررسی پارامترهای لازم در خصوص انتخاب DVD
نويسنده | مديريت فنی | تاريخ نشر | 12 آذر 1382
مشاهده | 6938 | تعداد آراء 27 | امتياز 3.3
عنوان | نحوه انتخاب يک اسکنر
موضوع | بررسی پارامترهای لازم در خصوص انتخاب اسکنر
نويسنده | مديريت فنی | تاريخ نشر | 9 آذر 1382
مشاهده | 7157 | تعداد آراء 29 | امتياز 2.8
عنوان | نحوه انتخاب يک چاپگر
موضوع | بررسی پارامترهای لازم در خصوص انتخاب چاپگر
نويسنده | مديريت فنی | تاريخ نشر | 6 آذر 1382
مشاهده | 7524 | تعداد آراء 39 | امتياز 3.1
عنوان | نحوه انتخاب يک کارت گرافيک
موضوع | بررسی پارامترهای لازم در خصوص انتخاب کارت گرافيک
نويسنده | مديريت فنی | تاريخ نشر | 3 آذر 1382
مشاهده | 11318 | تعداد آراء 77 | امتياز 2.8
عنوان | نحوه انتخاب يک رايتر
موضوع | بررسی پارامترهای لازم در خصوص انتخاب رايـتر
نويسنده | مديريت فنی | تاريخ نشر | 1 آذر 1382
مشاهده | 8897 | تعداد آراء 61 | امتياز 3.2
عنوان | نحوه انتخاب يک مادربرد
موضوع | بررسی پارامترهای لازم در خصوص انتخاب مادربرد
نويسنده | مديريت فنی | تاريخ نشر | 28 آبان 1382
مشاهده | 17946 | تعداد آراء 94 | امتياز 3.2
عنوان | ميزان توليد اطلاعات در جهان ( بخش دوم )
موضوع | بررسی ميزان توليد و ذخيره سازی اطلاعات در جهان
نويسنده | مديريت وب | تاريخ نشر | 26 آبان 1382
مشاهده | 2720 | تعداد آراء 6 | امتياز 4.3
عنوان | ميزان توليد اطلاعات در جهان ( بخش اول )
موضوع | بررسی ميزان توليد و ذخيره سازی اطلاعات در جهان
نويسنده | مديريت وب | تاريخ نشر | 24 آبان 1382
مشاهده | 2995 | تعداد آراء 12 | امتياز 4.4
عنوان | نحوه انتخاب يک هارد ديسک
موضوع | بررسی پارامترهای لازم در خصوص انتخاب هارد ديسک
نويسنده | مديريت فنی | تاريخ نشر | 21 آبان 1382
مشاهده | 10817 | تعداد آراء 73 | امتياز 2.7
عنوان | مهمترين نقاط آسيب پذير يونيکس و لينوکس ( بخش پنجم )
موضوع | بررسی مهمترين نقاط آسيب پذير يونيکس و لينوکس
نويسنده | مديريت شبکه | تاريخ نشر | 18 آبان 1382
مشاهده | 1875 | تعداد آراء 4 | امتياز 3.8
عنوان | مهمترين نقاط آسيب پذير ويندوز ( بخش پنجم )
موضوع | بررسی مهمترين نقاط آسيب پذير ويندوز
نويسنده | مديريت شبکه | تاريخ نشر | 17 آبان 1382
مشاهده | 3315 | تعداد آراء 4 | امتياز 3.8

صفحه : << بعدی 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 قبلی >>

حداکثر امتياز يک مقاله پنج است .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


مشاهده مقالات در گروه

 مشاهده مقالات در گروه New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

Weblog.netkadeh.com باحال ترين وبلاگ كامپيوتري

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها

تعداد 231 مقاله وجود داشته و در 16 صفحه نمايش داده می شود. صفحه جاری : 8

مقالات گروه ◄ تمام مقالات تعداد مقالات موجود ◄ 231
عنوان | مهمترين نقاط آسيب پذير يونيکس و لينوکس ( بخش چهارم )
موضوع | بررسی مهمترين نقاط آسيب پذير يونيکس و لينوکس
نويسنده | مديريت شبکه | تاريخ نشر | 14 آبان 1382
مشاهده | 2445 | تعداد آراء 7 | امتياز 3
عنوان | مهمترين نقاط آسيب پذير ويندوز ( بخش چهارم )
موضوع | بررسی مهمترين نقاط آسيب پذير ويندوز
نويسنده | مديريت شبکه | تاريخ نشر | 13 آبان 1382
مشاهده | 3090 | تعداد آراء 6 | امتياز 4.3
عنوان | مهمترين نقاط آسيب پذير يونيکس و لينوکس ( بخش سوم )
موضوع | بررسی مهمترين نقاط آسيب پذير يونيکس و لينوکس
نويسنده | مديريت شبکه | تاريخ نشر | 11 آبان 1382
مشاهده | 1923 | تعداد آراء 4 | امتياز 4.2
عنوان | مهمترين نقاط آسيب پذير ويندوز ( بخش سوم )
موضوع | بررسی مهمترين نقاط آسيب پذير ويندوز
نويسنده | مديريت شبکه | تاريخ نشر | 10 آبان 1382
مشاهده | 3276 | تعداد آراء 2 | امتياز 4
عنوان | مهمترين نقاط آسيب پذير يونيکس و لينوکس ( بخش دوم )
موضوع | بررسی مهمترين نقاط آسيب پذير يونيکس و لينوکس
نويسنده | مديريت شبکه | تاريخ نشر | 8 آبان 1382
مشاهده | 3182 | تعداد آراء 6 | امتياز 3.5
عنوان | مهمترين نقاط آسيب پذير ويندوز ( بخش دوم )
موضوع | بررسی مهمترين نقاط آسيب پذير در سيستم عامل ويندوز
نويسنده | مديريت شبکه | تاريخ نشر | 7 آبان 1382
مشاهده | 4256 | تعداد آراء 8 | امتياز 3.2
عنوان | مهمترين نقاط آسيب پذير يونيکس و لينوکس ( بخش اول )
موضوع | بررسی مهمترين نقاط آسيب پذير يونيکس و لينوکس
نويسنده | مديريت شبکه | تاريخ نشر | 5 آبان 1382
مشاهده | 4013 | تعداد آراء 16 | امتياز 3.2
عنوان | مهمترين نقاط آسيب پذير ويندوز ( بخش اول )
موضوع | بررسی مهمترين نقاط آسيب پذير در سيستم عامل ويندوز
نويسنده | مديريت شبکه | تاريخ نشر | 4 آبان 1382
مشاهده | 5350 | تعداد آراء 12 | امتياز 3.3
عنوان | ايجاد يک برنامه وب در دات نت
موضوع | نحوه ايجاد يک برنامه وب با استفاده از ويژوال استوديو دات نت
نويسنده | مديريت وب | تاريخ نشر | 1 آبان 1382
مشاهده | 2242 | تعداد آراء 2 | امتياز 4.5
عنوان | مفاهيم اوليه CLR فريمورک دات نت ( بخش دوم )
موضوع | بررسی نوع ها ی حمايت شده و فراخوانی متد
نويسنده | مديريت وب | تاريخ نشر | 28 مهر 1382
مشاهده | 1099 | تعداد آراء 1 | امتياز 4
عنوان | مبانی برنامه نويسی وب در دات نت ( بخش سوم )
موضوع | آشنائی با امکانات ويژوال استوديو دات نت در رابطه با برنامه نويسی وب
نويسنده | مديريت وب | تاريخ نشر | 26 مهر 1382
مشاهده | 3067 | تعداد آراء 11 | امتياز 3
عنوان | مبانی برنامه نويسی وب در دات نت ( بخش دوم )
موضوع | بررسی جايگاه فريمورک دات نت دررابطه با برنامه های وب
نويسنده | مديريت وب | تاريخ نشر | 24 مهر 1382
مشاهده | 2048 | تعداد آراء 3 | امتياز 4
عنوان | مبانی برنامه نويسی وب در دات نت ( بخش اول )
موضوع | آشنائی با اصول مقدماتی برنامه های وب در دات نت
نويسنده | مديريت وب | تاريخ نشر | 22 مهر 1382
مشاهده | 2455 | تعداد آراء 3 | امتياز 4
عنوان | آدرس دهی IP ( بخش اول )
موضوع | بررسی مفاهيم و ويژگی های آدرس دهی IP
نويسنده | مديريت شبکه | تاريخ نشر | 19 مهر 1382
مشاهده | 3524 | تعداد آراء 31 | امتياز 3.4
عنوان | ارتباط به منابع داده در ADO.NET ( بخش سوم )
موضوع | نحوه مديريت يک Connection
نويسنده | مديريت وب | تاريخ نشر | 17 مهر 1382
مشاهده | 2309 | تعداد آراء 6 | امتياز 3.8

صفحه : << بعدی 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 قبلی >>

حداکثر امتياز يک مقاله پنج است .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


مشاهده مقالات در گروه

 مشاهده مقالات در گروه New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

Iran Developers Network - Learn Programming

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها

تعداد 231 مقاله وجود داشته و در 16 صفحه نمايش داده می شود. صفحه جاری : 9

مقالات گروه ◄ تمام مقالات تعداد مقالات موجود ◄ 231
عنوان | معماری سرويس های وب ( بخش دوم )
موضوع | جايگاه مصرف کنندگان و کارگزاران سرويس ها ی وب
نويسنده | مديريت وب | تاريخ نشر | 14 مهر 1382
مشاهده | 2575 | تعداد آراء 9 | امتياز 2.8
عنوان | پيکربندی IIS با رعايت مسائل امنيتی ( بخش پنجم )
موضوع | نحوه تنظيم و پيکربندی سرويس FTP
نويسنده | مديريت شبکه | تاريخ نشر | 12 مهر 1382
مشاهده | 3594 | تعداد آراء 12 | امتياز 3.5
عنوان | بررسی اعتبار داده ها توسط VB.NET در فرم های وب
موضوع | نحوه استفاده از کنترل های صحت داده در فرم های وب
نويسنده | مديريت وب | تاريخ نشر | 10 مهر 1382
مشاهده | 2122 | تعداد آراء 2 | امتياز 3.5
عنوان | دستيابی به بانک اطلاعاتی Access با استفاده از VB.NET
موضوع | بازيابی و نمايش رکوردهای موجود در بانک اطلاعاتی اکسس
نويسنده | مديريت وب | تاريخ نشر | 8 مهر 1382
مشاهده | 3029 | تعداد آراء 18 | امتياز 3.1
عنوان | XSD چيست ؟( بخش ششم)
موضوع | بررسی انواع داده در XSD
نويسنده | مديريت نرم افزار | تاريخ نشر | 6 مهر 1382
مشاهده | 1131 | تعداد آراء 1 | امتياز 5
عنوان | سخنی با شما
موضوع | بررسی عملکرد شش ماهه سايت
نويسنده | مديريت وب | تاريخ نشر | 3 مهر 1382
مشاهده | 1116 | تعداد آراء 0 | امتياز 0
عنوان | فرم های وب ( بخش چهارم)
موضوع | بررسی فرآيند ارسال و پاسخ به درخواست ها
نويسنده | مديريت وب | تاريخ نشر | 1 مهر 1382
مشاهده | 1955 | تعداد آراء 1 | امتياز 5
عنوان | دفاع در مقابل کرم ها و ويروس ها
موضوع | بررسی روش های دفاع در مقابل کرم ها و ويروس ها
نويسنده | مديريت شبکه | تاريخ نشر | 29 شهريور 1382
مشاهده | 4038 | تعداد آراء 16 | امتياز 3.3
عنوان | مبانی دا ت نت ( بخش سوم )
موضوع | بررسی کلاس های پايه بهمراه اينترفيس های کاربر و برنامه
نويسنده | مديريت وب | تاريخ نشر | 26 شهريور 1382
مشاهده | 1531 | تعداد آراء 4 | امتياز 3
عنوان | طراحی برنامه ( بخش دوم )
موضوع | بررسی اوليه متدولوژی UML
نويسنده | مديريت وب | تاريخ نشر | 23 شهريور 1382
مشاهده | 6289 | تعداد آراء 33 | امتياز 2.8
عنوان | مفاهيم اوليه پروتکل TCP/IP ( بخش ششم )
موضوع | بررسی روتينگ داده
نويسنده | مديريت شبکه | تاريخ نشر | 20 شهريور 1382
مشاهده | 4698 | تعداد آراء 18 | امتياز 4
عنوان | ايمن سازی سرويس دهنده FTP
موضوع | پيشنهاداتی بمنظور ايمن سازی سرويس دهنده FTP
نويسنده | مديريت شبکه | تاريخ نشر | 18 شهريور 1382
مشاهده | 2116 | تعداد آراء 5 | امتياز 3.6
عنوان | مقدمه ای بر برنامه نويسی شی گراء در دات نت
موضوع | بررسی اصول برنامه نويسی شی گراء در دات نت
نويسنده | مديريت وب | تاريخ نشر | 16 شهريور 1382
مشاهده | 4161 | تعداد آراء 6 | امتياز 2.3
عنوان | XSD چيست ؟( بخش پنجم)
موضوع | نحوه تشريح يک عنصر در سند XSD
نويسنده | مديريت نرم افزار | تاريخ نشر | 13 شهريور 1382
مشاهده | 1123 | تعداد آراء 2 | امتياز 3
عنوان | مبانی دا ت نت ( بخش دوم )
موضوع | بررسی CLR فريمورک دات نت
نويسنده | مديريت وب | تاريخ نشر | 11 شهريور 1382
مشاهده | 1795 | تعداد آراء 8 | امتياز 4.2

صفحه : << بعدی 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 قبلی >>

حداکثر امتياز يک مقاله پنج است .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


خود آزمون ها

 خود آزمون ها New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها

تعداد 14 خود آزمون وجود داشته و در 1 صفحه نمايش داده می شود. صفحه جاری : 1

عنوان | روتر و نقش آن در شبكه های WAN
موضوع | روتر و نقش آن در شبكه های WAN
نويسنده | مديريت آموزش | تاريخ نشر | 10 مهر 1384 | مشاهده | 177
عنوان | شبکه های محلی : عناصر و دستگاه ها
موضوع | شبکه های محلی : عناصر و دستگاه ها
نويسنده | مديريت آموزش | تاريخ نشر | 17 تير 1384 | مشاهده | 1358
عنوان | رسانه های انتقال داده در شبکه های کامپيوتری
موضوع | رسانه های انتقال داده در شبکه های کامپيوتری
نويسنده | مديريت آموزش | تاريخ نشر | 22 خرداد 1384 | مشاهده | 1312
عنوان | مبانی شبکه
موضوع | مبانی شبکه
نويسنده | مديريت آموزش | تاريخ نشر | 16 خرداد 1384 | مشاهده | 1805
عنوان | مبانی امنيت اطلاعات ( بخش سوم)
موضوع | آشنائی با اصول اوليه امنيت اطلاعات
نويسنده | مديريت آموزش | تاريخ نشر | 30 بهمن 1383 | مشاهده | 1907
عنوان | مبانی امنيت اطلاعات ( بخش دوم)
موضوع | آشنائی با اصول اوليه امنيت اطلاعات
نويسنده | مديريت آموزش | تاريخ نشر | 4 بهمن 1383 | مشاهده | 1750
عنوان | مبانی امنيت اطلاعات ( بخش اول)
موضوع | آشنائی با اصول اوليه امنيت اطلاعات
نويسنده | مديريت آموزش | تاريخ نشر | 18 دی 1383 | مشاهده | 2256
عنوان | آشنائی با مدل مرجع OSI ( بخش دوم)
موضوع | آشنائی با مدل مرجع OSI
نويسنده | مديريت آموزش | تاريخ نشر


نكته ها

 نكته ها New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها

تعداد 105 نکته وجود داشته و در 7 صفحه نمايش داده می شود. صفحه جاری : 1

عنوان | راه اندازی اوليه روتر
موضوع | راه اندازی اوليه روتر
نويسنده | مديريت آموزش | تاريخ نشر | 19 مهر 1384 | مشاهده | 78
عنوان | آشنائی با سيستم عامل روتر
موضوع | آشنائی با سيستم عامل روتر
نويسنده | مديريت آموزش | تاريخ نشر | 16 مهر 1384 | مشاهده | 178
عنوان | آشنائی با اينترفيس های روتر
موضوع | آشنائی با اينترفيس های روتر
نويسنده | مديريت آموزش | تاريخ نشر | 9 مهر 1384 | مشاهده | 284
عنوان | آشنائی با عناصر داخلی روتر
موضوع | آشنائی با عناصر داخلی روتر
نويسنده | مديريت آموزش | تاريخ نشر | 5 مهر 1384 | مشاهده | 420
عنوان | روتر و جايگاه آن در شبكه های WAN
موضوع | روتر و جايگاه آن در شبكه های WAN
نويسنده | مديريت آموزش | تاريخ نشر | 3 مهر 1384 | مشاهده | 337
عنوان | آشنائی با شبكه های WAN
موضوع | آشنائی با شبكه های WAN
نويسنده | مديريت آموزش | تاريخ نشر | 2 مهر 1384 | مشاهده | 332
عنوان | اشكال زدائی ويندوز 2000 و XP ( بخش دوم )
موضوع | اشكال زدائی ويندوز 2000 و XP در زمان راه اندازی
نويسنده | مديريت آموزش | تاريخ نشر | 26 شهريور 1384 | مشاهده | 361
عنوان | اشكال زدائی ويندوز 2000 و XP ( بخش اول )
موضوع | اشكال زدائی ويندوز 2000 و XP در زمان راه اندازی
نويسنده | مديريت آموزش | تاريخ نشر | 23 شهريور 1384 | مشاهده | 321
عنوان | آشنائی با پروتكل FTP ( بخش دوم )
موضوع | آشنائی با پروتكل FTP
نويسنده | مديريت آموزش | تاريخ نشر | 20 شهريور 1384 | مشاهده | 221


ليست مقالات برگزيده

 ليست مقالات برگزيده New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها

ليست مقالات برگزيده :

بيشترين امتياز

ايجاد يک برنامه وب نمونه در دات نت ( بخش نهم )
ايجاد يک ارتباط ايمن در برنامه های وب ( بخش دوم )
XML در دات نت : تبديل اسناد XML ( بخش اول )
ذخيره و بازيابی داده توسط ADO.NET (بخش چهارم)
XML در دات نت : تبديل اسناد XML ( بخش دوم )

بيشترين مشاهده

نحوه انتخاب يک مادربرد

نحوه انتخاب يک دوربين ديجيتال

ارتباط اتوماتيک به مقالات ما

نحوه انتخاب يک کارت گرافيک

نحوه انتخاب يک هارد ديسک

کمترين امتياز

ايجاد يک ارتباط ايمن در برنامه های وب (بخش سوم)
مقدمه ای بر برنامه نويسی شی گراء در دات نت
مفاهيم اوليه CLR فريمورک دات نت ( بخش اول )
وبلاگ چيست ؟ ( بخش اول )
مشخصات فنی انواع هارد Maxtor

کمترين مشاهده

Error Handling در ASP.NET

Cross Page Posting در ASP.NET 2.0

Master Page در ASP.NET 2.0

دستيابی داده در ASP.NET 2.0 ( بخش سوم )

بازيابی Scalar Data با استفاده از Stored Procedure

جستجو
جستجو

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


بازتاب سايت سخاروش در ساير رسانه ها

 بازتاب سايت سخاروش در ساير رسانه ها New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها

ليست مقالات منتشر شده از سايت سخا روش در مطبوعات :

مشاهده ليست مقالات منتشر شده در مطبوعات

عنوان مقاله | تاريخ نشر | ناشر
XML و ده نکته مهم ( بخش اول ) | 28 / 1/ 1382 | بخش کامپيوتر ابرار اقتصادی
XSLT چيست ؟ ( بخش اول ) | 30/ 1/ 1382 | بخش کامپيوتر ابرار اقتصادی
XML و ده نکته مهم ( بخش دوم ) | 31 / 1/ 1382 | بخش کامپيوتر ابرار اقتصادی
مراحل ايجاد امنيت در شبکه ( بخش اول ) | 1 / 2/ 1382 | بخش کامپيوتر ابرار اقتصادی
مراحل ايجاد امنيت در شبکه ( بخش دوم ) | 2 / 2/ 1382 | بخش کامپيوتر ابرار اقتصادی
مراحل ايجاد امنيت در شبکه | 6/ 2/ 1382 | بخش کامپيوتر دنيای اقتصاد
ارزيابی امنيتی سيستم عامل ويندوز | 6 / 2/ 1382 | بخش کامپيوتر ابرار اقتصادی
XSLT چيست ؟ ( بخش اول ) | 7 / 2/ 1382 | بخش کامپيوتر ابرار اقتصادی
اصول مقدماتی ASP.NET | 8 / 2/ 1382 | بخش کامپيوتر ابرار اقتصادی
XSLT چيست ؟ ( بخش دوم ) | 9 / 2 / 1382 | بخش کامپيوتر ابرار اقتصادی
XSLT چيست ؟ ( بخش سوم ) | 10/ 2 / 1382 | بخش کامپيوتر ابرار اقتصادی
XSLT چيست ؟ ( بخش چهارم ) | 14 / 2/ 1382 | بخش کامپيوتر ابرار اقتصادی
نمونه هائی از حملات اينترنتی از طريق نامه الکترونيکی | 15 / 2/ 1382 | بخش کامپيوتر ابرار اقتصادی
نمونه هائی از حملات اينترنتی از طريق نامه الکترونيکی | 16 / 2/ 1382 | بخش کامپيوتر ابرار اقتصادی
امنيت در نامه های الکترونيکی ( بخش اول ) | 16 / 2/ 1382 | بخش کامپيوتر دنيای اقتصاد
امنيت در نامه های الکترونيکی ( بخش دوم ) | 17 / 2/ 1382 | بخش کامپيوتر دنيای اقتصاد
امنيت در نامه های الکترونيکی ( بخش اول ) | 18 / 2 / 138 2 | بخش کامپيوتر ابرار اقتصادی
امنيت در نامه های الکترونيکی ( بخش دوم ) | 20 / 2/ 1382 | بخش کامپيوتر ابرار اقتصادی
امنيت در نامه های الکترونيکی ( بخش سوم ) | 21 / 2 / 1382 | بخش کامپيوتر ابرار اقتصادی
استراتژی حفاظت از اطلاعات در شبکه های کامپيوتری | 24 / 2/ 1382 | بخش کامپيوتر ابرار اقتصادی
استراتژی حفاظت از اطلاعات در شبکه های کامپيوتری | 25 / 2/ 1382 | بخش کامپيوتر دنيای اقتصاد
XPath چيست ؟ ( بخش اول ) | 27 / 2/ 1382 | بخش کامپيوتر ابرار اقتصادی
DOM چيست ؟ | 31 / 2/ 1382 | بخش کامپيوتر ابرار اقتصادی
مفاهيم اوليه ADO.NET | 1 / 3 / 1382 | بخش کامپيوتر ابرار اقتصادی
معماری برنامه های مبتنی بر داده | 3 / 3 / 1382 | بخش کامپيوتر ابرار اقتصادی
مفاهيم اوليه سرويس های وب ( بخش اول ) | 4 / 3 / 1382 | بخش کامپيوتر ابرار اقتصادی
ساختار يک سند XML | 8 / 3 / 1382 | بخش کامپيوتر ابرار اقتصادی
مفاهيم اوليه ارتباط ADO.NET و XML | 12 / 3/ 1382 | بخش کامپيوتر ابرار اقتصادی
مفاهيم اوليه سرويس های وب ( بخش دوم) | 17 / 3/ 1382 | بخش کامپيوتر ابرار اقتصادی
استراتژی حفاظت از اطلاعات در شبکه های کامپيوتری | 18 / 3 / 1382 | بخش کامپيوتر ابرار اقتصادی
استراتژی حفاظت از اطلاعات در شبکه های کامپيوتری | 21 / 3/ 1382 | بخش کامپيوتر ابرار اقتصادی
مبانی ويندوز و شبکه ( بخش اول ) | 22 / 3 / 1382 | بخش کامپيوتر ابرار اقتصادی
مبانی ويندوز و شبکه ( بخش اول ) | 24 / 3 / 1382 | بخش کامپيوتر ابرار اقتصادی
مفاهيم اوليه پروتکل TCP/IP ( بخش اول ) | 4 / 4 / 1382 | بخش کامپيوتر ابرار اقتصادی
مفاهيم اوليه پروتکل TCP/IP ( بخش دوم ) | 11 / 4 / 1382 | بخش کامپيوتر ابرار اقتصادی
XSD چيست ؟ ( بخش اول ) | 11 / 4 / 1382 | بخش کامپيوتر دنيای اقتصاد
مفاهيم اوليه پروتکل TCP/IP ( بخش دوم -ادامه ...) | 12 / 4 / 1382 | بخش کامپيوتر ابرار اقتصادی
فرم های وب ( بخش اول ) | 18 / 4 / 1382 | بخش کامپيوتر ابرار اقتصادی
مفاهيم اوليه پروتکل TCP/IP ( بخش سوم) | 19 / 4/ 1382 | بخش کامپيوتر ابرار اقتصادی
مبانی يک برنامه ASP.NET | 21 / 4 / 1382 | بخش کامپيوتر ابرار اقتصادی
دستيابی به داده ها در دات نت ( قسمت اول) | 22 / 4 / 1382 | بخش کامپيوتر ابرار اقتصادی
دستيابی به داده ها در دات نت ( قسمت دوم) | 23 / 4/ 1382 | بخش کامپيوتر ابرار اقتصادی
مبانی فريمورک دات نت | 25 / 4 / 1382 | بخش کامپيوتر ابرار اقتصادی
فرم های وب ( بخش دوم ) | 26 / 4 / 1382 | بخش کامپيوتر ابرار اقتصادی
مفاهيم اوليه پروتکل TCP/IP ( بخش چهارم) | 29 / 4/ 1382 | بخش کامپيوتر ابرار اقتصادی
معرفی ويندوز 2000 و 2003 | 1 / 5 / 1382 | بخش کامپيوتر ابرار اقتصادی
کتابخانه کلاس فريمورک دات نت ( بخش اول ) | 4 / 5 / 1382 | بخش کامپيوتر ابرار اقتصادی
امنيت نامه های الکترونيکی ( بخش دوم ) | 9 / 5 / 1382 | بخش کامپيوتر ابرار اقتصادی
معرفی اوليه VB.NET - قسمت اول | 15 / 5 / 1382 | بخش کامپيوتر ابرار اقتصادی
معرفی اوليه VB.NET - قسمت دوم | 16 / 5 / 1382 | بخش کامپيوتر ابرار اقتصادی
مفاهيم اوليه پروتکل TCP/IP ( بخش پنجم) | 19 / 5 / 1382 | بخش کامپيوتر ابرار اقتصادی
امکانات شبکه ای ويندوز- قسمت اول | 20 / 5/ 1382 | بخش کامپيوتر دنيای اقتصاد
مفاهيم اوليه CLR فريمورک دات نت - قسمت اول | 21 / 5 / 1382 | بخش کامپيوتر ابرار اقتصادی
مفاهيم اوليه CLR فريمورک دات نت - قسمت دوم | 22 / 5/ 1382 | بخش کامپيوتر ابرار اقتصادی
امکانات شبکه ای ويندوز- قسمت دوم | 22 / 5 / 1382 | بخش کامپيوتر دنيای اقتصاد
امکانات شبکه ای ويندوز- قسمت پايانی | 23 / 5 / 1382 | بخش کامپيوتر دنيای اقتصاد
فرم های وب ( بخش سوم ) | 23 / 5 / 1382 | بخش کامپيوتر ابرار اقتصادی
طراحی برنامه ( بخش اول ) | 26 / 5 / 1382 | بخش کامپيوتر ابرار اقتصادی
پيکربندی DHCP با رعايت مسائل ايمنی - قسمت اول | 9 / 6 / 1382 | بخش کامپيوتر ابرار اقتصادی
پيکربندی DHCP با رعايت مسائل ايمنی - قسمت دوم | 12 / 6 / 1382 | بخش کامپيوتر ابرار اقتصادی
دانت برای شروع - قسمت اول | 13 / 6 / 1382 | بخش کامپيوتر ابرار اقتصادی
دانت برای شروع - قسمت دوم | 15 / 6 / 1382 | بخش کامپيوتر ابرار اقتصادی
نقش عوامل انسانی در امنيت شبکه های کامپيوتری | 16 / 6 / 1382 | بخش کامپيوتر دنيای اقتصاد
نقش عوامل انسانی در امنيت شبکه های کامپيوتری | 17 / 6/ 1382 | بخش کامپيوتر دنيای اقتصاد
نقش عوامل انسانی در امنيت شبکه های کامپيوتری | 17 / 6 / 1382 | بخش کامپيوتر ابرار اقتصادی
نقش عوامل انسانی در امنيت شبکه های کامپيوتری | 22 / 6 / 1382 | بخش کامپيوتر دنيای اقتصاد
نقش عوامل انسانی در امنيت شبکه های کامپيوتری | 23 / 6 / 1382 | بخش کامپيوتر ابرار اقتصادی
نقش عوامل انسانی در امنيت شبکه های کامپيوتری | 24 / 6 / 1382 | بخش کامپيوتر ابرار اقتصادی
طراحی برنامه ( بخش دوم )- قسمت اول | 25 / 6 / 1382 | بخش کامپيوتر ابرار اقتصادی
طراحی برنامه ( بخش دوم )- قسمت دوم | 26 / 6/ 1382 | بخش کامپيوتر ابرار اقتصادی
با کرم بلستر بيشتر آشنا شويم ! | 27 / 6 / 1382 | بخش کامپيوتر دنيای اقتصاد
مفاهيم اوليه پروتکل TCP/IP ( بخش ششم) | 27 / 6 / 1382 | بخش کامپيوتر ابرار اقتصادی
ارتباط به منابع داده در ADO.NET - قسمت اول | 30 / 6 / 1382 | بخش کامپيوتر ابرار اقتصادی
مقدمه ای بر برنامه نويسی شی گراء در دات نت - قسمت اول | 30 / 6 / 1382 | بخش کامپيوتر دنيای اقتصاد
مقدمه ای بر برنامه نويسی شی گراء در دات نت - قسمت اول | 31 / 6 / 1382 | بخش کامپيوتر دنيای اقتصاد
دفاع در مقابل کرم ها و ويروس ها - قسمت اول | 31 / 6 / 1382 | بخش کامپيوتر ابرار اقتصادی
دفاع در مقابل کرم ها و ويروس ها - قسمت دوم | 1 / 7 / 1382 | بخش کامپيوتر ابرار اقتصادی
دفاع در مقابل کرم ها و ويروس ها - قسمت سوم | 6 / 7 / 1382 | بخش کامپيوتر ابرار اقتصادی
مقدمه ای بر برنامه نويسی شی گراء در دات نت - قسمت پايانی | 6 / 7 / 1382 | بخش کامپيوتر دنيای اقتصاد
دفاع در مقابل کرم ها و ويروس ها - قسمت چهارم | 7 / 7 / 1382 | بخش کامپيوتر ابرار اقتصادی
دفاع در مقابل کرم ها و ويروس ها - قسمت پايانی | 8 / 7 / 1382 | بخش کامپيوتر ابرار اقتصادی
معماری سرويس های وب ( بخش اول ) - قسمت اول | 13 / 7 / 1382 | بخش کامپيوتر ابرار اقتصادی
معماری سرويس های وب ( بخش اول ) - قسمت دوم | 14 / 7 / 1382 | بخش کامپيوتر ابرار اقتصادی
معماری سرويس های وب ( بخش اول ) - قسمت سوم | 17 / 7 / 1382 | بخش کامپيوتر ابرار اقتصادی
معماری سرويس های وب ( بخش دوم ) - قسمت اول | 6 / 8 / 1382 | بخش کامپيوتر ابرار اقتصادی
معماری سرويس های وب ( بخش دوم ) - قسمت دوم | 7 / 8 / 1382 | بخش کامپيوتر ابرار اقتصادی
مهمترين نقاط آسيب پذيرويندوز( بخش اول ) - قسمت اول | 14 / 8 / 1382 | بخش کامپيوتر دنيای اقتصاد
مهمترين نقاط آسيب پذيرويندوز( بخش اول ) - قسمت دوم | 15 / 8 / 1382 | بخش کامپيوتر دنيای اقتصاد
مهمترين نقاط آسيب پذيرويندوز( بخش اول ) - قسمت اول | 15 / 8 / 1382 | بخش کامپيوتر ابرار اقتصادی
مهمترين نقاط آسيب پذيرويندوز( بخش اول ) - قسمت سوم | 16 / 8 / 1382 | بخش کامپيوتر دنيای اقتصاد
مهمترين نقاط آسيب پذير يونيکس و لينوکس ( بخش اول ) | 22 / 8 / 1382 | بخش کامپيوتر ابرار اقتصادی
مهمترين نقاط آسيب پذيرويندوز( بخش دوم ) - قسمت اول | 26 / 8 / 1382 | بخش کامپيوتر دنيای اقتصاد
مهمترين نقاط آسيب پذيرويندوز( بخش دوم ) - قسمت دوم | 27 / 8 / 1382 | بخش کامپيوتر دنيای اقتصاد
مهمترين نقاط آسيب پذير يونيکس و لينوکس ( بخش اول ) | 29 / 8 / 1382 | بخش کامپيوتر ابرار اقتصادی
نحوه انتخاب هارد ديسک | 1 / 9 / 1382 | بخش کامپيوتر ابرار اقتصادی
مهمترين نقاط آسيب پذير يونيکس و لينوکس ( بخش اول ) | 2 / 9 / 1382 | بخش کامپيوتر دنيای اقتصاد
مهمترين نقاط آسيب پذير يونيکس و لينوکس ( بخش اول ) | 3 / 9 / 1382 | بخش کامپيوتر ابرار اقتصادی
نحوه انتخاب هارد ديسک | 4 / 9 / 1382 | بخش کامپيوتر دنيای اقتصاد
مهمترين نقاط آسيب پذير يونيکس و لينوکس ( بخش دوم ) | 4 / 9 / 1382 | بخش کامپيوتر ابرار اقتصادی
مهمترين نقاط آسيب پذير يونيکس و لينوکس ( بخش دوم ) | 6 / 9 / 1382 | بخش کامپيوتر ابرار اقتصادی
نحوه انتخاب مادربرد- قسمت اول | 8 / 9 / 1382 | بخش کامپيوتر دنيای اقتصاد
مهمترين نقاط آسيب پذير يونيکس و لينوکس ( بخش دوم ) | 8 / 9 / 1382 | بخش کامپيوتر ابرار اقتصادی
نحوه انتخاب مادربرد | 8 / 9 / 1382 | عصر ارتباط
نحوه انتخاب کارت گرافيک - قسمت اول | 9 / 9 / 1382 | بخش کامپيوتر دنيای اقتصاد
نحوه انتخاب کارت گرافيک - قسمت دوم | 10 / 9 / 1382 | بخش کامپيوتر دنيای اقتصاد
نحوه انتخاب مادربر د - قسمت اول | 10 / 9 / 1382 | بخش کامپيوتر ابرار اقتصادی
نحوه انتخاب چاپگر- قسمت اول | 11 / 9 / 1382 | بخش کامپيوتر دنيای اقتصاد
نحوه انتخاب چاپگر- قسمت دوم | 12 / 9 / 1382 | بخش کامپيوتر دنيای اقتصاد
نحوه انتخاب رايتر- قسمت اول | 13 / 9 / 1382 | بخش کامپيوتر ابرار اقتصادی
نحوه انتخاب رايتر- قسمت دوم | 16 / 9 / 1382 | بخش کامپيوتر ابرار اقتصادی
نحوه انتخاب رايتر- قسمت سوم | 18 / 9 / 1382 | بخش کامپيوتر ابرار اقتصادی
نحوه انتخاب رايتر | 23 / 9 / 1382 | بخش کامپيوتر دنيای اقتصاد
نحوه انتخاب کارت گرافيک - قسمت اول | 23 / 9 / 1382 | بخش کامپيوتر ابرار اقتصادی
نحوه انتخاب کارت گرافيک - قسمت دوم | 27 / 9 / 1382 | بخش کامپيوتر ابرار اقتصادی
رويدادها در برنامه های وب دات نت | 30 / 9 / 1382 | عصر ارتباط
نحوه انتخاب یک DVD - بخش اول | 30 / 9 / 1382 | بخش کامپيوتر ابرار اقتصادی
نحوه انتخاب یک DVD - بخش دوم | 1 / 10 / 1382 | بخش کامپيوتر ابرار اقتصادی
نحوه انتخاب يک دوربين ديجتال - بخش اول | 1 / 10 / 1382 | بخش کامپيوتر دنيای اقتصاد
نحوه انتخاب يک دوربين ديجتال - بخش دوم | 2 / 10 /1382 | بخش کامپيوتر دنيای اقتصاد
نحوه انتخاب يک مانيتور - بخش اول | 3 / 10 / 1382 | بخش کامپيوتر دنيای اقتصاد
نحوه انتخاب يک مانيتور - بخش دوم | 4 / 10 / 1382 | بخش کامپيوتر دنيای اقتصاد
نحوه انتخاب يک مانيتور - بخش سوم | 5 / 10 / 1382 | بخش کامپيوتر دنيای اقتصاد
نحوه انتخاب یک DVD - بخش سوم | 7 / 10 / 1382 | بخش کامپيوتر ابرار اقتصادی
نحوه انتخاب يک دوربين ديجتال - بخش اول | 8 / 10 / 1382 | بخش کامپيوتر ابرار اقتصادی
نحوه انتخاب يک دوربين ديجتال - بخش دوم | 9 / 10 / 1382 | بخش کامپيوتر ابرار اقتصادی
نحوه انتخاب يک دوربين ديجتال - بخش سوم | 10 / 10 / 1382 | بخش کامپيوتر ابرار اقتصادی
نحوه انتخاب يک مانيتور - بخش اول | 11 / 10 / 1382 | بخش کامپيوتر ابرار اقتصادی
نحوه انتخاب يک مانيتور - بخش دوم | 13 / 10 / 1382 | بخش کامپيوتر ابرار اقتصادی
نحوه انتخاب يک مانيتور - بخش سوم | 14 / 10 / 1382 | بخش کامپيوتر ابرار اقتصادی
ميزان توليد اطلاعات در جهان ( بخش اول ) | 14 / 10 / 1382 | بخش کامپيوتر دنيای اقتصاد
رمز نگاری اطلاعات ( بخش اول ) | 14 / 10 / 1382 | بخش کامپيوتر دنيای اقتصاد
ميزان توليد اطلاعات در جهان ( بخش دوم ) | 15 / 10 / 1382 | بخش کامپيوتر دنيای اقتصاد
رمز نگاری اطلاعات ( بخش دوم ) | 15 / 10 / 1382 | بخش کامپيوتر دنيای اقتصاد
ميزان توليد اطلاعات در جهان ( قسمت دوم ) | 16 / 10 / 1382 | بخش کامپيوتر دنيای اقتصاد
رمز نگاری اطلاعات ( بخش سوم ) | 16 / 10 / 1382 | بخش کامپيوتر دنيای اقتصاد
نحوه انتخاب يک مانيتور - بخش چهارم | 16 / 10 / 1382 | بخش کامپيوتر ابرار اقتصادی
ميزان توليد اطلاعات در جهان ( بخش پايانی) | 17 / 10 / 1382 | بخش کامپيوتر دنيای اقتصاد
نحوه انتخاب مادربرد- قسمت اول | 18 / 10 / 1382 | بخش کامپيوتر دنيای اقتصاد
ميزان توليد اطلاعات در جهان ( بخش اول ) | 18 / 10 / 1382 | بخش کامپيوتر ابرار اقتصادی
نحوه انتخاب مادربرد- بخش پايانی | 20 / 10 / 1382 | بخش کامپيوتر دنيای اقتصاد
فشرده سازی اطلاعات | 21 / 10 / 1382 | بخش کامپيوتر دنيای اقتصاد
رويدادها در برنامه های وب دات نت | 22 / 10 / 1382 | بخش کامپيوتر ابرار اقتصادی
ميزان توليد اطلاعات در جهان ( بخش دوم ) | 28 / 10 / 1382 | بخش کامپيوتر ابرار اقتصادی
ميزان توليد اطلاعات در جهان ( بخش دوم ) | 29 / 10 / 1382 | بخش کامپيوتر ابرار اقتصادی
امنيت برنامه های وب ( بخش اول ) | 30 / 10 / 1382 | بخش کامپيوتر دنيای اقتصاد
امنيت برنامه های وب ( بخش دوم ) | 1 / 11 / 1382 | بخش کامپيوتر دنيای اقتصاد
امنيت برنامه های وب ( بخش دوم ) | 2 / 11 / 1382 | بخش کامپيوتر دنيای اقتصاد
امنيت برنامه های وب ( بخش اول ) | 2 / 11 / 1382 | بخش کامپيوتر ابرار اقتصادی
امنيت برنامه های وب ( بخش سوم ) | 4 / 11 / 1382 | بخش کامپيوتر دنيای اقتصاد
نحوه انتخاب هارد ديسک( بخش اول) | 4 / 11 / 1382 | عصر ارتباط
امنيت برنامه های وب ( بخش چهارم) | 5 / 11 / 1382 | بخش کامپيوتر دنيای اقتصاد
امنيت برنامه های وب ( بخش چهارم) | 6 / 11 / 1382 | بخش کامپيوتر دنيای اقتصاد
امنيت برنامه های وب ( بخش پنجم) | 7 / 11 / 1382 | بخش کامپيوتر دنيای اقتصاد
ايجاد يک ارتباط ايمن در برنامه های وب( بخش اول ) | 8 / 11 / 1382 | بخش کامپيوتر دنيای اقتصاد
ايجاد يک ارتباط ايمن در برنامه های وب( بخش اول ) | 9 / 11 / 1382 | بخش کامپيوتر دنيای اقتصاد
ايجاد يک ارتباط ايمن در برنامه های وب( بخش دوم ) | 12 / 11 / 1382 | بخش کامپيوتر دنيای اقتصاد
نحوه انتخاب هارد ديسک( بخش دوم) | 12 / 11 / 1382 | عصر ارتباط
ايجاد يک ارتباط ايمن در برنامه های وب( بخش دوم ) | 14 / 11 / 1382 | بخش کامپيوتر دنيای اقتصاد
امنيت برنامه های وب ( بخش اول ) | 14 / 11 / 1382 | بخش کامپيوتر ابرار اقتصادی
ايجاد يک ارتباط ايمن در برنامه های وب( بخش سوم ) | 15 / 11 / 1382 | بخش کامپيوتر دنيای اقتصاد
ايجاد يک ارتباط ايمن در برنامه های وب( بخش سوم ) | 16 / 11 / 1382 | بخش کامپيوتر دنيای اقتصاد
امنيت برنامه های وب ( بخش اول ) - قسمت دوم | 18 / 11/ 1382 | بخش کامپيوتر ابرار اقتصادی
نحوه انتخاب هارد ديسک( بخش سوم) | 18 / 11 / 1382 | عصر ارتباط
امنيت برنامه های وب ( بخش اول ) - قسمت سوم | 19 / 11 / 1382 | بخش کامپيوتر ابرار اقتصادی
با کرم Mydoom بيشترآشنا شويم ! | 19 / 11 / 1382 | بخش کامپيوتر دنيای اقتصاد
ايجاد يک ارتباط ايمن در برنامه های وب( بخش چهارم) | 20 / 11 / 1382 | بخش کامپيوتر دنيای اقتصاد
امنيت برنامه های وب ( بخش اول ) - قسمت چهارم | 20 / 11 / 1382 | بخش کامپيوتر ابرار اقتصادی
ايجاد يک ارتباط ايمن در برنامه های وب( بخش پنجم) | 25 / 11 / 1382 | بخش کامپيوتر دنيای اقتصاد
نحوه انتخاب اسکنر(بخش اول ) | 26 / 11 / 1382 | بخش کامپيوتر ابرار اقتصادی
نحوه انتخاب اسکنر(بخش دوم ) | 27 / 11 / 1382 | بخش کامپيوتر ابرار اقتصادی
حفاظت فايل ها توسط ASP.NET | 27 / 11 / 1382 | بخش کامپيوتر دنيای اقتصاد
نحوه انتخاب اسکنر(بخش سوم ) | 30 / 11 / 1382 | بخش کامپيوتر ابرار اقتصادی
رمز نگاری اطلاعات | 2 / 12 / 1382 | بخش کامپيوتر ابرار اقتصادی
امنيت برنامه های وب ( بخش اول ) | 6 / 12 / 1382 | بخش کامپيوتر ابرار اقتصادی
ذخيره و بازيابی داده توسط ADO.NET (بخش اول) | 6 / 12 / 1382 | بخش کامپيوتر دنيای اقتصاد
ايجاد يک ارتباط ايمن در برنامه های وب( بخش اول ) | 20 / 1/ 1383 | بخش کامپيوتر ابرار اقتصادی
ايجاد يک ارتباط ايمن در برنامه های وب( بخش دوم ) | 22 / 1 / 1383 | بخش کامپيوتر ابرار اقتصادی
ايجاد يک ارتباط ايمن در برنامه های وب( بخش سوم ) | 27 / 1 / 1383 | بخش کامپيوتر ابرار اقتصادی
ايجاد يک ارتباط ايمن در برنامه های وب( بخش سوم ) | 29/ 1 / 1383 | بخش کامپيوتر ابرار اقتصادی
ايجاد يک ارتباط ايمن در برنامه های وب( بخش چهارم) | 30 / 1 / 1383 | بخش کامپيوتر ابرار اقتصادی
فن آوری اطلاعات و ارتباطات چيست ؟( بخش اول ) | 6 / 2 / 1383 | بخش کامپيوتر ابرار اقتصادی
فن آوری اطلاعات و ارتباطات چيست ؟( بخش اول ) | 7 / 2/ 1383 | بخش کامپيوتر ابرار اقتصادی
فن آوری اطلاعات و ارتباطات چيست ؟( بخش اول ) | 8 / 2/ 1383 | بخش کامپيوتر ابرار اقتصادی
ايجاد يک ارتباط ايمن در برنامه های وب | 10 / 2 / 1383 | بخش کامپيوتر ابرار اقتصادی
ايجاد يک ارتباط ايمن در برنامه های وب | 12 / 2 / 1383 | بخش کامپيوتر ابرار اقتصادی
ايجاد يک ارتباط ايمن در برنامه های وب | 13 / 2 / 1383 | بخش کامپيوتر ابرار اقتصادی
فن آوری اطلاعات و ارتباطات چيست ؟( بخش دوم ) | 15 / 2 / 1383 | بخش کامپيوتر ابرار اقتصادی
فن آوری اطلاعات و ارتباطات چيست ؟( بخش دوم ) | 16 / 2 / 1383 | بخش کامپيوتر ابرار اقتصادی
فن آوری اطلاعات و ارتباطات چيست ؟( بخش دوم ) | 19 / 2 / 1383 | بخش کامپيوتر ابرار اقتصادی
Spam چيست ؟ | 24 / 2/ 1383 | بخش کامپيوتر ابرار اقتصادی
Spam چيست ؟ | 26 / 2 / 1383 | بخش کامپيوتر ابرار اقتصادی
Spam چيست ؟ | 27 / 2 / 1383 | بخش کامپيوتر ابرار اقتصادی
وبلاگ چيست ؟ ( قسمت اول ) | 28 / 2 / 1383 | بخش کامپيوتر ابرار اقتصادی
وبلاگ چيست ؟ ( قسمت اول ) | 29 / 2 / 1383 | بخش کامپيوتر ابرار اقتصادی
نقش عوامل انسانی در امنيت شبکه های کامپيوتری | 30 / 2 / 1383 | بخش کامپيوتر ابرار اقتصادی
نقش عوامل انسانی در امنيت شبکه های کامپيوتری | 31 / 2 / 1383 | بخش کامپيوتر ابرار اقتصادی
نقش عوامل انسانی در امنيت شبکه های کامپيوتری | 2 / 3 / 1383 | بخش کامپيوتر ابرار اقتصادی
نقش عوامل انسانی در امنيت شبکه های کامپيوتری | 3 / 3 / 1383 | بخش کامپيوتر ابرار اقتصادی
نقش عوامل انسانی در امنيت شبکه های کامپيوتری | 4 / 3 / 1383 | بخش کامپيوتر ابرار اقتصادی
استراتژی طراحی شبکه ( بخش اول ) | 9 / 3 / 1383 | بخش کامپيوتر ابرار اقتصادی
استراتژی طراحی شبکه ( بخش اول ) | 10 / 3 / 1383 | بخش کامپيوتر ابرار اقتصادی
استراتژی طراحی شبکه ( بخش اول ) | 11 / 3 / 1383 | بخش کامپيوتر ابرار اقتصادی
Spam چيست ؟ | 11 / 3 / 1383 | روزنامه شرق
Spam چيست ؟ | 11 / 3 / 1383 | بخش کامپيوتر دنيای اقتصاد
وبلاگ چيست ؟ ( بخش دوم ) | 12 / 3 / 1383 | بخش کامپيوتر ابرار اقتصادی
وبلاگ چيست ؟ ( بخش دوم) | 13 / 3 / 1383 | بخش کامپيوتر ابرار اقتصادی
وبلاگ چيست ؟ ( بخش اول ) | 16 / 3 / 1383 | بخش کامپيوتر دنيای اقتصاد
وبلاگ چيست ؟ ( بخش دوم) | 18 / 3 / 1383 | بخش کامپيوتر دنيای اقتصاد
استراتژی طراحی شبکه ( بخش دوم ) | 18 3 / 1383 | بخش کامپيوتر ابرار اقتصادی
استراتژی طراحی شبکه ( بخش دوم ) | 19 / 3 / 1383 | بخش کامپيوتر ابرار اقتصادی
استراتژی طراحی شبکه ( بخش دوم ) | 20 / 3 / 1383 | بخش کامپيوتر ابرار اقتصادی
استراتژی طراحی شبکه ( بخش دوم ) | 21 / 3 / 1383 | بخش کامپيوتر ابرار اقتصادی
وبلاگ چيست ؟ ( قسمت اول ) | 23 / 3 / 1383 | روزنامه شرق
استراتژی طراحی شبکه ( بخش دوم ) | 23 / 3 / 1383 | بخش کامپيوتر ابرار اقتصادی
استراتژی طراحی شبکه ( بخش دوم ) | 24 / 3 / 1383 | بخش کامپيوتر ابرار اقتصادی
انواع حملات در شبکه های کامپيوتری ( بخش اول ) | 25 / 3 / 1383 | بخش کامپيوتر ابرار اقتصادی
انواع حملات در شبکه های کامپيوتری ( بخش اول ) | 26 / 3 / 1383 | بخش کامپيوتر ابرار اقتصادی
انواع حملات در شبکه های کامپيوتری ( بخش اول ) | 27 / 3 / 1383 | بخش کامپيوتر ابرار اقتصادی
انواع حملات در شبکه های کامپيوتری ( بخش اول ) | 28 / 3 / 1383 | بخش کامپيوتر ابرار اقتصادی
انواع حملات در شبکه های کامپيوتری ( بخش دوم ) | 1 / 4 / 1383 | بخش کامپيوتر ابرار اقتصادی
انواع حملات در شبکه های کامپيوتری ( بخش دوم ) | 2 / 4 / 1383 | بخش کامپيوتر ابرار اقتصادی
XML و ده نکته مهم | 10 / 4 / 1383 | بخش کامپيوتر ابرار اقتصادی
مبانی امنيت اطلاعات | 11 / 4 / 1383 | بخش کامپيوتر ابرار اقتصادی
مبانی امنيت اطلاعات | 16 / 4/ 1383 | بخش کامپيوتر ابرار اقتصادی
مبان�


تشكر و قدردانی از شما

 تشكر و قدردانی از شما New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها

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

تشكر و قدردانی

با سپا س فراوان از تلاش سبزتان
http://khabar.gooya.com | http://www.itiran.com
http://news.gooya.com | http://www.iranASP.NET
http://www.idevcenter.com/links | http://www.ictac.ir
http://www.nibblemag.com | http://weblog.netkadeh.com
http://www.iranit.info | http://www.webrah.com
http://www.zendehrood.com | http://shahramamiri.persianblog.com
http://www.farstec.com | http://www.computerdailynews.com
http://visualc6.persianblog.com | http://www.persianlearn.com
http://www.adresha.com | http://www.shabane.com
http://news.gooya.com/technology | http://www.delphishop.com
http://linkdony.persianblog.com | http://www.donya-e-eqtesad.com
.http://www.linkestan.com | http://www.ediplomacyiran.com
http://clicks.netkadeh.com | http://www.nedstatbasic.net
http://www.kanoun.org | http://itfolder.blogspot.com
http://www.midoony.com | http://www.itiran.net
http://weblog.mohsentaleb.com | http://www.uwdg.net
http://www.irandevelopers.com | http://weblog.azemat.com
http://amirtec.persianblog.com | http://www.khatereh.net
http://www.meykadeh.net | http://blog.mojtaba.net
http://www.persiaelearning.com |


آشنائی با پروتكل FTP

 آشنائی با پروتكل FTP New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها

نسخه قابل چاپ

عنوان | نويسنده | مشاهده
آشنائی با پروتكل FTP ( بخش دوم ) | مديريت آموزش | 222

آشنائی با پروتكل FTP

آشنائی با پروتكل FTP ( بخش دوم )

FTP ،‌ يك پروتكل ارسال فايل است كه با استفاده از آن سرويس گيرندگان می توانند به سرويس دهندگان متصل و صرفنظر از نوع سرويس دهنده اقدام به دريافت و يا ارسال فايل نمايند . پروتكل FTP به منظور ارائه خدمات خود از دو حالت متفاوت استفاده می نمايد : Active Mode و Passive Mode . مهمترين تفاوت بين روش های فوق جايگاه سرويس دهنده و يا سرويس گيرنده در ايجاد و خاتمه يك ارتباط است .
همانگونه كه در بخش اول اشاره گرديد ، يك اتصال پروتكل TCP/IP ( نسخه شماره چهار) شامل دو نقطه مجزا می باشد كه هر نقطه از يك آدرس IP و يك شماره پورت استفاده می نمايد . برقراری ارتباط بين يك سرويس گيرنده و يك سرويس دهنده منوط به وجود چهار عنصر اطلاعاتی است : آدرس سرويس دهنده ،‌پورت سرويس دهنده ، آدرس سرويس گيرنده و پورت سرويس گيرنده . در زمان برقراری يك ارتباط ، سرويس گيرنده از يك شماره پورت استفاده می نمايد . اين شماره پورت می تواند متناسب با نوع عملكرد برنامه سرويس گيرنده به صورت اختياری و يا اجباری باشد . مثلا" برخی برنامه های سرويس گيرنده به منظور ارتباط با سرويس دهنده ، نيازمند استفاده از يك شماره پورت خاص می باشند ( نظير برنامه های سرويس گيرنده وب و يا مرورگرهای وب كه از پورت شماره 80 به منظور ارتباط با سرويس دهنده وب استفاده می نمايد) . در مواردی كه الزامی در خصوص شماره پورت وجود ندارد از يك شماره پورت موقتی و يا ephemeral استفاده می گردد . اين نوع پورت ها موقتی بوده و توسط IP stack ماشين مربوطه به متقاضيان نسبت داده شده و پس از خاتمه ارتباط ، پورت آزاد می گردد . با توجه به اين كه اكثر IP Stacks بلافاصله از پورت موقت آزاد شده استفاده نخواهند كرد ( تا زمانی كه تمام pool تكميل نشده باشد ) ،‌در صورتی كه سرويس گيرنده مجددا" درخوا


اشكال زدائی ويندوز 2000 و XP در زمان راه اندازی

 اشكال زدائی ويندوز 2000 و XP در زمان راه اندازی New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها

نسخه قابل چاپ

عنوان | نويسنده | مشاهده
اشكال زدائی ويندوز 2000 و XP ( بخش دوم ) | مديريت آموزش | 362

اشكال زدائی ويندوز 2000 و XP

اشكال زدائی ويندوز 2000 و XP ( بخش دوم )
در بخش اول به اولين مرحله راه اندازی سيستم كه در اكثر كامپيوترهای شخصی با پردازنده های اينتل و سازگار با آن مشابه می باشد ، ‌اشاره گرديد . در اين بخش به بررسی ساير مراحل خواهيم پرداخت .

مرحله دوم : مقدار دهی و عمليات اوليه سيستم ( Initial start-up phase )
پس از تشخيص درايوی كه می بايست از طريق آن سيستم عامل در حافظه مستقر گردد ( اين اولويت می تواند شامل فلاپی دسيك ، هارد دسيك ، CD-ROM ، كارت شبكه و يا كنترل كننده های SCSI باشد ) ، در ادامه اقدامات لازم جهت استقرار سيستم عامل در حافظه انجام می شود .
در صورتی كه سيستم از طريق هارد ديسك راه اندازی می گردد ، اولين سكتور موجود بر روی آن كه به MBR معروف است ،‌ در حافظه مستقر خواهد شد . سكتور فوق شامل يك برنامه كوچك و جدولی برای تعريف پارتيش های اوليه است ( جدول پارتيشن ) . با استفاده از كد موجود در اين سكتور كه هم اينك در حافظه اصلی سيستم مستقر شده است ، پارتيش فعال ( Active Partition) شناسائی می گردد . در ادامه اولين سكتور پارتيش فوق از روی هارد ديسك خوانده شده و در حافظه مستقر و كنترل به وی سپرده می شود . كد موجود در بوت سكتور بسيار اندك بوده و صرفا" مسئوليت ارائه اطلاعات لازم به منظور شناخت فرمت پارتيشن جهت استقرار تعداد اندكی از فايل های مهم موجود در فهرست ريشه را برعهده دارد ( نظير فايل NTLDR ) .
برای استقرار سيستم عامل ويندوز 2000 و XP در حافظه به امكانات حياتی زير نياز می باشد :‌

  • يك حافظه جانبی ( نظير هارد ديسك ) كه بر روی آن سيستم عامل موجود باشد .

  • در صورتی كه درايو مورد نظر هارد ديسك باشد ، يك جدول پارتيشن كه در آن پارتيشن فعال مشخص شده باشد .

  • بوت سكتور پارتيشن فعال كه فرمت پارتيشن را مشخص می نمايد.

  • فايل NTLDR در فهرست ريشه پارتيشن فعال

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

invalid partition table

missing operating system

NTLDR missing

مرحله سوم : فعال شدن برنامه اوليه بوتينگ ( Boot loader phase )
پس از اين كه كنترل به NTLDR واگذار گرديد ، وی فرآيند استقرار سيستم عامل ويندوز 2000 و يا XP را آغاز می نمايد :

  • تغيير حالت حافظه از Real به 32 بيت : پردازنده های اوليه x86 ، هشت و يا شانزده بيتی و با توانائی آدرس دهی محدودی بودند. پردازنده های جديد و سازگار X86 ، همچنان دراين mode و به منظور سازگاری با مدل های قديمی عمليات خود را آغاز می نمايند ، ولی قادر به آدرس دهی حافطه بيشتری می باشند . اولين چيزی كه XP انجام خواهد داد ، سوئيچ از Real mode به Protect Mode می باشد ( افزايش ميزان فضای آدرس دهی حافظه ) .

  • استقرار فايل Boot.ini در حافظه : Boot.ini ،‌ يك فايل مقداردهی اوليه است كه در نسخه های ويندوز NT ، 2000 و XP از آن استفاده می گردد . اين فايل همواره در فهرست ريشه هارد ديسك primary وجود دارد . با استفاده از فايل فوق آدرس هر يك از سيستم های عامل نصب شده بر روی كامپيوتر و سيستم عامل پيش فرض مشخص می گردد . در زمان راه اند


آشنائی با شبكه های WAN

 آشنائی با شبكه های WAN New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

جمعه 22 مهر 1384 2005 Oct. 14 Friday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها

نسخه قابل چاپ

عنوان | نويسنده | مشاهده
آشنائی با شبكه های WAN | مديريت آموزش | 333

آشنائی با شبكه های WAN

آشنائی با شبكه های WAN

WAN ( برگرفته از wide-area network ) ،‌ يك شبكه ارتباطی است كه يك حوزه جغرافيائی گسترده نظير يك شهرستان ، استان و يا كشور را تحت پوشش قرار می دهد. اين نوع شبكه ها دارای مشخصات منحصربفرد مختص به خود می باشند كه آنان را از يك شبكه محلی متمايز می نمايد .

ويژگی های يك شبكه WAN
شبكه های WAN ،‌ يك حوزه جغرافيائی گسترده نظير يك شهرستان ، استان و يا يك كشور را تحت پوشش قرار داده و معمولا" از امكانات ارائه شده توسط شركت های مخابراتی استفاده می نمايند . اين نوع شبكه ها دارای خصوصيات زير می باشند :

  • دستگاه های موجود در يك حوزه جغرافيائی گسترده را به يكديگر متصل می نمايند .

  • از سرويس های ارائه شده توسط شركت های مخابراتی به منظور حمل داده استفاده می نمايند .

  • از اتصالات سريال مختلف به منظور دستيابی به پهنای باند در يك حوزه جغرافيائی گسترده استفاده می نمايند .

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

نوع شبكه | توزيع دستگاه ها | فاصله بين دستگاه ها
LAN | يك اطاق | 10 m
LAN | يك ساختمان | 100m
LAN | يك دانشگاه | 1000m=1km
WAN | يك شهر | 10,000m=10km
WAN | يك كشور | 100,000m=100km
WAN | يك قاره | 1,000,000m=1,000km
WAN | چندين قاره | 10,000,000m=10,000km

جايگاه WAN در مدل مرجع OSI
شبكه های WAN در لايه فيزيكی و لايه data link مدل مرجع OSI كار می كنند . با استفاده از اين نوع شبكه ها ، می توان شبكه های محلی موجود در مكان های متعدد و مسافت های طولانی را به يكديگر متصل نمود .
شبكه های WAN امكانات و پتانسيل های لازم به منظور مبادله بسته های اطلاعاتی و فريم ها بين روترها ، سوئيچ ها و شبكه های محلی را ارائه می‌نمايند .

تجهيزات و دستگاه های استفاده شده در شبكه های WAN
در شبكه های WAN از تجهيزات و دستگاه های متعددی‌ استفاده می گردد :

عملكرد | آيكون | دستگاه
دستگاه های لايه سوم كه امكان ارتباط بين شبكه ای و پورت های اينترفيس WAN را ارائه می نمايند. |  | روتر
دستگاه های لايه دوم كه از آنان جهت اتصالات مورد نياز برای مبادله داده ، صوت و ويدئو استفاده می‌گردد. |  | سوئيچ
اينترفيس های لازم برای سرويس های مختلفی نظير ISDN ، T1/E1 و يا Voice - grade را ارائه می نمايند . |  | مودم
دستگاه هائی كه از آنان به منظور تمركز و مديريت ارتباطات dial-in و dial-out كاربران استفاده می گردد . |  | سرويس دهنده مخابراتی

پروتكل های data link شبكه های WAN
پروتكل های data link نحوه حمل فريم ها بين سيستم ها بر روی يك لينك داده را تشريح می نمايند .از پروتكل های فوق به منظور كار بر روی لينك های اختصاصی Point-to-Point و يا سرويس های سوئيچ Multi-access نظير Frame Relay استفاده می گردد .
استانداردهای WAN توسط مراكز و موسسات متعددی تعريف و مديريت می گردد :

  • ITU-T ( برگرفته از International Telecommunication Union-Telecommunication Standardization Sector )

  • ISO ( برگرفته از International Organization for Standardization )

  • IETF ( برگرفته از Internet Engineering Task Force )

  • EIA ( برگرفته از Electronic Industries Association )

جستجو
جستجو

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

مقالات
مشاهده گروه ها


صفحه اصلي شركت خدمات كامپيوتري سخاروش| Sakha Ravesh Co.

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها

شرکت سخا روش با هدف ارائه مطلوب خدمات انفورماتيکی در سال ۱۳۷۲ تاسيس گرديد. اين شرکت با بهره گيری از کارشناسان و دانش آموختگان مجرب، فعاليت خود را آغاز و تاکنون ادامه داده است . ادامه

تازه ها

مشاهده اوليه اخبار New Page 1

تكنولوژی در خدمت حوادث طبيعی

17 شهريور 1384

رشد گسترده Spyware

17 شهريور 1384

دعوت ازعلاقه مندان جهت ارسال مقاله

24 فروردين 1384

تغيير ميزبانی سايت

21 فروردين 1384

تغييرات ايجاد شده در بخش دايره المعارف

21 فروردين 1384

آرشيو

مقالات جديد

مشاهده اوليه اخبار New Page 1

Cross Page Posting در ASP.NET 2.0

17 شهريور 1384

Error Handling در ASP.NET

17 شهريور 1384

Master Page در ASP.NET 2.0

4 شهريور 1384

دستيابی داده در ASP.NET 2.0 ( بخش سوم )

4 شهريور 1384

دستيابی داده در ASP.NET 2.0 ( بخش دوم )

6 مرداد 1384

تمام مقالات

نکته ها

مشاهده اوليه اخبار New Page 1

راه اندازی روتر : ايجاد يك HyperTerminal Session

23 مهر 1384

راه اندازی اوليه روتر

19 مهر 1384

آشنائی با سيستم عامل روتر

16 مهر 1384

آشنائی با اينترفيس های روتر

9 مهر 1384

آشنائی با عناصر داخلی روتر

5 مهر 1384

تمام نکته ها

خود آزمون ها

مشاهده اوليه اخبار New Page 1

روتر و نقش آن در شبكه های WAN

10 مهر 1384

شبکه های محلی : عناصر و دستگاه ها

17 تير 1384

رسانه های انتقال داده در شبکه های کامپيوتری

22 خرداد 1384

مبانی شبکه

16 خرداد 1384

مبانی امنيت اطلاعات ( بخش سوم)

30 بهمن 1383

تمام خود آزمون ها

جستجو
جستجو

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

آمار سايت
Srco Administration - Reports
صفحه اصلی | 223,458
مشاهده مقالات | 738,141
مشاهده نکته ها | 139,366
خودآزمون ها | 25,427
کاربران فعال | 12
مراجعه ديروز | 1382
مراجعه امروز | 1535

Info@Srco.ir


جمع بندی بخش اول

تهيه شده در شرکت سخا روش - 1381
E-Mail : Info@Srco.ir

شروع

مقدمه
از کجا می بايست شروع کرد؟

مفاهيم برنامه نويسی

پياده سازی نرم افزار
نيازها و انتظارات
چالش های موجود
انواع معماری توليد نرم افزار
نمونه برنامه های سرويس دهنده / سرويس گيرند ه
چالش های برنامه های توزيع شده
مدل پياده سازی نرم افزار بر اساس نوع خدمات
انواع مدل های فيزيکی پياده سازی C/S
جمع بندی

مقدمه ای بر وب

اينترنت و وب
مفاهيم و تعاريف اوليه
جايگاه HTML
انواع صفحات وب
وضعيت فعلی وب و صفحات وب

تعاريف برنامه نويسی تحت وب

تعاريف
ارائه يک مدل همگراء و جامع

لايه رابط کاربر

مفاهيم اوليه
جايگاه مرورگرها
روند تکامل و شکل گيری مرورگرها
معرفی تکنولوژی های مرتبط در لايه
Plug -In
Cookie
API
JavaScript
VBScript
JAVA
DOM
CSS
DHTML
XML
XSL
DTD
Schema
XML-DOM
Xpath

جمع بندی

لايه ارتباطی

مفاهيم
پروتکل TCP/IP
پروتکل HTTP
پروتکل S-HTTP
جمع بندی

لايه ميانی

مفاهيم
معرفی تکنولوژی های مرتبط در لايه
CGI
SSI
PHP
ASP
JSP
ColdFusion
جمع بندی

لايه داده

مفاهيم اوليه
چاش های دستيابی به داده در وب
دستيابی همگن به داده ها
معرفی تکنولوژی های مرتبط
جمع بندی

جمع بندی و راهکارها

معرفی دات نت
معرفی J2EE
روند توسعه نرم افزار های وب در آينده

منابع

معرفی منابع

مفاهيم برنامه نويسی
جمع بندی

در بخش اول دوره برنامه نويسی تحت وب ، با مفاهيم اوليه برنامه نويسی آشنا شديم . بعنوان جمع بندی بخش فوق می توان به موارد ذيل اشاره نمود :

  • ما بدنبال مدلی مناسب برای پياده سازی برنامه های وب بوديم .

  • برنامه نويسی توزيع شده و متکی بر سرويس گيرنده و سرويس دهنده پاسخی مناسب در اين راستا است .

  • برنامه های تحت وب از مدل Three Tier که در برخی حالات به N-Tier تبديل می گردد، پيروی می نمايند.

  • تفسيم بندی هر Tier بر اساس نوع خدمات و سرويس هائی که ارائه می دهد بهترين گزينه است .

  • برای پياده سازی فيزيکی، مدل منطقی Three Tier از چهار مدل متفاوت می توان استفاده نمود.

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

  • در مدل سرويس دهنده وب ، کاربران با استفاده از يک مرورگر وب با يک سرويس دهنده وب مرتبط خواهند شد.

  • در مدل سرويس دهنده وب ،کاربران درخواست خود را ارسال و سرويس دهنده پاسخ مربوطه را ارسال خواهد داشت .

  • در مدل سرويس دهنده وب، وظيفه مرورگرهای وب بعنوان مهمترين ابزار ارتباطی با سرويس دهنده بسيار حايز اهميت است

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

  • برای پياده سازی برنامه های تحت وب شناخت ظرفيت های عملياتی مرورگرها بسيار مهم خواهد بود.

  • برای پياده سازی برنامه های تحت وب شناخت ظرفيت های عملياتی سرويس دهنده وب بسيار مهم خواهد بود.

  • مدل سرويس دهنده وب پاسخی شايسته به طراحان برای پياده سازی برنامه های تحت وب است .

<< بخش بعدی


انواع معماري توليد نرم افزار

تهيه شده در شرکت سخا روش - 1381
E-Mail : Info@Srco.ir

شروع

مقدمه
از کجا می بايست شروع کرد؟

مفاهيم برنامه نويسی

پياده سازی نرم افزار
نيازها و انتظارات
چالش های موجود
انواع معماری توليد نرم افزار
نمونه برنامه های سرويس دهنده / سرويس گيرند ه
چالش های برنامه های توزيع شده
مدل پياده سازی نرم افزار بر اساس نوع خدمات
انواع مدل های فيزيکی پياده سازی C/S
جمع بندی

مقدمه ای بر وب

اينترنت و وب
مفاهيم و تعاريف اوليه
جايگاه HTML
انواع صفحات وب
وضعيت فعلی وب و صفحات وب

تعاريف برنامه نويسی تحت وب

تعاريف
ارائه يک مدل همگراء و جامع

لايه رابط کاربر

مفاهيم اوليه
جايگاه مرورگرها
روند تکامل و شکل گيری مرورگرها
معرفی تکنولوژی های مرتبط در لايه
Plug -In
Cookie
API
JavaScript
VBScript
JAVA
DOM
CSS
DHTML
XML
XSL
DTD
Schema
XML-DOM
Xpath

جمع بندی

لايه ارتباطی

مفاهيم
پروتکل TCP/IP
پروتکل HTTP
پروتکل S-HTTP
جمع بندی

لايه ميانی

مفاهيم
معرفی تکنولوژی های مرتبط در لايه
CGI
SSI
PHP
ASP
JSP
CoulfFusion
جمع بندی

لايه داده

مفاهيم اوليه
چاش های دستيابی به داده در وب
دستيابی همگن به داده ها
معرفی تکنولوژی های مرتبط
جمع بندی

جمع بندی و راهکارها

معرفی دات نت
معرفی J2EE
روند توسعه نرم افزار های وب در آينده

منابع

معرفی منابع

مفاهيم برنامه نويسی
انواع معماری توليد نرم افزار

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

  • معماری MainFrame

  • معماری File Server

  • معماری سرويس گيرنده / سرويس دهنده

  • معماری Two-Tier

  • معماری Three-Tier

معماری MainFrame

  • ويژگی :
    - معماری فوق در دهه های ۱    ٩٦۰ الی ۱٩۷۰ مورد توجه و استفاده جدی قرار داشت .
    - کامپيوتر اصلی ( Host) مسئوليت انجام تمامی پردازش ها را برعهده دارد.
    - کاربران با استفاده از ترمينال ها ، قادر به ايجاد ارتباط با سيستم اصلی (host) می باشند.
    - ترمينال ها هوشمند نبوده و صرفا" به يک صفحه کليد و نمايشگر محدود می باشند.
    - فشردن کليدهای صفحه کليد ، تنها چيزی است که ارتباط بين کاربران(ترمينال ها ) و سيستم اصلی را معنی خواهد کرد.
    - داده ها و منطق برنامه بر روی يک سيستم (Host) يکسان ذخيره می گردنند. .

  • مزايا :
    - امنيت در اين نوع معماری بسيار بالا است .
    - با توجه به تمرکز داده ها و منطق ، مديريت متمرکز و اعمال آن آسان خواهد بود.

  • معايب :
    - هزينه تهيه ، اجاره و پشتيبانی اين نوع سيستمها بسيار بالا است .
    - برنامه ( منطق ) بهمراه داده های مربوطه در يک محل مستقر و از يک محيط پردازش يکسان استفاده می کنند.
    - اغلب برنامه های نوشته شده بر اساس معماری فوق محيط های رابط کاربر گرافيکی را حمايت نمی نمايند

مشاهده تصوير با ابعاد بزرگتر

معماری File server

  • ويژگی :
    - چرخش ۱    ٨۰ درجه ای نسبت به معماری MainFrame.
    - از سرويس دهنده يا سرويس دهند گان متعدد، بصورت متمرکز استفاده می گردد.
    - منابع متفاوتی نظير چاپگر و يا فضای ذخيره سازی ( هارد ) به اشتراک گذاشته می شوند.
    - سرويس دهنده فايل های مورد نيازو ذخيره شده توسط منابع اشتراکی را برای کاربران ارسال خواهد کرد.
    - کار درخواست شده توسط کاربر ( منطق و داده ) بر روی سيستم کاربر اجراء خواهد شد.
    - منطق برنامه برروی سيستم کاربر ( سرويس گيرنده ) اجراء خواهد کرديد.
    - داده ها بر روی سرويس گيرنده مستقر خواهند شد.

  • مزايا :
    - برای استفاده از معماری فوق نياز به صرف هزينه های بالا نخواهد بود .
    - از لحاظ بکارگيری منابع دارای انعطاف پذيری مناسبی است .

  • معايب :
    - تمامی منطق برنامه بر روی سرويس گيرنده اجراء خواهد شد .
    - وجود محدوديت های خاص نظير ميزان حافظه و يا نوع پردازشگر سرويس گيرندگان، بکارگيری برنامه را با مشکل مواجه می سازد.
    - بهبود عملکرد برنامه و يا اعمال اصلاحات مورد نظر همواره يکی از چالش های جدی است .

مشاهده تصوير با ابعاد بزرگتر

معماری Client Server

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

  • مزايا :
    - بهره گيری مناسب از پتانسيل های سخت افزاری موجود با توجه به اصل تقسيم عمليات ها
    - بهينه سازی استفاده و بکارگيری منابع اشتراکی .
    - بهينه سازی توانائی کاربران از بعد انجام فعاليت های متفاوت

  • معايب :
    - عدم وجود امکانات لازم برای کپسوله نمودن سياست های راهبردی نرم افزار
    - کاهش کارائی برنامه همزمان با افزايش تعداد کاربران همزمان
    - بهبود عملکرد برنامه و يا اعمال اصلاحات مورد نظر همواره يکی از چالش های جدی است .

مشاهده تصوير با ابعاد بزرگتر

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

۱ - پردازش های مبتنی بر ميزبان . مدل فوق بمنزله يک مدل سرويس دهنده / سرويس گيرنده تلقی نشده و مشابه مدل MainFarme است .

مشاهده تصوير با ابعاد بزرگتر

۲ - پردازش های مبتنی بر سرويس دهنده . در اين مدل سرويس دهنده تمامی پردازش های مربوطه را انجام و سرويس گيرنده مسئوليت ايجاد بخش رابط کاربر را برعهده خواهد د اشت.

مشاهده تصوير با ابعاد بزرگتر

۳ - پردازش های مبتنی بر سرويس گيرنده . تمامی عمليات بر روی سرويس گيرنده انجام خواهد شد. عمليات مربوط به بررسی صحت داده ها و ساير عمليات مربوط به منطق بانک های اطلاعاتی بر روی سرويس دهنده انجام خواهد شد.

مشاهده تصوير با ابعاد بزرگتر

٤ - پردازش های مبتنی بر همياری .در اين مدل سرويس دهنده و سرويس گيرنده بمنظور انجام يک فعاليت با يکديگر تشريک مساعی خواهند کرد.

مشاهده تصوير با ابعاد بزرگتر

معماری Client Server : Two Tier

  • ويژگی :
    - مشابه مدل Client Server در بخش قبل می باشد.
    - در اين مدل از يک سرويس دهنده و يک سرويس گيرنده در شبکه استفاده می گردد.
    - مدل فوق از سه بخش که در دو لايه سرويس دهنده و سرويس گيرنده قرار خواهند گرفت، تشکيل می گردد.
    - بخش های رابط کاربر ، مديريت پردازش ها و مديريت بانک های اطلاعاتی بخش های سه گانه مدل فوق می باشند.
    - منطق برنامه بين دو محل فيزيکی توزيع می گردد.

  • مزايا :
    - مناسب ترين روش برای پردازش های توزيع شده در يک شبکه با حداکثر يکصد کاربر
    - سهولت در امر پياده سازی
    - نسبت دهی مستقيم رابط کاربر با منابع تامين داده ها

  • معايب :
    - عدم وجود امکاناتی برای کپسوله نمودن سياست های راهبردی نرم افزار
    - کاهش کارائی برنامه همزمان با افزايش تعداد کاربران همزمان ( بيش از يکصد )
    -عدم وچود انعطاف لازم از بعد انتقال يک برنامه از سرويس دهنده ای به سرويس دهنده ديگر بدون انجام تغييرات اساسی

مشاهده تصوير با ابعاد بزرگتر

معماری Client Server : Three Tier

  • ويژگی :
    - مدل فوق در سال 1990 عرضه شده است .
    - در اين مدل از يک Tier ميانی ديگر بين سرويس گيرنده ( رابط کاربر) و سرويس دهنده بانک اطلاعاتی استفاده می شود.
    - لايه ميانی شامل مجموعه ای از ابزارها برای دستيابی به منابع سيستم ، صرفنظر از نوع پلات فورم است .
    - لايه ميانی مسئوليت مديريت پردازش ها را برعهده خواهد گرفت .
    - لايه ميانی مسئوليت تجزيه و يا ترکيب نتايج حاصله از منابع داده ئی نظير بانک های اطلاعاتی را برعهده دارد.
    - بخش های رابط کاربر ، مديريت پردازش ها و مديريت بانک های اطلاعاتی بخش های سه گانه مدل فوق می باشند.
    - لايه ميانی خود می تواند به دو و يا بيش از دو بخش با عملکردهای متمايز تقسيم گردد (Multi-Tier)
    - مدل فوق گزينه ای مناسب برای پياده سازی نرم افزار بر روی اينترنت است .

  • مزايا :
    - افزايش کارآئی ، انعطاف پذيری ، قابليت استفاده مجدد و توان پشتيبانی
    - ارتقاء کارآئی همزمان با افزايش تعداد کاربران
    - مخفی نمودن پيچيدگی ها ی موجود با توجه به ماهيت پردازش های توزيع شده از ديد کاربران
    - ارائه امکانات لازم به برنامه نويسان بمنظور طراحی و پياده سازی نرم افزار ها با يک رويکرد مشابه
    - ارائه امکانات لازم به برنامه نويسان بمنظور تبعيت از روش های يکسان برای دستيابی به داده ها

مشاهده تصوير با ابعاد بزرگتر

مشاهده تصوير با ابعاد بزرگتر

<< بخش بعدی


تاريخجه و مقايسه مرورگرها

تهيه شده در شرکت سخا روش - 1381
E-Mail : Info@Srco.ir

شروع

مقدمه
از کجا می بايست شروع کرد؟

مفاهيم برنامه نويسی
پياده سازی نرم افزار
نيازها و انتظارات
چالش های موجود
انواع معماری توليد نرم افزار
نمونه برنامه های سرويس دهنده / سرويس گيرند ه
چالش های برنامه های توزيع شده
مدل پياده سازی نرم افزار بر اساس نوع خدمات
انواع مدل های فيزيکی پياده سازی C/S
جمع بندی

مقدمه ای بر وب
اينترنت و وب
مفاهيم و تعاريف اوليه
جايگاه HTML
انواع صفحات وب
وضعيت فعلی وب و صفحات وب

تعاريف برنامه نويسی تحت وب
تعاريف
ارائه يک مدل همگراء و جامع

لايه رابط کاربر
مفاهيم اوليه
جايگاه مرورگرها
روند تکامل و شکل گيری مرورگرها
معرفی تکنولوژی های مرتبط در لايه
Plug -In
Cookie
API
JavaScript
VBScript
JAVA
DOM
CSS
DHTML
XML
XSL
DTD
Schema
XML-DOM
Xpath

جمع بندی

لايه ارتباطی

مفاهيم
پروتکل TCP/IP
پروتکل HTTP
پروتکل S-HTTP
جمع بندی

لايه ميانی
مفاهيم
معرفی تکنولوژی های مرتبط در لايه
CGI
SSI
PHP
ASP
JSP
ColdFusion
جمع بندی

لايه داده
مفاهيم اوليه
چاش های دستيابی به داده در وب
دستيابی همگن به داده ها
معرفی تکنولوژی های مرتبط
جمع بندی

جمع بندی و راهکارها
معرفی دات نت
معرفی J2EE
روند توسعه نرم افزار های وب در آينده

منابع
معرفی منابع

لايه رابط کاربر
روند تکامل و شکل گيری مرورگرها

طراحی ، پياده سازی و توسعه مرورگرهای وب همزمان با مطرح شدن وب ، آغاز و همچنان ادامه دارد.

  • WorldWideWeb . اين مرورگر توسط " تيم. برنرز لی " در سال 1990 و بر روی کامپيوتر NeXT در CERN نوشته گرديد.

  • libwww . "تيم.برنرز لی " و دانشجوئی با نام " Jean-Francois Groff" از CERN در سال 1992 ، مرورگر WorldWideWeb را با استفاده از زبان برنامه نويسی C بازنويسی نمودند.

  • Line-Mode . دانشجوئی با نام "Nicola pellow" از دانشجويان رياضی CERN در سال 1991 ، يک مرورگر خطی طراحی نمود که قابليت استفاده بر روی دستگاههای متعدد را داشت . در ادامه "نيکلا" و دستيارانش امکان استفاده از مرورگر فوق را بر روی کامپيوترهای متنوعی ( از يونيکس تا سيستم عامل DOS) فراهم نمودند.

  • ViolaWWW . در سال 1992 توسط دانشجوئی با نام "Pei Wei" از دانشگاه برکلی کاليفرنيا ، دومين مرورگر برای يونيکس طراحی گرديد.

  • Midas . در سال 1992 توسط "Tony Johnson" در SLAC ، سومين مرورگر برای سيستم های مبتنی بر يونيکس طراحی گرديد. هدف از طراحی مرورگر فوق جمع آوری اطلاعات در رابطه با تحقيقات فيزيک بود.

  • Samba . اولين مرورگر برای کامپيوترهای مکينتاش که توسط "Robert Cailliau" طراحی و پياده سازی گرديد.نسخه نهائی و عملياتی مرورگر فوق اواخر سال 1992 عرضه گرديد.

  • موزائيک . مرورگر فوق توسط "Marc Andreessen" و "Eric Bina" از NCSA در سال 1993 برای سيستم های مبتنی بر X-Windows و بر روی کامپيوترهای يونيکس عرضه گرديد. چند ماه بعد نسخه مرورگر فوق بمنظور اجراء بر روی سيستم های مکينتاش توسط "Aleks Totic" طراحی و عرضه گرديد. موزائيک، اولين مرورگری با قابليت استفاده بر روی پلات فورم های متعدد بود. اين مرورگر دارای امکانات متعدد در رابطه با صوت ، تصوير ، فايل های سوابق و ... بود. مرورگر فوق پس از مدت زمان کوتاهی بعنوان رايج ترين مرورگر غير اقتصادی مطرح گرديد. در اگوست سال 1994 ، NCSA حق استفاده از مرورگر فوق را به شرکت Spyglass واگذار کرد. در ادامه شرکت فوق ، امتياز استفاده از مرورگر موزائيک را به شرکت های ديگر نظير ماکروسافت واگذار کرد. NCSA عمليات پياده سازی و توسعه مرورگر موزائيک را در سال 1997 متوقف کرد.

  • Arena . در سال 1993 ، "Dave Raggett" در هيولت پاکارد (HP) شهر بريستول انگلستان ، مرورگر فوق را طراحی و عرضه نمود. اين مرورگر دارای قابليت های فراوانی در رابطه با جداول و گرافيک بود.

  • Lynx . دانشگاه کانزاس يک مرورگر مستقل برای وب را طراحی نمود. هدف از طراحی مرورگر فوق توزيع اطلاعات در دانشگاه بود. در ادامه و در سال 1993 ، دانشجوئی با نام "Lou Montulli" يک اينترفيسی اينترنتی به برنامه فوق اضافه و نسخه شماره دو مرورگر وب Lynx را عرضه نمود. مرورگر فوق بسرعت متداول و بعنوان گزينه ای مناسب برای ترمينال های فاقد امکانات گرافيکی انتخاب و همچنان در اين راستا از آن استفاده می گردد.

  • Opera . مرورگر فوق در سال 1994 توسط عده ای از محققين يک شرکت مخابراتی در اسلو نروژ، با نام Telenor طراحی گرديد. در سال های بعد دو تن از اعضای گروه فوق ، از Telenor جدا شده و شرکت نرم افزاری Opera را با هدف توليد تجاری مرورگر فوق ، تاسيس کردند. نسخه Oper 2.1 در سال 1996 برای استفاده عموم کاربران اينترنت عرضه گرديد.

  • InterNet In A Box . در سال 1994 ، O'Reilly و متحدانش ، محصول فوق را عرضه نمودند. محصول فوق شامل تمامی نرم افزارهای ضروری و مورد نياز کاربران برای استفاده از اينترنت بود. بدين ترتيب کاربران با نصب صرفا" يک برنامه از نصب و پيکربندی برنامه های متعدد برای دستيابی به اينترنت و امکانات موجود بی نياز می شدند.

  • Mozilla . در اکتبر سال 1994 ، شرکت نت اسکيپ ، اولين نسخه مرورگر خود را با نام Mozilla 0.96b عرضه نمودند . ( نسخه فوق نسخه بتا بود ) . در دسامبر همان سال ،نسخه نهائی مرورگر فوق با نام Mozilla 1.0 عرضع گرديد. مرورگر فوق اولين مرورگر تجاری در عرصه اينترنت است .

  • Internet Explorer . در اگوست سال 1995 ، شرکت ماکروسافت همزمان با معرفی ويندوز 95 ، مرورگر فوق را عرضه نمود. مرورگر فوق بهمراه مرورگر شرکت نت اسکيپ متداولترين نوع مرورگرهای وب بوده که توسط اکثر کاربران اينترنت در حال حاضر استفاده می گردند.

● برنامه های مبتنی بر وب شامل درخواست هائی از طرف مرورگرهای وب برای سرويس دهندگان وب می باشند. مرورگرها برای ارسال درخواست خود از پروتکل Http و يا ساير پروتکل های استاندارد استفاده می نمايند. استفاده از واژه "مرورگر " برای اين نوع نرم افزارها چندان منطقی بنظر نمی رسد ، چراکه برنامه های فوق علاوه بر امکان بازيابی و نمايش اطلاعات ، دارای قابليت های متعدد و فراوانی در رابطه با برنامه نويسی مبتنی بر وب می باشند. .برنامه های فوق بمنزله يک اينترفيس مناسب برای پردازش و انجام عمليات متفاوت ايفای وظيفه می نمايند . برنامه نويسان وب بدون شناخت و توجه به پتانسيل و امکانات مرورگرها ، قادر به آفرينش آثار ماندگار، خود نخواهند بود.

مقايسه امکانات مرورگرهای متفاوت با توجه به نوع سيستم عامل

Windows
browsers | java | frames | tables | plug-ins | font size | font color | java script | CSS | gif89 | dhtml | I frames | Table color | XML
AOL 3.0 | n | y | y | n | y | y | n | n | n | n | n | n | n
AOL 1.0 | n | n | n | n | n | n | n | n | n | n | n | n | n
IE 5.5 | y | y | y | y | y | y | y | y | y | y | y | y | y
IE 5.0 | y | y | y | y | y | y | y | y | y | y | y | y | s
IE 4.0 | y | y | y | y | y | y | y | y | y | y | y | y | n
IE 3.0 | y | y | y | y | y | y | y | y | y | n | y | y | n
IE 2.0 | n | n | y | n | y | y | n | n | n | n | n | n | n
IE 1.0 | n | n | y | n | y | y | n | n | n | n | n | n | n
Mosaic 3.0 | n | y | y | n | y | n | n | n | n | n | n | n | n
Mosaic 1.0 | n | n | n | n | n | n | n | n | n | n | n | n | n
NS 6 | y | y | y | y | y | y | y | y | y | y | n | y | y
NS 4.7 | y | y | y | y | y | y | y | y | y | y | n | y | n
NS 4.5 | y | y | y | y | y | y | y | y | y | y | n | y | n
NS 3.0 | y | y | y | y | y | y | y | n | y | n | n | y | n
NS 2.0 | y | y | y | y | y | y | s | n | y | n | n | n | n
NS 1.1 | n | n | y | n | y | n | n | n | n | n | n | n | n
Opera 4.2 | y | y | y | s | y | y | y | y | y | n | n | y | y
Opera 3.60 | n | y | y | y | y | y | y | y | y | n | n | y | n
Opera 3.5 | n | y | y | y | y | y | y | n | y | n | n | y | n
Lynx | n | y | y | n | n | n | n | n | n | n | n | n | n
Macintosh
browsers | java | frames | tables | plug-ins | font size | font color | java script | CSS | gif89 | dhtml | I frames | Table color | XML
AOL 2.7 | n | n | n | n | n | n | n | n | n | n | n | n | n
AOL 1.0 | n | n | n | n | n | n | n | n | n | n | n | n | n
Cyberdog 2.0 | n | y | y | n | y | y | n | n | y | n | n | n | n
IE 5.0 | y | y | y | y | y | y | y | y | y | y | y | y | s
IE 4.0 | y | y | y | y | y | y | y | y | y | y | y | y | n
IE 3.0 | y | y | y | y | y | y | y | y | y | n | y | y | n
IE 2.0 | n | y | y | y | y | y | n | n | n | n | n | n | n
Mosaic 3.07 | n | y | y | n | y | y | n | n | n | n | n | n | n
Mosaic 2.0 | n | n | y | n | n | n | n | n | n | n | n | n | n
Mosaic 1.0 | n | n | n | n | n | n | n | n | n | n | n | n | n
NS 6 | y | y | y | y | y | y | y | y | y | y | n | y | y
NS 4.74 | y | y | y | y | y | y | y | y | y | y | n | y | n
NS 4.5 | y | y | y | y | y | y | y | y | y | y | n | y | n
NS 4.06 | y | y | y | y | y | y | y | s | y | y | n | y | n
NS 3.0 | y | y | y | y | y | y | y | s | y | n | n | y | n
NS 2.0 | n | y | y | y | y | y | s | n | y | n | n | n | n
NS 1.1 | n | n | y | n | y | n | n | n | n | n | n | n | n
Unix
browsers | java | frames | tables | plug-ins | font size | font color | java script | CSS | gif89 | dhtml | I frames | Table color | XML
IE 4.01 | y | y | y | y | y | y | y | y | y | y | y | y | y
IE 4.01 | y | y | y | y | y | y | y | y | y | y | y | y | n
Mosaic 2.75 | n | n | y | n | n | n | n | n | n | n | n | n | n
Mosaic 1.0 | n | n | n | n | n | n | n | n | n | n | n | n | n
NS 4.6 | y | y | y | y | y | y | y | n | y | y | n | y | y
NS 4.06 | y | y | y | y | y | y | y | n | y | y | n | y | n
NS 3.0 | y | y | y | y | y | y | y | n | y | n | n | n | n
NS 2.0 | y | y | y | y | y | y | s | n | y | n | n | n | n
NS 1.1 | n | n | y | n | y | n | n | n | n | n | n | n | n
Arena 3 | n | n | y | n | y | n | n | y | n | n | n | n | n
Lynx | n | y | y | n | n | n | n | n | n | n | n | n | n
Linux
browsers | java | frames | tables | plug-ins | font size | font color | java script | CSS | gif89 | dhtml | I frames | Table color | XML
NS 6 | y | y | y | y | y | y | y | y | y | y | n | y | y
Mozilla | s | y | y | y | y | y | y | y | y | n | n | y | y
NS 4.7 | y | y | y | y | y | y | y | y | s | n | y | n | n
Amaya | n | y | y | n | y | y | n | y | y | n | n | y | y
Opera 4a | n | y | y | s | y | y | n | y | y | n | n | y | y
Lynx | n | y | y | n | n | n | n | n | n | n | n | n | n
Television
browsers | java | frames | tables | plug-ins | font size | font color | java script | CSS | gif89 | dhtml | I frames | Table color | XML
WebTV | n | y | y | n | y | y | y | n | y | n | n | y | n
NextStep
browsers | java | frames | tables | plug-ins | font size | font color | java script | CSS | gif89 | dhtml | I frames | Table color | XML
OmniWeb 2.1 | n | y | y | n | y | y | n | n | n | s | n | n | n
OmniWeb 1.0 | n | n | n | n | y | y | n | n | n | n | n | n | n
OS/2
browsers | java | frames | tables | plug-ins | font size | font color | java script | CSS | gif89 | dhtml | I frames | Table color | XML
NS 2.02 | n | n | y | n | y | y | n | n | y | n | n | n | n
Web IE 1.1 | n | n | y | n | y | y | n | n | n | n | n | n | n
Opera | n | y | y | n | y | y | y | n | y | n | n | n | n
Lynx | n | y | y | n | n | n | n | n | n | n | n | n | n

مقايسه ويژگی مرورگرهای متفاوت (منبع :Pc magazine )

مشاهده تصوير با ابعاد بزرگتر

<< بخش بعدی


چالش هاي موجود

تهيه شده در شرکت سخا روش - 1381
E-Mail : Info@Srco.ir

شروع

مقدمه
از کجا می بايست شروع کرد؟

مفاهيم برنامه نويسی

پياده سازی نرم افزار
نيازها و انتظارات
چالش های موجود
انواع معماری توليد نرم افزار
نمونه برنامه های سرويس دهنده / سرويس گيرند ه
چالش های برنامه های توزيع شده
مدل پياده سازی نرم افزار بر اساس نوع خدمات
انواع مدل های فيزيکی پياده سازی C/S
جمع بندی

مقدمه ای بر وب

اينترنت و وب
مفاهيم و تعاريف اوليه
جايگاه HTML
انواع صفحات وب
وضعيت فعلی وب و صفحات وب

تعاريف برنامه نويسی تحت وب

تعاريف
ارائه يک مدل همگراء و جامع

لايه رابط کاربر

مفاهيم اوليه
جايگاه مرورگرها
روند تکامل و شکل گيری مرورگرها
معرفی تکنولوژی های مرتبط در لايه
Plug -In
Cookie
API
JavaScript
VBScript
JAVA
DOM
CSS
DHTML
XML
XSL
DTD
Schema
XML-DOM
Xpath

جمع بندی

لايه ارتباطی

مفاهيم
پروتکل TCP/IP
پروتکل HTTP
پروتکل S-HTTP
جمع بندی

لايه ميانی

مفاهيم
معرفی تکنولوژی های مرتبط در لايه
CGI
SSI
PHP
ASP
JSP
ColdFusion
جمع بندی

لايه داده

مفاهيم اوليه
چاش های دستيابی به داده در وب
دستيابی همگن به داده ها
معرفی تکنولوژی های مرتبط
جمع بندی

جمع بندی و راهکارها

معرفی دات نت
معرفی J2EE
روند توسعه نرم افزار های وب در آينده

منابع

معرفی منابع

مفاهيم برنامه نويسی
چالش های موجود

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

۱ - محل نصب عناصر ؟ آيا بمنظور مشاهده تصوير مناسبی از يک نرم افزار، می بايست تمامی عناصر ذيربط، بصورت فيزيکی در مجاورت هم قرار گرفته و يا امکان مجاورت منطقی عناصر نيز وجود دارد؟

۲ - محل اجرای عناصر ؟ بمنظوراجرای يک نرم افزار که از عناصر متفاوتی تشکيل شده است ،لازم است که تمامی عناصر مورد نظر در يک محل اجراء گردنند ؟ آيا بمنظور ارائه خدمات يک نرم افزار می بايست تمامی عناصر زير يک سقف فيزيکی ( سخت افزار خاص ) اجراء گردنند؟ آيا می توان بخش های متفاوتی از يک نرم افزار را در محيط ديگر اجراء و يک هدفمندی و همياری در اجراء را برای آنان تعريف نمود؟

۳ - نحوه ارتباط عناصر ؟ با توجه به اينکه يک نرم افزار می تواند از عناصر و بخش های متفاوتی تشکيل گردد ، نحوه ارتباط اين بخش ها با يکديگر به چه صورت خواهد بود ؟ زمانيکه بخش های فوق بر روی يک سيستم نصب و اجراء می گردنند ، نحوه ارتباط به چه صورت است ؟ در صورتيکه بخش های مورد نظر بر روی سيستم های متفاوت نصب و اجراء می گردنند ، نحوه ارتباط آنها با يکديگر به چه صورت خواهد بود؟

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

<< بخش بعدی


نمونه برنامه هاي سرويس دهنده /سرويس گيرنده

تهيه شده در شرکت سخا روش - 1381
E-Mail : Info@Srco.ir

شروع

مقدمه
از کجا می بايست شروع کرد؟

مفاهيم برنامه نويسی

پياده سازی نرم افزار
نيازها و انتظارات
چالش های موجود
انواع معماری توليد نرم افزار
نمونه برنامه های سرويس دهنده / سرويس گيرند ه
چالش های برنامه های توزيع شده
مدل پياده سازی نرم افزار بر اساس نوع خدمات
انواع مدل های فيزيکی پياده سازی C/S
جمع بندی

مقدمه ای بر وب

اينترنت و وب
مفاهيم و تعاريف اوليه
جايگاه HTML
انواع صفحات وب
وضعيت فعلی وب و صفحات وب

تعاريف برنامه نويسی تحت وب

تعاريف
ارائه يک مدل همگراء و جامع

لايه رابط کاربر

مفاهيم اوليه
جايگاه مرورگرها
روند تکامل و شکل گيری مرورگرها
معرفی تکنولوژی های مرتبط در لايه
Plug -In
Cookie
API
JavaScript
VBScript
JAVA
DOM
CSS
DHTML
XML
XSL
DTD
Schema
XML-DOM
Xpath

جمع بندی

لايه ارتباطی

مفاهيم
پروتکل TCP/IP
پروتکل HTTP
پروتکل S-HTTP
جمع بندی

لايه ميانی

مفاهيم
معرفی تکنولوژی های مرتبط در لايه
CGI
SSI
PHP
ASP
JSP
ColdFusion
جمع بندی

لايه داده

مفاهيم اوليه
چاش های دستيابی به داده در وب
دستيابی همگن به داده ها
معرفی تکنولوژی های مرتبط
جمع بندی

جمع بندی و راهکارها

معرفی دات نت
معرفی J2EE
روند توسعه نرم افزار های وب در آينده

منابع

معرفی منابع

مفاهيم برنامه نويسی
نمونه برنامه های سرويس دهنده /سرويس گيرنده

اينترنت بستری مناسب برای پياده سازی برنامه های توزيع شده است . وجود زير ساخت های لازم در اين زمينه شرايط مطلوبی را برای پياده سازی برنامه های توزيع شده ، فراهم آورده است .

مشاهده تصوير با ابعاد بزرگتر

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

مشاهده تصوير با ابعاد بزرگتر

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

مشاهده تصوير با ابعاد بزرگتر

برنامه های Chat نمونه ديگری از برنامه های توزيع شده بر روی بستر اينترنت می باشند.

مشاهده تصوير با ابعاد بزرگتر

<< بخش بعدی


چالش هاي برنامه هاي توزيع شده

تهيه شده در شرکت سخا روش - 1381
E-Mail : Info@Srco.ir

شروع

مقدمه
از کجا می بايست شروع کرد؟

مفاهيم برنامه نويسی

پياده سازی نرم افزار
نيازها و انتظارات
چالش های موجود
انواع معماری توليد نرم افزار
نمونه برنامه های سرويس دهنده / سرويس گيرند ه
چالش های برنامه های توزيع شده
مدل پياده سازی نرم افزار بر اساس نوع خدمات
انواع مدل های فيزيکی پياده سازی C/S
جمع بندی

مقدمه ای بر وب

اينترنت و وب
مفاهيم و تعاريف اوليه
جايگاه HTML
انواع صفحات وب
وضعيت فعلی وب و صفحات وب

تعاريف برنامه نويسی تحت وب

تعاريف
ارائه يک مدل همگراء و جامع

لايه رابط کاربر

مفاهيم اوليه
جايگاه مرورگرها
روند تکامل و شکل گيری مرورگرها
معرفی تکنولوژی های مرتبط در لايه
Plug -In
Cookie
API
JavaScript
VBScript
JAVA
DOM
CSS
DHTML
XML
XSL
DTD
Schema
XML-DOM
Xpath

جمع بندی

لايه ارتباطی

مفاهيم
پروتکل TCP/IP
پروتکل HTTP
پروتکل S-HTTP
جمع بندی

لايه ميانی

مفاهيم
معرفی تکنولوژی های مرتبط در لايه
CGI
SSI
PHP
ASP
JSP
ColdFusion
جمع بندی

لايه داده

مفاهيم اوليه
چاش های دستيابی به داده در وب
دستيابی همگن به داده ها
معرفی تکنولوژی های مرتبط
جمع بندی

جمع بندی و راهکارها

معرفی دات نت
معرفی J2EE
روند توسعه نرم افزار های وب در آينده

منابع

معرفی منابع

مفاهيم برنامه نويسی
چالش های برنامه های توزيع شده

همزمان با رشد وب ، عموميت يافتن استفاده از کامپيوترهای شخصی و پيشرفت های مهم در زمينه دستيابی به شيکه های با سرعت بالا ، پردازش های توزيع شده بشدت مورد توجه قرار گرفته است . در اين نوع پردازش ها ، همواره می بايست بر دو اصل مهم تاکيد و راهکارهای مناسب را دنبال کرد. اولين مسئله توجه به معماری مبتنی بر Component ( عنصر) برای توليد نرم افزار و دومين مسئله نحوه تبين ارتباط بين عناصر ذيربط و تشکيل دهنده يک نرم افزا ر در محيط هائی با پردازش های توزيع شده است . همانگونه که قبلا" اشاره گرديد، برنامه های مبتنی بر وب که خود نمونه ای از پردازش های توزيع شده می باشند از مدل N-Tier پيروی می کنند. ک ليد طلائی طراحی اين نوع نرم افزارها ، توانائی نوشتن عناصر ( اجزاء) بگونه ای است كه از يكطرف امكان بكارگيری آنها بسادگی در لايه ها و حتی چندين برنامه فراهم شده و از طرف ديگر امكان ارتباط اين عناصر با يكديگر صرفنظر از زبان برنامه نويسی استفاده شده و ساير موارد ذيربط ، فراهم گردد. ما مي بايست جعبه های سياهی را طراحي كنيم كه صرفنظر از ماهيت درون هر يك ، قادر به استفاده از توان آنها در بخش يا بخش های از يك و يا چندين نرم افزار باشيم .
سير تکامل پردازش های توزيع شده
از گذشته تا کنون دو مدل اساسی در پردازش های توزيع شده مورد توجه قرار گرفته است . RPC(Remote Procedure Call) و Client Server . ارتباطا ت مبتنی بر RPC ، نسبت به Client Server دارای قدمت بيشتری بوده و بعنوان شاه كليد برنامه هاي توزيع شده در محيط يونيكس مطرح بوده است . يونيكيس يكی از اولين سيستم های عامل در زمينه استفاده كامل از امكانات ارتباطي پروتكل TCP/IP است . پروتكل فوق بهمراه استانداردهای مربوطه آن بعنوان ستون فقرات شبكه هاي مبتني بر يونيكس مطرح بوده است . مثلا؛ استاندارد DNS(Domain Name System) جهت همترازی آدرس يك كامپيوتر و نام آن ، FTP(File Transfer Protocol)، امكاني جهت تبادل فايل ها و پروتكل TelNet ، ارائه دهنده تسهيلات لازم جهت دستابی به ترمينال ها . اگر امروز ما در دنيائی زندگی مي كنيم كه پروتكل TCP/IP محور اساسي گفتمان در شبكه های كامپيوتری است ، بيش از بيست سال قبل يونيكيس چنين وضعيتی را دارا بوده است . برنامه نويسان تحت يونيكيس بخوبی از توانائي های آن برای نوشتن برنامه های توزيع شده استفاده كرده اند. برنامه نويسان فوق از ارتباطات مبتني بر Socket جهت نيل به اهداف خود استفاده مي كردند. بر اساس رويكرد فوق ، اگر برنامه ای قصد ارتباط با برنامه ديگری را داشت ، بر اساس آدرس TCP/IP و يك شماره پورت ، يك لينك با آن برنامه ايجاد مي كرد.اين رويكرد تا مدت ها بعنوان يك راه حل مناسب جهت طراحی و اجرای برنامه های توزيع شده حضوری موفق در عرصه برنامه های توزيع شده داشت .پس از مدت زمانی رويكرد فوق با دو چالش جدی مواجه گرديد : 1 – برنامه نويسان مجبور بودند كه نام و يا آدرس سرويس دهنده و شماره پورت مورد نياز جهت برقراری ارتباط را در Source برنامه ها مستقيما" مشخص نمايند . 2 – برنامه نويسان گوناگون مي توانستند از پورت های يكسان برای برنامه های متفاوت استفاده نمايند .بديهی است در چنين حالتی Conflict ( تعارض ) بين شماره پورت ها امری اجتناب ناپذير بود. بمنظور برخورد با دو چالش فوق ، كميته يونيكيس مفهوم ارتباطات مبتنی بر RPC را مطرح كرد. بر اساس رويكرد فوق برنامه ای با نام Portmapper بر روی هر سرويس دهنده اجرا و بين برنامه های اجرائی بر روی سيستم ها ی متفاوت ، حكميت خواهد كرد. بر اين اساس هر برنامه بجای تلاش جهت ايجاد يك ارتباط با يك پورت خاص بر روي يك سيستم ، درخواست خود را برای Portmapper ارسال و وی مسئول ايجاد اطلاعات لازم جهت برقراری ارتباط خواهد بود. راه حل فوق با اينكه مسئله ارتباطات بين پردازه های توزيع شده را بگونه ای حل كرده بود ، ولي در رابطه با فورمت داده های مبادله شده بين برنامه ها سكوت اختيار كرده بود.در اين راستا تكنولوژی ديگری با نام XDR(eXternal Data Representation)، روشی را جهت تشريح داده های يك برنامه برای برنامه ديگر تعريف نمود. مي توان گفت كه XDR پيش كسوت XML است . RPC يك روش نسبتا" ساده ، انعطاف پذير برای پردازش های توزيع شده را ارائه كرد. شايد اين سوال مطرح شود كه چرا تكنولوژی فوق نتوانست تسلط و چيرگی خود را بر روی پردازش های مبتنی بر Client/Server ادامه و مستمر نمايد؟

مدل ارتباطي RPC تسلط مقتدر خود را در دنيای يونيكس بخوبي ادامه داد ولي با پيدايش و نياز به ارتباطات مبتني بر Client Server ( PC-to-server ) با يك مانع جدی مواجه گرديد. مشكل اساسی پروتكل هائی بوند كه در اغلب سيستم های Client Server استفاده مي گرديد.پروتكل TCP/IP استاندارد تمامی توليدكنندگان نبود و هر توليدكننده پروتكل های اختصاصي خود را داشت مثلا؛ شركت ناول از IPX و شركت ماكروسافت از NetBEUI استفاده می كردند.چون پروتكل TCP/IP بعنوان استاندارد در دنياي سرويس دهندگان مبتني بر PC ، هنوز مطرح نشده بود و ارتباطات مبتنی بر RPC گزينه ای مناسب در اين زمينه نبودند، چراكه ستون فقرات تكنولوژی فوق بر پروتكل TCP/IP استوار بود. بنابراين در مقطعي با رشد شديد روش های ارتباطي نظير ODBC براي دستيابي به بانك های اطلاعاتي ، صف بندی پيامها برای تبادل همزمان ، IPC و … مواجه شديم . پس از اينكه پروتكل TCP/IP به ميدان Client Server قدم گذاشت ، مجددا" ارتباطات مبتنی بر RPC مورد توجه قرار گرفت . در اين راستا تكنولوژيهای ارتباطی متفاوتی نظير : OLE ، Com ، Dcom ، Corba ، J2EE ،‌Java Enterprise ، Tuxedo و… مطرح گرديدنند. تمامی تكنولوژيهای فوق بدنبال ارائه تسهيلات ، انعطاف پذيری و اعتماد سازی بيشتر د ر برنامه های توزيع شده بودند. مطلب فوق شايد مهمترين دليل رويكرد شركت های عظيم نرم افزاري جهت ارائه يك ساختار استاندارد براي توليد اين عناصر باشد.
دو مدل استاندارد عمده تاکنون ، در اين زمينه مطرح و ارائه شده است .(DCOM(Distributed Component Object Model و CORBA Common Object Request Broker Architecture ، مدل های استاندارد شده در اين زمينه می باشند.

تعاريف و اصطلاحات

  • Interface . مجموعه ای از متدها که مسئوليت ارائه عمليات وارائه قابليت ها را برعهده خواهند داشت .

  • Object class or class . نام مورد نظر برای پياده سازی يک و يا چندين اينترفيس

  • Object (or object instance . نمونه ئی از برخی کلاس ها

  • Object server . پردازه ای که مسئوليت ايجاد و ميزبانی نمونه هائی از برخی کلاس ها را برعهده دارد.

  • Client . پردازه ای است که متدی ازيک شی را فرا می خواند

مقايسه DCOM و CORBA
دو استاندارد فوق از مدل سرويس گيرنده / سرويس دهنده برای ارتباطات خود استفاده می نمايند. در اين راستا سرويس گيرنده بمنظور اخذ يک سرويس ، متدی را توسط يک شی راه دور که بعنوان يک سرويس دهنده در مدل سرويس گيرنده / سرويس دهنده رفتار می نمايد ، فرا می خواند.سرويس ارائه شده توسط سرويس دهنده بصورت يک شی کپسوله می گردد. اينترفيس مربوط به شی توسط يک زبان تعريف اينترفيس (IDL) مشخص خواهد شد. اينترفيس های تعريف شده در يک فايل IDL بعنوان يک پيمان ارتباطی بين سرويس دهنده و سرويس گيرنده ايفای وظيفه می نمايد.سرويس گيرندگان با فراخوانی متدهای تشريح شده در IDL با سرويس دهنده ارتباط برقرار می نمايند.در اين راستا مدل و نحوه پياده سازی شی از ديدگاه سرويس گيرنده مخفی نگاه داشته می گردد. برخی از مفاهيم برنامه نويسی شی گراء نظير : Encapsulation,Polymorphism,Single inheritance در سطح IDL ارائه شده است . تکنولوژی CORBA در سطح IDL از ويژگی Multiple inheritance حمايت می کند.

مدل ارتباطی بين يک پردازه سرويس گيرنده ويک شی سرويس دهنده در تکنولوژي های CORBA,DCOM ، تابع مدل مبتنی بر شی RPC است . شکل زير ساختار RPC را نشان می دهد.

مشاهده تصوير با ابعاد بزرگتر

برای فراخوانی يک تابع راه دور ، سرويس گيرنده يک فراخوانی به Client Stub را انجام خواهد داد. Stub پارامترهای مربوط به فراخوانی تابع را در يک پيام درخواستی بسته بندی و يک Wire Protocol را بمنظور حمل پيام برای سرويس دهنده فرا می خواند. پس از حمل ، در سرويس دهنده ، پيام در اختيار Server stub گذاشته شده تا عمليات بازگشائی بسته ارسالی انجام و زمينه فراخوانی متدهای مربوط به شی مورد نظر فراهم گردد.در تکنولوژی DCOM ، وClient Stub بعنوان Proxy و Server Stub بعنوان Stub ناميده می شوند. در تکنولوژی CORBA ، و Client stub بعنوان stub و Server stub بعنوان Skeleton ناميده می گردد.

تكنولوژ ی COM . مهمترين ويژگ ی تكنولوژی فوق قابليت استفاده مجدد و ارتباط متقابل براي عناصر( اشياء) توزيع شده است . بدين ترتيب پياده كنندگان نرم افزار اين امكان را پيدا خواهند كرد تا با در كنار هم قرار دادن اين عناصر و استفاده متعدد از آنان (حتي اگر توليدكنندگان آنها متفاوت باشند) ، قادر به خلق آثار ماندگار در سريعترين زمان ممكن و متكی بر اصول مهندسی نرم افزار باشند. تكنولوژ ی Com بصورت ناگهاني مطرح نگرديد و ريشه در تلاش هائی دارد كه از مدت ها قبل بعنوان يك نياز مطرح شده بود ، معرفي تكنولوژی OLE(Object Linking & Embedding) در سال ،1991 اولين تلاش در اين زمينه بود كه توسط شركت مايكروسافت برای ارتباط و پيوستگی بين مستندات مجموعه برنامه های آفيس مطرح گرديد. حوزه عملكرد تكنولوژی فوق بر روی مستندات ( Documents ) متمركزاست. در ادامه شركت مايكروسافت به اين نكته پی برد كه تكنولوژی فوق نبايد صرفا" متمركز بر روی مستندات باشد و مي تواند عملكردی جامع تر را داشته باشد. بدين منظور نسخه شماره 2 ، OLE در سال1995 مطرح گرديد و اين نسخه در ادامه تمامي عناصر و اجزای موجود در محيط ويندوز را شامل گرديد و بدين ترتيب COM مطرح شد. در اوايل ، تكنولوژی فوق در رابطه با عناصر و اجزای توزيع شده امكانات قابل توجه ای ارائه نكرده بود .شايد يكي از مهمترين دلايل آن ، عدم عرضه يك سيستم عامل شبكه ای از طرف مايكروسافت تا آن زمان بود.همزمان با عرضه ويندوز 95 و ويندوز NT در سال 1996 و مطرح شدن امكانات شبكه ای و ضرورت توزيع ، اجراء و ارتباط بين عناصر توزيع شده، تكنولوژی DCOM(Distributed COM) مطرح گرديد.سرانجام در سال 1997 نسخه توسعه يافته اين تكنولوژی با نام COM+ توسط شركت مايكروسافت ارائه گرديد.شکل زير معماری بکارگرفته شده درتکنولوژی DCOM را نشان می دهد.

مشاهده تصوير با ابعاد بزرگتر

تكنولوژي CORBA . همزمان با گرايش بسمت طراحي و پياده ساز ی نرم افزارهاي متكي بر مدل N-Tier از يكطرف و نياز شديد به پياده سازي نرم افزار هاي متكی بر وب ، ضرورت توجه و بازنگری در نحوه طراحی و پياده سازی عناصر توزيع شده مورد اهتمام جدی شركت های بزرگ نرم افزاري قرار گرفت . شركت ماكروسافت در اين زمينه منادی تكنولوژی های COM/DCOM/COM+ ، Internet Explorer و ActiveX و ساير شرکت ها " کوربا" را مطرح كردند . اولين نسخه تکنولوژی فوق درسال 1992 توسط OMG كه بالغ بر ششصد عضو دارد، ارائه گرديد. آخرين نسخه آن ( نسخه شماره 2 ) در سال 1996 عرضه شده است . عملکرد تکنولوژی فوق شباهت زيادی به DCOM دارد. شکل زير معماری بکارگرفته شده در تکنولوژی فوق را نشان می دهد.

مشاهده تصوير با ابعاد بزرگتر

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

سرويس های وب : رويکرد جديد در برنامه های توزيع شده

برای برنامه نويسی توزيع شده تاكنون متدلوژی های متفاوتی مطرح بوده است . سرويس های وب جديدترين رويکرد در اين زمينه می باشند. چرا با اين همه تنوع ، ما مجددا؛ به يك معماری جديد برای پردازش برنامه های توزيع شده نياز داريم ؟ چرا ما به سرويس های وب نياز داريم ؟ چرا خودمان را با يكی از متدهای موجود نظير RPC ، DCOM ، CORBA تطبيق نمی دهيم ؟ پاسخ به تمام سوالات فوق و موارد مشابه ظهور و رشد سريع اينترنت و وب است . در حقيقت اينرنت زمينه مناسب جهت تكامل برنامه های توزيع شده را فراهم نمود. تکنولوژی های پيش از اين، اغلب در شبكه های اختصاصی ايمن و اعتمادپذير مورد استفاده قرار می گرفتند.برنامه های توزيع شده كه بر روی اينترنت اجراء می گردند، دارای چالش های خاص خود بوده و با توجه به تنوع ، وسعت بسيار زياد و رشد فزاينده ، ضرورت وجود يك مدل جديد برای برنامه نويسی توزيع شده بدرستی احساس می گردد.

كالبد شكافی سرويس های وب

سرويس های وب تصوير جديد ی از برنامه های توزيع شده را ارائه داده اند . در اين راستا سه هدف عمده دنبال می شود :

  • برنامه ها بسادگی برنامه های ديگر بر روی وب را پيدا كرده و با آنها تبادل اطلاعاتی داشته باشند.

  • از تمامی توان اينترنت و پروتكل های مربوطه استفاده گردد.

  • يك متدولوژی ايمن برای تبادل اطلاعاتی را ارائه نمايد.

در ادامه به بررسی نحوه تحقق هر يك از اهداف سه گانه فوق در تكنولوژی جديد سرويس های وب خواهيم پرداخت .

هدف اول :

يكی از اولين مسائل موجود در رابطه با برنامه نويسی توزيع شده ، نياز به روشی جهت نمايش واستفاده از داده در برنامه ها است ، شايد يكي از اولين را ه حل های ممكن در اين خصوص طراحی يك ساختمان داده مشترك باشد كه تمامی برنامه ها جهت مبادله داده ها از آن استفاده و پيمان تفاهمی را امضاء كرده باشند ! . بديهی است در چنين وضعيتی تغيير در يك ساختمان داده ، مستلزم ايجاد تغييرات در برنامه هائی است كه بنوعی مصرف كننده داده های موجود در آن ساختمان داده هستند. مسئله فوق می تواند بعنوان يك مانع جدی جهت اعمال تغييرات در برنامه محسوب گردد. تمامی برنامه ها در اکثر اوقات می بايست، جهت استفاده از يك يا چند ساختمان داده به توافق رسيده باشند.و اين مسئله كوچكی نخواهد بود. XML پاسخی مناسب به اين نياز است . Xml يك متدولوژی مناسب برای استاندارد نمودن انتقال داده ها و رمز گشائی آنان است . يك فايل Xml ( يك مستند ) شامل داده ها و روشهای تشريح آنان است . بنابراين يك برنامه می تواند با دريافت يك فايل Xml قادر به تشخيص محتويات فايل و فورمت مربوط به المانهای داده ئی آن باشد. با استفاده از Xml ، فورمت داده ها می تواند تغيير كرده ، المانهای داده ئی تغيير ، افزايش و يا حتی حذف گردند، بدون اينكه نياز به انجام تغييرات در برنامه هائي باشيم كه از داده های فوق استفاده مي كنند. Xml شاه كليد طلائی سرويس های وب است . Xml الگوئی جهت تبادل داده ها بين برنامه ها و روتين هائی خواهد بود كه پايه و اساس آنها متكی بر سرويس های وب است . Xml يك عنصر استراتژيك در خط توليد محصولات شركت ما كروسافت بشمار مي آيد. اين عنصر حياتی هم در پروژه دات نت و هم در ساير محصولات شركت ماكروسافت نظير آفيس يك نقش محوری و تعيين كننده را برعهده دارد. با بهره گيری از تكنولوژی Xml برای تبادل داده ها يك بخش از جدول معمای سرويس های وب حل مي گردد.يكي ديگر از بخش های اين جدول معما ، يافتن پاسخی شايسته برای اين سوال است كه برنامه ها چگونه يكديگر را برای تبادل داده پيدا مي كنند؟در اغلب برنامه های توزيع شده و همچنين مدل سنتي Client Server ،‌ برنامه ها مي بايست به روشنی و صراحت لهجه در رابطه با برنامه ها و روتين هائی كه می خواهند با آنها در ارتباط باشند ، آگاهي لازم را كسب نمايند . استفاده از درج كد بصورت مستقيم در متن برنامه ها ما را دچار مشكلاتی خواهد كرد كه در رابطه با تبادل داده ها نيز به آن اشاره شد. يعنی تغيير ساختار يك برنامه( برنامه توزيع شده ) كاری بس مشكل خواهد بود. تفكيك برنامه ها از يكديگر يكی از بزرگترين چالش ها و يكی از مهمترين رويكردها در رابطه با سرويس های وب است

مثال : فرض کنيد برنامه ای توزيع شده را داشته باشيم که بخشی از آن بر روی Desktop و بخشی ديگر بر روی سرويس دهنده اجراء می گردد هر بخش مسئول تامين برخی از خواسته های مورد نظر است . هر قسمت بخشي از مسئوليت برنامه را كه همانا محاسبه ماليات است بر عهده خواهند گرفت ، بخش مربوط به سرويس گيرنده مسئول ارائه توابع مربوط به بررسي صحت و ذخيره سازی داده ها بوده و بخش موجود بر روی سرويس دهنده نيازمند انجام عمليات پيچيده ای جهت يافتن جداول مالياتی و محاسبه ماليات مربوطه خواهد بود كه ممكن است هر سال ضرائب آن نيز تغيير يابند. اگر سيستم فوق با نگرش سرويس های وب طراحي گردد ، ‌برنامه موجود بر روی سرويس دهنده مي تواند از روتين های خارجي ( نوشته شده توسط ساير افراد و استاندارد شده ) نوشته شده جهت محاسبه ماليات استفاده نمايد. در چنين فضائی ، برنامه موجود بر روی سرويس دهنده داده های مورد نياز را از طريق يک فايل Xml برای يک روتين اختصاصی ارسال کرده و روتين مربوطه ، داده های دريافتی را بعنوان مواد اوليه پردازش استفاده و نتايج بدست آمده بصورت يک فايل Xml برای برنامه موجود بر روی سرويس دهنده ارسال خواهد شد. بصورت يك فايل به برنامه موجود بر روي سرويس دهنده ارسال خواهد شد. با استفاده از اين نوع شيوه طراحي برنامه هاي موجود بر روی Desktop و سرويس دهنده تا ساليان سال بدون نياز به اعمال تغييرات جديد به فعاليت خود ادامه داده و در اين رهگذر آن چيزی كه مي بايست تغيير كند جداول مالياتي بهمراه ضرائب جديد است . رسالت فوق برعهده يك روتين عام و استاندارد شده قرار گرفته و بسادگي قادر به تطبيق خود با شرايط جديد خواهد بود.

طراحی برنامه هائی از اين نوع ( مثال فوق ) با نگرش سرويس های وب ،‌ اين سوال را مطرح مي سازد كه چگونه برنامه ها و روتين ها در يك محيط متكی بر سرويس های وب مي توانند يكديگر را پيدا نمايند؟چگونه برنامه موجود بر روی سرويس دهنده ( مثال فوق ) از محل برنامه ( روتين ) محاسبه ماليات آگاهی پيدا مي كند؟ برنامه های متكی بر معماری سرويس های وب با استفاده از دايركتوری ها (Directories) همديگر را پيدا خواهند كرد. نقش يك دايركتوري در دنيای سرويس های وب ، ارائه يك محل مركزي برای برنامه ها و روتين ها بگونه ای است كه آنها قادر به يافتن ساير برنامه ها و روتين های مورد نظر خود جهت ارتباط باشند. بموازات توسعه و فراگير شدن سرويس های وب ، مي توان اين انتظار را داشت كه چندين دايركتوری كه بر اساس نوع فعاليت خود ( Business ) طبقه بندی شده اند ، ‌بوجود آيد مثلا؛ توليد كنندگان اتومبيل دارای يك دايركتوری مجزای از شركت های بيمه باشند. چه كسی مسئوليت توزيع و پشتيبانی اين نوع دايركتوريها را برعهده خواهد گرفت ؟ در برخی حالات يكی از شركت های فعال در يك خط تجاری خاص مي تواند اين مسئوليت را برعهده گيرد . مثلا؛ يك توليد كننده اتومبيل مي تواند يك دايركتوری را براي ساير اعضاي صنف خود ايجاد و پشتيباني نمايد و يا تمامی توزيع كنندگان اتومبيل مي توانند با يكديگر متحد و يك دايركتوری خاص ايجاد تا توسط تمامی توليد كنندگان اتومبيل مورد استفاده قرار گيرد. در حالات ديگر ، دايركتوری ها مي توانند Host گردنند و بعنوان يك حرفه جديد مورد توجه و مديريت قرار گيرند. مثلا؛ يك شركت تازه تاسيس مي تواند يك دايركتوری را بمنظور سرويس دهی به يك بخش خاص از فعاليت های تجاری پياده سازی و حق الزحمه خود را از ساير شركت هائی كه بهآن دستيابی دارند ،‌ اخذ نمايد.پس از گذشت مدت زمان ی ، قطعا" چندين دايركتوری با سرويس دهی مشابه در حرفه های گوناگون بوجود خواهد آمد و رقابت بين اين نوع از شركت ها بستر لازم جهت انتخاب را برای ساير شركت ها و موسسات تجاريی فراهم خواهد كرد.

از بعد فني اين نوع از دايركتوری ها ( تطبيق سرويس های وب بايكديگر) با ساير دايركتوريهاي موجود مانند دايركتوريهائي جهت تاييد اعتبار كاربر و مديريت آنها نظير Active Directory در ويندوز و NDS ناول ، بسيار متفاوت خواهند بود.مثلا؛ دات نت ماكروسافت بگونه ای طراحي شده است كه قادر به تبعيت از استاندارد Universal Description Discovery and Integration(UDDI) ،‌ باشد. UDDI يك ساختار مناسب تعريف شده برای يك برنامه است تا از يك طرف قادر به يافتن ساير برنامه ها بوده و از طرف ديگر به اين سوال پاسخ دهد كه خود چه سرويسی برای ارائه دادن به ساير برنامه ها را در اختيار دارد. با توجه به مثال گفته شده ( محاسبه ماليات ) ،‌برنامه فوق مي تواند يك دايركتوری را برای يافتن برنامه هائی كه جداول مالياتي و محاسباتی مربوطه را دراختيار دارند ، ‌جستجو نمايد. دايركتوری ها يك روش مطمئن و اساسی جهت عملكرد برنامه ها بدون نياز به تغيير را ارائه مي دهند. (سخن دايركتوری به مخاطبان خود: من تغيير خواهم كرد ، شما لازم نيست تغيير كنی ، با خيال راحت كار خود را ادامه دهيد!)

تا اينجا اين مسئله روشن شد كه چگونه Xml و دايركتوری های سرويس های وب برنامه نويسي توزيع شده را راحت تر كرده و يك زير ساخت مناسب جهت اين كاربا قابليت تسهيل در اعمال تغييرات قراهم شده است . بدون اتكاء به رويكرد فوق ، اضافه كردن يك Partner جديد و يا تغيير يك المان داده ئی مستلزم اعمال تغييرات زياد در تمامی برنامه ها در يك برنامه جامع توزيع شده است .

هدف دوم :

اما چگونه مي توان اين سطح از دانش و تجربه را در محيط شبكه اي كه صرفا؛ قادر به درك مجموعه محدودي از پروتكل ها نظير Http , SMTP , FTP است ، معرفی و استفاده کرد؟ چگونه می توان يك تكنولوژی جديد در دنيائی مملو از سرويس دهندگان فايروال و Proxy را مطرح و عمومی نمود؟. پروتكل های موجود اينترنت برای انجام عمليات مورد نياز در محيط های متكي بر سرويس های وب اولا" به اندازه لازم انعطاف پذير نبوده و ثانيا" تعداد آنها محدود است . يك Partner نمي تواند صرفا" يك فايل Xml را بكمك پروتكل FTP برای يك Partner ديگر ارسال و در انتظار پاسخ مناسب باشد. SOAP(Simple Object Access Model) ،‌ يك پروتكل متكي بر Xml بوده كه امكانات لازم جهت تبادل داده بين برنامه های هر partner با Partner ديگر را فراهم مي نمايد. از نكات جالب توجه پروتكل فوق مي توان به اين مسئله اشاره كرد كه امكان فعاليت بر روی ساير پروتكل های موجود اينترنت نظير Http , SMTP را دارا است . البته در اولين نسخه ای كه از پروتكل فوق پياده سازی مي گردد، استفاده بر روي Http مطرح شده است . بهرحال استفاده از SOAP بر روی Http ، سرويس های وب قادر به حركت بر روی اينترنت بدون نياز به اعمال تغييرات عمده در فايروال های موجود ، خواهند بود. از پروتكل SOAP ،‌ علاوه براينكه براي انتقال داده های عمومی با فورمت Xml استفاده مي شود ، همچنين برای انتقال نوع خاصی از مستندات متكی بر Xml يعنی مستندات WSDL(Web Service Description Language) نيز استفاده مي گردد. مستنداتی از اين نوع جزئيات يك سرويس خاص ارائه شده توسط يك برنامه را تشريح و ساير اطلاعات ضروری در رابطه با نحوه ارتباط با برنامه را مشخص خواهند كرد. يك برنامه Partner ،برنامه ديگر را از طريق يك دايركتوری ، SOAP و WSDL بمنظور تعيين محدوديت ها و قوانين مربوط به گفتمان مشترك بين يك برنامه و برنامه ديگر ، آگاه مي سازد . ( عصر گفتگوی منطقی برنامه ها هم فرا رسيده است و برای آن چارچوب تعريف شده است ! ! ) . به مثال گفته شده برگرديم ، برنامه مالياتي مي تواند يك برنامه محاسبه مالياتی را براساس يك دايركتوری پيدا كند در ادامه از طريق پروتكل SOAP يك فايل WSDL را ارسال تا متوجه شود كه برنامه فوق چه نوع عمليات خاصی را مي تواند انجام و در صورت لزوم چه نوع داده ئی را مي بايبست مبادله نمايد.

هدف سوم :

تصور اين موضوع كه ما مي خواهيم تمامی فعاليت های تجاری خود را بهمراه مسائل شخصی از طريق سرويس های وب در اينترنت انجام دهيم ،‌ شايد تا اندازه ای نگران كننده باشد. اگر سرويس های وب مي خواهند جايگاهي بلند مرتبه را پيدا نمايند ، قبل از هر چيز مي بايست متدولوژيهای امنيتي قابل قبولی را ارائه نمايند. ماكروسافت در اين زمينه ايده جالب ،‌ استفاده از متدولوژيهای تاييد اعتبار كاربر كه توسط IIS ارائه شده است را، مطرح كرده است . در دنيای دات نت برنامه های Partner مي بايست دارای اعتبارنامه معتبر و تصويب شده در مجلس IIS باشند. اعتبارنامه ها مي تواند بر اساس NT Lanmanager(NTLM) و يا Kerberos ( Active Directory ) باشند . اگر با يك نگاه منصفانه به مدل ارائه شده توسط شركت ماكروسافت نظری داشته باشيم ،‌ در خواهيم يافت كه نوعی اطمينان از تاييد با مركزيت IIS بوجود خواهد آمد كه از يكطرف توانائی و از سوی ديگر انعطاف پذيری سرويس های وب را بيشتر خواهد كرد. چراكه برنامه هاي Partner ،‌مي بايست با شفافيت بدانند كه چگونه توسط برنامه های ديگر تاييد گردند. در حال حاضر يك مكانيزم قابل قبول و انعطاف پذير برای بدست آوردن يك مجوز عمومي ( جواز عمومي ) از يك منبع مستقل بين المللي وجود ندارد تا برنامه ها با اتكاء به آن همديگر را باور و تاييد نمايند.

امنيت در دات نت زمانيكه نگاه خود را بر روي سرويس گيرندگان متمركز نمائيم ، قابل تامل است . چون سرويس هاي وب مي بايست بصورت يكسان و يكنواخت طراحي گردند تا بتوانند خدمات متكي بر سرويس گيرندگان را ارائه نمايند، داشتن يك روش تاييد صلاحيت براي سرويس گيرنده كه چندين برنامه موجود بر روي سرويس گيرنده را به به سرويس دهي فرا خواهد خواند ، بسيار مهم بوده و اگر چنين مدلي اين امكان را فراهم آورد كه كاربري يك بار تاييد گردد و صلاحيت آن در طول چندين برنامه موجود بر روي سرويس دهنده تاييد گردد بمراتب بهتر خواهد بود ( عالي است ! ) هدف محصول Passport شركت ماكروسافت تاييدي بر انعطاف پذيري سرويس گيرندگان است كه خود بخشي از پروژه بزرگ دات نت است . هدف Passport تاييد يك كاربر از طريق يك مرورگر وب و ارسال اعتبارنامه وی برای چندين برنامه است كه بر روی سرويس دهنده مشغول ارائه خدمات مي باشند. در حقيقت محصول فوق زمينه پيدايش فدراسيون برنامه ها ی كامپيوتري را فراهم كرده تا بدين طريق سرويس گيرندگانی كه بنوعی تاييد می گردنند ، صلاحيت استفاده از تمامی برنامه های موجود در فدراسيون را خواهند داشت .عليرغم برخی انتقادات كه به اين محصول شركت ماكروسافت انجام شده است ( منتقدين مي گويند كه با اين كار شركت ماكروسافت نمامي كاربران Online شبكه را كنترل مي كند) اين شركت همچنان بر آن مهر تاييد زده و آن را بعنوان يك بخش اساسی در پروژه دات نت خود قلمداد مي كند. ماكروسافت حتی بدنبال افزايش قابليت هايی Passport بگونه ای است كه تمامي محصولات خود را تحت پوشش قرار دهد. شايد در آينده اعتبارنامه Passport در Active Directory ذخيره و مجوزی برای استفاده از محصولات اين شركت هم باشد.

مهمترين چالش شركت ماكروسافت ايجاد يك تكنولوژی جديد با نام سرويس هاي وب نيست ، مهمترين چالش آنها “ بودن “ و مديريت پروژه دات نت بگونه ای است كه بسادگی قابل فهم بوده و پياده كنندگان نرم افزار را تشويق به استفاده از برنامه های دات نت نمايد. برخي از منتقدين اين مسئله را عنوان كرده اند كه دات نت يك توانائی اضافه است كه ماكروسافت به محصولات خود داده است و نمي توان آن را بعنوان يك امكان جديد برای نسل جديدی از برنامه های توزيع شده قلمداد كرد.

<< بخش بعدی


اصول برنامه نويسی تحت وب

تهيه شده در شرکت سخا روش - 1381
E-Mail : Info@Srco.ir

صفحه اصلی
تعداد مراجعه کنندگان : 43215

شروع
مقدمه
از کجا می بايست شروع کرد؟

مفاهيم برنامه نويسی
پياده سازی نرم افزار
نيازها و انتظارات
چالش های موجود
انواع معماری توليد نرم افزار
نمونه برنامه های سرويس دهنده / سرويس گيرند ه
چالش های برنامه های توزيع شده
مدل پياده سازی نرم افزار بر اساس نوع خدمات
انواع مدل های فيزيکی پياده سازی C/S
جمع بندی

مقدمه ای بر وب
اينترنت و وب
مفاهيم و تعاريف اوليه
جايگاه HTML
انواع صفحات وب
وضعيت فعلی وب و صفحات وب

تعاريف برنامه نويسی تحت وب
تعاريف
ارائه يک مدل همگراء و جامع

لايه رابط کاربر
مفاهيم اوليه
جايگاه مرورگرها
روند تکامل و شکل گيری مرورگرها
معرفی تکنولوژی های مرتبط در لايه
Plug -In
Cookie
API
JavaScript
VBScript
JAVA
DOM
CSS
DHTML
XML
XSL
DTD
Schema
XML-DOM
Xpath

جمع بندی

لايه ارتباطی
مفاهيم
پروتکل TCP/IP
پروتکل HTTP
پروتکل S-HTTP
جمع بندی

لايه ميانی
مفاهيم
معرفی تکنولوژی های مرتبط در لايه
CGI
SSI
PHP
ASP
JSP
ColdFusion
جمع بندی

لايه داده
مفاهيم اوليه
چاش های دستيابی به داده در وب
دستيابی همگن به داده ها
معرفی تکنولوژی های مرتبط
جمع بندی

جمع بندی و راهکارها
معرفی دات نت
معرفی J2EE
روند توسعه نرم افزار های وب در آينده

منابع
معرفی منابع

شروع
مقدمه

دوره اصول و مفاهيم برنامه نويسی وب پس از گذشت چندين ماه مطالعه و جمع آوری مطلب تدوين شده است . اين دوره تاکنون دربرخی از مراکز آموزشی بصورت کاملا" عملی و کارگاهی برگزار و اينک بصورت فشرده در اختيار علاقه مندان قرار می گيرد. از تمامی کاربران محترم خواهشمند است ، در ابتدا با شرايط استفاده از سايت آشنا شده و در ادامه از امکانات موجود استفاده نمايند. برای تدوين و طراحی دوره فوق صدها ساعت زمان صرف شده است . رعايت موارد اعلام شده ، عاملی مهم در تداوم حرکاتی اينچنين و تکميل محتويات دوره و استقرار آنها بر روی سايت ، برای استفاده است . از کاربران محترم تقاضا دارد ، در صورت مشاهده هر گونه موارد اشتباه مراتب را از طريق آدرس Info@srco.ir اعلام تا زمينه برطرف شدن آن فراهم گردد. پيشاپيش از تمامی کاربران محترم بدليل همکاری در اين خصوص ، تشکر می نمائيم .

برای يادگيری دوره فوق به چه پيش زمينه هائی نياز است ؟

آشنائی با ويندوز و مفاهيم اوليه اينترنت مهم بوده و در عين حال می بايست شناخت لازم و اوليه با مبانی نرم افزار وجود داشته باشد. آشنائی با HTML به اندازه لازم می تواند باعث سرعت در درک و شناخت برخی از مفاهيم اوليه گردد .

<< بخش بعدی


لايه رابط کاربر

تهيه شده در شرکت سخا روش - 1381
E-Mail : Info@Srco.ir

شروع
مقدمه
از کجا می بايست شروع کرد؟

مفاهيم برنامه نويسی
پياده سازی نرم افزار
نيازها و انتظارات
چالش های موجود
انواع معماری توليد نرم افزار
نمونه برنامه های سرويس دهنده / سرويس گيرند ه
چالش های برنامه های توزيع شده
مدل پياده سازی نرم افزار بر اساس نوع خدمات
انواع مدل های فيزيکی پياده سازی C/S
جمع بندی

مقدمه ای بر وب
اينترنت و وب
مفاهيم و تعاريف اوليه
جايگاه HTML
انواع صفحات وب
وضعيت فعلی وب و صفحات وب

تعاريف برنامه نويسی تحت وب
تعاريف
ارائه يک مدل همگراء و جامع

لايه رابط کاربر
مفاهيم اوليه
جايگاه مرورگرها
روند تکامل و شکل گيری مرورگرها
معرفی تکنولوژی های مرتبط در لايه
Plug -In
Cookie
API
JavaScript
VBScript
JAVA
DOM
CSS
DHTML
XML
XSL
DTD
Schema
XML-DOM
Xpath

جمع بندی

لايه ارتباطی
مفاهيم
پروتکل TCP/IP
پروتکل HTTP
پروتکل S-HTTP
جمع بندی

لايه ميانی
مفاهيم
معرفی تکنولوژی های مرتبط در لايه
CGI
SSI
PHP
ASP
JSP
ColdFusion
جمع بندی

لايه داده
مفاهيم اوليه
چاش های دستيابی به داده در وب
دستيابی همگن به داده ها
معرفی تکنولوژی های مرتبط
جمع بندی

جمع بندی و راهکارها
معرفی دات نت
معرفی J2EE
روند توسعه نرم افزار های وب در آينده

منابع
معرفی منابع

لايه رابط کاربر

مفاهيم اوليه

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

  • رابط کاربر بعنوان يک اينترفيس بين دنيای کاربران و دنيای کامپيوتر است .

  • بخش رابط کاربر برنامه های مبتنی بر وب با استفاده از برنامه های مرورگر ، ارائه می گردد.

  • تمام بحث ها ی مربوط به لايه رابط کاربر ، با مرورگرهای وب آغاز می گردد.

  • اطلاعات ارسالی توسط سرويس دهنده وب توسط مرورگر وب نمايش داده می شود.

  • مرورگرهای وب دارای امکانات لازم برای تفسير تگ های Html و نحوه نمايش آنان می باشند.

  • مرورگرهای وب با استفاده از فرم های وب امکان اخذ اطلاعات از کاربران و ارسال آنها برای سرويس دهنده را فراهم می آورند.

  • مرورگرهای وب پس از اخذ اطلاعات لازم از کاربران ، با استفاده از متدهای GET و يا POST پروتکل HTTP، آنها را برای سرويس دهنده وب ارسال می نمايند.

  • مرورگرهای وب بمنظور پشتيانی و نگهداری وضعيت يک برنامه از کوکی استفاده می نمايند.

  • تکنولوژی های موجود در اين لايه وابسته به نوع مرورگر خواهند بود. ممکن است برخی از تکنولوژی ها توسط برخی از مرورگرها حمايت نشده و يا برخی از تکنولوژی ها از يک نسخه خاص در مرورگر پيش بينی شده باشند .

<< بخش بعدی


معرفی تکنولوژي هاي مرتبط با لايه

تهيه شده در شرکت سخا روش - 1381
E-Mail : Info@Srco.ir

شروع
مقدمه
از کجا می بايست شروع کرد؟

مفاهيم برنامه نويسی
پياده سازی نرم افزار
نيازها و انتظارات
چالش های موجود
انواع معماری توليد نرم افزار
نمونه برنامه های سرويس دهنده / سرويس گيرند ه
چالش های برنامه های توزيع شده
مدل پياده سازی نرم افزار بر اساس نوع خدمات
انواع مدل های فيزيکی پياده سازی C/S
جمع بندی

مقدمه ای بر وب
اينترنت و وب
مفاهيم و تعاريف اوليه
جايگاه HTML
انواع صفحات وب
وضعيت فعلی وب و صفحات وب

تعاريف برنامه نويسی تحت وب
تعاريف
ارائه يک مدل همگراء و جامع

لايه رابط کاربر
مفاهيم اوليه
جايگاه مرورگرها
روند تکامل و شکل گيری مرورگرها
معرفی تکنولوژی های مرتبط در لايه
Plug -In
Cookie
API
JavaScript
VBScript
JAVA
DOM
CSS
DHTML
XML
XSL
DTD
Schema
XML-DOM
Xpath

جمع بندی

لايه ارتباطی
مفاهيم
پروتکل TCP/IP
پروتکل HTTP
پروتکل S-HTTP
جمع بندی

لايه ميانی
مفاهيم
معرفی تکنولوژی های مرتبط در لايه
CGI
SSI
PHP
ASP
JSP
ColdFusion
جمع بندی

لايه داده
مفاهيم اوليه
چاش های دستيابی به داده در وب
دستيابی همگن به داده ها
معرفی تکنولوژی های مرتبط
جمع بندی

جمع بندی و راهکارها
معرفی دات نت
معرفی J2EE
روند توسعه نرم افزار های وب در آينده

منابع
معرفی منابع

لايه رابط کاربر
معرفی تکنولوژی های مرتبط با لايه

برنامه های مبتنی بر وب نمونه ای خاص از برنامه های سرويس گيرنده / سرويس دهنده می باشند. بخشی از نرم افزار بر روی سرويس دهنده و بخش ديگری بر روی سرويس گيرنده اجراء خواهند شد. سرويس دهندگان وب ، مسئول دريافت درخواست ها و انجام پردازش های لازم ( از يافتن فايل تا اجرای اسکريپت ها و ...) مستقيما" و يا با استفاده از ساير دستياران عملياتی خود خواهند بود. سرويس گيرندگان اغلب از برنامه های مرورگر خود برای ارسال درخواست و نمايش نتايج ارسالی استفاده می نمايند.

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

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

طراحان و برنامه نويسان برنامه های مبتنی بر وب می بايست از هر تکنولوژی دقيقا" در جايگاه خود استفاده نمايند. استفاده از برخی از تکنولوژی ها که دارای نمونه های متفاوت ( رويکردهای متفاوت از يک تکنولوژی يکسان ) و ارائه شده توسط شرکت های متعدد می باشند ، نيازمند بررسی کارشناسی در ابعاد متفاوت است .

برخی از تکنولوژی های مطرح ، در اين لايه بشرح زير می باشند :

  • Plug-in

  • کوکی (Cookie)

  • API مربوط به مرورگرهای وب

  • جاوا اسکريپت

  • VBscript و Jscript

  • جاوا ( اپلت های جاوا )

  • CSS

  • DOM

  • DHTML

  • XHTML

  • XML

  • XSL

  • Xpath

  • DTD

  • XSD

در ادامه اين بخش ، به تشريح جايگاه و کاربرد هر يک از تکنولوژی های فوق پرداخته خواهد شد.

<< بخش بعدی


آشنائي با | Html

تهيه شده در شرکت سخا روش - 1381
E-Mail : Info@Srco.ir

شروع

مقدمه
از کجا می بايست شروع کرد؟

مفاهيم برنامه نويسی

پياده سازی نرم افزار
نيازها و انتظارات
چالش های موجود
انواع معماری توليد نرم افزار
نمونه برنامه های سرويس دهنده / سرويس گيرند ه
چالش های برنامه های توزيع شده
مدل پياده سازی نرم افزار بر اساس نوع خدمات
انواع مدل های فيزيکی پياده سازی C/S
جمع بندی

مقدمه ای بر وب

اينترنت و وب
مفاهيم و تعاريف اوليه
جايگاه HTML
انواع صفحات وب
وضعيت فعلی وب و صفحات وب

تعاريف برنامه نويسی تحت وب

تعاريف
ارائه يک مدل همگراء و جامع

لايه رابط کاربر

مفاهيم اوليه
جايگاه مرورگرها
روند تکامل و شکل گيری مرورگرها
معرفی تکنولوژی های مرتبط در لايه
Plug -In
Cookie
API
JavaScript
VBScript
JAVA
DOM
CSS
DHTML
XML
XSL
DTD
Schema
XML-DOM
Xpath

جمع بندی

لايه ارتباطی

مفاهيم
پروتکل TCP/IP
پروتکل HTTP
پروتکل S-HTTP
جمع بندی

لايه ميانی

مفاهيم
معرفی تکنولوژی های مرتبط در لايه
CGI
SSI
PHP
ASP
JSP
ColdFusion
جمع بندی

لايه داده

مفاهيم اوليه
چاش های دستيابی به داده در وب
دستيابی همگن به داده ها
معرفی تکنولوژی های مرتبط
جمع بندی

جمع بندی و راهکارها

معرفی دات نت
معرفی J2EE
روند توسعه نرم افزار های وب در آينده

منابع

معرفی منابع

مقدمه ای بر وب
جايگاه Html

همانطور که اشاره گرديد برای ايجاد مجموعه دستورالعمل های نمايش در صفحات وب از شبه زبان Html استفاده می گردد.شبه زبان فوق ، را نمی توان بعنوان يک زبان برنامه نويسی در نظر گرفت چراکه عملا" دستورالعمل های پردازش را شامل نشده و صرفا" در حد توصيف نحوه نمايش محتويات است . Html دارای مجموعه ای از کدهای توصيفی برای نمايش اطلاعات در مرورگرها است. اين زبان دارای مجموعه ای از تگ ها است که هر يک دارای معانی و عملکرد از قبل مشخص شده هستند. مثلا" تگ :<B> برای پررنگ نمودن متن مورد نظر و يا تگ <Br> برای ايجاد يک خط خالی استفاده می شود. فايل هائی که بکمک Html ايجاد می گردنند می بايست دارای انشعاب "Html" و يا "Htm" باشند. در حقيقت تگ های Html سياست های مربوط به نحوه نمايش اطلاعات در مرورگرهای وب را مشخص و مرورگرهای وب پس از تفسير تگ های استفاده شده واکنش های از قبل تعريف شده را از خود نشان خواهند داد. بنابراين می توان Html را بعنوان زبانی برای تبين نحوه نمايش اطلاعات تعريف کرد.

مثال : يک نمونه فايل HTML

<html>
<head>
<title>عنوان صفحه </title>
</head>
<body>
< ...... >
</body>
</html>

html دارای نسخه های متعددی از بدو پيدايش تاکنون بوده است . در زمان ايجاد يک صفحه وب می بايست، نوع نسخه استفاده شده Html را مشخص نمود. اين عمليات توسط DOCTYPE انجام می گيرد. هر يک از نسخه های فوق دارای مجموعه تگ های مربوط به خود خواهند بود. در ادامه به انواع اين نسخه ها و نحوه تعريف کردن و مشخص نمودن نوع نسخه در صفحات وب اشاره می گردد.

HTML 2.0 نسخه فوق بعنوان استاندارد اوليه (RFC 1866) معرفی گرديد.

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML Strict//EN">
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">

Html 3.2 استاندارد معرفی شده توسط کنسرسيوم وب است .

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

Html 4.0 استاندارد معرفی شده توسط کنسرسيوم وب که دارای سه گرايش متفاوت است :

- HTML 4.0 Strict . اين نسخه امکان استفاده از فريم و اغلب ويژگی هائی نظير " تراز بندی " را شامل نمی شود.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
"http://www.w3.org/TR/REC-html40/strict.dtd">

- HTML 4.0 Transitional امکانات مربوط به نمايش نظير " ترازبندی " را دارا بوده ولی همچنان امکان استفاده از فريم ها وجود نخواهد داشت .

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/REC-html40/loose.dtd">

- HTML 4.0 Frameset . امکان استفاده از فريم را دارا است .

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN"
"http://www.w3.org/TR/REC-html40/frameset.dtd">

در اين بخش به بررسی برخی محدوديت های Html پرداخته تا از اين رهگذر جايگاه استفاده از آن بدرستی تبين گردد.

  • اطلاعات موجود در وب در حريم های اطلاعاتی با نام " صفحات وب " ذخيره می گردنند. اندازه ونوع محتويات اين نوع صفحات کاملا" متغير بوده و نمی بايست در اين راستا يک صفحه وب را با يک صفحه کتاب مقايسه کرد گرچه شباهت های اندکی نيز بين آنها وجود داشته باشد.

  • محتويات يک صفحه وب می تواند : متن گرافيک صدا تصوير انيميشن و ... باشد. گستردگی و تنوع نوع اطلاعاتی که می توان در صفحات وب قرار داد يکی از مهمترين ويژگی های قابل توجه وب از ديدگاه ارائه دهندگان اطلاعات از يکطرف و استفاده کنندگان از اطلاعات از طرف ديگر می باشد.

  • صفحات وب از لحاظ فيزيکی فايل های هستند که توسط نرم افزارهای مربوطه بوجود آمده و دارای انشعاب "htm" و يا "html"" می باشند. برای ايجاد اين نوع صفحات می توان از تمام نرم افزارهائی که بنوعی قادر به ايجاد و ذخيره سازی يک فايل هستند استفاده کرد.( Notepad نمونه ای از اين نوع نرم افزارها است ). امروزه نرم افزارهای کاملا" حرفه ای برای ايجاد و مديريت صفحات وب توسط شرکت های نرم افزاری ايجاد شده است . FrontPage,Hotmetal,... نمونه هائی در اين زمينه می باشند.

  • پس از ايجاد صفحات وب در صورت نياز و استفاده عموم ( داخلی خارجی ) می بايست آنها را بر روی يک سايت ذخيره نمود. يک وب سايت مجموعه ای از صفحات وب را شامل می گردد.

  • ارائه دهندگان اطلاعات پس از آماده سازی صفحات وب و استقرار آنها بر روی يک وب سايت زمينه استفاده از اطلاعات فوق را برای استفاده کنندگان فراهم می نمايند. استفاده کنندگان با استفاده از نرم افزارهائی موسوم به " مرورگر" قادر به دستيابی به يک وب سايت و درخواست اطلاعات مورد نياز خود می باشند.

  • تمام صفحات وب دارای مجموعه دستورالعمل هائی هستند که نحوه نمايش اطلاعات مورد نظر را مشخص خواهد کرد. رايج ترين مجموعه دستورالعمل های نمايش در صفحات وب تگ های Html می باشند.

<< بخش بعدی


پياده سازی نرم افزار

تهيه شده در شرکت سخا روش - 1381
 E-Mail : Info@Srco.ir

شروع

مقدمه
از کجا می بايست شروع کرد؟

مفاهيم برنامه نويسی

پياده سازی نرم افزار
نيازها و انتظارات
چالش های موجود
انواع معماری توليد نرم افزار
نمونه برنامه های سرويس دهنده / سرويس گيرند ه
چالش های برنامه های توزيع شده
مدل پياده سازی نرم افزار بر اساس نوع خدمات
انواع مدل های فيزيکی پياده سازی C/S
جمع بندی

مقدمه ای بر وب

اينترنت و وب
مفاهيم و تعاريف اوليه
جايگاه HTML
انواع صفحات وب
وضعيت فعلی وب و صفحات وب

تعاريف برنامه نويسی تحت وب

تعاريف
ارائه يک مدل همگراء و جامع

لايه رابط کاربر

مفاهيم اوليه
جايگاه مرورگرها
روند تکامل و شکل گيری مرورگرها
معرفی تکنولوژی های مرتبط در لايه
Plug -In
Cookie
API
JavaScript
VBScript
JAVA
DOM
CSS
DHTML
XML
XSL
DTD
Schema
XML-DOM
Xpath

جمع بندی

لايه ارتباطی

مفاهيم
پروتکل TCP/IP
پروتکل HTTP
پروتکل S-HTTP
جمع بندی

لايه ميانی

مفاهيم
معرفی تکنولوژی های مرتبط در لايه
CGI
SSI
PHP
ASP
JSP
ColdFusion
جمع بندی

لايه داده

مفاهيم اوليه
چاش های دستيابی به داده در وب
دستيابی همگن به داده ها
معرفی تکنولوژی های مرتبط
جمع بندی

جمع بندی و راهکارها

معرفی دات نت
معرفی J2EE
روند توسعه نرم افزار های وب در آينده

منابع

معرفی منابع

مفاهيم برنامه نويسی
پياده سازی نرم افزار

Program = Code + Data

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

<< بخش بعدی


وب و اينترنت

تهيه شده در شرکت سخا روش - 1381
E-Mail : Info@Srco.ir

شروع

مقدمه
از کجا می بايست شروع کرد؟

مفاهيم برنامه نويسی

پياده سازی نرم افزار
نيازها و انتظارات
چالش های موجود
انواع معماری توليد نرم افزار
نمونه برنامه های سرويس دهنده / سرويس گيرند ه
چالش های برنامه های توزيع شده
مدل پياده سازی نرم افزار بر اساس نوع خدمات
انواع مدل های فيزيکی پياده سازی C/S
جمع بندی

مقدمه ای بر وب

اينترنت و وب
مفاهيم و تعاريف اوليه
جايگاه HTML
انواع صفحات وب
وضعيت فعلی وب و صفحات وب

تعاريف برنامه نويسی تحت وب

تعاريف
ارائه يک مدل همگراء و جامع

لايه رابط کاربر

مفاهيم اوليه
جايگاه مرورگرها
روند تکامل و شکل گيری مرورگرها
معرفی تکنولوژی های مرتبط در لايه
Plug -In
Cookie
API
JavaScript
VBScript
JAVA
DOM
CSS
DHTML
XML
XSL
DTD
Schema
XML-DOM
Xpath

جمع بندی

لايه ارتباطی

مفاهيم
پروتکل TCP/IP
پروتکل HTTP
پروتکل S-HTTP
جمع بندی

لايه ميانی

مفاهيم
معرفی تکنولوژی های مرتبط در لايه
CGI
SSI
PHP
ASP
JSP
ColdFusion
جمع بندی

لايه داده

مفاهيم اوليه
چاش های دستيابی به داده در وب
دستيابی همگن به داده ها
معرفی تکنولوژی های مرتبط
جمع بندی

جمع بندی و راهکارها

معرفی دات نت
معرفی J2EE
روند توسعه نرم افزار های وب در آينده

منابع

معرفی منابع

مقدمه ای بر وب
اينترنت و وب

معرفي شبكه پهناور جهاني ( World Wide Web )

قبل از بوجود آمدن اينترنت و وب , روياي زاندا مطرح بود. در اين رويا تمامی علوم , مستندات , تصاوير , صوت , ويدئو و … توسط هر فرد كه دارای يكدستگاه كامپيوتر بود در هر زمان و مكان د لخواه , قابل دستيابی بود. زاندا ، رويای" تدنلسون " از يك كامپيوتر خيالی بود . وی دنيائي را كه در آن اطلاعات از طريق ابر متن ها و ابر رسانه ها بصورت يك شبكه تار عنكبوتی بهم متصل و مرتبط مي گرديدند , پيش بيني كرده بود. در اين دنيا اطلاعات بصورت يك كتابخانه جهاني در نظر گرفته مي شوند. دستيابي به اين كتابخانه جهانی و استفاده از آن تاثير شگرفی در جوامع متفاوت بشری را بدنبال داشته و منشا بروز تحولات عظيم در حيات بشری خواهد بود.

نحوه شكل گيري و بوجود آمدن وب

زاندا يك رويا بود ، ولي امروز با واقعيتي بنام وب مواجه هستيم .بکمک وب اطلاعات موجود ، صرفنظر از محل استقرار بهم پيوند خورده و امكان دستيابی به دريائی از اطلاعات برای استفاده كننده فراهم ميگردد. اطلاعات فوق دارای ماهيتی كاملا" پويا مي باشند. اطلاعات موجود در يك دايره المعارف بصورت ايستا مي باشند ولي اطلاعات موجود در وب بصورت پويا بوده و دائما" بهنگام ميشوند. با استفاده از وب ميتوان در سريعترين زمان ممكن به جديدترين اطلاعات دستيابي پيدا كرد.اطلاعات فوق از طريق سايت های متعدد كه هر كدام مي توانند در يك و يا چندين محل مستقر ياشند در اختيار استفاده كننده قرار ميگيرد. وب پتانسيل بالای خود را مديون دو تكنولوژی مدرن : " ابر متن ها"( HyperText) و " ابر رسانه ها " ( HyperMedia) است. در ابر متن ها , اطلاعات مرتبط با استفاده از يك روش مدون بهم پيوند زده ميشوند . با استفاده از ارتباطات تعريف شده بين اطلاعات ، ميتوان با هر روش دلخواه و طي يك مسير خطی و يا غير خطی به اطلاعات مورد نظر دستيابی پيدا كرد. بهر حال زمانيكه مجموعه وسيعي از اطلاعات را با هر روش ممكن ذخيره نمائيم , مي بايست روشهائی را نيز برای بازيابی و دستيابی به آنان تدوين نمود. در مدلهای قديمي جهت حرکت از يك صفحه ( يك حريم اطلاعاتي ) به صفحه ديگر، مي بايست بصورت خطی حركت نمود.( ابتدا صفحه يك و در ادامه صفحه دو و …) در يك ابر متن با استفاده از اطلاعات تعريف شده ميتوان از يك واژه به واژه ديگر پرش و اطلاعات مربوطه را مشاهده نمود.مثلا" در يك دايره المعارف كه بصورت ابر متنی پياده سازي شده است , ميتوان اطلاعاتي را در رابطه با " نيما يوشيج " مشاهده و در همان وضعيت اطلاعاتی را نيز در رابطه با " يوشيج " زادگاه وی مشاهده نمود. در زمان مشاهده اطلاعات در رابطه با "يوشيج " ميتوان اطلاعاتی را در رابطه با استان مازندران نيز دريافت كرد. در گذشته اكثر اطلاعاتی كه از طريق وب دراختيار استفاده كنندگان قرار می گرفت بصورت " متن " ( Text ) بود , ولی امروزه با بكارگيری امكانات چند رسانه ای ( MultiMedia ) نظير صوت , گرافيك , انيميشن و تصوير ميتوان اطلاعات را با اشكال متفاوت بر روی سايت های اطلاعاتي مشاهده نمود. مثلا" ميتوان يك سايت اطلاعاتی از فيلم های ويدئوئی را ايجاد و علاقه مندان به استفاده از سايت ، از طريق وب قادر به دستيابي فيلم مورد علاقه خود خواهند بود.

وب بعنوان بخشي از اينترنت محسوب ميگردد( اينترنت يك شبكه گسترده جهاني از كامپيوترهای بهم مرتبط مي باشد ) . وب يك سيستم مديريت بانك اطلاعاتي سرويس دهنده / سرويس گيرنده بوده كه از يك ساختار و معماري مشخص جهت بازيابي اطلاعات استفاده مي كند. تمامي مرورگرها Browser)) با آگاهي از اين معماری قادر به دستيابی به اطلاعات موجود خواهند بود.مرورگرها , نرم افزارهائی هستند كه پس از نصب و بهره برداری از آنان ميتوان از يك سايت اطلاعاتي به سايت دگر حركت نمود.اولين بار يك برنامه نويس انگليسی بنام " برنرز لی " ايده تركيب ابر رسانه ها را منابع اطلاعاتی اينترنت مطرح نمود. قبل از وب منابع و اقلام اطلاعاتي گوناگونی در اينترنت وجود داشت ولي دستيابي به آنها بسادگي ميسر نبود. در سال 1989 زمانيكه " برنرز لي " بر روي يك پروژه فعاليت مي كرد , مشاهده نمود كه دستيابی به اطلاعات مورد نياز جهت كار همزمان بر روی پروژه برای افراد , عملياتی طاقت فرسا و مشكل است.وی با بهره گيری از تكنولوژی ابر متن ها , شبكه ای از مستندات مورد نياز افراد جهت فعاليت در پروژه های گوناگون را فراهم آورد. در اين حالت ارتباطات متعددی به صفحات مستندات , ايجاد و تمامی جزئيات مربوطه از ديد استفاده كننده مخفی مي ماند.

مستندات وب ، می بايست با يك قالب خاص نوشته شوند , بگونه ای كه ابر متن ها بتوانند با يكديگر كار نمايند. اين قالب خاص HTML HyperText Markup Language) ) ناميده شد. اين زبان بعنوان زير مجموعه زبان ( SGML ( Standard Generalized Markup Language ) محسوب ميگردد. SGMLاستانداردی جهت تعريف فورمت در مستندات متني است.از استاندارد فوق در گذشته اغلب جهت عمليات مربوط به نشر روميزي استفاده مي شد." برنرز . لي " از قابليت های ابرمتن ها براي ايجاد اولين مستندات در وب استفاده نمود.جهت دستيابي به اولين سايت های وب از يك مرورگر خطي وب استفاده مي شد. اين مرورگر محدود به استفاده از صرفا" يك خط از اطلاعات بود. در اين مدل مي بايست از يكي از نرم افزارهاي اينترنت بنام TelNet جهت دستيابي به دو سايت اوليه وب با نامهاي Infacern.ch و يا Nxo01.cern.ch استفاده ميگرديد. اين مرورگر داراي دستوراتی نظير : Start a Search و Follow a Link بود. اكثر اطلاعات موجود در سايت های اوليه ، از امكانات ابر متن ها استفاده نمي كردند و همين امر باعث عدم بكارگيري قابليت های ابرمتن ها در مستندات اوليه و عدم رشد مناسب وب گرديد. مهمترين عامل رشد و فراگير شدن وب در سطح جهان , عرضه مرورگر " موزائيك " به بازار بود.

موزائيك ( تولد نسل جديدي از مرورگرها )

" مارك آندرسون " در سال 1993 پروژه توليد و طراحی نرم افزار موزائيك را هدايت نمود. هدف از طراحی موزائيك ، ارائه راهكاری مناسب برای افرادی بود كه بر روي پروژ ه های متفاوت فعاليت داشته و ملزم به استفاده و دستيابی به اطلاعات مشترك بودند.در ابتدا " آندرسون " از وجود وب هيچگونه اطلاعی نداشت و جهت ارائه راه حل مناسب، تحقيقات گسترده ای توسط وی انجام و در نهايت وی وب را بعنوان يك را ه حل مناسب كشف نمود. پس از شناخت پتانسيل هاي وب توسط " آندرسون " ، ايده طراحي موزائيك بعنوان مرورگر وب توسط وی مطرح گرديد.در آوريل 1993 اولين نسخه موزائيك ( Ver 1.0) براي سيستم X Windowsارائه گرديد.اين برنامه بسرعت در سطح جهان مطرح و باعث اعتبار و شهرت فراوان وب گرديد. بدليل اعتبار و عموميت يافتن موزائيك ، NCSA ( مركز ملي برنامه های فوق محاسباتي ) نسخه های ويندوز و اپل مرورگر فوق را پياده سازی نمود. مركز فوق با توجه به تعريف خاص حوزه فعاليت خود مجبور به فروش امتياز " موزائيك " به چندين شركت از جمله : Mosaic Communication و Quarterdeck spryشد.در سال 1994 " مارك آندرسون " NCSA را ترك و به يك شركت جديدالتاسيس بنام " نت اسكيپ" NetScape) ) پيوست .پس از پيوستن وی به نت اسكيپ , مرورگر جديدی توسط اين شركت طراحي وبا نام Netscape Navigatorبه بازار عرضه گرديد.اين مرورگر انقلابی در زمينه مرورگرها را بوجود آورد و پس از مدت زمان كوتاهی بعنوان پرفروشترين مرورگر در سطح جهان مطرح گرديد.

رشد و توسعه وب

وب با يك سرعت حيرت انگيز در حال رشد و توسعه است.امروزه در اكثر برنامه هاي تلويزيوني و پخش آگهي های تجاری كمترين آگهی را ميتوان مشاهده نمود كه متقاضيان را جهت كسب اطلاعات بيشتر به يك وب سايت هدايت ننمايد. يك وب سايت , سيستمي بر روی اينترنت است كه شامل سرويس دهنده وب ( Web Server) است. اين سرويس دهنده ، نرم افزاری بر روی سايت است كه امكان دستيابي مرورگرهای وب را به مستندات موجود فراهم مي كند.در گذشته بدليل ترافيك بالای مصارف سياسي از اينترنت , زمينه استفاده از آن در بعد تجاری و اقتصادی فراهم نبود.در سال 1991 با پيدايش ايده تبادل اقتصادی اينترنت CIX ( Commerical Internet Exchange ) وضعيت فوق تغيير كرد. CIX توسط ارائه دهندگان سرويسهای اينترنت تحت AlterNet,CERfent,PSInet ارائه گرديد. اين سيستم با موفقيت و استقبال چشمگيری مواجه گرديد.امروزه اغلب توليد كنندگان كالا در سطح جهان اطلاعات مربوط به كالاي خود را بر روی وب و از طريق سايت های شناخته شده ای ارائه ميدهند.متقاضيان كالا در هر نقطه از جهان با مراجعه به سايت مربوط به آن شركت و يا شركت هاي مشابه ميتوانند آگاهانه نسبت به انتخاب كالای مورد علاقه خود اقدام و از طريق وب، فرآيند ثبت سفارش را انجام دهند.برخي ديگر از شركت ها در سطح جهان بالاخص شركت هاي كامپيوتری سرويس های فنی و پشتيبانی خود را به مشتريان از طريق وب انجام ميدهند. مثلا" با مراجعه به سايت ماكروسافت علاوه بر امكان خريد محصول مورد نظرخود ، درصورتيكه در زمينه بكارگيری يكی از محصولات نرم افزاری آن شركت دارای سوالات و ابهاماتی باشيم , با استقرار در بخش فنی و پشتيبانی ميتوان پاسخ و رهنمودهای لازم را دريافت كرد.برخی ديگر از شركت ها بالاخص شركت های انتشاراتی و چاپ مجلات ، روزنامه ها ، اطلاعات خود را( روزنامه ها و مجلات) بر روی شبكه قرارداده و زمينه استفاده و يا خريد را برای متقاضيان فراهم مي نمايند. تمامی متقاضيان جهت خريد کالای مورد نياز خود از طريق وب , مي بايست دارای يكی از انواع متداول كارتهای اعتباری نظير : Credit Card و يا MasterCard باشند.پس از انتخاب كالا از طريق متقاضی و تعيين نحوه پرداخت شماره مربوط به كارت اعتباری می بايست به سيستم داده شود.ثبت و درج شماره كارتهای اعتباري يكی از مسائل مهم در زمينه امنيت در تجارت بر روی اينترنت است. هر فرد م ی بايست اين اطمينان را داشته باشد كه از شماره كارت اعتباری وی استفاده غير قانونی بعمل نمی آيد. به همين دليل وب مجهز به يك سيستم رمزگذاری مطمئن جهت كارت های اعتباری است.

<< بخش بعدی


نيازها و انتظارات

تهيه شده در شرکت سخا روش - 1381
E-Mail : Info@Srco.ir

شروع

مقدمه
از کجا می بايست شروع کرد؟

مفاهيم برنامه نويسی

پياده سازی نرم افزار
نيازها و انتظارات
چالش های موجود
انواع معماری توليد نرم افزار
نمونه برنامه های سرويس دهنده / سرويس گيرند ه
چالش های برنامه های توزيع شده
مدل پياده سازی نرم افزار بر اساس نوع خدمات
انواع مدل های فيزيکی پياده سازی C/S
جمع بندی

مقدمه ای بر وب

اينترنت و وب
مفاهيم و تعاريف اوليه
جايگاه HTML
انواع صفحات وب
وضعيت فعلی وب و صفحات وب

تعاريف برنامه نويسی تحت وب

تعاريف
ارائه يک مدل همگراء و جامع

لايه رابط کاربر

مفاهيم اوليه
جايگاه مرورگرها
روند تکامل و شکل گيری مرورگرها
معرفی تکنولوژی های مرتبط در لايه
Plug -In
Cookie
API
JavaScript
VBScript
JAVA
DOM
CSS
DHTML
XML
XSL
DTD
Schema
XML-DOM
Xpath

جمع بندی

لايه ارتباطی

مفاهيم
پروتکل TCP/IP
پروتکل HTTP
پروتکل S-HTTP
جمع بندی

لايه ميانی

مفاهيم
معرفی تکنولوژی های مرتبط در لايه
CGI
SSI
PHP
ASP
JSP
ColdFusion
جمع بندی

لايه داده

مفاهيم اوليه
چاش های دستيابی به داده در وب
دستيابی همگن به داده ها
معرفی تکنولوژی های مرتبط
جمع بندی

جمع بندی و راهکارها

معرفی دات نت
معرفی J2EE
روند توسعه نرم افزار های وب در آينده

منابع

معرفی منابع

مفاهيم برنامه نويسی
نيازها و انتظارات

بمنظورطراحی و پياده سازی نرم افزار به مجموعه ای از ملزومات نياز خواهد بود.

۱- روشی بمنظور ايجاد ارتباط با کاربر. نرم افزار محصولی است که توسط انسان طراحی و توسط گروهی ديگر مورد استفاده قرار خواهد گرفت. بديهی است که شرط اول در بکارگيری يک نرم افزار، ايجاد ارتباط با آن است . ماداميکه کاربران قادر به ايجاد يک ارتباط مناسب با يک نرم افزار نباشند، زمينه استفاده از پتانسيل های موحود فراهم نخواهد گرديد. بد ين منظور تمامی توليدکنندگان و عرضه کنندگان نرم افزار اهتمام جدی خود را در زمينه طراحی و پياده سازی اين بخش از نرم افزارها که " رابط کاربر " ناميده می شود ، بعمل می آورند. بخش " رابط کاربر" هر نرم افزار يکی از مهمترين عوامل در موفقيت يک محصول نرم افزاری از ديدگاه کاربران است . کاربران با استفاده از بخش فوق قادر به ايجاد ارتباط و انتقال خواسته خود بوده تا از اين طريق زمينه تحقق خواسته مورد نظر در کوتاهترين و سريعترين زمان ممکن ، فراهم گردد. در اين زمينه اگر از کاربری خواسته شود که واژه " کيقيت " در رابطه با يک نرم افزار را تعريف نمايد ، ميدان و محدوده پاسخگوئی به سوال فوق عموما" به امکانات موجود در بخش " رابط کاربر" اشاره خواهد داشت . در صورتيکه کاربر مورد نظر توانسته باشد از طريق بخش " رابط کاربر"، يک ارتباط صحيح و مناسب را بمنظور تامين خواسته های خود برقرار کرده باشد ، قطعا" در مواجهه با سوال فوق ، پاسخی مثبت را ارائه خواهد داد.

۲ - روشی بمنظور تامين اهداف . در بطن واژه نرم افزار همواره يک هد فمندی خاص دنبال می گردد . بر همين اساس است که نرم افزار را می توان بعنوان يک موجوديت نمو( رشد ) کننده نيز در نظر گرفت . برای دستيابی به اهداف مورد نظر می بايست پس از شناسائی و تبين اهداف، اقدام به ارائه راهکارهای لازم بمنظور نيل به آنها نمود. هر نرم افزار برای تامين اهداف خود از مجموعه ای سياست ها و قوانين استفاده می نمايد. بمنظور تحقق اهداف و بالفعل نمودن سياست ها ی مورد نظر در يک نرم افزار ، کدهای لازم نوشته خواهند شد. کدهای فوق مجری سياست ها و رويکردهای يک نرم افزار بمنظور نيل به اهداف خواهند بود.

۳ - روشی بمنظور مديريت داده ها . داده ها در يک برنامه کامپيوتری دارای جايگاه خاصی می باشند. بمنظور توليد فرآورده های اطلاعاتی می بايست در مرحله اول داده های خام به يک نرم افزار تغذيه و در مرحله بعد و پس از پردازش های لازم فرآورده های مورد نظر توليد گردند. بمنظور مديريت داده ها در يک برنامه در ابتدا می بايست با ايجاد ساختارهای لازم اطلاعات مورد نظر ذخيره و در ادامه و با توجه به فرضيات موجود از داده های ذخيره شده ، استفاده عملياتی بعمل خواهد آمد. چرخه استفاده ، توليد و ذخيره سازی اطلاعات مستلزم اعمال يک مديريت قابل قبول در رابطه با داده ها خواهد بود. زمانيکه داده ها از حالت ساده خارج و به اشکال پيچيده تری جلوه می نمايند ، بانک های اطلاعاتی مطرح تا از اين طريق پاسخی شايسته به اين نوع از نيازها باشند. بانک های اطلاعاتی با ارائه ساختارهای لازم ( جداول ) و ايجاد ارتباط بين داده های مورد نظر، زمينه مديريت داده ها را بخوبی فراهم می آورند.

مشاهده تصوير با ابعاد بزرگتر

<< بخش بعدی


تقسيم بندي فيزيکي

تهيه شده در شرکت سخا روش - 1381
E-Mail : Info@Srco.ir

شروع

مقدمه
از کجا می بايست شروع کرد؟

مفاهيم برنامه نويسی

پياده سازی نرم افزار
نيازها و انتظارات
چالش های موجود
انواع معماری توليد نرم افزار
نمونه برنامه های سرويس دهنده / سرويس گيرند ه
چالش های برنامه های توزيع شده
مدل پياده سازی نرم افزار بر اساس نوع خدمات
انواع مدل های فيزيکی پياده سازی C/S
جمع بندی

مقدمه ای بر وب

اينترنت و وب
مفاهيم و تعاريف اوليه
جايگاه HTML
انواع صفحات وب
وضعيت فعلی وب و صفحات وب

تعاريف برنامه نويسی تحت وب

تعاريف
ارائه يک مدل همگراء و جامع

لايه رابط کاربر

مفاهيم اوليه
جايگاه مرورگرها
روند تکامل و شکل گيری مرورگرها
معرفی تکنولوژی های مرتبط در لايه
Plug -In
Cookie
API
JavaScript
VBScript
JAVA
DOM
CSS
DHTML
XML
XSL
DTD
Schema
XML-DOM
Xpath

جمع بندی

لايه ارتباطی

مفاهيم
پروتکل TCP/IP
پروتکل HTTP
پروتکل S-HTTP
جمع بندی

لايه ميانی

مفاهيم
معرفی تکنولوژی های مرتبط در لايه
CGI
SSI
PHP
ASP
JSP
ColdFusion
جمع بندی

لايه داده

مفاهيم اوليه
چاش های دستيابی به داده در وب
دستيابی همگن به داده ها
معرفی تکنولوژی های مرتبط
جمع بندی

جمع بندی و راهکارها

معرفی دات نت
معرفی J2EE
روند توسعه نرم افزار های وب در آينده

منابع

معرفی منابع

مفاهيم برنامه نويسی
انواع مدل های فيزيکی پياده سازی شده در مدل سرويس گيرنده سرويس دهنده

دراين راستا چهار مدل فيزيكی برای پياده سازی نرم افزارهای Three Tire ارائه شده است :

  • Single Server

  • Bussines Server

  • Transaction Server

  • Web Server

Single Server . در اين مدل ، محل استقرار تمامي عناصر بين سرويس گيرنده و سرويس دهنده شبكه تقسيم مي گردد.در مدل فوق تمامی عناصر مربوط به بانك های اطلاعاتی ( Data Services ) بر روی سرويس دهنده قرار مي گيرد . عناصر مربوط به User Service در صورتيكه بگونه ای طراحی شده اند كه ممكن است مورد استفاده چندين نرم افزار ديگر قرار گيرند، ‌مي بايست آنها را بر روی سرويس دهنده شبكه نصب نمود. عناصر مربوط به Business Services كه مسئوليت پياده سازی سياست ها و قوانين را در يك نرم افزار برعهده دارند ،‌ عمدتا" بر روی سرويس دهنده شبكه نصب مي گردنند، مگر اينكه در رابطه با يك نرم افزار، اعمال يك سياست بخصوص را مي بايست در سطح لايه User Services پياده سازی نمود ( بررسی صحت داده های ورودی ، انجام برخی محاسبات خودكار با توجه به رفتار داده ها و … ) در اين حالت عنصر مجری سياست فوق می بايست در لايه User Services و بصورت محل ی و مختص به آن نصب و فعال گردد.

مشاهده تصوير با ابعاد بزرگتر

Bussines Server(Application) . در مدل فوق، يك سرويس دهنده اضافی با نام Application Server ، استفاده مي گردد. سرويس دهنده فوق مسئوليت استقرار تمامی عناصری را كه می بايست به اشتراك گذاشته شوند ، بر عهده خواهد گرفت . در اين راستا در صورتيكه برخی از عناصر مربوط به لايه User Service بوده ولي بصورت مشترك مورد استفاده چندين نرم افزار قرار می گيرند نيز از اين قاعده مستثنی نبوده و بهترين محل برای استقرار آنان ، سرويس دهنده Application است . در مدل فوق تمامی عناصر مربوط به Data service بر روی سرويس دهنده Data قرار خواهند گرفت.ارتباط تمامي سرويس گيرندگان در ابتدا با Application Server آغاز خواهد گشت . سرويس گيرندگان خواسته خود را به لايه Application ارسال و لايه فوق مسئوليت ارتباط با لايه Data را بر عهده خواهد گرفت .

مشاهده تصوير با ابعاد بزرگتر

Transcation Server ، تراکنش ، واحد انجام يك فعاليت بوده كه خود م ی تواند شامل چندين عمليات ديگر باشد . سلسله عمليات فوق می بايست تماما" با موفقيت اجراء گردند. در مدل فوق، سرويس دهنده Transaction مسئوليت مديريت و ذخيره سازی عناصر لازم برای يك فعاليت Transaction را برعهده خواهد گرفت . در اين مدل مي توان از چندين سرويس دهنده ديگر بمنظور استقرار عناصر مربوطه استفاده كرد. استقرار عناصر بر روی سرويس دهند گان ميبايست پويا و در صورت افزايش ترافيك ، امكان جابجائی آنها بر روی ساير سرويس دهندگان وجود داشته باشد.سرويس دهنده Transaction مسئوليت های : نگهداری عناصر ActiveX ، ارسال درخواست يك برنامه به يكي از سرويس دهنده ها ،‌اتمام اجرا ی يك برنامه ، بررسی صحت عملكرد يك عنصر را بر عهده خواهد گرفت .

مشاهده تصوير با ابعاد بزرگتر

Web Server ، در مدل ، فوق يك سرويس دهنده در شبكه اضافه و مسئوليت سرويس های وب را بر عهده خواهد گرفت .سرويس گيرندگان مجهز به نرم افزارهای ارتباطي نظير مرورگرها بوده تا بدين طريق قادر به درخواست صفحات ايستا و پويا از سرويس دهنده وب باشند . برنامه های مبتنی بر وب تمامی تاكيد خود را بر استاندارد نمودن نرم افزارهای مرورگر معطوف مي دارند. چراكه با استاندارد شدن اين نوع از نرم افزارها، تمامي سرويس گيرندگان با يك ابزار واحد استاندارد شده از سرويس دهندگان وب خواسته های خود را مطرح خواهند نمود ، ‌بديهی است در چنين حالتی پاسخگوئی به اين درخواست ها از طرف سرويس دهندگان وب بمراتب ساده تر و با اطمينان خاطر بيشتری صورت مي پذيرد. در سه مدل گفته شده قبلی ، بر اين نكته تاكيد وجود داشت كه می بايست تمامی سياست های راهبردی نرم افزار متمركز شده تا بدين طريق اعمال تغييرات بسادگي صورت پذيرد. در مدل فوق چون سرويس دهنده وب اين پتانسيل را دارا است كه بصورت اتوماتيك عناصری را بر روی كامپيوتر سرويس گيرنده مستقر نمايد ، ضرورت تمركز سياست های راهبردی نرم افزار بر روی سرويس دهنده چندان مهم بنظر نمی آيد. در اين مدل بيشتر سرعت اجرای اين عناصر مورد توجه است . در چنين حالتی اگر يك برنامه مبتنی بر وب بر روی بستر اينترنت اجرا، مي گردد ، مي توان برخی از عناصر را برای سرويس گيرنده ارسال تا بصورت محلی بر روي كامپيوتر وی اجراء شوند.در چنين حالتی سعي می شود كه زمان ارتباط و درخواست از سرويس دهنده به حداقل زمان ممكن كاهش پيدا كند چراكه پهنای باند و ارتباط با سرويس گيرندگان را نمي توان همواره بدون نگرانی تضمين نمود. در صورتيكه برنامه مبتنی بر وب بر روي بستر اينترانت اجراء می گردد ، مي توان بر اساس توان كامپيوترهای سرويس گيرنده و سرويس دهنده و پهنای باند موجود ، برخی از عناصر را بر روی سرويس دهنده و برخی ديگر از عناصر را بر روی سرويس گيرنده اجراء کرد.

مشاهده تصوير با ابعاد بزرگتر

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

<< بخش بعدی


تقسيم بندي بر اساس سرويس

تهيه شده در شرکت سخا روش - 1381
E-Mail : Info@Srco.ir

شروع

مقدمه
از کجا می بايست شروع کرد؟

مفاهيم برنامه نويسی

پياده سازی نرم افزار
نيازها و انتظارات
چالش های موجود
انواع معماری توليد نرم افزار
نمونه برنامه های سرويس دهنده / سرويس گيرند ه
چالش های برنامه های توزيع شده
مدل پياده سازی نرم افزار بر اساس نوع خدمات
انواع مدل های فيزيکی پياده سازی C/S
جمع بندی

مقدمه ای بر وب

اينترنت و وب
مفاهيم و تعاريف اوليه
جايگاه HTML
انواع صفحات وب
وضعيت فعلی وب و صفحات وب

تعاريف برنامه نويسی تحت وب

تعاريف
ارائه يک مدل همگراء و جامع

لايه رابط کاربر

مفاهيم اوليه
جايگاه مرورگرها
روند تکامل و شکل گيری مرورگرها
معرفی تکنولوژی های مرتبط در لايه
Plug -In
Cookie
API
JavaScript
VBScript
JAVA
DOM
CSS
DHTML
XML
XSL
DTD
Schema
XML-DOM
Xpath

جمع بندی

لايه ارتباطی

مفاهيم
پروتکل TCP/IP
پروتکل HTTP
پروتکل S-HTTP
جمع بندی

لايه ميانی

مفاهيم
معرفی تکنولوژی های مرتبط در لايه
CGI
SSI
PHP
ASP
JSP
ColdFusion
جمع بندی

لايه داده

مفاهيم اوليه
چاش های دستيابی به داده در وب
دستيابی همگن به داده ها
معرفی تکنولوژی های مرتبط
جمع بندی

جمع بندی و راهکارها

معرفی دات نت
معرفی J2EE
روند توسعه نرم افزار های وب در آينده

منابع

معرفی منابع

مفاهيم برنامه نويسی
انواع مدل پياده سازی نرم افزار بر اساس نوع خدمات

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

User Sevices

Business Services

Data Services

مشاهده تصوير با ابعاد بزرگتر

در مدل Three Tire ، مسئوليت ارائه هر يك از سرويس های فوق به يك Tire واگذار مي گردد.عناصر موجود و مسئول ارائه سرويس و خدمات در هر Tire ، قادر به ارتباط و درخواست سرويس از عناصر موجود در Tire خود و ساير Tire هاي موجود در بالا و يا پايين خود خواهند بود. نكته بسيار مهم در رابطه با وضعيت فوق اين است كه يك درخواست جهت اخذ سرويس نمي تواند يك Tire را حذف و خود مستقيما؛ با Tire ثانويه ( بعدی) مرتبط و اصطلاحا؛ يك Tire را دور بزند! مثلا" عناصر موجود در لايه User Services نمي توانند مستقيما؛ درخواست خود را براي لايه Data Services ارسال دارند ، البته لايه فوق نيز چنين امكاني را نخواهد داشت . هر يك از سه بخش فوق مسئوليت های خاص را برعهده گرفته و در زمانيكه يك بخش به خدمات يك بخش ديگر نياز داشته باشد ، ‌درخواست خود را برای اخذ سرويس در اختيار بخش مورد نظر قرارداده و بخش فوق سرويس درخواستي را در قالب اجرای يك يا چندين عنصر انجام و ماحصل را در اختيار بخش مربوطه قرار خواهد داد.مدل فوق كه بر اساس همگرائي نوع سرويس ها و خدمات در يك نرم افزار ارائه شده است ، صرفا" يك مدل منطقيی است و نشاندهنده يك مدل فيزيكی نيست .

User services . عناصر موجود در اين لايه ، مسئوليت ارائه اينترفيس تصويری ( ويژوال ) را برعهده خواهند داشت. عناصر موجود در لايه فوق مسئوليت ارتباط با ساير عناصر موجود در لايه خود و لايه Business را برعهده خواهند گرفت .

Business Services . عناصر موجود در لايه User ، قادر به ايجاد ارتباط مستقيم با عناصر لايه داده نخواهند بود .لايه Business مسئوليت عمليات فوق را بر عهده خواهد گرفت . عناصر موجود در اين لايه مسئول ارائه تمامی سياست های راهبردی نرم افزار خواهند بود .( مثلا" بررسی اعتبار يک کارت اعتباری ) . سياست های راهبردی در هر نرم افزار از جمله مواردی می باشند که بالاترين ميزان تغييرات را در مدت زمان حيات يک نرم افزار خواهند داشت . بديهی است با تغيير يک سياست، می بايست تغييرات لازم در نرم افزار اعمال گردد. مثلا" فرض نمائيد در برنامه پرداخت ماليات ميزان جريمه ديرکرد متناسب با سياست های موجود در سازمان مربوطه تغيير نمايد، در چنين مواردی اعمال خواسته جديد، می بايست از طريق تغيير عناصر سرويس دهنده در لايه فوق انجام گيرد.

Data services . عناصر موجود در اين لايه مسئوليت ذخيره و بازيابی داده ها در منابع داده ئی را برعهده خواهند داشت .در لايه فوق بهيچوجه از عناصر Bussiness استفاده نشده و اين عناصر کاملا" از يکديگر متمايز شده اند. يکی از ويژگی های لايه فوق استقلال در دستيابی به داده ها صرفنظر از نوع منابع داده ئی و پلات فورم است .

مدل فوق ( تقسيم بندی بر اساس نوع خدمات ) صرفا" يک مدل منطقی بوده و تصوير فيزيکی از آنچه مورد نظر است را ترسيم نخواهد کرد . در اين راستا ما بدنبال يک تصوير فيزيکی بوده که با اتکاء به آن بتوان عمليات مربوط به طراحی و پياده سازی نرم افزار را آغاز و به سرانجام مطلوب رساند.

مشاهده تصوير با ابعاد بزرگتر

<< بخش بعدی


از كجا می بايست شروع كرد؟

تهيه شده در شرکت سخا روش - 1381
E-Mail : Info@Srco.ir

شروع

مقدمه
از کجا می بايست شروع کرد؟

مفاهيم برنامه نويسی

پياده سازی نرم افزار
نيازها و انتظارات
چالش های موجود
انواع معماری توليد نرم افزار
نمونه برنامه های سرويس دهنده / سرويس گيرند ه
چالش های برنامه های توزيع شده
مدل پياده سازی نرم افزار بر اساس نوع خدمات
انواع مدل های فيزيکی پياده سازی C/S
جمع بندی

مقدمه ای بر وب

اينترنت و وب
مفاهيم و تعاريف اوليه
جايگاه HTML
انواع صفحات وب
وضعيت فعلی وب و صفحات وب

تعاريف برنامه نويسی تحت وب

تعاريف
ارائه يک مدل همگراء و جامع

لايه رابط کاربر

مفاهيم اوليه
جايگاه مرورگرها
روند تکامل و شکل گيری مرورگرها
معرفی تکنولوژی های مرتبط در لايه
Plug -In
Cookie
API
JavaScript
VBScript
JAVA
DOM
CSS
DHTML
XML
XSL
DTD
Schema
XML-DOM
Xpath

جمع بندی

لايه ارتباطی

مفاهيم
پروتکل TCP/IP
پروتکل HTTP
پروتکل S-HTTP
جمع بندی

لايه ميانی

مفاهيم
معرفی تکنولوژی های مرتبط در لايه
CGI
SSI
PHP
ASP
JSP
ColdFusion
جمع بندی

لايه داده

مفاهيم اوليه
چاش های دستيابی به داده در وب
دستيابی همگن به داده ها
معرفی تکنولوژی های مرتبط
جمع بندی

جمع بندی و راهکارها

معرفی دات نت
معرفی J2EE
روند توسعه نرم افزار های وب در آينده

منابع

معرفی منابع

شروع
از کجا می بايست شروع کرد؟

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

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

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

<< بخش بعدی


تعاريف متفاوت برنامه نويیسي وب

تهيه شده در شرکت سخا روش - 1381
E-Mail : Info@Srco.ir

شروع
مقدمه
از کجا می بايست شروع کرد؟

مفاهيم برنامه نويسی
پياده سازی نرم افزار
نيازها و انتظارات
چالش های موجود
انواع معماری توليد نرم افزار
نمونه برنامه های سرويس دهنده / سرويس گيرند ه
چالش های برنامه های توزيع شده
مدل پياده سازی نرم افزار بر اساس نوع خدمات
انواع مدل های فيزيکی پياده سازی C/S
جمع بندی

مقدمه ای بر وب
اينترنت و وب
مفاهيم و تعاريف اوليه
جايگاه HTML
انواع صفحات وب
وضعيت فعلی وب و صفحات وب

تعاريف برنامه نويسی تحت وب
تعاريف
ارائه يک مدل همگراء و جامع

لايه رابط کاربر
مفاهيم اوليه
جايگاه مرورگرها
روند تکامل و شکل گيری مرورگرها
معرفی تکنولوژی های مرتبط در لايه
Plug -In
Cookie
API
JavaScript
VBScript
JAVA
DOM
CSS
DHTML
XML
XSL
DTD
Schema
XML-DOM
Xpath

جمع بندی

لايه ارتباطی
مفاهيم
پروتکل TCP/IP
پروتکل HTTP
پروتکل S-HTTP
جمع بندی

لايه ميانی
مفاهيم
معرفی تکنولوژی های مرتبط در لايه
CGI
SSI
PHP
ASP
JSP
ColdFusion
جمع بندی

لايه داده
مفاهيم اوليه
چاش های دستيابی به داده در وب
دستيابی همگن به داده ها
معرفی تکنولوژی های مرتبط
جمع بندی

جمع بندی و راهکارها
معرفی دات نت
معرفی J2EE
روند توسعه نرم افزار های وب در آينده

منابع
معرفی منابع

تعاريف برنامه نويسی تحت وب
تعاريف

برای مشخص نمودن برنامه هائی با قابليت اجراء بر روی وب، از واژه های متعددی استفاده می گردد : Web-enabled ، Web-based و Web application نمونه هائی در اين زمينه می باشند. واژه های Web-Based و Web-enabled در برخی موارد بجای يکديگر استفاده شده تا برنامه های نوشته شده برای اجراء بر روی وب ، شبکه های مبتنی بر اينترنت نظير اينترانت ها را تشريح و مشخص نمايند. به هر يک از برنامه های فوق ، می توان از طريق يک مرورگر دستيابی پيدا کرد. اين نوع برنامه ها در موارد متعددی با يکديگر متفاوت می باشند. طراحی برنامه های Web-Based ( مبتنی بر وب ) ، بگونه ای است که قابليت اجراء بر روی اينترنت و وب را داشته باشند، در مقابل برنامه های Web-enabled ، دارای يک اينترفيس مبتی بر وب بمنظور استفاده از قابليت های نرم افرارهای موجود ( نرم افزارهای سنتی ) می باشند. نرم افزارهای فوق قبل از مطرح شدن وب ايجاد شده و با طراحی يک اينترفيس مبتنی بر وب می توان از امکانات آنها در صفحات وب نيز استفاده نمود. مثلا" می توان با طراحی يک فرم لازم ، اطلاعاتی را از کاربران اخذ و با مراجعه به بانک های اطلاعاتی موجود ، اطلاعات مورد نظر را استخراج و نتايج را با يک فرمت مناسب برای مرورگر ارسال کرد. بهرحال برنامه های مبتنی بر وب ، از آغاز با رويکرد وب ، طراحی و پياده سازی شده در صورتيکه برنامه های Web-enabled ، از نرم افزارهای موجود بکمک يک اينترفيس مبتی بر وب استفاده می نمايند.

برنامه های Web-Based ، دارای امکانات و قابليت های متعددی بوده که بمنظور استفاده در وب طراحی و پياده سازی شده اند. برنامه های Web-enabled ، دارای يک Gateway مجزا تحت وب بوده که امکان ارتباط با نرم افزارهای قديمی را فراهم می آورد. Gateway موجود امکان استفاده از تمام قابليت های نرم افزارهای وجود را فراهم نخواهد کرد و صرفا" پاسخگو به بخش محدودی از انتظارات خواهند بود. بديهی است بخش هائی از نرم افزارهای موجود ( سنتی ) می بايست با رويکرد وب بازنويسی شده تا امکان ارتباط آنان با Gateway فراهم گردد.

برنامه های موجود بر روی برخی از سايت ها نظير : خريد کالا ، کتاب ، رزو بليط هواپيما ، ارسال و دريافت نامه الکترونيکی ( نظير hotmail ) نمونه هائی از برنامه های مبتنی بر وب می باشند. در ادامه با برخی تعاريف برنامه های تحت وب آشنا می شويم:

● يک وب سايت که قادر به انجام عملياتی خاص نظير فروش کالا است .

● برنامه ای که بر روی وب اجراء می گردد.

● برنامه ای که بر روی يک سرويس دهنده وب در شبکه اجراء و امکان سرويس دهی به چندين کاربر در هر لحظه را دارا است .

● يک برنامه نرم افزاری که از پروتکل Http بعنوان هسته پروتکل ارتباطی خود بمنظور توزيع و ارائه اطلاعات مبتنی بر وب و با فرمت Html استفاده و آنان را برای کاربران ارسال خواهد کرد.

● يک برنامه مبتنی بر وب دارای لايه های زير است :

▪ يک لايه نازک سرويس دهنده ( مرورگرهای وب )

▪ يک لايه نمايش و ارائه ( سرويس دهندگان وب )

▪ يک لايه Application ( سرويس دهنده Application)

▪ يک لايه بانک اطلاعاتی

● شرکت ماکروسافت ( حالت اوليه )

مشاهده تصوير با ابعاد بزرگتر

● شرکت سان ( حالت اوليه )

مشاهده تصوير با ابعاد بزرگتر

<< بخش بعدی


مدل عمومي برنامه هاي وب

تهيه شده در شرکت سخا روش - 1381
E-Mail : Info@Srco.ir

شروع
مقدمه
از کجا می بايست شروع کرد؟

مفاهيم برنامه نويسی
پياده سازی نرم افزار
نيازها و انتظارات
چالش های موجود
انواع معماری توليد نرم افزار
نمونه برنامه های سرويس دهنده / سرويس گيرند ه
چالش های برنامه های توزيع شده
مدل پياده سازی نرم افزار بر اساس نوع خدمات
انواع مدل های فيزيکی پياده سازی C/S
جمع بندی

مقدمه ای بر وب
اينترنت و وب
مفاهيم و تعاريف اوليه
جايگاه HTML
انواع صفحات وب
وضعيت فعلی وب و صفحات وب

تعاريف برنامه نويسی تحت وب
تعاريف
ارائه يک مدل همگراء و جامع

لايه رابط کاربر
مفاهيم اوليه
جايگاه مرورگرها
روند تکامل و شکل گيری مرورگرها
معرفی تکنولوژی های مرتبط در لايه
Plug -In
Cookie
API
JavaScript
VBScript
JAVA
DOM
CSS
DHTML
XML
XSL
DTD
Schema
XML-DOM
Xpath

جمع بندی

لايه ارتباطی
مفاهيم
پروتکل TCP/IP
پروتکل HTTP
پروتکل S-HTTP
جمع بندی

لايه ميانی
مفاهيم
معرفی تکنولوژی های مرتبط در لايه
CGI
SSI
PHP
ASP
JSP
ColdFusion
جمع بندی

لايه داده
مفاهيم اوليه
چاش های دستيابی به داده در وب
دستيابی همگن به داده ها
معرفی تکنولوژی های مرتبط
جمع بندی

جمع بندی و راهکارها
معرفی دات نت
معرفی J2EE
روند توسعه نرم افزار های وب در آينده

منابع
معرفی منابع

تعاريف برنامه نويسی تحت وب
ارائه يک مدل همگرا و جامع

برای پياده سازی برنامه های تحت وب از تکنولوژی های متعدد و متفاوتی استفاده می گردد. بمنظور طراحی و پياده سازی برنامه های مبتنی بر وب صرفا" يک روش وجود نداشته و می توان از روش های متعدد که هر يک برخاسته از تکنولوژی های متعددی می باشند ، به هدف خود دست پيدا کرد. برخی از تکنولوژی های ارائه شده متعلق به شرکت های متعدد کامپيوتری بوده که در حالاتی ممکن است دارای عملکردهای مشابه باشند. کنسرسيوم وب مسئوليت استاندار نمودن تکنولوژی های مرتبط در اين زمينه را برعهده دارد. پس از استاندارد نمودن هر يک از تکنولوژی های موجود ، تمام توليدکنندگان نرم افزار و سخت افزار سعی در رعايت موارد استاندارد شده کرده تا بدين طريق مخاطبان بيشتری را جذب و زمينه استفاده وسيع تر و گسترده از تکنولوژی های فوق ، فراهم گردد.

عملکرد اکثر برنامه های تحت وب در موارد بسياری مشابه يکديگر است :

  • ارائه يک بخش رابط کاربر بمنظور ارتباط با کاربران : دريافت خواسته ها و يا نمايش نتايج

  • دريافت و ارسال درخواست کاربران ( از سرويس گيرنده بسمت سرويس دهنده )

  • انجام پردازش لازم ( مبتنی بر سرويس دهنده )

  • دستيابی به منابع داده ئی ( بانک های اطلاعاتی ) و انجام پردازش های لازم

  • ارسال نتايج بدستت آمده از پردازش های انجام شده برای سرويس گيرنده

  • انجام پردازش های لازم ( مبتنی بر سرويس گيرنده )

شکل زير نحوه انجام عمليات فوق را نشان می دهد :

مشاهده تصوير با ابعاد بزرگتر

در اين بخش ، هدف ارائه يک مدل عملياتی برای پياده سازی برنامه های مبتنی بر وب می باشد. مدل پيشنهادی ، مستقل از نوع تکنولوژی ، ارائه شده است . در اين مدل صرفنظر از نوع تکنولوژی استفاده شده ، می توان تمامی عملياتی را که يک برنامه مبتنی بر وب انجام می دهد را در چهار لايه متفاوت تبين و تعريف کرد.

  • لايه رابط کاربر

  • لايه ارتباطی

  • لايه ميانی

  • لايه داده

مشاهده تصوير با ابعاد بزرگتر

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

آشنائی با عملکرد هر لايه و شناخت تکنولوژی های موجود ، زمينه شناخت اصولی ، منطقی و سيستماتيک برنامه های مبتنی بر وب را بوجود خواهد آورد. دامنه استفاده از برخی تکنولوژی ها صرفا" در حد و اندازه يک لايه بوده و برخی ديگر از تکنولوژی ها دارای عماکردی فرا لايه ای بوده و ممکن است در چندين لايه استفاده گردند.

<< بخش بعدی


اصول برنامه نويسی تحت وب

تهيه شده در شرکت سخا روش - 1381
E-Mail : Info@Srco.ir

شروع

مقدمه
از کجا می بايست شروع کرد؟

مفاهيم برنامه نويسی

پياده سازی نرم افزار
نيازها و انتظارات
چالش های موجود
انواع معماری توليد نرم افزار
نمونه برنامه های سرويس دهنده / سرويس گيرند ه
چالش های برنامه های توزيع شده
مدل پياده سازی نرم افزار بر اساس نوع خدمات
انواع مدل های فيزيکی پياده سازی C/S
جمع بندی

مقدمه ای بر وب

اينترنت و وب
مفاهيم و تعاريف اوليه
جايگاه HTML
انواع صفحات وب
وضعيت فعلی وب و صفحات وب

تعاريف برنامه نويسی تحت وب

تعاريف
ارائه يک مدل همگراء و جامع

لايه رابط کاربر

مفاهيم اوليه
جايگاه مرورگرها
روند تکامل و شکل گيری مرورگرها
معرفی تکنولوژی های مرتبط در لايه
Plug -In
Cookie
API
JavaScript
VBScript
JAVA
DOM
CSS
DHTML
XML
XSL
DTD
Schema
XML-DOM
Xpath

جمع بندی

لايه ارتباطی

مفاهيم
پروتکل TCP/IP
پروتکل HTTP
پروتکل S-HTTP
جمع بندی

لايه ميانی

مفاهيم
معرفی تکنولوژی های مرتبط در لايه
CGI
SSI
PHP
ASP
JSP
ColdFusion
جمع بندی

لايه داده

مفاهيم اوليه
چاش های دستيابی به داده در وب
دستيابی همگن به داده ها
معرفی تکنولوژی های مرتبط
جمع بندی

جمع بندی و راهکارها

معرفی دات نت
معرفی J2EE
روند توسعه نرم افزار های وب در آينده

منابع

معرفی منابع

مقدمه ای بر وب
مفاهيم و تعاريف اوليه

اينترنت شبکه ای از شبکه های مرتبط به يکديگر بوده که بر روی آن سرويس های متعددی بمنظور ارائه خدمات فعال می باشند. بدون شک سرويس وب يکی از مهمترين سرويس های موجود بر روی اينترنت است که بيشترين تاثير را در عموميت يافتن اينترنت در سطح جوامع بشری برعهده داشته است. وب در نگاه اول مانند يک سيستم اطلاعاتی توزيع شده است . در سيستم فوق اطلاعات ( با اشکال متفاوت ) بر اساس استانداردهای مربوطه و با يک ساختار مشخص قرار گرفته و با استفاده از ارتباطات تعريف شده بين اطلاعات می توان بسرعت و بسادگی از اطلاعات موجود استفاده کرد. ارائه دهندگان اطلاعات با پيروی از اصول موجود اطلاعات خود را در سيستم فوق قرار داده و جستجو کنندگان اطلاعات با استفاده از ابزارهائی خاص قادر به جستجو و دستيابی به اين اطلاعات خواهند شد. وب در سال 1991 توسط " تيم - برنرز لی " ابداع گرديد.

مشاهده تصوير با ابعاد بزرگتر

در اين بخش به بررسی برخی اصول و تعاريف اوليه در رابطه با وب خواهيم پرداخت .

  • اطلاعات موجود در وب در حريم های اطلاعاتی با نام " صفحات وب " ذخيره می گردنند. اندازه ونوع محتويات اين نوع صفحات کاملا" متغير بوده و نمی بايست در اين راستا يک صفحه وب را با يک صفحه کتاب مقايسه کرد گرچه شباهت های اندکی نيز بين آنها وجود داشته باشد.

  • محتويات يک صفحه وب می تواند : متن گرافيک صدا تصوير انيميشن و ... باشد. گستردگی و تنوع نوع اطلاعاتی که می توان در صفحات وب قرار داد يکی از مهمترين ويژگی های قابل توجه وب از ديدگاه ارائه دهندگان اطلاعات از يکطرف و استفاده کنندگان از اطلاعات از طرف ديگر می باشد.

  • صفحات وب از لحاظ فيزيکی فايل های هستند که توسط نرم افزارهای مربوطه بوجود آمده و دارای انشعاب "htm" و يا "html"" می باشند. برای ايجاد اين نوع صفحات می توان از تمام نرم افزارهائی که بنوعی قادر به ايجاد و ذخيره سازی يک فايل هستند استفاده کرد.( Notepad نمونه ای از اين نوع نرم افزارها است ). امروزه نرم افزارهای کاملا" حرفه ای برای ايجاد و مديريت صفحات وب توسط شرکت های نرم افزاری ايجاد شده است . FrontPage,Hotmetal,... نمونه هائی در اين زمينه می باشند.

  • پس از ايجاد صفحات وب در صورت نياز و استفاده عموم ( داخلی ، خارجی ) می بايست آنها را بر روی يک سايت ذخيره نمود. يک وب سايت مجموعه ای از صفحات وب را شامل می گردد.

  • ارائه دهندگان اطلاعات پس از آماده سازی صفحات وب و استقرار آنها بر روی يک وب سايت زمينه استفاده از اطلاعات فوق را برای استفاده کنندگان فراهم می نمايند. استفاده کنندگان با استفاده از نرم افزارهائی موسوم به " مرورگر" قادر به دستيابی به يک وب سايت و درخواست اطلاعات مورد نياز خود می باشند.

  • تمام صفحات وب دارای مجموعه دستورالعمل هائی هستند که نحوه نمايش اطلاعات مورد نظر را مشخص خواهد کرد. رايج ترين مجموعه دستورالعمل های نمايش در صفحات وب تگ های Html می باشند.

<< بخش بعدی


مرورگرهاي وب

تهيه شده در شرکت سخا روش - 1381
E-Mail : Info@Srco.ir

شروع
مقدمه
از کجا می بايست شروع کرد؟

مفاهيم برنامه نويسی
پياده سازی نرم افزار
نيازها و انتظارات
چالش های موجود
انواع معماری توليد نرم افزار
نمونه برنامه های سرويس دهنده / سرويس گيرند ه
چالش های برنامه های توزيع شده
مدل پياده سازی نرم افزار بر اساس نوع خدمات
انواع مدل های فيزيکی پياده سازی C/S
جمع بندی

مقدمه ای بر وب
اينترنت و وب
مفاهيم و تعاريف اوليه
جايگاه HTML
انواع صفحات وب
وضعيت فعلی وب و صفحات وب

تعاريف برنامه نويسی تحت وب
تعاريف
ارائه يک مدل همگراء و جامع

لايه رابط کاربر
مفاهيم اوليه
جايگاه مرورگرها
روند تکامل و شکل گيری مرورگرها
معرفی تکنولوژی های مرتبط در لايه
Plug -In
Cookie
API
JavaScript
VBScript
JAVA
DOM
CSS
DHTML
XML
XSL
DTD
Schema
XML-DOM
Xpath

جمع بندی

لايه ارتباطی
مفاهيم
پروتکل TCP/IP
پروتکل HTTP
پروتکل S-HTTP
جمع بندی

لايه ميانی
مفاهيم
معرفی تکنولوژی های مرتبط در لايه
CGI
SSI
PHP
ASP
JSP
ColdFusion
جمع بندی

لايه داده
مفاهيم اوليه
چاش های دستيابی به داده در وب
دستيابی همگن به داده ها
معرفی تکنولوژی های مرتبط
جمع بندی

جمع بندی و راهکارها
معرفی دات نت
معرفی J2EE
روند توسعه نرم افزار های وب در آينده

منابع
معرفی منابع

لايه رابط کاربر
جايگاه مرورگرهای وب

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

تعاريف متفاوت مرورگرهای وب :

  • مرورگر وب ، برنامه ای است که اطلاعات درخواست شده توسط کاربران اينترنت به اطلاع سرويس دهندگان وب رسانده و پس از اخذ اطلاعات ، آنها را با يک فرمت تعريف شده بر روی صفحات نمايشگر کامپيوترهای کاربران ، نمايش خواهند داد.

  • يک مرورگر وب ، برنامه ای است که به متقاضی صفحات وب ، امکان مشاهده صفحات و خواندن اطلاعات موجود را خواهد داد. برنامه های Internet Explorer)IE) و Netscape Navigator نمونه هائی متداول در اين زمينه می باشند.

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

  • مرورگرهای وب ، برنامه هائی می باشند که با استفاده از آنان امکان مشاهده صفحات وب ، اخذ فايل و ساير عمليات مورد نياز کاربران در زمان استفاده از اينترنت فراهم خواهد شد.

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

  • مرورگرهای وب علاوه بر امکان تفسير تگ های Html بمنظور تبين نحوه نمايش ، دارای عناصر لازم بمنظور تفسير اسکريپت های نوشته شده با يکی از زبانهای اسکريپت نيز می باشند. جاوا اسکريپت و VBscript دو نمونه متداول از زبانهای اسکريپت بوده که در اکثر صفحات پويا دارای حضوری فعال می باشند.

  • نگرش کاربران معمولی و برنامه نويسان وب به مرورگرهای وب کاملا" متمايز بوده و هر يک با توجه نوع خواسته و انتظار خود از پتانسيل های موجود ، استفاده خواهند کرد.

مرورگر InterNet Explorer

مشاهده تصوير با ابعاد بزرگتر

مرورگر Netscape Communicator

مشاهده تصوير با ابعاد بزرگتر

<< بخش بعدی


وضعيت فعلی وب و صفحات وب

تهيه شده در شرکت سخا روش - 1381
E-Mail : Info@Srco.ir

شروع
مقدمه
از کجا می بايست شروع کرد؟

مفاهيم برنامه نويسی
پياده سازی نرم افزار
نيازها و انتظارات
چالش های موجود
انواع معماری توليد نرم افزار
نمونه برنامه های سرويس دهنده / سرويس گيرند ه
چالش های برنامه های توزيع شده
مدل پياده سازی نرم افزار بر اساس نوع خدمات
انواع مدل های فيزيکی پياده سازی C/S
جمع بندی

مقدمه ای بر وب
اينترنت و وب
مفاهيم و تعاريف اوليه
جايگاه HTML
انواع صفحات وب
وضعيت فعلی وب و صفحات وب

تعاريف برنامه نويسی تحت وب
تعاريف
ارائه يک مدل همگراء و جامع

لايه رابط کاربر
مفاهيم اوليه
جايگاه مرورگرها
روند تکامل و شکل گيری مرورگرها
معرفی تکنولوژی های مرتبط در لايه
Plug -In
Cookie
API
JavaScript
VBScript
JAVA
DOM
CSS
DHTML
XML
XSL
DTD
Schema
XML-DOM
Xpath

جمع بندی

لايه ارتباطی
مفاهيم
پروتکل TCP/IP
پروتکل HTTP
پروتکل S-HTTP
جمع بندی

لايه ميانی
مفاهيم
معرفی تکنولوژی های مرتبط در لايه
CGI
SSI
PHP
ASP
JSP
ColdFusion
جمع بندی

لايه داده
مفاهيم اوليه
چاش های دستيابی به داده در وب
دستيابی همگن به داده ها
معرفی تکنولوژی های مرتبط
جمع بندی

جمع بندی و راهکارها
معرفی دات نت
معرفی J2EE
روند توسعه نرم افزار های وب در آينده

منابع
معرفی منابع

مقدمه ای بر وب
وضعيت فعلی وب و صفحات وب

امروزه بيش از پانصد ميليون نفر در سراسر دنيا از اينترنت استفاده می نمايند. تعداد صفحات وب موجود در اينترنت از مرز چهار ميليارد گذشته و همچنان اين روند با سرعتی باورنکردنی رو به افزايش است . حجم مبادلات تجاری بر روی اينترنت ، از مرز نيم تريليون دلار گذشته و افق جديدی را برای تمامی بنگاه های تجاری در سرتاسر دنيا ايجاد نموده است . رشد و گسترش اينترنت در تمامی عرصه ها ، تعجب اکثر کارشناسان و متخصصين را باعث شده است . به اعتقاد اغلب کارشناسان هنوز در ميانه راه بوده و يک انقلاب ديجيتالی کامل و بسيار فراگير را در آينده شاهد خواهيم بود.

وضعيت فعلی اينترنت در اغلب موارد، مشابه وضعيت مدل سيستم های بزرگ (Mainfarame) در گذشته است . در قياس فوق ، مرورگرهای وب بمنزله ترمينال های سيستم های بزرگ بوده و دقيقا" در همان راستا ايفای وظيفه می نمايند. تمام اطلاعات موجود بر روی اينترنت در حال حاضر در بانک های اطلاعاتی متمرکز شده ای ، ذخيره شده است . کاربران در هر لحظه قادر به دريافت يک صفحه وب از يک وب سايت می باشند. صفحات وب ، صرفا" تصويری از داده های مورد نياز کاربران بوده و داده های واقعی و اساسی را شامل نمی گردند . ( شامل خود داده ها نمی باشند ). اطلاعات موجود در صفحات وب را می توان دريافت کرد، ولی امکان ويرايش ، تفسير های جانبی و يا ساير عمليات مربوط به سفارشی نمودن داده ها، امری بسيار مشکل و در برخی حالات غيرممکن است . در صورتيکه برخی کاربران قصد استخراج و جمع آوری اطلاعات از چندين وب سايت را داشته باشند ، می بايست در نهايت اطلاعات مورد نياز را از صفحات وب متفاوت انتخاب و آنها را در يک فايل ديگر که با يک اديتور خاص نظير notepad ايجاد شده است ، قرار دهند. فرآيند فوق بصورت کاملا" دستی توسط کاربران انجام شده و عملا" يک حرکت سيستماتيک در اين راستا انجام نمی گيرد. "تيم برنرز لی " ، مبتکر وب ، در زمان ايجاد وب بر خاصيت " محيط محاوره ای " آن تاکيد فراوان داشت . وضعيت اشاره شده در رابطه با استحراج و جمع آوری اطلاعات مورد نياز از وب سايت های متعدد، با ايده مطرح شده فوق فاصله زيادی دارد.

بمنظور گذر از وضعيت فعلی وب و ارتقاء آن به محيطی که صرفا" نمايش دهنده اطلاعات ايستا نباشد ، لازم است نسل جديدی از اينترنت که پاسخگوی نياز ها و انتظارات فعلی و مشکلات موجود باشد، بوجود آيد. وب سايت های موجود مشابه جزاير اطلاعاتی بوده که گرچه در هر يک از جزاير فوق ممکن است اطلاعاتی بصورت پويا نيز ايجاد گردد، ولی هيچگونه تعامل اطلاعاتی بين جزاير فوق وجود ندارد. تنها تعامل ارتباطی با جزاير فوق توسط کاربران آن سايت ايجاد می گردد. در اين راستا لازم است ، کامپيوترها ، دستگاههای هوشمند ، سرويس های مبتنی بر وب در يک همياری و همکاری تعريف شده ، زمينه ارتباط و تعامل اطلاعاتی بين هر يک از جزاير اطلاعاتی را فراهم نمايند. در نسل قبلی اينترنت تمام تلاش در جهت بهبود نحوه ارتباط کاربران با هر يک از جزاير اطلاعاتی صرف گرديد ، در صورتيکه در نسل جديد اينترنت لازم است ، تعامل اطلاعاتی بين جزاير اطلاعاتی بوجود آيد و فصل جديدی با نام " گفتمان برنامه های " موجود در هر يک از جزاير اطلاعاتی را شاهد باشيم ، با حرکت بسمت مدل فوق ، جزاير اطلاعاتی ايزوله شده از حالت محدود خود خارج شده و بين جزاير فوق ، پل های متفاوت اطلاعاتی ايجاد و عملا" با تحولی شگرف مواجه خواهيم شد. اغلب سرويس ها و امکانات ارائه شده به کاربران تاکنون از طريق همين جزاير اطلاعاتی ايزوله شده قرار می گرفت ، در صورت ارتباط اطلاعاتی و تعريف شده بين جزاير اطلاعاتی ، دستاوردهای بمراتب گسترده تری نسبت به وضعيت فعلی را بدنبال خواهد داشت .

XML)Extensible Markup Language) ، هسته اساسی گذر از مرحله فعلی اينترنت و قدم گذاشتن در نسل جديد اينترنت است . XML ، يک استاندارد صنعتی ارائه شده توسط کنسرسيوم وب است که توسط اکثر شرکت های عظيم کامپيوتری در سطح دنيا پذيرفته شده و بعنوان محور توسعه در نسل جديد اينترنت مورد توجه و اهتمام جدی است. با استفاده از XML ، بين نحوه نمايش اطلاعات و خود اطلاعات ، يک تمايز و تفکيک ايجاد می گردد. XML در موارد متعدد ، دارای عملکردی مشابه HTML است . در HTML با استفاده از تگ های موجود ، نحوه نمايش اطلاعات در صفحات وب تعريف می گردد. در XML با استفاده از تگ های مورد نظر ، ساختار مناسبی برای اطلاعات تعريف و امکان ارسال و استفاده از داده ها برای سرويس های دريافت کننده فراهم خواهد شد. XML ، امکان سازماندهی ، برنامه نويسی ، ويرايش و مبادله اطلاعات با ساير سايت ها ، برنامه و دستگاهها را فراهم می آورد. بدين ترتيب هر يک از صفحات وب دارای يک بانک اطلاعاتی کوچک شده ( اطلاعات مبتنی بر ساختارهای XML) که براحتی می توان با توجه به ساختار تعريف شده برای داده های موجود ، از قابليت های برنامه نويسی در جهت نيل به خواسته های مربوطه استفاده نمود. يک برنامه کامپيوتری با آگاهی از ساختار داده های ذخيره شده ( ساختمان داده ) قادر به انجام عمليات متفاوت و گوناگونی خواهد شد. مثلا" با دريافت اطلاعات مربوط به قيمت سهام از وب سايت مربوطه ، می توان بر روی سايت خود انواع تحليل های پويا و گزارشات مورد نظر را پس از انجام پردازش های لازم ، ارائه داد. پردازش های انجام شده در يک وب سايت بر روی داده ها( داده ها با استفاده از يک ساختار مناسب مبتنی بر XML تعريف می گردند ) ممکن است با پردازش های انجام شده در وب سايت ديگر متفاوت باشد. در اين راستا در ابتدا اطلاعات با استفاده از فايل های XML دريافت و پس از انجام پردازش های لازم و دلخواه، با فورمت مورد نظر ( نه تحميلی ) در اختيار کاربران سايت قرار داده خواهد شد. XML در سناريوی فوق بمنزله پل ه اطلاعاتی بوده که اطلاعات را بر اساس ساختار تعريف شده در اختيار ساير سايت ها ( نمايندگان نرم افزاری مربوطه) قرار خواهد داد.

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

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

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

بهرحال وضعيت اينترنت و وب بسرعت در حال تغيير است . برنامه های تحت وب دارای مسئوليتی بمراتب بيشتر نسبت به گذشته با توجه به سطح انتظارات و خواسته ها خواهند بود. تکنولوژی های متعدد در اين زمينه تدوين ، طراحی و عرضه شده است . XML ستاره ای بی فروغ در بين تمام تکنولوژی های ارائه شده بوده که بعنوان شاه کليد طلائی در اين زمينه ايفای وظيفه می نمايد. وب سايت های مبتنی بر HTML ، در آينده ای نه چندان دور به سايت های مبتنی بر XML تبديل تا بتوانند در بين ميليون ها وب سايت موجود ، زبانی برای گفتن و گوشی برای شنيدن، داشته باشند. بدين ترتيب وب سايت ها از حالت ايزوله و محدود و محصور در يک حصار فيزيکی و منطقی خارج و زمينه ارتباط اطلاعاتی بين آنها فراهم خواهد شد. کاربران اينترنت در اين راستا بالاترين بهره را خواهند برد. آنان فقط خواسته خود را مطرح و با تمهيدات انجام شده ، در سريعترين زمان ممکن ، منطقی ترين و مبسوط ترين پاسخ به آنها ارائه خواهد شد. ، پاسخی که برای بدست آوردن آن، وب سايت های متعدد در تعامل اطلاعاتی با يکديگر قرار گرفته تا بتوانند سطح جديدی از انتظارات و خواسته ها را تحقق نمايند. نسل جديد اينترنت مستلزم وجود سايت هائی است که ياد گرفته اند چگونه با يکديگر مراوده اطلاعاتی داشته و هر روز نيز بر اين توان و پتانسيل نيز می افزايند.

<< بخش بعدی


انواع صفحات وب

تهيه شده در شرکت سخا روش - 1381
E-Mail : Info@Srco.ir

شروع

مقدمه
از کجا می بايست شروع کرد؟

مفاهيم برنامه نويسی

پياده سازی نرم افزار
نيازها و انتظارات
چالش های موجود
انواع معماری توليد نرم افزار
نمونه برنامه های سرويس دهنده / سرويس گيرند ه
چالش های برنامه های توزيع شده
مدل پياده سازی نرم افزار بر اساس نوع خدمات
انواع مدل های فيزيکی پياده سازی C/S
جمع بندی

مقدمه ای بر وب

اينترنت و وب
مفاهيم و تعاريف اوليه
جايگاه HTML
انواع صفحات وب
وضعيت فعلی وب و صفحات وب

تعاريف برنامه نويسی تحت وب

تعاريف
ارائه يک مدل همگراء و جامع

لايه رابط کاربر

مفاهيم اوليه
جايگاه مرورگرها
روند تکامل و شکل گيری مرورگرها
معرفی تکنولوژی های مرتبط در لايه
Plug -In
Cookie
API
JavaScript
VBScript
JAVA
DOM
CSS
DHTML
XML
XSL
DTD
Schema
XML-DOM
Xpath

جمع بندی

لايه ارتباطی

مفاهيم
پروتکل TCP/IP
پروتکل HTTP
پروتکل S-HTTP
جمع بندی

لايه ميانی

مفاهيم
معرفی تکنولوژی های مرتبط در لايه
CGI
SSI
PHP
ASP
JSP
ColdFusion
جمع بندی

لايه داده

مفاهيم اوليه
چاش های دستيابی به داده در وب
دستيابی همگن به داده ها
معرفی تکنولوژی های مرتبط
جمع بندی

جمع بندی و راهکارها

معرفی دات نت
معرفی J2EE
روند توسعه نرم افزار های وب در آينده

منابع

معرفی منابع

مقدمه ای بر وب
انواع صفحات وب

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

¨ صفحات وب ايستا ،‌ امروزه بر روی اينترنت و وب ، با سايت های متعددی که شامل ‌ تعداد بيشماری از صفحات وب ايستا می باشند ، برخورد مي نمائيم. واژه " ايستا " ، در رابطه با يك صفحه وب دارای چه تعريفی است ؟ اين نوع صفحات ، صفحاتی هستند كه شامل كدهای Html بوده و در يك محيط اديتور تايپ و با انشعاب Htm و يا Html ذخيره مي گردد. مولف صفحه وب قبل از اينكه هر نوع درخواستي برای آن وجود داشته باشد ، بطور كامل محتوی صفحه را مشخص كرده است . محتويات اين نوع از صفحات ( متن ،‌تصوير ، لينك ها و … ) و شكل ظاهری آنها همواره يكسان خواهد بود ، صرفنظر از اينكه چه كسی ، در چه زمانی و يا چگونه صفحه را مشاهده خواهد كرد. بنابراين می توان گفت ، محتويات اين قبيل از صفحات قبل از اينكه درخواستی ايجاد گردد ، توسط مديريت سايت ايجاد و مشخص شده اند.

مشاهده تصوير با ابعاد بزرگتر

مراحل آماده سازي صفحات وب ايستا

1 – يك مو.لف ، صفحه ای را كه شامل كدهای Html است را ايجاد و آن را با انشعاب Htm و يا Html بر رو ی سرويس دهنده وب ذخيره می نمايد.

2 – کاربری از طريق برنامه مرورگر خود ، در خواست استفاده از يك صفحه را می نمايد، درخواست فوق از مرورگر برای سرويس دهنده ارسال می گردد.

3 – سرويس دهنده وب ، فايل درخواستی با انشعاب Htm و يا Html را پيدا خواهد كرد.

4 – سرويس دهنده وب ، كدهای Html فايل مزبور را از طريق شبكه برا ی مرورگر ارسال ميدارد.

5 – مرورگر كدهای Html را پردازش و صفحه فوق را نمايش خواهد داد.

محدوديت هاي صفحات وب ايستا

فرض كنيد مي خواهيم يك صفحه وب را بگونه اي طراحي نمائيم ، كه بمحض ورود هر كاربر زمان جاري سيستم بهراه يك پيام مناسب نمايش داده شود.. در اين زمينه با چندين محدوديت مواجه خواهيم بود كه بكمك تگ های Html قادر به برطرف كردن آنها نخواهيم بود. ما ميدانيم كه يك كاربر در يك زمان خاص به ملاقات صفحه خواهد آمد ول ی قطعا؛ زمان آن را نمی دانيم .اگر بخواهيم زمان را بصورت كد در صفحه Html خود داشته باشيم ، نتيجه همواره يكسان بوده و هميشه يك زمان ثابت و يكسان برای تمامي ملاقات كنندگان صفحه ، نمايش داده خواهد شد. تگ های Html امكاناتی بمنظور ايجاد صفحات وب سفارشی و بر اساس شرايط خاص در اختيار قرار نمی دهد. صفحات وب ايستا همواره بصورت مشابه و يکسان برای تمامی کاربران نمايش داده خواهند شد. ( نظير رستورانی كه همواره و صرفنظر از ذائقه مشتريان خود ، يك غذای ثابت و از قبل آماده شده را براي همه آماده و در اختيار قرار مي دهد!) Html دارای هيچگونه امنيتی نيز نبوده و كدهای آن را همه مي توانند مشاهده و حتي تكثير گردد. شايد تنها مزيت اين نوع از صفحات طراحي آسان و بکارگيری سريع آنان در يك شبكه باشد.اين نوع صفحات دارای امكانات لازم بمنظور آفرينش صفحات پويا نيستند، چون نمي توان كدهای مورد نظر خود را بعد از درخواست يك صفحه به آن اضافه کرد . می بايست بدنبال روشی و يا روش هائی بود که بکمک آنها بتوان صفحات وب پويا را ايجاد کرد. بمنظور نيل به هدف فوق از دو روش عمده استفاده مي گردد:

  • Client - side dynamic page . بهره گيری از تكنولوژيهائی كه پويائی يك صفحه را از جايگاه سرويس گيرنده تحقق خواهند داد.

  • Server - side dynamic page . بهره گير ی از تكنولوژيهائي كه پويائی يك صفحه را از جايگاه سرويس دهنده تحقق نمايند.

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


مقدمه

استفاده از کامپيوتر در ايران از چندين سال قبل متداول شده است و از آن در موارد متعددی استفاده می گردد . چرخه استفاده از کامپيوتر از مرحله تهيه سخت افزارهای لازم شروع و در ادامه با نصب تجهيزات سخت افزاری زمينه استفاده از مقولاتی ديگر نظير : نرم افزار، بر پاسازی شبکه ، استفاده از منابع موجود بر روی اينترنت و ... فراهم می گردد. در زمان استفاده از پتانسيل های فوق ، سوالات متعددی برای کاربران با سطوح متفاوت اطلاعاتی مطرح بوده و خواهد بود. ما اعتقاد داريم تنها با يافتن پاسخ مناسب علمی به هر يک از موارد مطرح شده است که می توان اميدوار به ايجاد يک زير ساخت مناسب فرهنگی به منظور استفاده از کامپيوتر در جايگاه واقعی خود بود. در صورت نيل به هدف فوق، مسير حرکت به سمت استفاده و بکارگيری سيستم های سخت افزاری و نرم افزاری سير منطقی و معقول خود را طی خواهد کرد.
اين شرکت با توجه به اهميت موضوع اشاره شده ، بخش فوق را راه اندازی نموده تا علاقه مندان بتوانند پاسخی مناسب برای برخی از سوالات متداول خود در زمينه دنيای گسترده فن آوری اطلاعات و ارتباطات را پيدا نمايند .
اين بخش صرفا" با اهداف آموزشی تهيه شده و از تمامی کاربران محترم درخواست می نمائيم به منظور استفاده از آن با شرايط استفاده از سايت آشنا شوند . رعايت موارد اعلام شده و پايبندی به آنان کارشناسان دست اندرکار تهيه مطالب فوق را تشويق می نمايد تا راهی را که شروع نموده اند با دلگرمی ادامه داده و عملا" حرکتی هر اندازه کوچک در زمينه فن آوری اطلاعات و ارتباطات برداشته گردد.
اين شرکت همواره از ارائه نقطه نظرات کاربران محترم در جهت بهبود و ارتقاء سطح کيفي موارد اعلام شده استقبال خواهد کرد. خواهشمند است در صورت وجود اشتباه در محتويات هر يک از صفحات ، مراتب را از طريق آدرس Info@srco.ir به مديريت سايت اطلاع دهيد. پيشاپيش از تمامی کاربران محترمی که اشتباهات موجود را گزارش می نمايند ، تشکر می نمائيم . ما اعتقاد داريم پذيرش اشتباهات شرط اوليه موفقيت و استمرار آن است . برای رسيدن به موفقيت راهی طولانی را در پيش داشته و جملگی می بايست همت نمائيم .

منابع :

  • از سايت www.Howstuffworks.com به منظور تهيه مطالب متعددی استفاده شده است . پيشاپيش از مديريت سايت فوق، Marshall Brain تشکر کرده و اميدواريم سايت فوق همچنان يکی از موفق ترين سايت های موجود بر روی اينترنت باشد. از ساير نويسندگان مقالاتی که از مطالب آنان در تهيه محتويات اين بخش استفاده شده نيز قدردانی و تشکر نموده و از اين که اسامی آنان ذکر نشده است ، پوزش ما را پذيرا باشند.

  • از سايت www.microsoft.com نيز برای تهيه برخی از مطالب اين بخش استفاده شده است .


﻿ دايره المعارف کامپيوتر


﻿
تهيه شده درشرکت سخاروش


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


دايره المعارف کامپيوتر


آشنائی با DVD

 آشنائی با DVD New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
آشنائی با DVD | مديريت آموزش | 1675 | 0 | 0

آشنائی با DVD

آشنائی با DVD

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

  • CD ( شامل CD-ROM ، CD-R ، CD-RW )

  • DVD ( شامل DVD-ROM,DVD-RAM,DVD-RW,DVD--R,DVD+RW و DVD+R )

CD
ديسک های CD-ROM ، اولين نمونه از ديسک های نوری به منظور ذخيره اطلاعات می باشند. ديسک های فوق ، يک رسانه ذخيره سازی مطلوب به منظور ذخيره داده های صوتی را در اختيار متقاضيان قرار می دهد . درايوهای CD-ROM ، هم اينک به عنوان يکی از تجهيزات استاندارد در اکثر کامپيوترهای شخصی بکار گرفته می شود . بر روی ديسک های CD-ROM می توان 74 تا 80 دقيقه موزيک با کيفيت بالا را ذخيره نمود . در صورتی که از ديسک های فوق به منظور ذخيره داده استفاده شود ، بر روی يک ديسک 74 دقيقه ای می توان اطلاعاتی بالغ بر 650 و يا 682 مگابايت را ذخيره نمود . در ديسک های CD-ROM هشتاد دقيقه ای ، اطلاعاتی معادل 700 تا 737 مگابايت ذخيره می گردد . قطر ديسک های فوق معمولا" 120 ميلیمتر و ضخامت آنان 2 / 1 ميليمتر است.

DVD
DVD از کلمات Digital Versatile Disc ، اقتباس و بطور خلاصه يک CD با ظرفيت بالا می باشد . از درايوهای DVD-ROM می توان به عنوان يک درايو CD-ROM نيز استفاده نمود.در چنين مواردی،درايو های DVD-ROM يک CD را با روشی مشابه يک DVD استفاده می نمايند . از ديسک های DVD به منظور ذخيره فيلم ، موزيک و داده استفاده می گردد . تقريبا" اکثر فيلم هائی که امروزه توليد می گردد از طريق DVD در دسترس عموم قرار می گيرند و ساير فيلم های قديمی در حال تبديل به فرمت DVD می باشند .ضبط تصاوير بر روی DVD دارای کيفيتی بسيار بالا بوده و تعداد زيادی از DVD ها دارای صدای Dolby Digital و يا DTS می باشند .
فن آوری ساخت DVD مشابه تکنولوژی استفاده شده برای ايجاد يک CD است . در هر دو از ديسک هائی با قطر 120 ميليمتر و ضخامت 2/ 1 ميليمتر استفاده می گردد. برخلاف يک CD ، ديسک های DVD دارای دو لايه در هر طرف بوده که اطلاعات در هر يک از لايه ها ذخيره می گردد ( چهار لايه در دو طرف ) . لايه ها به صورت جداگانه نشانه گذاری شده و با ترکيب آنان ، ضخامت DVD به 2 /1 ميليمتر خواهد رسيد . در ديسک های DVD نظير ديسک های CD ، حفره هائی مبتنی بر پلی کربنات ايجاد می گردد .
ديسک های DVD دارای ظرفيت بمراتب بيشتری نسبت به ديسک های CD می باشند . علت اين موضوع به دلايل متعددی برمی گردد :

  • اندازه کوچکتر حفره ها :ديسک های DVD دارای حفره های بمراتب کوچکتری نسبت به ديسک های CD می باشند که به آنان Pit گفته می شود . Pit ، فرورفتگی های کوچک و يا گودی بر روی سطح ديسک است که امکان تشخيص صفر و يا يک را برای ليزر فراهم می نمايد . طول اين حفره ها در ديسک های DVD به ميزان 25 / 2 مرتبه کوچکتر از ديسک های CD است ( طول هر pit بين نه دهم تا چهار دهم ميکرون می باشد ) .

  • شيارهای متراکم تر :ديسک های DVD از شيارهای حلزونی شکل متراکم تری استفاده می نمايند . دستگاه های DVD Player به منظور خواندن اين نوع شيارهای متراکم به يک نوع ليزر خاص که دارای اشعه نوری متفاوتی است، نياز دارند. بدين دليل دستگاه های CD Player قادر به خواندن ديسک های DVD نبوده ولی دستگاه های DVD قادر به خواندن ديسک های CD می باشند .فاصله بين شيارهای موجود در ديسک های DVD به ميزان 16 / 2 مرتبه کمتر از ديسک های CD است . ( فاصله بين شيارها بين هفتاد و چهار صدم تا 6 / 1 ميکرون می باشد ) .

  • قابليت چند لايه ای :ديسک های DVD ممکن است دارای چهار لايه باشند که در هر طرف ديسک دو لايه قرار می گيرد . با توجه به دو طرفه بودن و دو لايه بودن DVD ، چهار فرمت متفاوت از آنان وجود دارد :

فرمت | ظرفيت
Single-sided/single-layer | 4.7 GB
Single-sided/double-layer | 8.5 GB
Double-sided/single-layer | 9.4 GB
Double-sided/double-layer | 17.1 GB

ظرفيت ديسک های DVD

  • Single-sided, single-layered : (معروف به DVD-5 ) . در اين مدل امکان ذخيره 7 / 4 گيگابايت اطلاعات وجود دارد . عدد پنج در کنار اين نام ، نشاندهنده ظرفيت تقريبی پنج گيگابايتی آن است . يک DVD-5 ، از دو زيرلايه چسبيده بهم تشکيل می گردد . از يکی از زيرلايه ها به عنوان لايه ای که اطلاعات بر روی آن ذخيره می گردند ، استفاده شده ( لايه صفر) و زيرلايه دوم خالی است .زيرلايه ای که بر روی آن اطلاعات ذخيره می گردد توسط يک روکش آلومينيومی پوشانده می شود . ظرفيت DVD-5 بيش از هفت برابر يک CD معمولی با ظرفيت 650 مگابايت است و می توان دو ساعت فيلم را بر روی آنان ذخيره نمود .

  • Single-sided, dual-layered : ( معروف به DVD-9 ). در اين مدل امکان ذخيره 5 / 8 گيگابايت اطلاعات وجود دارد .يک DVD-9 ، از دو زيرلايه متصل به يکديگر تشکيل می گردد تا دو لايه به منظور ذخيره اطلاعات در يک طرف ديسک ايجاد شود . در طرف ديگر ديسک يک زيرلايه ايجاد می گردد که خالی باقی خواهد ماند . لايه ای که بر روی آن اطلاعات ذخيره می گردد ( لايه صفر)، با استفاده از يک روکش طلائی نيمه شفاف پوشش داده می شود . در صورتی که ليزر بر روی لايه اول تابانده شود نور منعکس شده و در صورت تابش ليزر بر روی لايه دوم ، نور از آن عبور خواهد کرد . از يک ليزر به منظور خواندن دو لايه استفاده می گردد و صرفا" کانون ليزر تغيير خواهد کرد . بر روی ديسک های DVD-9 می توان اطلاعات بمراتب بيشتری نسبت به ديسک های DVD-5 را ذخيره نمود . ( مثلا" چهار ساعت فيلم ) .

  • Double-sided, single-layered : (معروف به DVD-10 ) در اين مدل امکان ذخيره 4 / 9 گيگابايت اطلاعات وجود دارد . يک DVD-10 ، از دو زيرلايه که پشت به پشت به يکديگر متصل می شوند ، تشکيل می گردد . لايه ای که بر روی آن اطلاعات ذخيره می گردد ( لايه صفر در هر طرف ديسک ) دارای يک روکش آلومينيومی می باشد .ديسک های دوطرفه از طريق درايوهائی خوانده می شوند که دارای صرفا" يک ليزر می باشند ، بنابراين می بايست برای خواندن طرف ديگر ديسک ، عمليات برگرداندن ديسک به صورت دستی انجام شود . ديسک های DVD-10 گزينه ای مطلوب به منظور ذخيره فيلم می باشند . مثلا" می توان نسخه WideScreen يک فيلم را در يک طرف و نسخه full frame آن را در طرف ديگر ذخيره نمود . تقريبا" در تمامی دستگاه های DVD Player می بايست عمليات برگرداندن ديسک به صورت دستی انجام شود تا امکان استفاده از طرف دوم فراهم گردد .

  • Double-sided, dual-layered : ( معروف به DVD-18 ). در اين مدل امکان ذخيره 1 / 17 گيگابايت اطلاعات وجود دارد . يک DVD-18 ، دارای دو لايه در هر طرف ديسک می باشد . دو لايه و زيرلايه های مربوطه پشت به پشت هم قرار گرفته و به يکديگر متصل می شوند. لايه های خارجی ( لايه صفر در هر طرف ديسک ) توسط يک روکش طلائی نيمه شفاف پوشش داده می شوند . لايه های داخلی ، ( لايه يک در هر طرف ديسک ) دارای يک روکش آلومينيومی می باشند . قابليت انعکاس يک لايه ديسک بين چهل و پنج درصد تا هشتاد و پنج درصد است . در لايه دوم، قابليت انعکاس بين هيجده تا سی درصد است . مدار AGC ( اقتباس شده از Automatic gain control ) موجود در درايو ، مسئوليت تعديل خصلت های متفاوت انعکاس را بر عهده دارد . بر روی ديسک های DVD-18 می توان هشت ساعت فيلم را ذخيره نمود .تقريبا" در تمامی دستگاه های DVD Player می بايست عمليات برگرداندن ديسک به صورت دستی انجام شود تا امکان استفاده از طرف دوم فراهم گردد .

استانداردها و فرمت های DVD
همانند استانداردهای CD ، استانداردهای DVD در کتب مرجع که عمدتا" توسط DVD Forum تعريف می گردد ، منتشر می شوند( برخی از شرکت ها ممکن است استاندارهای خاص خود را ارائه نمايند ). تاکنون استانداردهای DVD-Video و DVD-ROM بخوبی تعريف و مشخص شده است ولی استانداردهای مربوط به ديسک های DVD با قابليت نوشتن اطلاعات بر روی آنان هنوز نهائی نشده است .در حال حاضر حداقل چهار استاندارد متفاوت برای ديسک های DVD با قابليت نوشتن اطلاعات، ارائه شده است . استانداردهای DVD-RW و DVD+RW نسبت به ساير موارد اعلام شده ، متداول تر می باشند .

فرمت های استاندارد و ظرفيت های DVD :

فرمت | اندازه ديسک | طرف | لايه ها | ظرفيت داده | ظرفيت MPEG-2 ويدئو ( ساعت )
فرمت و ظرفيت DVD-ROM
DVD-5 | 120mm | يک طرفه | يک لايه | 4.7GB | 2 .2
DVD-9 | 120mm | يک طرفه | دو لايه | 8.5GB | 4.0
DVD-10 | 120mm | دو طرفه | يک لايه | 9.4GB | 4.4
DVD-14 | 120mm | دوطرفه | دو لايه | 13.2GB | 6.3
DVD-18 | 120mm | دو طرفه | دو لايه | 17.1GB | 8.1
DVD-1 | 80mm | يک طرفه | يک لايه | 1.5GB | 0.7
DVD-2 | 80mm | يک طرفه | دو لايه | 2.7GB | 1.3
DVD-3 | 80mm | دو طرفه | يک لايه | 2.9GB | 1.4
DVD-4 | 80mm | دو طرفه | دو لايه | 5.3GB | 2.5

فرمت | اندازه ديسک | طرف | لايه ها | ظرفيت داده | ظرفيت MPEG-2 وئديو ( ساعت )
فرمت و ظرفيت DVD با قابليت ضبط اطلاعات
DVD-R 1.0 | 120mm | يک طرفه | يک لايه | 3.95GB | 1.9
DVD-R 2.0 | 120mm | يک طرفه | يک لايه | 4.7GB | 2.2
DVD-RAM 1.0 | 120mm | يک طرفه | يک لايه | 2.58GB | N/A
DVD-RAM 1.0 | 120mm | دو طرفه | يک لايه | 5.16GB | N/A
DVD-RAM 2.0 | 120mm | يک طرفه | يک لايه | 4.7GB | N/A
DVD-RAM 2.0 | 120mm | دو طرفه | يک لايه | 9.4GB | N/A
DVD-RAM 2.0 | 80mm | يک طرفه | يک لايه | 1.46GB | N/A
DVD-RAM 2.0 | 80mm | دو طرفه | يک لايه | 2.65GB | N/A
DVD-RW 2.0 | 120mm | يک طرفه | يک لايه | 4.7GB | N/A
DVD+RW 2.0 | 120mm | يک طرفه | يک لايه | 4.7GB | 2.2
DVD+RW 2.0 | 120mm | دو طرفه | يک لايه | 9.4GB | 4.4
DVD+R 1.0 | 120mm | يک طرفه | يک لايه | 4.7GB | 2.2

فرمت | اندازه ديسک | طرف | لايه ها | ظرفيت داده | ظرفيت MPEG-2 وئديو ( ساعت )
فرمت و ظرفيت CD-ROM( جهت مقايسه )
CD-ROM /R/RW | 120mm | يک طرفه | يک لايه | 0.737 GB | N/A
CD-ROM/R/RW | 80mm | يک طرفه | يک لايه | 0.194GB | N/A

جستجو
جستجو

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

مقالات
مشاهده گروه ها


ابزارهای اشکال زدائی شبکه های مبتنی بر TCP/IP

 ابزارهای اشکال زدائی شبکه های مبتنی بر TCP/IP New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
اشکال زدائی شبکه های مبتنی بر TCP/IP (بخش اول ) | مديريت آموزش | 1376 | 0 | 0

اشکال زدائی شبکه های مبتنی بر TCP/IP (بخش اول )

اشکال زدائی شبکه های مبتنی بر TCP/IP (بخش اول )

TCP/IP يکی از متداولترين پروتکل های استفاده شده در شبکه های کامپيوتری است . از مهمترين ويژگی های اين پروتکل می توان به مديريت غيرمتمرکز آن اشاره نمود . در چنين مواردی، امکان مديريت جداگانه شبکه های متعددی که از طريق اينترنت و يا اينترانت به يکديگر مرتبط شده اند، فراهم می گردد .
برای اشکال زدائی شبکه های مبتنی بر TCP/IP ، تاکنون ابزارهای متعددی طراحی و پياده سازی شده است . برخی از اين ابزارها پس از نصب سيستم عامل در دسترس قرار خواهند گرفت و برخی ديگر را می بايست تهيه و بر روی سيستم نصب نمود . از ابزارهای فوق به منظور رفع اشکال ارتباطی يک کامپيوتر موجود در شبکه ، مسائل در ارتباط با پيکربندی TCP/IP و سرويس های مربوطه، استفاده می گردد .

برای اشکال زدائی از کجا می بايست شروع کرد ؟
تعيين مختصات نقطه شروع اشکال زدائی در يک شبکه به پارامترهای متعددی و نوع مشکل ايجاد شده، بستگی خواهد داشت . قبل از بررسی عناصر فيزيکی شبکه نظير کابل ها ، آداپتورهای شبکه ، هاب و يا سوئيچ ، در ابتدا می بايست پيکربندی پروتکل TCP/IP بر روی سيستمی که دارای مشکل است ، برررسی گردد . بدين منظور می توان از ابزارهای ارائه شده همراه سيستم عامل استفاده نمود .

اولين اقدام : بررسی وضعيت پيکربندی TCP/IP
پيکربندی TCP/IP ، معمولا" در زمان نصب سيستم عامل انجام می شود . در برخی موارد ممکن است لازم باشد که تنظيمات انجام شده ، تغيير يابند. مثلا" در صورتی که کامپيوتر به يک subnet ديگر منتقل شده است ، می بايست تغييرات ضروری را بر روی آن اعمال نمود ( آيا سيستم دارای يک آدرس IP است که دارای شماره شبکه ای يکسان و مشابه ساير کامپيوترهای موجود در شبکه است ؟ ) . اطمينان از صحت تنظيمات Subnet Mask و Default gateway از ديگر اقدامات ضروری در اين رابطه است . در صورتی که از DHCP به منظور نسبت دهی اطلاعات پيکربندی TCP/IP ( نظير آدرس IP ) استفاده می شود ، می بايست از وجود يک سرويس دهنده DHCP و يا يک DHCP relay agent در subnet جديد ، اطمينان حاصل نمود .
در صورتی که همه تنظيمات به درستی انجام شده است ولی همچنان سيستم دارای مشکل است ، می توان از ابزارهائی که به همراه اکثر نسخه های TCP/IP ارائه شده است ، استفاده نمود .

استفاده از hostname
يکی از عمليات اوليه به منظور اشکال زدائی يک کامپيوتر موجود درشبکه ، تشخيص نام آن است. بدين منظور می توان از برنامه کاربردی hostname استفاده نمود . برای نامگذاری کامپيوترها از دو روش متفاوت استفاده می شود . در اولين روش ، اسامی flat ( غيرسلسله مراتبی ) با استفاده از جداولی نظير host tables به دستگاه ها نسبت داده می شوند . در روش دوم ، از طريق سرويس دهنده DNS يک نام به دستگاه موجود در شبکه ، نسبت داده می شود ( از دستور hostname در دو روش فوق می توان استفاده نمود ) .
hostname ، ساده ترين دستوری است که می توان با استفاده از آن بررسی اوليه پيکربندی يک کامپيوتر را انجام داد . در سيستم های مبتنی بر ويندوز ، دستور فوق نام کامپيوتر را نمايش خواهد داد . برای استفاده از دستور فوق ، کافی است نام آن را از طريق پنجره command prompt تايپ نمود .

تايپ دستور | خروجی
C:\>hostname | srcocomputer

ضرورت استفاده از دستور hostname
شايد اين سوال برای شما مطرح شده باشد که چرا می بايست از دستور hostname استفاده نمائيم و نتايجی که نمايش داده می شود ، بيانگر چه واقعيتی است ؟ با توجه به اين که hostname به يک آدرس IP ترجمه شده است ، با استفاده از دستور فوق ، می توان از صحت آدرس IP مرتبط با نام ، اطمينان حاصل نمود .
از دستور hostname بر روی سيستم هائی که بر روی آنان سيستم عامل يونيکس و يا لينوکس نصب شده است نيز استفاده می گردد . با توجه به نوع سيستم عامل ، نحوه پيکربندی و پارامترهای استفاده شده ، اجرای اين دستور نتايج متفاوتی را بدنبال خواهد داشت. در سيستم های عامل ويندوز NT/2000/XP ، دستور فوق نام host را نمايش خواهد داد .

در بخش دوم به بررسی دستور ipconfig خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


ابزارهای اشکال زدائی شبکه های مبتنی بر TCP/IP

 ابزارهای اشکال زدائی شبکه های مبتنی بر TCP/IP New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
اشکال زدائی شبکه های مبتنی بر TCP/IP (بخش دوم ) | مديريت آموزش | 1415 | 0 | 0

اشکال زدائی شبکه های مبتنی بر TCP/IP (بخش دوم )

اشکال زدائی شبکه های مبتنی بر TCP/IP (بخش دوم )

ipconfig ، يکی از دستورات مفيد به منظور بررسی وضعيت پيکربندی TCP/IP در کامپيوترهای سرويس دهنده و يا سرويس گيرنده ای است که بر روی آنان ويندوز نصب شده است . در يونيکس و لينوکس از دستور ifconfig در اين رابطه استفاده می شود . در سيستم هائی که بر روی آنان ويندوز 9x و يا ME نصب شده است ، می توان از دستور winipcfg استفاده نمود .

استفاده از ipconfig
برای استفاده از دستور فوق، کافی است نام آن را از طريق پنجره command prompt تايپ نمود . عملکرد ipconfig و اطلاعاتی که در اثر اجرای آن نمايش داده خواهد شد به نوع سوئيچ استفاده شده ، بستگی دارد .

استفاده از ipconfig بدون سوئي چ ،اطلاعات پيکربندی TCP/IP در ارتباط با هر يک از آداپتورهای موجود بر روی سيستم را نمايش خواهد داد:

  • آدرس IP
  • Subnet Mask
  • Default gateway
  • اطلاعات سرويس دهنده DNS
  • Domain
تايپ دستور | خروجی
C:\> ipconfig | Ethernet adapter MyLan1: Connection-specific DNS Suffix . : IP Address. . . . . . . . . . . . : 10.10.1.1 Subnet Mask . . . . . . . . . . . : 255.0.0.0 Default Gateway . . . . . . . . . : PPP adapter My ISP: Connection-specific DNS Suffix . : IP Address. . . . . . . . . . . . : 10.1.1.216 Subnet Mask . . . . . . . . . . . : 255.255.255.255 Default Gateway . . . . . . . . . : 10.1.1.216

دستور فوق ، اطلاعات مربوط به اتصالات از نوع PPP که از آنان در Dialup و VPN استفاده می شود را نيز نمايش خواهد داد .

استفاده از ipconfig به همراه سوئيچ all ، علاوه بر نمايش اطلاعات اشاره شده در بخش قبل ، اطلاعات ديگری را نيز نمايش خواهد داد :

  • آدرس سخت افزاری کارت شبکه ( آدرس MAC )
  • اطلاعات مربوط به DHCP

تايپ دستور

خروجی

C:\> ipconfig /all

Windows 2000 IP Configuration

Host Name . . . . . . . . . . . . : srco
Primary DNS Suffix . . . . . . . : srco.ir
Node Type . . . . . . . . . . . . : Broadcast
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . : srco.ir

Ethernet adapter MyLan1:

Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : D-Link DFE-680TX CardBus PC Card
Physical Address. . . . . . . . . : 00-50-BA-79-DB-6A
DHCP Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 10.10.1.1
Subnet Mask . . . . . . . . . . . : 255.0.0.0
Default Gateway . . . . . . . . . :
DNS Servers . . . . . . . . . . . : 127.0.0.1

PPP adapter My ISP:

Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : WAN (PPP/SLIP) Interface
Physical Address. . . . . . . . . : 00-53-45-00-00-00
DHCP Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 10.1.1.216
Subnet Mask . . . . . . . . . . . : 255.255.255.255
Default Gateway . . . . . . . . .: 10.1.1.216
DNS Servers . . . . . . . . . . . : x1.y1.z1.w1
 x2.y2.z2.w2

ساير سوئيچ های دستور ipconfig : با استفاده از دستور ipconfig و برخی سوئيچ های آن ( release ,renew ) ، می توان اطلاعات مربوط به پيکربندی TCP/IP ارائه شده توسط سرويس دهنده DHCP را که در اختيار يک سرويس گيرنده قرار داده شده است را آزاد و يا آنان را مجددا" از سرويس دهنده درخواست نمود . فرآيند فوق به منظور تشخيص عملکرد صحيح سرويس دهنده DHCP در شبکه بسيار مفيد و کارساز است . ( آيا سرويس دهنده DHCP وظايف خود را به خوبی انجام می دهد ؟ آيا يک سرويس گيرنده قادر به برقراری ارتباط با سرويس دهنده DHCP به منظور درخواست و دريافت اطلاعات پيکربندی TCP/IP می باشد ؟ ) . دستور ipconfig دارای سوئيچ های مفيد متعددی است که می توان با توجه به نوع خواسته خود از آنان استفاده نمود :

عملکرد | سوئيچ
آدرس IP پيکربندی شده توسط DHCP را آزاد می نمايد . در صورتی که سوئيچ فوق را به تنهائی و بدون مشخص نمودن adapter تايپ نمائيم،پيکربندی IP برای تمامی آداپتورهای موجود بر روی کامپيوتر، آزاد می گردد. در صورتی که قصد آزاد سازی اطلاعات پيکربندی مربوط به يک آداپتور خاص را داشته باشيم ، می بايست به همراه سوئيچ فوق نام آداپتور نيز مشخص گردد . ( مثلا" ipconfig / release MyLan1 ) | / release [ adapter]
يک آدرس IP را بر اساس اطلاعات جديدی که از طريق DHCP دريافت می نمايد ، پيکربندی مجدد می نمايد . در صورتی که سوئيچ فوق را به تنهائی و بدون مشخص نمودن adapter تايپ نمائيم،پيکربندی IP تمامی آداپتورهای موجود بر روی کامپيوتر، مجددا" انجام خواهد شد. در صورتی که قصد ايجاد مجدد اطلاعات پيکربندی مربوط به يک آداپتور خاص را داشته باشيم ، می بايست به همراه سوئيچ فوق نام آداپتور نيز مشخص گردد. ( مثلا" ipconfig / renew MyLan1 ) | /renew [adapter]
حذف محتويات Dns Resolver Cache | / flushdn
Refresh نمودن تمامی اطلاعات توليد شده توسط DHCP برای آداپتور و ريجستر نمودن اسامی Dns | / registerdn
نمايش محتويات Dns Resolver Cache | / displaydns
نمايش تمامی DHCP Class ID مجاز برای آداپتور | / showclassid [adapter]
تغيير DHCP Class ID | /setclassid [adapter] [classidtoset ]

توضيحات :

  • تشخيص نام آداپتور : نام آداپتور را می توان با کليک ( Right click ) بر روی Network Neighborhood و انتخاب گزينه properties، از طريق پنجره Network and Dial-up Connections مشاهده نمود ( اسامی آدپتورها ، نام آيکون ها می باشند ) .

  • مفهوم DNS Cache : زمانی که يک سيستم ، ترجمه ( تبديل نام host به آدرس ) را از طريق يک سرويس دهنده DNS دريافت می نمايد ، برای مدت زمان کوتاهی آن را در يک Cache ذخيره می نمايد . در صورتی که مجددا" از نام استفاده شود ، پشته TCP/IP محتويات Cache را به منظور يافتن رکورد درخواستی بررسی می نمايد . بدين ترتيب امکان پاسخگوئی سريعتر به درخواست ترجمه نسبت به حالتی که در خواست برای يک سرويس دهنده DNS ارسال می شود ، فراهم می گردد . با توجه به اين که اندازه Cache نمی تواند از يک ميزان منطقی و تعريف شده تجاوز نمايد ، هر رکورد موجود در Cache پس از مدت زمانی خاص حذف می گردد. در صورت اعمال هرگونه تغييرات در DNS ( مثلا" تغيير يک رکورد DNS ) ، می توان با استفاده از دستور ipconfig/flushdns تمامی رکوردهای موجود در cache را حذف نمود . بدين ترتيب در صورت درخواست يک نام host ، با سرويس دهنده DNS مشورت می گردد و نتايج مجددا" در Cache ذخيره خواهند شد . دستور ipconfig / displaydns ، محتويات cache را نمايش خواهد داد. از اطلاعاتی که نمايش داده می شود ، می توان به منظور تشخيص اين موضوع که آيا برای ترجمه نام به آدرس از Cache و يا سرويس دهنده DNS استفاده شده است ، کمک گرفت .

  • موارد استفاده از دستور Ipconfig : از دستور فوق در مواردی که قصد تشخيص اين موضوع را داريم که آيا سرويس دهنده DNS و DHCP در شبکه به درستی وظايف خود را انجام می دهند ، استفاده می شود( علاوه بر مشاهده اطلاعات پيکربندی TCP/IP ) . مثلا" با استفاده از سوئيچ های release و renew ، می توان براحتی تشخيص داد که آيا در زمينه دريافت اطلاعات پيکربندی از يک سرويس دهنده DHCP مشکل خاصی وجود دارد .از سوئيچ های مرتبط با DNS می توان به منظور اعمال تغييرات پيکربندی ، بهنگام سازی cache محلی و يا ريجستر نمودن اطلاعات پيکربندی جديد با يک سرويس دهنده DNS ، استفاده نمود .

  • امکانات جانبی به همراه دستور ipconfig : با استفاده از سوئيچ all / اطلاعات متنوعی در رابطه با پيکربندی TCP/IP نمايش داده خواهد شد . در صورتی که حجم اطلاعات بگونه ای است که می بايست صفحه را scroll نمود ، می توان از More| به همراه دستور ipconfig استفاده نمود . در صورت تمايل می توان خروجی دستور ipconfig را در مقابل ارسال بر روی دستگاه استاندارد خروجی ( صفحه نمايشگر ) ، در يک فايل ذخيره نمود تا امکان بررسی سريعتر نتايج و رفع مشکل فراهم گردد.
    ( ipconfg /all > test1.txt )

همانگونه که اشاره گرديد در سيتم هائی که از لينوکس و يا يونيکس استفاده می نمايند ، از دستور ifconfig استفاده می گردد. از دستور فوق برای نمايش اطلاعات پيکربندی IP و اعمال تغييرات لازم استفاده می شود .

در بخش سوم به بررسی دستور ping خواهيم پرداخت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


آشنائی با اصول اوليه امنيت اطلاعات

 آشنائی با اصول اوليه امنيت اطلاعات New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
مبانی امنيت اطلاعات ( بخش اول) | مديريت آموزش | 2272 | 0 | 0

مبانی امنيت اطلاعات ( بخش اول)

مبانی امنيت اطلاعات ( بخش اول)

سوال يک : هر کامپيوتر موجود بر روی اينترنت به منظور ارتباط با ساير کامپيوترها می بايست دارای يک ....... باشد .

  1. نام

  2. آدرس IP

  3. آدرس MAC

  4. امضای ديجيتال

مشاهده پاسخ :

پاسخ : گزينه b
توضيحات :
هر کامپيوتر موجود در اينترنت به منظور ارتباط با ساير کامپيوترها می بايست دارای يک آدرس IP منحصربفرد باشد .

سوال دوم : عملکرد يک آدرس IP در اينترنت مشابه کداميک از موارد زير است ؟

  1. تاريخ تولد

  2. آدرس پستی

  3. شماره دانشجوئی

  4. شماره تلفن

مشاهده پاسخ :

پاسخ : گزينهb
توضيحات :
هر کامپيوتر ميزبان در اينترنت دارای يک آدرس منحصر بفرد مشابه با روش آدرس دهی منازل در يک آدرس پستی است که IP ناميده می شود .

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

  1. مودم

  2. پروتکل

  3. زبان

  4. فرآيند

مشاهده پاسخ :

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

سوال چهارم: TCP داده ها را به بخش های کوچکتری با نام ........... تقسيم می نمايد :

  1. فايل

  2. packet

  3. بايت

  4. بيت

مشاهده پاسخ :

پاسخ : گزينه b
توضيحات :
پروتکل TCP داده ها را به بخش های کوچکتر و قابل مديريتی با نام packet تقسيم می نمايد .

سوال پنجم :يک آدرس IP از چند بخش تشکيل شده است ؟

  1. 4
  2. 2
  3. 1
  4. 3

مشاهده پاسخ :

پاسخ : گزينه a
توضيحات :
آدرس های IP از چهار بلاک عدد سه رقمی بين صفر تا 255 تشکيل می گردند .

سوال ششم: کانال های يک تلويزيون را می توان با ........ بر روی يک شبکه مقايسه نمود .

  1. برنامه ها

  2. وب سايت ها

  3. پروتکل ها

  4. پورت ها

مشاهده پاسخ :

پاسخ : گزينه d
توضيحات :
عملکرد پورت ها در يک شبکه همانند کانال های تلويزيونی است که از آنان برای مبادله اطلاعات استفاده می گردد .

سوال هفتم :استفاده از NAT اين اجازه را می دهد که بيش از يک کامپيوتر صرفا" با استفاده از يک ....... به اينترنت متصل شوند .

  1. آدرس IP

  2. مرورگر وب

  3. نام کامپيوتر ميزبان

  4. سرويس دهننده پروکسی

مشاهده پاسخ :

پاسخ : گزينه a
توضيحات :
استفاده از NAT اين اجازه را می دهد که بيش از يک کامپيوتر صرفا" با استفاده از يک آدرس IP به اينترنت متصل شوند .

سوال هشتم :تمامی کامپيوترهای موجود در اينترنت می توانند به عنوان .......... عمل نمايند

  1. سرويس گيرنده و يا سرويس دهنده

  2. سرويس گيرنده

  3. سرويس دهنده

  4. هيچکدام

مشاهده پاسخ :

پاسخ : گزينه a
توضيحات :
تمامی کامپيوترهای موجود در اينترنت می توانند به عنوان سرويس گيرنده و يا سرويس دهنده عمل نمايند.

سوال نهم: با استفاده از کداميک از تکنولوژی های زير ، به صفحات وب ،مستندات مبتنی بر HTML و نامه های الکترونيکی اجازه داده می شود که اسکريپت ها و اپلت هائی را به منظور فعال نمودن برنامه هائی خاص ، اجراء نمايند ؟

  1. XML

  2. SSL

  3. PKI

  4. اسکريپت های فعال

مشاهده پاسخ :

پاسخ : گزينه d
توضيحات :
با استفاده از اسکريپت های فعال ( Active Scripting ) ، به صفحات وب ، مستندات مبتنی بر HTML و نامه های الکترونيکی اجازه داده می شود که اسکريپت ها و اپلت هائی را به منظور فعال نمودن برنامه هائی خاص ، اجراء نمايند.

سوال دهم : جاوا اسکريپت و VBScript نمونه هائی از زبان های .......... می باشند که امکان بهنگام سازی پويای صفحات HTML را فراهم می نمايند.

  1. باينری

  2. يونيکس

  3. اسکريپت

  4. مايکروسافت

مشاهده پاسخ :

پاسخ : گزينه c
توضيحات :
جاوا اسکريپت و VBScript نمونه هائی از زبان های اسکريپت می باشند که امکان بهنگام سازی پويای صفحات HTML را فراهم می نمايند.

جستجو
جستجو

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

مقالات
مشاهده گروه ها


ابزارهای اشکال زدائی شبکه های مبتنی بر TCP/IP

 ابزارهای اشکال زدائی شبکه های مبتنی بر TCP/IP New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
اشکال زدائی شبکه های مبتنی بر TCP/IP (بخش چهارم ) | مديريت آموزش | 969 | 0 | 0

اشکال زدائی شبکه های مبتنی بر TCP/IP (بخش چهارم )

اشکال زدائی شبکه های مبتنی بر TCP/IP (بخش چهارم )

هر بسته اطلاعاتی در يک شبکه کامپيوتری دارای مسيری مشخص از زمان ارسال توسط فرستنده تا زمان دريافت توسط گيرنده ( گيرندگان ) می باشد . در صورتی که مقصد يک بسته اطلاعاتی برای سيستمی خارج از شبکه محلی باشد ، وی در مسير خود از بين دستگاه ها و يا روترهای متعددی عبور می نمايد تا به مقصد نهائی خود برسد . مثلا" زمانی که آدرس يک وب سايت را در مرورگر خود تايپ می نمائيد ، درخواست شما از بين روترها و کامپيوترهای متعددی عبور می نمايد تا در نهايت به سرويس دهنده مقصد برسد .
برای مشاهده مسير يک بسته اطلاعاتی، از دستور tracerout که در برخی از سيستم های عامل نظير ويندوز ( از ويندور 98 تا 2003 ) به آن tracert گفته می شود ، استفاده می گردد.در اکثر سيستم هائی که از يونيکس و لينوکس استفاده می نمايند ، می توان از دستور traceroute به منظور مشاهده مسير يک بسته اطلاعاتی استفاده نمود .

موارد استفاده از دستور tracert

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

  • در صورتی که امکان حرکت بسته های اطلاعاتی از مبداء به مقصد وجود نداشته باشد و يا زمان پاسخ دستور ping زمانی نامعقول و طولانی باشد .

  • آگاهی از محل توقف يک بسته اطلاعاتی در شبکه

نحوه عملکرد دستور tracert
دستور فوق از فيلد TTL مربوط به IP در ICMP Echo Request و پيام های ICMP Time Exceeded به منظور تعيين مسير مبداء تا مقصد يک بسته اطلاعاتی استفاده می نمايد . عملکرد اين دستور نيز مشابه ping است و وی نيز از پيام های مبتنی بر ICMP برای يافتن هر يک از دستگاه های موجود در مسير يک بسته اطلاعاتی ، استفاده می نمايد . برای تشخيص مسير حرکت ، به TTL موجود در بسته اطلاعاتی يک مقدار اوليه نسبت داده می شود . TTL ، يک عدد صحيح است که حداکثر تعداد hop ( گره و يا روتر ) را که يک بسته اطلاعاتی در مسير خود با آنان برخورد می نمايد را مشخص می نمايد ( قبل از اين که توسط IP دورانداخته شود ). مقدار TTL در ابتدا يک خواهد بود و هر روتر و دستگاه موجود در مسير بسته اطلاعاتی ، يک واحد به آن اضافه می نمايد .
بدين ترتيب برنامه tracert قادر به دريافت پيام TIME_EXCEEDED ICMP از هر يک از روترها و يا ساير دستگاه های موجود در مسير يک بسته اطلاعاتی می باشد .
شکل زير نحوه عملکرد دستور tracert را نشان می دهد .

همانگونه که در شکل فوق مشاهده می گردد ، کامپيوتر A يک مجموعه از پيام های ICMP ECHO REQUEST را توليد و آنان را برای کامپيوتر B ارسال می نمايد. زمانی که اولين بسته اطلاعاتی ارسال می شود ، مقدار TTL يک خواهد بود و در روتر شماره يک مقدار آن صفر شده و يک پيام TIME_EXCEEDED ICMP ، برای کامپيوتر A ارسال می گردد . کامپيوتر A مجددا" يک بسته اطلاعاتی ICMP ديگر را ارسال می نمايد . ولی اين مرتبه مقدار TTL آن دو در نظر گرفته می شود . در چنين حالتی روتر اول ، بسته اطلاعاتی را عبور داده و يک واحد از مقدار TTL کم می نمايد و آن را برای روتر دوم ارسال می نمايد . ( در اين مقطع مقدار TTL=1 شده است ) . روتر دوم مقدار TTL را بررسی نموده و از آن يک واحد کم خواهد کرد . با توجه به اين که مقدار TTL=0 صفر شده است ، مجددا" يک پيام TIME_EXCEEDED ICMP برای کامپيوتر A ارسال می گردد . زمانی که ICMP ECHO REQUEST به کامپيوتر B می رسد ، وی يک ICMP Echo Reply را برمی گرداند . بدين ترتيب ، کامپيوتر A قادر به تشخيص تعداد hop موجود در مسير خواهد بود.

استفاده از دستور tracert
جدول زير گرامر دستور tracert به همراه عملکرد برخی از سوئيچ های متداول آن را نشان می دهد :

گرامر دستور tracert در ويندوز
tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name
عملکرد | سوئيچ
نام host را به آدرس IP ترجمه نمی نمايد . | -d
حداکثر تعداد hop برای جستجوی مقصد را مشخص می نمايد . | -h maximum_hops
مدت زمان انتظار برای دريافت پاسخ بر حسب ميلی ثانيه را مشخص می نمايد . | -w timeout

نحوه استفاده از دستور tracert :

تايپ دستور | خروجی
C:\>tracert www.google.com | Tracing route to www.google.akadns.net [66.102.11.99] over a maximum of 30 hops: 1 180 ms 170 ms 191 ms x1.y1.z1.w1 2 201 ms 190 ms 190 ms x2.y2.z2.w2 3 201 ms 180 ms 190 ms x3.y3.z3.w3 4 * 217.218.96.253 reports: Destination net unreachable. Trace complete.

توضيحات :

  • در مواردی که در مسير يک بسته اطلاعاتی مشکل خاصی ايجاد شود و يا پيام ICMP Time Exceeded برگردانده نشود ، در خروجی علامت "ستاره" نشان داده خواهد شد ( در سه ستونی که معمولا" زمان round-trip را نمايش می دهند ) . در چنين مواردی يک پيام Request timed out در قسمت سمت راست نمايش داده می شود .

  • در برنامه اوليه tracert مقدار پورت در هدر UDP ، يک پورت UNREACHABLE در نظر گرفته می شد . بنابراين زمانی که بسته اطلاعاتی ICMP به مقصد نهائی خود می رسد ، يک پيام ICMP DESTINATION UNREACHABLE توسط کامپيوتر مقصد برگردانده می شود .

  • در صورتی که آخرين گره مشاهده شده در خروجی دستور tracert مقصد نهائی باشد ، تمامی گره ها و يا روترهای موجود در مسير نمايش داده شده اند .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


آشنائی با پروتکل های SLIP و PPP

 آشنائی با پروتکل های SLIP و PPP New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
آشنائی با پروتکل های SLIP و PPP | مديريت آموزش | 1279 | 0 | 0

آشنائی با پروتکل های SLIP و PPP

آشنائی با پروتکل های SLIP و PPP

مبادله اطلاعات بر روی اينترنت با استفاده از پروتکل TCP/IP انجام می شود . با اين که پروتکل فوق يک راه حل مناسب در شبکه های محلی و جهانی را ارائه می نمايد ، ولی به منظور ارتباطات از نوع Dial-up طراحی نشده است .
ارتباط Dail-up ، يک لينک نقطه به نقطه ( Point-To-Point ) با استفاده از تلفن است . در چنين مواردی يک روتر و يا سرويس دهنده، نقطه ارتباطی شما به شبکه با استفاده از يک مودم خواهد بود. سرويس دهنده دستيابی راه دور موجود در مراکز ISP ، مسئوليت ايجاد يک ارتباط نقطه به نقطه با سريس گيرندگان Dial-up را برعهده دارد . در ارتباطات فوق ، می بايست از امکانات خاصی به منظور ارسال IP و ساير پروتکل ها استفاده گردد . با توجه به اين که لينک ايجاد شده بين دو نقطه برقرار می گردد ، آدرس دهی مشکل خاصی را نخواهد داشت.
SLIP ( اقتباس شده از Serial Line Internet Protocol ) و PPP ( اقتباس شده از Point-To-Point ) پروتکل هائی می باشند که امکان استفاده از TCP/IP بر روی کابل های سريال نظير خطوط تلفن را فراهم می نمايند ( SLIP و PPP : دو روش متفاوت به منظور اتصال به اينترنت ). با استفاده از پروتکل های فوق ، کاربران می توانند توسط يک کامپيوتر و مودم به اينترنت متصل شوند . از پروتکل SLIP در ابتدا در سيستم عامل يونيکس استفاده می گرديد ولی امروزه تعداد بيشتری از سيستم های عامل نظير لينوکس و ويندوز نيز از آن حمايت می نمايند . در حال حاضر استفاده از پروتکل SLIP نسبت به PPP بمراتب کمتر است .

PPP نسبت به SLIP دارای مزايای متعددی است :

  • امکان مبادله اطلاعات به صورت همزمان و غير همزمان . در پروتکل SLIP صرفا" امکان مبادله اطلاعات به صورت همزمان وجود دارد .

  • ارائه امکانات لازم به منظور تصحيح خطاء . تصحيح خطاء در پروتکل SLIP عموما" مبتنی بر سخت افزار استفاده شده به منظور برقراری ارتباط ( نظير مودم ) و يا استفاده از قابليت های پروتکل TCP/IP است .

  • ارائه امکانات لازم برای فشرده سازی .پروتکل SLIP در اغلب بخش های آن چنين ويژگی را دارا نمی باشد . در اين رابطه نسخه هائی از SLIP به منظور فشرده سازی نظير Compressed SLIP و يا CSLIP طراحی شده است ولی متداول نمی باشند .

  • ارائه امکانات لازم به منظور نسبت دهی آدرس ها به صورت پويا و اتوماتيک .پروتکل SLIP می بايست به صورت دستی پيکربندی گردد ( در زمان Dial-up و يا تنظيم اوليه Session ) .

  • امکان استفاده از چندين پروتکل بر روی لينک های PPP وجود دارد ( نظير IP و يا IPX ) . در پروتکل SLIP صرفا" امکان استفاده از پروتکل IP وجود خواهد داشت .

وجه اشتراک پروتکل های PPP و SLIP

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

  • هر دو پروتکل قادر به کپسوله نمودن ساير پروتکل هائی می باشند که در ادامه برای روتر و ساير دستگاه ها ارسال می گردند . در مقصد، اطلاعات مربوط به پروتکل های SLIP و يا PPP برداشته شده و پروتکل های ارسالی توسط لينک سريال نظير IP ، در طول شبکه فرستاده می گردد .

يک کامپيوتر با استفاده از يک ارتباط SLIP و يا PPP قادر به شبيه سازی يک اتصال مستقيم به اينترنت است . در اين رابطه به امکانات زير نياز می باشد :

  • يک کامپيوتر و مودم

  • يک account از نوع SLIP و يا PPP از ISP مربوطه

  • نصب نرم افزارهای TCP/IP و SLIP/PPP بر روی کامپيوتر کاربر ( نرم افزارهای فوق معمولا" در زمان استقرار سيستم عامل بر روی کامپيوتر نصب خواهند شد ).

  • يک آدرس IP . آدرس فوق ممکن است به صورت دائم و يا پويا ( استفاده از سرويس دهنده DHCP ) به کامپيوتر کاربر نسبت داده شود.

نحوه عملکرد يک اتصال SLIP و يا PPP

  • مودم موجود بر روی کامپيوتر اقدام به شماره گيری يک کامپيوتر از راه دور در يک ISP می نمايد .

  • نرم افزار SLIP/PPP درخواست يک اتصال SLIP/PPP را می نمايد .

  • پس از برقراری ارتباط ، ISP مربوطه به کامپيوتر کاربر يک آدرس IP را اختصاص خواهد داد ( در مواردی که از يک سرويس دهنده DHCP استفاده می گردد ) .

  • نرم افزار TCP/IP بر روی کامپيوتر کاربر ، کنترل و مديريت مبادله اطلاعات بين کامپيوتر کاربر و اينترنت را برعهده خواهد گرفت .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


آشنائی با اصول اوليه امنيت اطلاعات

 آشنائی با اصول اوليه امنيت اطلاعات New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
مبانی امنيت اطلاعات ( بخش دوم) | مديريت آموزش | 1763 | 0 | 0

مبانی امنيت اطلاعات ( بخش دوم)

مبانی امنيت اطلاعات ( بخش دوم)

سوال اول : يک ...... که به درستی طراحی و پيکربندی شده باشد ، مشابه وجود صرفا" يک نقطه برای ورود به يک ساختمان است که می بايست صلاحيت افراد برای ورود به آن توسط مامورين امنيتـی ، تائيد و مجوز مربوطه صادر شود .

  1. کارت شبکه

  2. نرم افزار آنتی ويروس

  3. سيستم تشخيص مزاحمين ( IDS )

  4. فايروال

مشاهده پاسخ :

پاسخ : گزينه d
توضيحات :
يک فايروال که به درستی طراحی و پيکربندی شده باشد ، مشابه وجود صرفا" يک نقطه برای ورود به يک ساختمان است که می بايست صلاحيت افراد برای ورود به آن توسط مامورين امنيتـی ، تائيد و مجوز مربوطه صادر شود .

سوال دوم :از چه نوع نرم افزاری می بايست به منظور تشخيص کدهای مخرب موجود در نامه های الکترونيکی استفاده نمود ؟

  1. Windows Update

  2. سيستم تشخيص مزاحمين ( IDS )

  3. آنتی ويروس

  4. فايروال

مشاهده پاسخ :

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

سوال سوم:يک نامه الکترونيکی فوری که از يک منبع غيرمتداول ارسال و خبر از وجود و يا شيوع يک ويروس می نمايد و از شما می خواهد که با فوروارد نمودن نامه الکترونيکی ، موضوع را سريعا" به اطلاع ساير دوستان خود برسانيد ، عموما" يک .......... است .

  1. گزارش دروغين ( Hoax )

  2. خبرنامه امنيتی

  3. ويروس

  4. کرم

مشاهده پاسخ :

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

سوال چهارم:يکی از روش های عمده برای توزيع ويروس ، استفاده از .......... است .

  1. فولدرهای به اشتراک گذاشته شده

  2. نامه های الکترونيکی

  3. اتصالات شبکه

  4. AOL

مشاهده پاسخ :

پاسخ : گزينه b
توضيحات :
يکی از روش های عمده برای توزيع ويروس ، استفاده از نامه های الکترونيکی است .

سوال پنجم :نويسندگان کدهای مخرب از ........ به منظور جلب توجه کاربران و ترغيب آنان به باز نمودن نامه های الکترونيکی استفاده می نمايند .

  1. عنوان نامه های الکترونيکی
  2. ضمائم نامه های الکترونيکی
  3. محتويات يک نامه الکترونيکی
  4. اسپم

مشاهده پاسخ :

پاسخ : گزينه a
توضيحات :
نويسندگان کدهای مخرب از عناوين نامه های الکترونيکی به منظور جلب توجه کاربران و ترغيب آنان به باز نمودن نامه های الکترونيکی استفاده می نمايند .

سوال ششم: به ويروس هائی که پس از آلودگی يک سيستم ، خصايص خود را تغيير می دهند ، چه عنوانی اطلاق می گردد ؟

  1. Polymorphic

  2. Stealth

  3. Camouflage

  4. Armored

مشاهده پاسخ :

پاسخ : گزينه a
توضيحات :
ويروس های Polymorphic ، ويروس هائی می باشند که پس از آلودگی اهداف مورد نظر ، خصايص خود را تغيير می دهند ( عدم امکان شناسائی آنان توسط برنامه های آنتی ويروس ) .
ويروس های Stealth ، ويروس هائی می باشند که سعی می نمايند فعاليت مخرب خود را از ديد برنامه های آنتی ويروس مخفی نموده و بگونه ای رفتار نمايند که امکان شناسائی آنان توسط اين نوع نرم افزارها وجود نداشته باشد .
ويروس های Armored ، ويروس هائی می باشند که بگونه ای طراحی و پياده سازی می شوند که امکان کالبدشکافی آنان مشکل باشد.
ويروس های Camouflage ، ويروس هائی می باشند که سعی می نمايند خود را به عنوان برنامه هائی بی آزار به نرم افزارهای آنتی ويروس معرفی نمايند .

سوال هفتم : ........... ، روشی است که فايروال ها با استفاده از آن اقدام به فيلترينگ و بلاک نمودن ترافيک غيرمجاز می نمايند .

  1. IP Heuristic Scanning

  2. Intrusion Detection

  3. Stateful Inspection

  4. Active Scripting

مشاهده پاسخ :

پاسخ : گزينه c
توضيحات :
برنامه های متفاوت ممکن است از روش های مختلفی به منظور فيلترينگ و بلاک نمودن ترافيک غيرمجاز استفاده نمايند . فيلترينگ مبتنی بر بسته های اطلاعاتی ، circuit-level gateway ، و stateful inspection نمونه هائی در اين زمينه می باشند .

سوال هشتم :يک فايروال سخت افزاری ، صرفا" يک ....... است که بر روی يک سخت افزار و يا دستگاه خاص ، اجراء می شود .

  1. فايروال نرم افزاری

  2. روتر

  3. سيستم تشخيص مزاحمين ( IDS )

  4. سوئيچ

مشاهده پاسخ :

پاسخ : گزينه a
توضيحات :
يک فايروال سخت افزاری ، صرفا" يک فايروال نرم افزاری است که بر روی يک سخت افزار و يا دستگاه خاص ، اجراء می شود .

سوال نهم:سرويس دهندگان DNS ، مسئوليت ترجمه آدرس های وب و يا اسامی کامپيوترهای ميزبان به ......... را برعهده دارند .

  1. باينری

  2. آدرس های MAC

  3. آدرس های IP

  4. آدرس های مبنای شانزده

مشاهده پاسخ :

پاسخ : گزينه c
توضيحات :
از DNS به منظور ترجمه اسامی به آدرس های IP معادل، استفاده می گردد .

سوال دهم:مهمترين ويژگی يک نرم افزار آنتی ويروس به منظور استفاده موثر عملياتی آز آن ،کداميک از موارد زير است ؟

  1. نصب گردد

  2. اجراء شود

  3. بهنگام نگهداشته شود

  4. تمامی موارد

مشاهده پاسخ :

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

جستجو
جستجو

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

مقالات
مشاهده گروه ها


اشکال زدائی کارت شبکه

 اشکال زدائی کارت شبکه New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
اشکال زدائی کارت شبکه ( بخش اول ) | مديريت آموزش | 1335 | 0 | 0

اشکال زدائی کارت شبکه ( بخش اول )

اشکال زدائی کارت شبکه ( بخش اول )

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

  • وجود اشکال در سخت افزار کارت شبکه و يا کامپيوتری که کارت شبکه بر روی آن نصب شده است .
  • وجود اشکال در کابلی که کارت شبکه را به هاب و يا سوئيچ متصل می نمايد .
  • هاب و يا سوئيچ دارای مشکلات مربوط به خود باشند .

اشکال زدائی يک کارت شبکه ممکن است صرفا" در حد و اندازه اعمال تغييراتی در خصوص پيکربندی آن باشد . در برخی موارد ، به منظور عيب يابی و رفع اشکال موجود ، می بايست تمامی موارد اشاره شده را بررسی نمود. در صورتی که از سيستم عامل ويندوز استفاده می گردد ، می توان لاگ سيستم را از طريق Event Viewer مشاهده نمود . در فايل فوق تمامی خطاهای زمان راه اندازی سيستم ثبت می شود . پس از بررسی لاگ سيستم ، ممکن است مشکل موجود مربوط به پيکربندی يک نرم افزار خاص باشد .
در زمان نصب کارت شبکه بر روی يک ايستگاه ، می بايست در ابتدا به مستندات ارائه شده همراه کارت شبکه مراجعه نمود تا مشخص گردد که چه مقاديری را می بايست برای IRQ و آدرس پورت I/O در نظر گرفت . در چنين مواردی لازم است که مستندات ساير دستگاه های نصب شده بر روی سيستم نيز مطالعه گردد. چراکه ممکن است اشکال موجود مربوط به conflict بين برخی تنظيمات انجام شده درخصوص ساير دستگاه های موجود بر روی سيستم باشد . ( برای رفع اشکال ، می بايست تنظيمات و پيکربندی ساير دستگاه ها را تغيير داد ) .
در صورتی که تمامی کارت های نصب شده بر روی يک سيسنم از نوع plug&play باشند ، می توان اين اطمينان را داشت که يک IRQ و يا آدرس حافظه باعث بروز conflict در سيستم نشده است . در چنين مواردی به منظور عيب يابی و رفع اشکال موجود ، می بايست امکاناتی ديگر نظير کابل ، هاب و سوئيچ را بررسی نمود .

بررسی LEDs : چراغ های مربوط به فعاليت و لينک
تمامی کارت های شبکه دارای يک و يا چندين LED به منظور نمايش وضعيت عملکرد کارت شبکه در هر لحظه می باشند . برای آگاهی از عملکرد هر يک از LED های موجود، می بايست به مستندات کارت شبکه مراجعه نمود . مثلا" برخی کارت های شبکه دارای يک LED به منظور نمايش وضعيت لينک ارتباطی می باشند . در اغلب موارد در صورتی که LED فوق روشن باشد ، اشکالی در لينک ارتباطی وجود نداشته و در مواردی که LED در وضعيت flashing باشد ، نشاندهنده وجود اشکال در لينک ارتباطی است (نظير مشکل در کابل ارتباطی و يا کانکتورها ) .
کارت های شبکه عموما" دارای يک LED ديگر به منظور نمايش وضعيت فعاليت شبکه می باشند . مثلا" در مواردی که LED فوق در وضعيت چشمک زن ( blinking ) باشد ، نشاندهنده ارسال و يا دريافت داده توسط کارت شبکه است .با توجه به اين که استانداردهای متفاوتی ممکن است در اين رابطه استفاده شده باشد ، می بايست به منطور آشنائی با عملکرد هر LED به مستندات کارت شبکه مراجعه نمود .اکثر سوئيچ ها و هاب ها نيز دارای يک LED به منظور نمايش وضعيت لينک ارتباطی با دستگاه موجود در شبکه می باشند ، بنابراين در صورت بروز اشکال می توان وضعيت اين LED را نيز بررسی نمود .
در صورت اطمينان از وجود اشکال در لينک ارتباطی ، می توان مراحل زير را به منظور رفع اشکال دنبال نمود :

  • بررسی تمامی کانکتورها به منظور حصول اطمينان از اتصال درست آنان در سوکت مربوطه

  • اطمينان از تنظيم صحيح کارت شبکه و پورت سوئيچ و يا هاب برای نوع يکسانی از لينک ارتباطی . ( مثلا" يک طرف بر روی سرعت 100Mbps و سمت ديگر بر روی سرعت 10Mbps تنظيم شده باشد و يا ممکن است سوئيچ در حالت full duplex تنظيم شده باشد در حالی که اين وضعيت در رابطه با کارت شبکه اعمال نشده است ) .

  • در صورتی که کارت شبکه ويژگی auto-negotiation را حمايت می نمايد ، سعی نمائيد ويژگی فوق را بر روی هاب و يا سوئيچ فعال و يا غير فعال نمائيد . در برخی موارد عليرغم اين که در مستندات ارائه شده همراه سوئيچ و يا هاب اعلام می شود که آنان دارای ويژگی auto-negotiation می باشند، ولی عملا" ممکن است دارای عملکرد صحيحی در اين رابطه نباشند . در چنين مواردی می بايست به صورت دستی اقدام به تنظيم و پيکربندی مناسب پورت هاب و يا سوئيچ نمود.

  • استفاده از پورت ديگری بر روی سوئيچ و يا هاب

  • استفاده از يک کابل ديگر که نسبت به صحت عملکرد آن اطمينان داريد .

  • نصب مجدد کارت شبکه در اسلات مربوطه

  • تغيير اسلاتی که کارت شبکه بر روی آن نصب شده است.

  • بررسی تنظيمات BIOS کامپيوتر . در اين رابطه لازم است که مستندات ارائه شده همراه کامپيوتر بررسی گردد تا مشخص شود که آيا می بايست برای آداپتورهای قديمی PCI اقدام به رزو نمودن IRQ نمود تا آنان از IRQ مشابهی استفاده ننمايند . در برخی از کامپيوترها می توان يک اسلات PCI را با استفاده از برنامه BIOS فعال و يا غيرفعال نمود . ( در صورت حمايت BIOS ) .

  • استفاده از يک کارت شبکه سالم تا مشخص گردد که آيا مشکل لينک ارتباطی همچنان وجود دارد .

در صورتی که پس از بررسی موارد اشاره شده همچنان مشکل وجود داشته باشد ، کارت شبکه را بر روی يک سيستم که نسبت به عملکرد صحيح آن اطمينان وجود دارد ، نصب نمائيد . در صورتی که کارت شبکه وظايف خود را بر روی سيستم جديد به درستی انجام می دهد ، مشخص خواهد شد که مشکل مربوط به کارت شبکه نبوده و ممکن است سيستم دارای يک مشکل سخت افزاری و يا نرم افزاری باشد .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


اشکال زدائی کارت شبکه ( بخش دوم )

 اشکال زدائی کارت شبکه ( بخش دوم ) New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
اشکال زدائی کارت شبکه ( بخش دوم ) | مديريت آموزش | 1157 | 0 | 0

اشکال زدائی کارت شبکه ( بخش دوم )

اشکال زدائی کارت شبکه ( بخش دوم )

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

اجرای برنامه اشکال زدائی ارائه شده به همراه کارت شبکه
تقريبا" به همراه تمامی کارت های شبکه حتی آنانی که به عنوان plug&Play ارائه می شوند ، يک فلاپی ديسک عرضه می گردد که بر روی آن درايورهای نرم افزاری و يک برنامه اشکال زدائی وجود دارد . برای اجرای برنامه های عيب يابی ارائه شده همراه کارت های شبکه ، عموما" می بايست کامپيوتر را با سيستم عامل DOS راه اندازی ( Boot ) نمود . بدين منظور برخی از کارت های شبکه به همراه يک فلاپی ديسک ارائه می گردند که Bootable نيز می باشد . زمانی که از برنامه های عيب يابی استفاده می گردد، می بايست اطمينان داشت که درايور و يا مدير حافظه اضافه ای در حافظه مستقر نشده باشد . ( پيشگيری از conflict ) . توجه داشته باشيد که منظور از DOS ، پنجره خط دستور ويندوز نمی باشد ، کامپيوتر می بايست با سيستم عامل DOS راه اندازی گردد .
تست هائی را که می توان با استفاده از برنامه های عيب يابی انجام داد به نوع برنامه ارائه شده بستگی دارد. پس از اجرای برنامه های عيب يابی با استفاده از منوی ارائه شده می توان يک و يا چندين تست را انجام داد . تست های فوق می تواند شامل بررسی وضعيت سخت افزار کارت شبکه و يا تست loopback باشد . برخی از کارت ها تست echo را نيز انجام می دهند. در چنين مواردی دو کارت شبکه از يک توليد کننده يکسان قادر به مبادله بسته های اطلاعاتی بين يکديگر می باشند .
در صورتی که کارت شبکه تمامی تست های ارائه شده توسط برنامه عيب يابی را با موفقيت به اتمام نرساند و اين اطمينان نيز وجود دارد که اسلاتی که کارت شبکه در آن نصب شده است ، مشکل خاصی ندارد ، می توان با احتمال بسيار زياد مشکل را در ارتباط با کارت شبکه تشخيص داد و به منظور رفع اشکال ، آن را با کارت ديگر جايگزين نمود .
از روش فوق در زمان نصب يک کارت شبکه جديد نيز می توان استفاده نمود . با اين که اکثر کارت های شبکه را می توان با استفاده از برنامه کمکی Add/Remove Hardware نصب نمود ، برای نصب برخی از کارت های شبکه می بايست از برنامه های نصب موجود بر روی فلاپی ديسک و يا CD همراه کارت شبکه، استفاده نمود.

عدم پيکربندی صحيح کارت شبکه
در صورتی که کارت شبکه تمامی تست های ارائه شده توسط برنامه عيب يابی را با موفقيت به اتمام برساند و مشاهده گردد که مشکل خاصی در ارتباط با عناصر فيزيکی موجود بر روی کارت شبکه، کامپيوتر ، هاب و يا سوئيچ وجود ندارد ، می توان متمرکز بر روی پيکربندی کارت شبکه گرديد و پارامترهای تنظيم شده در ارتباط با آن را بررسی نمود . بدين منظور لازم است مقادير درنظر گرفته شده برای IRQ و ساير اطلاعات پيکربندی مربوط به دستگاه های نصب شده بر روی کامپيوتر ، بررسی گردند . در صورت استفاده از سيستم عامل ويندوز ، می توان از برنامه System information به منظور آگاهی از وضعيت پيکربندی تجهيزات نصب شده بر روی سيستم ، استفاده نمود .
در صورت وجود conflict بين تنظيمات انجام شده ، می توان IRQ و آدرس های حافظه مورد نياز را مجددا" به دستگاه های موجود نسبت داد تا امکان عملکرد صحيح تمامی دستگاه های نصب شده فراهم گردد . مقداردهی مجدد مقادير IRQ و آدرس های حافظه ، مستلزم استفاده از نرم افزار ارائه شده همراه کارت شبکه است . در صورتی که از يک کارت ISA قديمی استفاده می گردد ، می بايست به منظور تغيير اطلاعات پيکربندی از jumper و يا سوئيچ های کوچک موجود بر روی کارت شبکه استفاده نمود. در صورت استفاده از يک کارت EISA ، می بايست از برنامه ECU به منظور پيکربندی کارت شبکه استفاده گردد .

بررسی پيکربندی شبکه
در صورتی که پس از انجام عمليات اشاره شده ، اشکال موجود تشخيص و برطرف نگردد ، ممکن است مشکل موجود در ارتباط با Protocol state باشد . مثلا" در صورتی که از يک سرويس دهنده DHCP برای اختصاص آدرس IP و ساير اطلاعات پيکربندی استفاده می گردد ، ممکن است کامپيوتر مورد نظر قادر به دريافت آدرس IP و ساير اطلاعات پيکربندی از يک سرويس دهنده DHCP نباشد . در صورتی که آدرس IP به صورت دستی تنظيم و به کامپيوتر مورد نظر نسبت داده شده است ، می بايست اطمينان حاصل گردد که آدرس فوق به بيش از يک کامپيوتر نسبت داده نشده است . در اين رابطه لازم است آدرس IP نسبت داده شده به يک کامپيوتر با توجه به Subnet مربوطه نيز بررسی گردد .
پس از حصول اطمينان از صحت کارکرد عناصر سخت افزاری به عنوان منابع بروز اشکال ، می توان از ابزارهای استاندارد ارائه شده در شبکه های مبتنی بر TCP/IP به منظور تشخيص و رفع اشکالات احتمالی ، استفاده نمود :

  • اشکال زدائی شبکه های مبتنی بر TCP/IP (بخش اول )

  • اشکال زدائی شبکه های مبتنی بر TCP/IP (بخش دوم )

  • اشکال زدائی شبکه های مبتنی بر TCP/IP (بخش سوم)

  • اشکال زدائی شبکه های مبتنی بر TCP/IP (بخش چهارم )

به منظور تسهيل در امر نگهداری و عيب يابی کامپيوترهای موجود در يک شبکه ، پيشنهاد می گردد اطلاعات پيکربندی هر يک از گره های موجود در شبکه مستند گردد . مثلا" می توان با استفاده از برنامه ای نظير Execl ليست تمامی گره های موجود در شبکه به همراه اطلاعات پيکربندی مرتبط با آنان را تهيه تا در صورت بروز اشکال با مراجعه به آن سريعا" اقدام به عيب يابی و رفع اشکال نمود .

جستجو
جستجو

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

مقالات
مشاهده گروه ها


آشنائی با اصول اوليه امنيت اطلاعات

 آشنائی با اصول اوليه امنيت اطلاعات New Page 1

ساير

شرايط استفاده از سايت
تشكر و قدردانی ( جديد)
در باره ما
ارتباط با ما
پيوند به ما
ارتباط اتوماتيک به مقالات ما
مقالات برگزيده
مقالات سايت در مطبوعات
نحوه ارسال مقاله
مرجع سايت های دات نت
تازه های MSDN
شبکه امنيت اطلاعات
ليست قيمت سخت افزار

SAKHA RAVESH CO.

ا مروز ◄

يکشنبه 24 مهر 1384 2005 Oct. 16 Sunday ToDay ►
صفحه اصلی | مقالات | نکته ها | دايره المعارف | خودآموزها | تازه ها | خود آزمون ها
نسخه قابل چاپ

5 4 3 2 1

عنوان | نويسنده | مشاهده | تعداد آراء | امتياز
مبانی امنيت اطلاعات ( بخش سوم) | مديريت آموزش | 1932 | 0 | 0

مبانی امنيت اطلاعات

مبانی امنيت اطلاعات ( بخش سوم)

سوال اول :از کداميک از پروتکل های زير به منظور قرار دادن بسته های اطلاعاتی در مقصد با اولويت مشخص شده و بر اساس sequence number استفاده می شود ؟

  1. FTP

  2. SMTP

  3. UDP

  4. TCP

مشاهده پاسخ :

پاسخ : گزينه d
توضيحات :
مسئوليت بررسی sequence number موجود در هدر هر يک از بسته های اطلاعاتی و قراردادن آنان با اولويت مشخص شده در مقصد بر عهده پروتکل TCP است .

سوال دوم : عنوان و ...... يک Email بگونه ای در نظر گرفته می شوند که کاربران را ترغيب به فعال نمودن فايل های ضميمه آلوده نمايند .

  1. نام فايل

  2. محتوای

  3. آدرس مبداء

  4. نام ويروس

مشاهده پاسخ :

پاسخ : گزينه b
توضيحات :
عنوان و محتوای يک Email بگونه ای در نظر گرفته می شوند که کاربران را ترغيب به فعال نمودن فايل های ضميمه و در نهايت اجرای يک برنامه ويروس نمايند .

سوال سوم:به سرويس های اشتراک فايلی نظير Kazaa,Napster و Morpheus چه اصطلاحی اطلاق می گردد ؟

  1. Warez

  2. شبکه های Peer-To-Peer

  3. پروتکل های ارسال فايل

  4. نرم افزارهای غير مجاز

مشاهده پاسخ :

پاسخ : گزينه b
توضيحات :
با استفاده از سرويس های اشتراک فايلی نظير Morpheus,GNUtella و Kazaa به کاربرانی که نرم افزار سرويس گيرنده مربوطه را بر روی کامپيوتر خود نصب کرده باشند ، اجازه داده می شود که ماشين های خود را به عنوان سرويس دهنده فايل برای مجامع P2P وارد شبکه نموده و خود نيز به فايل ها و ساير کامپيوترهای موجود در شبکه P2P دستيابی داشته باشند .

سوال چهارم: يک ....... ، دستگاه و يا نرم افزاری است که از آن به منظور بررسی ترافيک شبکه و اعلام پيام های هشداردهنده به کاربران و يا مديران شبکه در مواردی که مهاجمان قصد دستيابی غيرمجاز به منابع موجود بر روی شبکه را داشته باشند ، استفاده می گردد.

  1. Firewall

  2. Network monitor

  3. IDS

  4. Honeypot

مشاهده پاسخ :

پاسخ : گزينه c
توضيحات :
يک IDS ، دستگاه و يا نرم افزاری است که از آن به منظور بررسی ترافيک شبکه و اعلام پيام های هشداردهنده به کاربران و يا مديران شبکه در مواردی که مهاجمان قصد دستيابی غيرمجاز به منابع موجود بر روی شبکه را داشته باشند ، استفاده می گردد.

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

  1. آنتی ويروس
  2. فايروال
  3. مانيتورينگ شبکه
  4. IDS

مشاهده پاسخ :

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

سوال ششم: يک .......... ، برنامه ای است که تمامی ترافيک ورودی و خروجی شبکه را مانيتور نموده و دستيابی تمامی بسته های اطلاعاتی غير مجاز را بلاک می نمايد .

  1. آنتی ويروس

  2. سيستم تشخيص مزاحمين

  3. فايروال

  4. مانيتورينگ شبکه

مشاهده پاسخ :

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

سوال هفتم : DHCP ، مسئوليت اختصاص پويای ........ به هر يک از دستگاه های موجود در شبکه را برعهده دارد .

  1. آدرس های MAC

  2. اسامی Host

  3. آدرس های IP

  4. URL

مشاهده پاسخ :

پاسخ : گزينه c
توضيحات :
کامپيوترهائی که پيکربندی آنان بگونه ای است که می بايست از DHCP استفاده نمايند ، با سرويس دهنده DHCP ارتباط بر قرار نموده و درخواست يک آدرس IP را می نمايند . سرويس دهنده DHCP ، پس از بررسی بانک اطلاعاتی آدرس ها ، يکی از آدرس های موجود را به کامپيوتر و يا دستگاه متقاضی نسبت می دهد .

سوال هشتم :به منظور پيشگيری از دستيابی کاربران غيرمجاز به کامپيوتر ، می بايست account پيش فرض Guest دارای يک ...... قدرتمند باشد .

  1. رمزعبور

  2. رمزنگاری

  3. مجوز

  4. الگوريتم

مشاهده پاسخ :

پاسخ : گزينه a
توضيحات :
به منظور پيشگيری از دستيابی کاربران غيرمجاز به کامپيوتر ، می بايست account پيش فرض Guest دارای يک رمز عبور قدرتمند باشد .

سوال نهم:سايت هائی که امکان درج داده را برای کاربران فراهم نموده ولی بدرستی وضعيت داده ورودی را به منظور وجود تگ های اسکريپت آسيب پذير بررسی نمی نمايند ، می توانند در مقابل ........ آسيب پذير باشند .

  1. ويروس ها

  2. حملات Cross-site Scripting و يا XSS

  3. Blue Screens of Death

  4. شبکه های P2P

مشاهده پاسخ :

پاسخ : گزينه b
توضيحات :
سايت هائی که امکان درج داده را برای کاربران فراهم نموده ولی بدرستی وضعيت داده ورودی را به منظور وجود تگ های اسکريپت آسيب پذير بررسی نمی نمايند ، می توانند در مقابل حملات cross-site scripting آسيب پذير باشند .

سوال دهم:به منظور افزايش امنيت کاربران در زمان استفاده از اينترنت ، کداميک از ويژگی های زير را می بايست در نواحی Restricted و Internet مرورگرهای وب غير فعال نمود ؟

  1. دستيابی به اينترنت

  2. فعال نمودن نرم افزار

  3. کدهای مخرب

  4. Active Scripting

مشاهده پاسخ :

پاسخ : گزينه d
توضيحات :
به منظور افزايش امنيت کاربران در زمان استفاده از اينترنت ، می بايست ويژگی Active Scripting در نواحی Restricted و Internet غيرفعال گردد .

جستجو
جستجو

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

مقالات
مشاهده گروه ها