تبلیغات
banner
banner
banner
تبلیغات
banner

فیلم های آموزشی : 36 +

تعداد کاربران : 44 +

تعداد کل مطالب : 338 +

تعداد نظرات : 33 +

حضرت محمد (ص) : داناترین مردم کسى است که دانش دیگران را به دانش خود بیفزاید.

آموزش مقدماتی تا پیشرفته سی شارپ بخش دویست و شصتم


بنام اول برنامه نویس هستی.

سلام به همه لندلرنی های عزیز.
درخدمتتون هستیم با

آموزش مقدماتی تا پیشرفته سی شارپ بخش دویست و شصتم


امتحان کنید: ایجاد یک وب سرویس ساده

  • ویژوال استودیو را باز کرده و گزینه ی File سپس New Web Site  را از نوار منوی ویژوال استودیو انتخاب کنید.
  • در پنجــره ی New Web Site ،از کــادر Language گزینــه ی #Visual C و از کــادر Location نیز گزینه ی HTTP را انتخاب کنید.
  • سپس عبارتی را مانند http://localhost/DemoService در کادر مقابل Location وارد کرده و روی دکمه ی OK کلیک کنید.

اساس ایجاد وب سرویس ها همانند ایجاد برنامه های مبتنی بر وب است که در آموزش ساخت سایت موزیک و خبری با تکنولوژی asp.net با آنها آشنا شدیم، بنـابراین ایجاد پروژه های مربوط به وب سرویس ها نیز مشابه ایجاد پروژه های تحت وب است.
به این ترتیب ویژوال استودیو یک پروژه ی وب سرویس ایجاد کرده و یک فایل به نام service.asmx را نیـز به آن اضافه می کند. پسوند asmx. مربوط به فایلهای وب سرویس است و از کلمات Active Server Methods گرفته شده است (حرف x نیز به منظور مشخص کردن ASP یا همـان +ASP بـه کـار مـی رود. حرف x معادل + است که ۴۵ درجه چرخیده باشد).

این صفحه یک سرویس را مشخص می کند، البتـه ایـن پـروژه می تواند شامل چند سرویس باشد.

اگر فايل service.cs كـه حـاوي كـد مربـوط بـه ايـن وب سـرويس اسـت بـاز نـشده اسـت، بـا اسـتفاده از Solution Explorer آن را باز كنيد.

براي اين كار كافي اسـت روي فايـل Service.asmx در Solution Explorer كليك راست كرده و گزينه ي View Code را انتخـاب كنيـد.

هنگـامي كـه ويژوال استوديو اين فايل را ايجاد مي كند، يك متد به نام HelloWorld نيز براي نمونه در آن قرار مي دهـد.

كـد مربوط به اين متد مشابه زير است:

با انتخاب گزينه ي Start Debugging از منوی Debug ويژوال استوديو برنامه را اجرا كنيـد.

در اين مرحله صفحه اي نمايش داده مي شود و از شما مي پرسد كه مي خواهيد برنامه را بـدون فعـال كـردن قابليتهـاي مربوط به ديباگ اجرا كنيد و يا مي خواهيد كه يك فايل config به پروژه اضافه كرده و سپس در آن فايل قابليتهاي مربوط به ديباگ را فعال كنيـد؟

از ايـن كـادر گزينـه ي.Add new Web config file with enabled debugging را انتخاب كرده و روي دكمه ي OK كليك كنيد.

به دلايل امنيتي بهتر است قبـل از اينكه يك برنامه ي تحت وب را در اينترنت قرار دهيد، قابليتهاي مربوط به ديباگ را در آن غير فعال كنيـد.

بـا كليـك روي دكمه ي OK اينترنت اكسپلورر باز شده و صفحه ي service.asmx را نمايش خواهد داد.

همـانطور كـه مشاهده مي كنيد ليستي از متد هايي كه در اين سرويس وجود دارند در اين صفحه نمايش داده مـي شـوند.

ايـن صـفحه براي تست كردن نحوه ي كاركرد وب سرويس به كار مي رود.

نكته: در برنامه هاي واقعي، فايل.web config براي تنظيم كردن قسمتهاي مختلف يك برنامه ي تحت وب مورد استفاده قرار مي گيرد.

در اين دوره نمي خواهيم وارد جزئيات اين سايت شويم، اما همين كافي است كه بدانيد اين فايل براي ايجاد تغييـرات كلي در مورد قسمتهاي امنيتي، قسمتهاي مربوط به ديباگ، قسمت هاي مربوط به كنترل كاربران و … مورد استفاده قرار مـي گيـرد.

براي مطالعه ي بيشتر در مورد فايل  web config.مي توانيد به سيستم راهنماي ويژوال استوديو (MSDN)مراجعه كنيد و به دنبال عبارت web config.بگرديد.

روي لينك HelloWorld كليك كنيد.

اين لينك شما را به صفحه ي ديگري خواهد برد كه به وسيله ي آن مـي توانيد عملكرد اين متد را تست كنيد.

اين صفحه شامل نام متد، دكمه اي براي فراخـواني متـد و تـست كـردن آن، و نيـز
پروتكل هايي است كه براي اين متد پشتيباني مي شوند.

توجه كنيد كه در اين قسمت نام دو پروتكل عنوان شده است:

دو نسخه از پروتكل SOAP و يك نسخه از پروتكل HTTP POST با كليك روي دكمه ي Invoke صفحه ي ديگري در يك پنجره ي جديد از اينترنت اكسپلورر باز شـده و محتويـات يك فايل XML را نمايش مي دهد.

اين فايل كه همانند زير است، پاسخ وب سرويس است كه بـه صـورت SOAP بـه
برنامه ي فراخواننده برگشت داده مي شود.

چگونه كار مي كند؟

همانند برنامه هاي تحت وب كه براي هر فايل aspx. يك كلاس وجود داشت كه شامل كد مربـوط بـه آن فايـل بـود، در وب سرويس ها نيز براي هر فايل asmx. يك كلاس وجود دارد كه به صور ت پيش فرض در يك فايل مجزا قـرار مـي گيـرد.

متـد HelloWorld نيز كه در اين قسمت به وسيله ي وب سرويس از آن استفاده كرديم نيز در اين كلاس قرار دارد.

اگر به تعريف ايـــن كـــلاس دقـــت كنيـــد، مـــشاهده خواهيـــد كـــرد كـــه ايـــن كـــلاس از كـــلاس System.Web.WebService.Services  مشتق شده است :

كلاس WebService مسئول ايجاد صـفحاتي اسـت كـه در برنامـه ي قبلـي در اينترنـت اكـسپلور ر مـشاهده كـرده و متـد HelloWorld را از داخل آن فراخواني كرديد (براي تست كردن وب سرويس مي توانيـد از مرورگرهـاي ديگـر نيـز اسـتفاده
كنيد، اما ويژوال استوديو به صورت پيش فرض از اينترنت اكسپلورر استفاده مي كند ).

اين صفحات به نام رابط تست شناخته مـي شوند.

هنگام ايجاد يك كلاس، بايد مشخص كنيد كه كاربر مي تواند به كداميك از متدهاي آن دسترسي داشته باشد.

متد هايي كـه مي خواهد در وب سرويس مورد استفاده قرار بگيرند را بايد با استفاده از خصيصه ي ()WebMethod مـشخص كنيـد.

بـراي مثال مشاهده مي كنيد كه اين خصيصه در خط قبل از تعريف متد HelloWorld در برنامه ي قبلي نوشته شده است.

قبل از اينكه صفحه ي تست وب سرويس باز شود، كادري نمايش داده خواهد شد و از شما مي پرسد كه آيا مي خواهيـد يـك فايـل config را به برنامه اضافه كرده و سپس قابليتهاي ديباگ را در آن فعال كنيد و يا مي خواهيد بدون فعال كردن اين قابليت هـا وب سرويس را اجرا كنيد؟

اگر مي خو اهيد نحوه ي عملكرد متدهاي اين وب سرويس را تست كنيد بايد گزينه ي مربـوط بـه اضـافه كردن فايل web.config را انتخاب كنيد.

به اين ترتيب فايلي به نام web.config به برنامه ي شما اضـافه شـده و قابليت هاي ديباگ كردن نيز به وسيله ي آن فايل فعال مي شوند.

البته دقت داشته باشيد كه همواره قبل از اينكـه سـايت و يـا وب سرويس خود را روي سرور قرار دهيد تا افراد از آن استفاده كند، قابليتهاي ديباگ را در آن غير فعال كنيد.

هنگامي كه صفحه باز شده و رابط تست نمايش داده شد، ليستي از متد هايي كه با استفاده از خصيصه ي WebMethod در كلاس مشخص شده بودنـد در صفحه نمايش داده مي شوند.

اگر روي نام هر يك از اين متد ها كليك كنيد، صفحه اي نمايش داده خواهد شد كه به وسـيله ي آن مي توانيد متد را فراخواني كرده و عملكرد آن را تست كنيد.

هنگامي كه يك متد از وب سرويس را به اين صورت فراخواني كنيد، دقيقاً مشابه اين است كه در حـال فراخـواني يـك متـد عـادي هستيد.

به عبارت ديگر براي اين كار هيچ چيز خاص و يا ناشناسي را مشاهده نمي كنيد و تمام تجربيات قبلي شما در مورد متد ها در اين قسمت نيز مي تواند مورد استفاده قرار بگيرد.

همانطور كه مي دانيد وب سرويس ها با استفاده از SOAP فراخواني شده و يا پاسخ را ارسال مـي كننـد.

بنـابراين زمـاني كـه روي دكمه ي Invoke كليك كنيد، نتيجه ي اجراي متد در قالب يك پيغام SOAP به برنامه اي كه متـد را فراخـواني كـرده اسـت (اينترنت اكسپلورر ) فرستاده مي شود.

همانطور كه مشاهده مي كنيد پاسخي كه به اينترنت اكسپلورر فرستاده شده است، دقيقاً همـان عبارتي است كه در متد به عنوان خروجي برگردانده بوديم كه در يك تگ XML قرار گرفته است :

در اين فصل ساختار XML اي كه يك پيغام SOAP را تشكيل مي دهد اهميتي ندارد.

با وجود اين هر چه بيشتر با اين فايلها كـار كنيم، بهتر متوجه خواهيد شد كه جواب نهايي را در كدام قسمت از اين فايلها مي توان پيدا كرد.

به قسمت دویست و شصت و یکم مراجعه کنید.

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


درباره نویسنده
سجاد اسدی
   سجاد اسدی

سجاد اسدی هستم دانشجوی رشته نرم افزار و علاقه مند به تدریس و یادگیری دروس مرتبط با تکنولوژی نرم افزار و اینترنت اشیاء جهت ارتباط با بنده مراجعه شود به آیدی سروش و تلگرام : @ordervira و پیج بنده در اینستاگرام instagram.com/sajjadred11 ""اللهم صل علی محمد و آل محمد"" برای شروع هیچ وقت دیر نیست. "الهم عجل لولیک الفرج"

دیدگاه بگذارید

avatar
  اشتراک  
اطلاع رسانی

aparat کانال آپارات

soroush کانال سروش

کانال آی گپ