تبلیغات :
آکوستیک ، فوم شانه تخم مرغی، صداگیر ماینر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 4 از 5 اولاول 12345 آخرآخر
نمايش نتايج 31 به 40 از 42

نام تاپيک: آموزش کامل جامع درباره .NET ها

  1. #31
    آخر فروم باز Nesta's Avatar
    تاريخ عضويت
    Jan 2005
    محل سكونت
    tehran
    پست ها
    3,343

    پيش فرض

    برنامه هاي وب از معماري سرويس گيرنده - سرويس دهنده تبعيت نموده و بر روي سرويس دهنده وب مستقر و مسئوليت پاسخگوئي به درخواست هاي ارسالي توسط سرويس گيرندگان را برعهده خواهند داشت .در سمت سرويس گيرنده ، مرورگر و در سمت سرويس دهنده ، سرويس دهنده وب داراي جايگاهي خاص مي باشند . مرورگر ، ميزبان برنامه وب بوده و مهمترين وظيفه آن ارائه بخش رابط کاربر يک برنامه وب است . در اين راستا ، مرورگر داراي پتانسيل لازم به منظور تفسير و نمايش تگ هاي HTML مي باشد .در سمت سرويس دهنده ، برنامه هاي وب با نظارت و مديريت يک سرويس دهنده وب ( مثلا" IIS ) اجراء مي گردند . سرويس دهنده وب ، مسئوليت مديريت برنامه ، پردازش درخواست هاي ارسالي توسط سرويس گيرندگان و ارائه پاسخ لازم به سرويس گيرندگان را بر عهده دارد .به منظور قانونمند کردن ارسال درخواست سرويس گيرندگان و ارائه پاسخ سرويس دهنده ، مي بايست از يک پروتکل ارتباطي خاص استفاده گردد. پروتکل ، مجموعه اي از قوانين لازم بمنظور تشريح نحوه ارتباط دو و يا چندين آيتم از طريق يک محيط انتقال ( زير ساخت انتقال داده ) نظير اينترنت است . در برنامه هاي وب ( ارسال درخواست توسط سرويس گيرنده و پاسخ به درخواست توسط سرويس دهنده ) از پروتکل ارتباطي HTTP)Hypertext Transport Protocol) ، استفاده مي گردد.
    ASP.NET پلات فرم مايکروسافت براي طراحي و پياده سازي برنامه هاي وب در دات نت مي باشد . پس از درخواست يک صفحه ASP.NET توسط مرورگر سرويس گيرنده ، پردازش هاي متعددي بر روي سرويس دهنده وب به منظور ارائه پاسخ لازم ، انجام خواهد شد.شايد تاکنون سوالات مختلفي در رابطه با نحوه پردازش صفحات ASP.NET بر روي سرويس دهنده ، براي شما مطرح شده باشد :

    پس از درخواست يک صفحه ASP.NET ، بر روي سرويس دهنده وب چه اتفاقي مي افتد ؟
    نحوه برخورد سرويس دهنده وب با درخواست ارسالي توسط سرويس گيرنده چگونه است ؟
    تگ هاي HTML چگونه توليد و براي مرورگر ارسال مي گردد؟
    و شايد سوالات ديگر!
    در اين مقاله قصد داريم با نحوه پردازش صفحات ASP.NET بر روي سرويس دهنده بيشتر آشنا شويم . بديهي است تشريح تمامي مراحل با ذکر جزئيات از حوصله يک مقاله خارج بوده و هدف آشنائي با کليات موضوع با يک روند مشخص و سيستماتيک است .

    مرحله اول : ايجاد يک درخواست HTTP براي يک صفحه ASP.NET توسط مرورگر
    پردازش با درخواست يک صفحه ASP.NET که توسط مرورگر ايجاد مي شود ، آغاز مي گردد .مثلا" يک کاربر ممکن است در بخش آدرس مرورگر کامپيوتر خود آدرس [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] را به منظور دريافت اين مقاله وارد نمايد . مرورگر در ادامه يک درخواست HTTP را از سرويس دهنده وب محل استقرار سايت Srco.ir ايجاد و درخواست فايل حاوي مقاله را مي نمايد .

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

    انشعاب aspx . ، براي صفحات وب ASP.NET
    انشعاب asmx . ، براي سرويس هاي وب ASP.NET
    انشعاب config . ، براي فايل هاي پيکربندي ASP.NET
    انشعاب ashx . ، براي هندلرهاي سفارشي ASP.NET HTTP
    انشعاب rem . ، براي منابع راه دور
    و ساير انشعابات ديگر




    پس از دريافت درخواست ارسالي توسط سرويس گيرنده ، سرويس دهنده وب آن را در اختيار مسئول مربوطه قرار خواهد داد . مثلا" در صورتيکه درخواست دريافتي مربوط به يک صفحه ASP کلاسيک باشد ، درخواست در اخـتيار asp.dll گذاشته شده و يا در صورتيکه درخواست در ارتباط با يک صفحه ASP.NET باشد ، درخواست در اختيار موتور ASP.NET قرار داده مي شود . همانگونه که اشاره گرديد ، معيار اصلي در اين تصميم گيري ، نوع انشعاب فايل درخواست شده توسط سرويس گيرنده مي باشد . شکل زير مراحل اول و دوم اشاره شده را نشان مي دهد .




    منبع : [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

    مرحله سوم : عملکرد موتور ASP.NET
    پس از درخواست يک صفحه ASP.NET توسط سرويس گيرنده و دريافت آن توسط سرويس دهنده وب ، درخواست دريافتي در اختيار موتور ASP.NET قرار داده مي شود . از موتور ASP.NET ، اغلب با نام ASP.NET HTTP pipeline ياد مي گردد. علت نامگذاري فوق ، بدين دليل است که درخواست دريافتي از بين تعداد متغيري از HTTP modules در بين مسير خود براي رسيدن به يک HTTP handler عبور مي نمايد . HTTP modules ، کلاس هائي مي باشند که امکان دستيابي به درخواست دريافتي را دارا مي باشند. اين ماژول ها قادر به بازبيني و بررسي درخواست دريافتي و اتخاد تصميماتي مي باشند که مستقيما" بر نحوه گردش داخلي ( روند برخورد با درخواست ) تاثير خواهد گذاشت . درخواست دريافتي پس از عبور از ماژول هاي مسخص شده HTTP ، به يک HTTP Handler خواهد رسيد . HTTP Handler مسئوليت ايجاد خروجي لازم به منظور ارسال براي مرورگر متقاصي ( ارسال کننده درخواست ) را برعهده دارد. شکل زير ، pipline يک درخواست ASP.NET را نشان مي دهد .




    منبع : [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

    تعداد زيادي از ماژول هاي HTTP از قبل ايجاد شده، بصورت پيش فرض در HTTP pipline وجود دارد:

    OutputCache ، مسئوليت برگرداندن و Caching خروجي صفحات HTML در صورت نياز ، برعهده دارد .

    Session ، ماژول فوق ، مسئوليت لود Session state را بر اساس درخواست دريافتي کاربر و روش Session که در فايل Web.config مشخص شده است ، برعهده دارد .

    FormsAuthentication ، ماژول فوق ، مسئوليت تائيد کاربران بر اساس مدل تعريف شده Forms Authentication را در صورت ضرورت برعهده دارد .

    و موارد ديگر

    به منظورآشنائي با ماژول هاي پيش فرض، مي توان مقادير نسبت داده شده به عنصر <httpModules> در فايل machine.config را مشاهده نمود. جدول زير مقدار پيش فرض عنصر <httpModules> را نشان مي دهد .


    machine.Config: httpModules Section
    Path : $WINDOWS$\Microsoft.NET\Framework\$VERSION$\CONFIG

    <httpModules>
    <add name="OutputCache" type="System.Web.Caching.OutputCacheModule"/>
    <add name="Session" type="System.Web.SessionState.SessionStateModule"/>
    <add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationMod ule"/>
    <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModul e"/>
    <add name="PassportAuthentication" type="System.Web.Security.PassportAuthenticationMo dule"/>
    <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule"/>
    <add name="FileAuthorization" type="System.Web.Security.FileAuthorizationModule"/>
    <add name="ErrorHandlerModule" type="System.Web.Mobile.ErrorHandlerModule, System.Web.Mobile,
    Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
    </httpModules>



    هندلرهاي HTTP ، نقطه پايان در ASP.NET HTTP pipeline مي باشند . مسئوليت HTTP handler ، توليد خروجي براي منبع درخواست شده است . براي صفحات ASP.NET ، اين به معني Rendering ، کنترل هاي وب به HTML و برگرداندن HTML مي باشد. براي يک سرويس وب ، مسئوليت فوق ، شامل اجراي متد مشخص شده و Wrapping مقاير برگردانده شده به يک پاسخ مناسب و با فرمت SOAP مي باشد . منابع متفاوت ASP.NET از هندلرهاي متفاوت HTTP استفاده مي نمايند.هندلرهاي پيش فرص استفاده شده ، توسط بخش <httpHandlers> فايل machine.config مشخص شده اند. بخش فوق، شامل کلاس هائي است که يا خود HTTP handler بوده و يا HTTP handler factories ، مي باشند. يک HTTP handler factory ، صرفا" يک نمونه از يک HTTP handler را پس از فراخواني ، برمي گرداند . جدول زير ، اطلاعات عنصر <httpHandlers> در فايل machine.config را نشان مي دهد .


    machine.Config: httpHandlers Section
    Path : $WINDOWS$\Microsoft.NET\Framework\$VERSION$\CONFIG

    <httpHandlers>
    <add verb="*" path="trace.axd" type="System.Web.Handlers.TraceHandler"/>
    <add verb="*" path="*.aspx" type="System.Web.UI.PageHandlerFactory"/>
    <add verb="*" path="*.ashx" type="System.Web.UI.SimpleHandlerFactory"/>
    . ...
    <add verb="*" path="*.resources" type="System.Web.HttpForbiddenHandler"/>
    <add verb="GET,HEAD" path="*" type="System.Web.StaticFileHandler"/>
    <add verb="*" path="*" type="System.Web.HttpMethodNotAllowedHandler"/>
    </httpHandlers>



    لازم است به اين نکته اشاره گردد که امکان ايجاد HTTP modules و HTTP handler اختصاصي ، توسط طراحان وپياده کنندگان برنامه هاي وب ASP.NET نيز وجود دارد . پس از ايجاد ماژول ها و هندلرهاي HTTP ، مي توان آنان را به pipeline ملحق تا براي تمامي سايت هاي وب موجود بر سرويس دهنده وب ، قابل استفاده گردند. بدين منظور، مي توان تغييرات لازم را در فايل machine.config اعمال تا زمينه استفاده از آنان توسط تمامي برنامه هاي وب فراهم گردد . در اين رابطه مي توان تغييرات را در فايل Web.config نيز اعمال نمود، در چنين مواردي امکان استفاده از ماژول ها و هندلرهاي HTTP ايجاد شده ، صرفا" براي يک برنامه وب وجود خواهد داشت .

    مرحله چهارم : توليد خروجي
    آخرين مرحله درارتباط با پردازش يک صفحه ASP.NET بر روي سرويس دهنده وب ، شامل ايجاد خروجي مناسب است . خروجي فوق ، در ادامه از طريق ماژول هاي HTTP عبور داده شده تا مجددا" به IIS برسد . در نهايت IIS ، خروجي توليد شده را براي سرويس گيرنده متقاصي ارسال مي نمايد .مراحل لازم به منظور توليد خروجي با توجه به HTTP handler متفاوت بوده و در ادامه صرفا" يک حالت خاص آن را بررسي مي نمائيم ( هندلر HTTP که از آن به منظور rendering صفحات ASP.NET استفاده مي گردد).
    سرويس دهنده وب (IIS) پس از دريافت درخواستي براي يک صفحه ASP.NET ( انشعاب فايل aspx.) ، آن را در اختيار موتور ASP.NET ، قرار خواهد داد. درخواست دريافتي در ادامه از بين ماژول ها عبور داده شده تا به PageHandlerFactory برسد ( در بخش <httpHandlers> فايل machin.config که قبلا" mapping آن انجام شده است ) .


    machine.Config: httpHandlers Section :PageHandlerFactory
    Path : $WINDOWS$\Microsoft.NET\Framework\$VERSION$\CONFIG

    <httpHandlers>
    ...
    <add verb="*" path="*.aspx" type="System.Web.UI.PageHandlerFactory"/>
    . ...
    </httpHandlers>



    کلاس PageHandlerFactory ، يک HTTP handler factory است که وظيفه آن ارائه نمونه اي از يک HTTP handlerبوده که قادر به برخورد مناسب با درخواست ارسالي است.مهمترين رسالت PageHandlerFactory ، يافتن کلاس ترجمه شده اي است که نشاندهنده صفحه ASP.NET درخواستي مي باشد. در صورتيکه از ويژوال استوديو دات نت به منظور ايجاد صفحات ASP.NET استفاده مي گردد ، صفحات وب از دو فايل جداگانه ( يک فايل با انشعاب aspx . ، شامل صرفا" کنترل هاي وب و تگ هاي HTML و يک فايل aspx.vb و يا aspx.cs شامل کلاس code-behind ( کد سمت سرويس دهنده ) ) ، تشکيل مي گردند. در صورتيکه از ويژوال استوديو دات نت استفاده نمي گردد ، مي توان از يک بلاک سمت سرويس دهنده <Script> استفاده تا کد سمت سرويس دهنده را درخود نگهداري نمايد . صرفنظر از اينکه از کدام رويکرد استفاده مي گردد ، زمانيکه صفحه ASP.NET اولين مرتبه و پس از ايجاد تغيير در تگ هاي HTML و يا محتوي کنترل وب ، مشاهده مي گردد ، موتور ASP.NET يک کلاس که مشتق شده از کلاس System.Web.UI.Page مي باشد را ايجاد مي نمايد . کلاس فوق بصورت اتوماتيک ايجاد و کمپايل مي گردد .
    Page Class ، عمليات پياده سازي IhttpHandler را انجام خواهد داد. PageHandlerFactory ، در ادامه بررسي لازم در خصوص وجود يک نسخه کمپايل شده از صفحه ASP.NET درخواستي را انجام خواهد داد. در صورتيکه صفحه ترجمه شده وجود نداشته باشد ، PageHandlerFactory آن را بصورت پويا ايجاد و ترجمه خواهد کرد . کلاس فوق ، در ادامه متد خاصي را به منظور توليد HTML ، فرا مي خواند . اطلاعات توليد شده به فرمت HTML ، در نهايـت براي سرويس گيرنده ارسال مي گردد.وجود تاخير در مشاهده صفحات ASP.NET که بر روي آنان تغييراتي اعمال شده است ( HTML و يا محتوي کنترل وب) ، بدين دليل است که موتور ASP.NET نيازمند ايجاد و ترجمه مجدد کلاس مرتبط با صفحه ASP.NET مي باشد.




    منبع : [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

    پس از ايجاد و ترجمه کلاس توسط PageHandlerFactory ، امکان فراخواني کلاس ايجاد شده به منظور توليد HTML ، فراهم مي گردد . فرآيند Rendering که شامل بدست آوردن HTML لازم براي صفحه ASP.NET درخواست شده مي باشد از حوصله اين مقاله خارج بوده و مي توان در اين رابطه از مقاله The ASP.NET Page Object Model استفاده نمود .
    منبع : [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

  2. #32
    آخر فروم باز Nesta's Avatar
    تاريخ عضويت
    Jan 2005
    محل سكونت
    tehran
    پست ها
    3,343

    پيش فرض

    برنامه هاي وب از معماري سرويس گيرنده - سرويس دهنده تبعيت نموده و بر روي سرويس دهنده وب مستقر و مسئوليت پاسخگوئي به درخواست هاي ارسالي توسط سرويس گيرندگان را برعهده خواهند داشت .در سمت سرويس گيرنده ، مرورگر و در سمت سرويس دهنده ، سرويس دهنده وب داراي جايگاهي خاص مي باشند . مرورگر ، ميزبان برنامه وب بوده و مهمترين وظيفه آن ارائه بخش رابط کاربر يک برنامه وب است . در اين راستا ، مرورگر داراي پتانسيل لازم به منظور تفسير و نمايش تگ هاي HTML مي باشد .در سمت سرويس دهنده ، برنامه هاي وب با نظارت و مديريت يک سرويس دهنده وب ( مثلا" IIS ) اجراء مي گردند . سرويس دهنده وب ، مسئوليت مديريت برنامه ، پردازش درخواست هاي ارسالي توسط سرويس گيرندگان و ارائه پاسخ لازم به سرويس گيرندگان را بر عهده دارد .به منظور قانونمند کردن ارسال درخواست سرويس گيرندگان و ارائه پاسخ سرويس دهنده ، مي بايست از يک پروتکل ارتباطي خاص استفاده گردد. پروتکل ، مجموعه اي از قوانين لازم بمنظور تشريح نحوه ارتباط دو و يا چندين آيتم از طريق يک محيط انتقال ( زير ساخت انتقال داده ) نظير اينترنت است . در برنامه هاي وب ( ارسال درخواست توسط سرويس گيرنده و پاسخ به درخواست توسط سرويس دهنده ) از پروتکل ارتباطي HTTP)Hypertext Transport Protocol) ، استفاده مي گردد.
    ASP.NET پلات فرم مايکروسافت براي طراحي و پياده سازي برنامه هاي وب در دات نت مي باشد . پس از درخواست يک صفحه ASP.NET توسط مرورگر سرويس گيرنده ، پردازش هاي متعددي بر روي سرويس دهنده وب به منظور ارائه پاسخ لازم ، انجام خواهد شد.شايد تاکنون سوالات مختلفي در رابطه با نحوه پردازش صفحات ASP.NET بر روي سرويس دهنده ، براي شما مطرح شده باشد :

    پس از درخواست يک صفحه ASP.NET ، بر روي سرويس دهنده وب چه اتفاقي مي افتد ؟
    نحوه برخورد سرويس دهنده وب با درخواست ارسالي توسط سرويس گيرنده چگونه است ؟
    تگ هاي HTML چگونه توليد و براي مرورگر ارسال مي گردد؟
    و شايد سوالات ديگر!
    در اين مقاله قصد داريم با نحوه پردازش صفحات ASP.NET بر روي سرويس دهنده بيشتر آشنا شويم . بديهي است تشريح تمامي مراحل با ذکر جزئيات از حوصله يک مقاله خارج بوده و هدف آشنائي با کليات موضوع با يک روند مشخص و سيستماتيک است .

    مرحله اول : ايجاد يک درخواست HTTP براي يک صفحه ASP.NET توسط مرورگر
    پردازش با درخواست يک صفحه ASP.NET که توسط مرورگر ايجاد مي شود ، آغاز مي گردد .مثلا" يک کاربر ممکن است در بخش آدرس مرورگر کامپيوتر خود آدرس [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] را به منظور دريافت اين مقاله وارد نمايد . مرورگر در ادامه يک درخواست HTTP را از سرويس دهنده وب محل استقرار سايت Srco.ir ايجاد و درخواست فايل حاوي مقاله را مي نمايد .

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

    انشعاب aspx . ، براي صفحات وب ASP.NET
    انشعاب asmx . ، براي سرويس هاي وب ASP.NET
    انشعاب config . ، براي فايل هاي پيکربندي ASP.NET
    انشعاب ashx . ، براي هندلرهاي سفارشي ASP.NET HTTP
    انشعاب rem . ، براي منابع راه دور
    و ساير انشعابات ديگر




    پس از دريافت درخواست ارسالي توسط سرويس گيرنده ، سرويس دهنده وب آن را در اختيار مسئول مربوطه قرار خواهد داد . مثلا" در صورتيکه درخواست دريافتي مربوط به يک صفحه ASP کلاسيک باشد ، درخواست در اخـتيار asp.dll گذاشته شده و يا در صورتيکه درخواست در ارتباط با يک صفحه ASP.NET باشد ، درخواست در اختيار موتور ASP.NET قرار داده مي شود . همانگونه که اشاره گرديد ، معيار اصلي در اين تصميم گيري ، نوع انشعاب فايل درخواست شده توسط سرويس گيرنده مي باشد . شکل زير مراحل اول و دوم اشاره شده را نشان مي دهد .




    منبع : [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

    مرحله سوم : عملکرد موتور ASP.NET
    پس از درخواست يک صفحه ASP.NET توسط سرويس گيرنده و دريافت آن توسط سرويس دهنده وب ، درخواست دريافتي در اختيار موتور ASP.NET قرار داده مي شود . از موتور ASP.NET ، اغلب با نام ASP.NET HTTP pipeline ياد مي گردد. علت نامگذاري فوق ، بدين دليل است که درخواست دريافتي از بين تعداد متغيري از HTTP modules در بين مسير خود براي رسيدن به يک HTTP handler عبور مي نمايد . HTTP modules ، کلاس هائي مي باشند که امکان دستيابي به درخواست دريافتي را دارا مي باشند. اين ماژول ها قادر به بازبيني و بررسي درخواست دريافتي و اتخاد تصميماتي مي باشند که مستقيما" بر نحوه گردش داخلي ( روند برخورد با درخواست ) تاثير خواهد گذاشت . درخواست دريافتي پس از عبور از ماژول هاي مسخص شده HTTP ، به يک HTTP Handler خواهد رسيد . HTTP Handler مسئوليت ايجاد خروجي لازم به منظور ارسال براي مرورگر متقاصي ( ارسال کننده درخواست ) را برعهده دارد. شکل زير ، pipline يک درخواست ASP.NET را نشان مي دهد .




    منبع : [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

    تعداد زيادي از ماژول هاي HTTP از قبل ايجاد شده، بصورت پيش فرض در HTTP pipline وجود دارد:

    OutputCache ، مسئوليت برگرداندن و Caching خروجي صفحات HTML در صورت نياز ، برعهده دارد .

    Session ، ماژول فوق ، مسئوليت لود Session state را بر اساس درخواست دريافتي کاربر و روش Session که در فايل Web.config مشخص شده است ، برعهده دارد .

    FormsAuthentication ، ماژول فوق ، مسئوليت تائيد کاربران بر اساس مدل تعريف شده Forms Authentication را در صورت ضرورت برعهده دارد .

    و موارد ديگر

    به منظورآشنائي با ماژول هاي پيش فرض، مي توان مقادير نسبت داده شده به عنصر <httpModules> در فايل machine.config را مشاهده نمود. جدول زير مقدار پيش فرض عنصر <httpModules> را نشان مي دهد .


    machine.Config: httpModules Section
    Path : $WINDOWS$\Microsoft.NET\Framework\$VERSION$\CONFIG

    <httpModules>
    <add name="OutputCache" type="System.Web.Caching.OutputCacheModule"/>
    <add name="Session" type="System.Web.SessionState.SessionStateModule"/>
    <add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationMod ule"/>
    <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModul e"/>
    <add name="PassportAuthentication" type="System.Web.Security.PassportAuthenticationMo dule"/>
    <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule"/>
    <add name="FileAuthorization" type="System.Web.Security.FileAuthorizationModule"/>
    <add name="ErrorHandlerModule" type="System.Web.Mobile.ErrorHandlerModule, System.Web.Mobile,
    Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
    </httpModules>



    هندلرهاي HTTP ، نقطه پايان در ASP.NET HTTP pipeline مي باشند . مسئوليت HTTP handler ، توليد خروجي براي منبع درخواست شده است . براي صفحات ASP.NET ، اين به معني Rendering ، کنترل هاي وب به HTML و برگرداندن HTML مي باشد. براي يک سرويس وب ، مسئوليت فوق ، شامل اجراي متد مشخص شده و Wrapping مقاير برگردانده شده به يک پاسخ مناسب و با فرمت SOAP مي باشد . منابع متفاوت ASP.NET از هندلرهاي متفاوت HTTP استفاده مي نمايند.هندلرهاي پيش فرص استفاده شده ، توسط بخش <httpHandlers> فايل machine.config مشخص شده اند. بخش فوق، شامل کلاس هائي است که يا خود HTTP handler بوده و يا HTTP handler factories ، مي باشند. يک HTTP handler factory ، صرفا" يک نمونه از يک HTTP handler را پس از فراخواني ، برمي گرداند . جدول زير ، اطلاعات عنصر <httpHandlers> در فايل machine.config را نشان مي دهد .


    machine.Config: httpHandlers Section
    Path : $WINDOWS$\Microsoft.NET\Framework\$VERSION$\CONFIG

    <httpHandlers>
    <add verb="*" path="trace.axd" type="System.Web.Handlers.TraceHandler"/>
    <add verb="*" path="*.aspx" type="System.Web.UI.PageHandlerFactory"/>
    <add verb="*" path="*.ashx" type="System.Web.UI.SimpleHandlerFactory"/>
    . ...
    <add verb="*" path="*.resources" type="System.Web.HttpForbiddenHandler"/>
    <add verb="GET,HEAD" path="*" type="System.Web.StaticFileHandler"/>
    <add verb="*" path="*" type="System.Web.HttpMethodNotAllowedHandler"/>
    </httpHandlers>



    لازم است به اين نکته اشاره گردد که امکان ايجاد HTTP modules و HTTP handler اختصاصي ، توسط طراحان وپياده کنندگان برنامه هاي وب ASP.NET نيز وجود دارد . پس از ايجاد ماژول ها و هندلرهاي HTTP ، مي توان آنان را به pipeline ملحق تا براي تمامي سايت هاي وب موجود بر سرويس دهنده وب ، قابل استفاده گردند. بدين منظور، مي توان تغييرات لازم را در فايل machine.config اعمال تا زمينه استفاده از آنان توسط تمامي برنامه هاي وب فراهم گردد . در اين رابطه مي توان تغييرات را در فايل Web.config نيز اعمال نمود، در چنين مواردي امکان استفاده از ماژول ها و هندلرهاي HTTP ايجاد شده ، صرفا" براي يک برنامه وب وجود خواهد داشت .

    مرحله چهارم : توليد خروجي
    آخرين مرحله درارتباط با پردازش يک صفحه ASP.NET بر روي سرويس دهنده وب ، شامل ايجاد خروجي مناسب است . خروجي فوق ، در ادامه از طريق ماژول هاي HTTP عبور داده شده تا مجددا" به IIS برسد . در نهايت IIS ، خروجي توليد شده را براي سرويس گيرنده متقاصي ارسال مي نمايد .مراحل لازم به منظور توليد خروجي با توجه به HTTP handler متفاوت بوده و در ادامه صرفا" يک حالت خاص آن را بررسي مي نمائيم ( هندلر HTTP که از آن به منظور rendering صفحات ASP.NET استفاده مي گردد).
    سرويس دهنده وب (IIS) پس از دريافت درخواستي براي يک صفحه ASP.NET ( انشعاب فايل aspx.) ، آن را در اختيار موتور ASP.NET ، قرار خواهد داد. درخواست دريافتي در ادامه از بين ماژول ها عبور داده شده تا به PageHandlerFactory برسد ( در بخش <httpHandlers> فايل machin.config که قبلا" mapping آن انجام شده است ) .


    machine.Config: httpHandlers Section :PageHandlerFactory
    Path : $WINDOWS$\Microsoft.NET\Framework\$VERSION$\CONFIG

    <httpHandlers>
    ...
    <add verb="*" path="*.aspx" type="System.Web.UI.PageHandlerFactory"/>
    . ...
    </httpHandlers>



    کلاس PageHandlerFactory ، يک HTTP handler factory است که وظيفه آن ارائه نمونه اي از يک HTTP handlerبوده که قادر به برخورد مناسب با درخواست ارسالي است.مهمترين رسالت PageHandlerFactory ، يافتن کلاس ترجمه شده اي است که نشاندهنده صفحه ASP.NET درخواستي مي باشد. در صورتيکه از ويژوال استوديو دات نت به منظور ايجاد صفحات ASP.NET استفاده مي گردد ، صفحات وب از دو فايل جداگانه ( يک فايل با انشعاب aspx . ، شامل صرفا" کنترل هاي وب و تگ هاي HTML و يک فايل aspx.vb و يا aspx.cs شامل کلاس code-behind ( کد سمت سرويس دهنده ) ) ، تشکيل مي گردند. در صورتيکه از ويژوال استوديو دات نت استفاده نمي گردد ، مي توان از يک بلاک سمت سرويس دهنده <Script> استفاده تا کد سمت سرويس دهنده را درخود نگهداري نمايد . صرفنظر از اينکه از کدام رويکرد استفاده مي گردد ، زمانيکه صفحه ASP.NET اولين مرتبه و پس از ايجاد تغيير در تگ هاي HTML و يا محتوي کنترل وب ، مشاهده مي گردد ، موتور ASP.NET يک کلاس که مشتق شده از کلاس System.Web.UI.Page مي باشد را ايجاد مي نمايد . کلاس فوق بصورت اتوماتيک ايجاد و کمپايل مي گردد .
    Page Class ، عمليات پياده سازي IhttpHandler را انجام خواهد داد. PageHandlerFactory ، در ادامه بررسي لازم در خصوص وجود يک نسخه کمپايل شده از صفحه ASP.NET درخواستي را انجام خواهد داد. در صورتيکه صفحه ترجمه شده وجود نداشته باشد ، PageHandlerFactory آن را بصورت پويا ايجاد و ترجمه خواهد کرد . کلاس فوق ، در ادامه متد خاصي را به منظور توليد HTML ، فرا مي خواند . اطلاعات توليد شده به فرمت HTML ، در نهايـت براي سرويس گيرنده ارسال مي گردد.وجود تاخير در مشاهده صفحات ASP.NET که بر روي آنان تغييراتي اعمال شده است ( HTML و يا محتوي کنترل وب) ، بدين دليل است که موتور ASP.NET نيازمند ايجاد و ترجمه مجدد کلاس مرتبط با صفحه ASP.NET مي باشد.




    منبع : [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

    پس از ايجاد و ترجمه کلاس توسط PageHandlerFactory ، امکان فراخواني کلاس ايجاد شده به منظور توليد HTML ، فراهم مي گردد . فرآيند Rendering که شامل بدست آوردن HTML لازم براي صفحه ASP.NET درخواست شده مي باشد از حوصله اين مقاله خارج بوده و مي توان در اين رابطه از مقاله The ASP.NET Page Object Model استفاده نمود .
    منبع : [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

  3. #33
    آخر فروم باز Nesta's Avatar
    تاريخ عضويت
    Jan 2005
    محل سكونت
    tehran
    پست ها
    3,343

    پيش فرض

    با استفاده از 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 ، مي توان از صحت تنظيمات انجام شده ، اطمينان حاصل نمود .پس از تست موفقيت آميز ارتباط ايجاد شده با بانک اطلاعاتي ، ويژوال استوديو دات نت ، ارتباط ايجاد شده را به Server Explorer اضافه مي نمايد .

    با کليک نمودن بر روي علامت "+" ، آيتم هاي مربوط به بانک اطلاعاتي نمايش داده خواهند شد . براي مشاهده جداول ، مي توان آيتم هاي مربوطه را تحت Data Connection فعال و در ادامه از طريق Table و فعال نمودن آن ، جداول مربوط به بانک اطلاعاتي را مشاهده نمود.




    براي افزودن يک آيتم به برنامه ، از طريق Sever Explorer آن را انتخاب و بر روي فرم وب قرار مي دهيم . در مواردي که يک جدول بر روي فرم وب مستقر مي گردد ، ويژوال استوديو دات نت ، اشياء Connection و adapter را به همراه تنظيمات مناسب ، ايجاد مي نمايد.




    ايجاد يک Data Set
    با استفاده از اشياء Connection و Adapter ( ايجاد شده در بخش قبل )، مي توان يک Data set را ايجاد نمود. براي ايجاد يک Data set پس از استقرار در حالت Design ، مراحل زير را دنبال مي نمائيم .

    بر روي شي adapter کليک سمت راست نموده و گزينه Generate Dataset را انتخاب مي نمائيم . ويژوال استوديو در ادامه ، جعبه محاوره اي Generate Dataset را نمايش خواهد داد .




    جداول مورد نظر را براي اضافه نمودن به Data set انتخاب کرده و در ادامه بر روي دکمه Ok کليک مي نمائيم . ويژوال استوديو يک Data set جديد راايجاد و آن را به فرم وب اضافه مي نمايد .

    براي مشاهده داده موجود در Data set ، ( در حالت Desgin ) برروي شي DataSet کليک سمت راست نموده و گزينه View Schema را انتخاب مي نمائيم . در ادامه Data Set در پنجره XML Designer نمايش داده مي شود .




    نمايش يک Data set
    براي نمايش يک Data Set بر روي يک فرم وب و در زمان اجراء ، مراحل زير را دنبال مي نمائيم :

    افزودن يک کنترل بر روي فرم وب به منظور نمايش داده . مثلا" مي توان يک کنترل DataGrid را به فرم وب اضافه نمود .

    انتخاب Data set به عنوان منبع داده براي کنترل . مثلا" براي کنترل DataGrid ، گزينه Property Builder را از طريق پنجره Properties انتخاب و DataSource آن را به شي Dataset نسبت داده و خصلت DataMember را به يک جدول در Data Set نسبت مي دهيم .






    ستون هاي مورد نظر براي نمايش در کنترل را مشخص مي نمائيم . براي کنترل DataGrid ، برروي آيتم Columns کليک نموده ( از طريق جعبه محاوره اي Properties ) و گزينه Create Columns Automaticlly At Run Time را غير فعال نموده ( Deselect ) و در ادامه ستون هاي مورد نظر براي نمايش را از طريق Available Columns list ، اضافه مي نمائيم .( در اين مثال ، ستون هاي نام و آدرس پست الکترونيکي اضافه شده اند ) .




    اضافه نمودن کد لازم در روتين مربوط به رويداد Page_Load به منظور پر نمودن Data set از طريق Data Adapter و نسبت دهي داده از طريق شي DataSet براي کنترل . مثلا" کد زير باعث نمايش داده در کنترل DataGrid ( ايجاد شده در مرحله قبل ) مي نمايد .

    VB.NET

    Private Sub Page_Load (ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles Mybase.Load
    SqlDataAdapter1.Fill ( SrcoDataSet11)
    DataGrid1.DataBind ( )
    End Sub


    پس از اجراي برنامه و لود شدن صفحه ، Dataset نمايش داده مي شود .




    با توجه به اين که پر نمودن Data set و نسبت دهي داده به کنترل DataGrid از طريق رويداد Page_Load انجام مي شود ، ضرورتي به نگهداري اطلاعات وضعيت براي کنترل DataGrid وجود نخواهد داشت . با مقداردهي خصلت EnableViewState به False ، کارائي برنامه بهبود مي يابد.

    تغيير رکوردها در يک بانک اطلاعاتي
    DataSet يک شي اصلي و مهم در ADO.NET بوده و هرگونه تغييرات شامل افزودن ، حذف و يا تغيير رکوردهاي موجود در يک بانک اطلاعاتي عموما" از طريق شي فوق، انجام مي شود . براي تغيير رکوردها از طريق يک DataSet مراحل زير را دنبال مي نمائيم .

    دستيابي به شي Dataset ( مشابه روشي که به آن اشاره گرديد)

    تغيير DataSet

    بهنگام سازي بانک اطلاعاتي از طريق DataSet توسط فراخواني متد Update مربوط به شي Adapter

    از مجموعه هاي Tables,Rows و Columns براي دستيابي به داده موجود در يک DataSet استفاده مي گردد . در بخش دوم اين مقاله با نحوه استفاده از مجموعه هاي فوق به منظور ويرايش يک بانک اطلاعاتي ، آشنا خواهيم شد.

  4. #34
    آخر فروم باز Nesta's Avatar
    تاريخ عضويت
    Jan 2005
    محل سكونت
    tehran
    پست ها
    3,343

    پيش فرض

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

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

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

    مي توان از سرويس هاي نرم افزاري و منابع خارجي بمنظور طراحي و پياده سازي نرم افزار مورد نظر خود استفاده کرد.
    امکان ايجاد منابع نرم افزاري بيشتري بصورت ماژولار ، وجود خواهد داشت ( کيت هاي نرم افزاري با قابليت استفاده مجدد ) .
    هزينه توليد نرم افزار کاهش و بهره وري افزايش خواهد يافت .
    مطرح شدن ايده عرضه نرم افزار بعنوان سرويس . بدين ترتيب در مقابل عرضه يک نرم افزار Stand-alone ، مي توان از رويکرد نرم افزار بعنوان سرويس ، استفاده نمود.
    عناصر معماري مبتني بر سرويس
    معماري مبتني بر سرويس براي پياده سازي برنامه هاي توزيع شده ،ايده آل مي باشد . معماري فوق ،امکان پياده سازي پويا ، آزاد و گسترده برنامه هاي توزيع شده را فراهم مي نمايد.
    امروزه شاهد بکارگيري سيستم هاي متعددي مي باشيم که خود از چندين برنامه و يا زير سيستم استفاده مي نمايند. با توجه به ارتباط بين سيستمها با يکديگر ، ايجاد و اعمال يک تغيير در ارتباط با هر يک از زير سيستمها مي تواند باعث بروز اشکال در تعداد زيادي از عناصر وابسته و يا ساير برنامه ها گردد . رويکرد فوق ، افزايش هزينه نگهداري اين نوع سيستم ها را بدنبال خواهد داشت .
    معماري مبتني بر سرويس ، وابسته به سه عنصر اساسي است که هر يک داراي جايگاه خاص خود مي باشند : Service Provider ( ارائه دهنده سرويس ) ، Service consumer ( مصرف کننده سرويس ) و Service broker ( کارگزار سرويس ) . شکل زير معماري فوق را نشان مي دهد .


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

    ارتبا ط بين وظايف سه گانه
    عناصر سه گانه اشاره شده در معماري مبتني بر سرويس ، با يکديگر مرتبط تا زمينه تحقق عمليات زير فراهم گردد :

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

    معماري سرويس هاي وب و معماري مبتني بر سرويس
    عناصر اساسي در معماري سرويس وب عبارتند از :

    ارائه دهنده سرويس وب .گره اي در شبکه که مسئوليت ميزبان نمودن يک سرويس وب را برعهده خواهد داشت .
    مصرف کننده سرويس . گره اي در شبکه که مسئوليت ميزبان نمودن هر سرويس گيرنده اي را که قادر به ارتباط با استفاده از HTTP باشد را برعهده مي گيرد. مرورگرها ، برنامه هاي کنسول و برنامه هائي با رابط کار گرافيکي سنتي ، نمونه هائي از برنامه هاي سرويس گيرنده مي باشند.
    کارگزار سرويس وب. گره اي در شبکه که مسئوليت ميزبان نمودن يک ريجستري سراسري از تمامي سرويس هاي وب در دسترس را برعهده خواهد داشت .( نظير يک کتاب آدرس جامع ) .
    تمامي گره هاي فوق ، قادر به ارتباط با يکديگر از طريق شبکه هاي مبتني بر پروتکل TCP/IP مي باشند . در سرويس هاي وب ، سه گره تعريف شده در معماري مبتني بر سرويس ، متناظر با عناصر سرويس هاي وب خواهند بود:
    کارگزار سرويس ، مسئوليت ميزبان نمودن UDDI)Universal Description,Discovery and Integration ) را برعهده خواهد داشت .
    ارائه دهنده سرويس ، مسئوليت عرضه سرويس هاي وب از طريق صفحات ASP.NET با انشعاب asmx . را برعهده خواهد داشت .
    مصرف کننده سرويس ، قابليت برقراري ارتباط از طريق HTTP ويا SOAP)Simple Object Access Protocol) را دارا مي باشد .

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

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

    سرويس دهنده وب
    يک ارائه دهنده سرويس مي بايست حداقل شامل يک گوش دهنده ( listener ) پروتکل باشد . براي سرويس هاي وبي که توسط فريمورک دات نت و يا ويژوال استوديو دات نت ، پياده سازي مي گردند ، گوش دهنده پروتکل مي بايست يک HTTP listener باشد . با توجه به اينکه يک ارائه دهنده سرويس قادر به ميزبان نمودن چندين سرويس وب خواهدبود ،ارائه دهنده سرويس ،مي بايست امکان هدايت مناسب يک درخواست به سرويس وب مناسب را دارا باشد . ( قابل مقايسه با سرويس RPCCC) Remote Procedure Call Subsystem)، که مسئوليت پاسخگوئي به درخواست هاي وارده DCOM وهدايت آنان به يک سرويس دهنده مناسب COM است) .مصرف کنندگان ناشناخته سرويس وب ، قادر به دستيابي به يک ارائه دهنده سرويس مي باشند . بنابراين لازم است ، سرويس دهنده وب سرويس هاي پايه امنيتي را حداقل در سطح پروتکل، ارائه نمايد. IIS ، که يک سرويس دهنده وب است ، سرويس هاي مورد نياز يک سرويس وب را ارائه مي نمايد :

    IIS يک HTTP listener است
    IIS با استفاده از معماري ISAPI ، مي تواند بعنوان يک gateway در رابطه با سرويس هاي وب رفتار نموده و علاوه بر ميزباني از سرويس هاي وب متعدد ، زمينه هدايت صحيح آنان را نيز فراهم نمايد.
    IIS زيرساخت قابل ملاحظه اي در رابطه با امنيت را ارائه مي نمايد .
    IIS و سرويس هاي وب
    يک سرويس دهنده وب نظير IIS ، قادر به فراخواني يک سرويس از جانب يک سرويس گيرنده با استفاده از گزينه هاي متعددي است . سرويس دهنده وب قادر به فعال نمودن ( اجراء ) يک برنامه CGI)Common Gateway Interface) ، اجراي يک مفسر اسکريپت بمنظور برخورد با صفحات ASP و يا فراخواني يک برنامه ISAPI است .زمانيکه IIS همراه با CLR فعاليت مي نمايد ، از يک ----- ISAPI بمنظوربررسي درخواست هائي در ارتباط با صفحات با انشعاب asmx استفاده و در ادامه يک ميزبان زمان اجراء را فعال مي نمايد . ميزبان زمان اجراء ، کد مربوط به سرويس وب را که توسط فريمورک دات نت پياده سازي شده است ، اجراء خواهد کرد.

  5. #35
    آخر فروم باز Nesta's Avatar
    تاريخ عضويت
    Jan 2005
    محل سكونت
    tehran
    پست ها
    3,343

    پيش فرض

    سلام این آموزش در مورد مسائل وب می‌ باشد .
    c# VB.net VC.net ADO
    امید است با خوندن این مقاله دوستانی‌ که میخواهند این مباحث و زبان های برنامه نویسی‌ رو یاد بگیرند .
    جامع بوده باشه .
    بخصوص آقای OOJE_aseman.

  6. #36
    پروفشنال double_n's Avatar
    تاريخ عضويت
    Apr 2005
    محل سكونت
    the Shire
    پست ها
    900

    پيش فرض

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

  7. #37
    آخر فروم باز Nesta's Avatar
    تاريخ عضويت
    Jan 2005
    محل سكونت
    tehran
    پست ها
    3,343

    پيش فرض

    سلام داداشی‌ اینا همش چیز های به درد بخوری هستش و در کمتر جائی‌ گیر میاری خوب کردی که پرینت گرفتی‌ .

  8. #38
    پروفشنال double_n's Avatar
    تاريخ عضويت
    Apr 2005
    محل سكونت
    the Shire
    پست ها
    900

    پيش فرض

    دستت درد نکنه خیلی باحال بود و هست و خواهد بود

  9. #39
    آخر فروم باز Nesta's Avatar
    تاريخ عضويت
    Jan 2005
    محل سكونت
    tehran
    پست ها
    3,343

    پيش فرض

    سلام داداشی‌ دمت گرم باز خوبه شما یک نظری میدی بقیه فقط سوال می‌کنن و جواب هم میدی ....

  10. #40
    داره خودمونی میشه
    تاريخ عضويت
    Feb 2006
    محل سكونت
    شهر قنات و قنوت و قناعت
    پست ها
    68

    پيش فرض

    فقط میگم : عالی بود...مرسی

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •