microsoft word - adv_ch01

14
ﺷﺮﻛﺖ ﭘﻴﺸﮕﺎﻣ ﺎﻥ ﻓﻨﺎﻭﺭﻱ ﻣﯿﺒﺎﺷﺪ ﭘﺮﺷﯿﺎ اﻟﻜﺘﺮوﻧﯿﻜﻲ آﻣﻮزش ﺳﺎﯾﺖ ﺑﻪ ﻣﺘﻌﻠﻖ آﻣﻮزﺷﻲ ﺟﺰوه اﯾﻦ ﺣﻘﻮق ﻛﻠﯿﻪ ﺟﺰﻭﻩ ﺁﻣﻮﺯﺷﻲ ﻛﻼﺱASP.NET ﭘﻴﺸﺮﻓﺘﻪ ﺍﺳﺘﺎﺩ ﺩﻭﺭﻩ: ﻭﺣﻴﺪ ﻧﺼﻴﺮﻱ) [email protected] ( ﻓﺼﻞ ﺍﻭﻝ: ﻭﺏ ﺳﺮﻭﻳﺲ ﻫﺎ ﻣﻘﺪﻣﻪ: ﻭﺏ ﺳﺮﻭﻳﺲ ﻫﺎ ﻭﺍﺣﺪﻫﺎﻳﻲ ﻫﺴﺘﻨﺪ ﻛﻪ ﺑﺮﺍﻱ ﺳﺎﻳﺮ ﺑﺮﻧﺎﻣﻪ ﻫﺎ ﺩﺍﺩﻩ ﻫﺎﻳﻲ ﺭﺍ ﻓﺮﺍﻫﻢ ﻣﻲ ﻛﻨﻨﺪ. ﻭﺏ ﺳﺮﻭﻳﺲ ﻫـﺎ ﻧﺴﻞ ﺩﻳﮕﺮﻱ ﺍﺯ ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﺗﺤﺖ ﻭﺏ ﻣﺤﺴﻮﺏ ﻣﻲ ﺷﻮﻧﺪ. ﺗﻤﺎﻡ ﺑﺮﻧﺎﻣﻪ ﻫﺎ ﺗﺤـﺖ ﭘﺮﻭﺗﻜـﻞ ﻫـﺎﻱ ﺍﺳـﺘﺎﻧﺪﺍﺭﺩ ﻣﻮﺟﻮﺩ ﻣﺎﻧﻨﺪHTTP ، XML ، SOAP ﻣﻲ ﺗﻮﺍﻧ ﻨﺪ ﺑﻪ ﻭﺏ ﺳﺮﻭﻳﺲ ﻫﺎ ﺩﺳﺘﺮﺳﻲ ﺩﺍﺷﺘﻪ ﺑﺎﺷﻨﺪ. ﻭﺏ ﺳﺮﻭﻳﺲ ﻫﺎﻱASP.NET ﺳﺎﺩﻩ ﺗﺮﻳﻦ ﺭﺍﻩ ﺭﺍ ﺑـﺮﺍﻱ ﭘﻴـﺎﺩﻩ ﺳـﺎﺯﻱ ﺁﻥ ﺍﺭﺍﺋـﻪ ﺩﺍﺩﻩ ﺍﻧـﺪ. VS.NET ﺑـﻪ ﺻﻮﺭﺕ ﺧﻮﺩﻛﺎﺭ ﻗﺴﻤﺖ ﻫﺎﻱ ﻣﺨﺘﻠﻒ ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﺭﺍ ﻣﺎﻧﻨﺪWSDL (web service discovery language) ، Web service discovery ) DISCO ( ﻭ ﻏﻴﺮﻩ ﺭﺍ ﺗﻮﻟﻴﺪ ﻣﻲ ﻛﻨﺪ. ﺩﺍﺕ ﻧﺖ ﻓﺮﻳﻢ ﻭﺭﻙ ﺍﺑﺰﺍﺭﻱ ﺭﺍ ﻧﻴﺰ ﺑﺮﺍﻱ ﺗﻮﻟﻴﺪ ﻳﻚ ﻛﻼﺱ ﭘﺮﻭﻛﺴﻲ ﺟﻬﺖ ﺩﺳﺘﺮﺳﻲ ﺑﻪ ﻭﺏ ﺳﺮﻭﻳﺲ ﻫﺎ ﻃﺮﻑ ﻛﻼﻳﻨﺖ ﻓﺮﺍﻫﻢ ﻛﺮﺩﻩ ﺍﺳﺖ. ﻭﺏ ﺳﺮﻭﻳﺲ ﻫﺎ ﺑﺮ ﻣﺒﻨﺎﻱ ﺩﺭﻳﺎﻓﺖ ﻭ ﺗﻮﻟﻴﺪ ﭘﻴﻐﺎﻡ ﻫﺎ ﺑﻨﻴﺎﻧﮕﺬﺍﺭﻱ ﺷﺪﻩ ﺍﻧﺪ. ﻣﺼﺮﻑ ﻛﻨﻨﺪﮔﺎﻥ ﻳﻚ ﻭﺏ ﺳﺮﻭﻳﺲ ﻣﻲ ﺗﻮﺍﻧﻨﺪ ﺗﺤﺖ ﻫﺮ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻠﻲ ﻭ ﺑﺎ ﻫﺮ ﺯﺑﺎﻧﻲ ﻧ ﻮﺷﺘﻪ ﺷﻮﻧﺪ. ﺩﺭ ﺩﻧﻴﺎﻱ ﺍﻣﺮﻭﺯ ﺑﺮﻧﺎﻣﻪ ﻫﺎﻱ ﺗﺠﺎﺭﻱ ﺍﺯ ﻣﺮﺯ ﺍﻳﻨﺘﺮﺍﻧﺖ ﻭ ﺷﺒﻜﻪ ﻫﺎﻱ ﺩﺍﺧﻠﻲ ﻓﺮﺍﺗﺮ ﺭﻓﺘﻪ ﺍ ﻧﺪ. ﺍﻳﻦ ﻣﻮﺭﺩ ﻧﻴﺎﺯ ﺑﻪ ﻧﻮﻋﻲ ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﺩﺍﺭﺩ ﻛﻪ ﺑﺮ ﺭﻭﻱ ﭘﻠﺘﻔﺮﻡ ﻫﺎﻱ ﻣﺨﺘﻠﻒ ﻭ ﻫﻤﭽﻨﻴﻦ ﺑﺎ ﺯﺑﺎﻧﻬﺎﻱ ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﻣﺨﺘﻠﻒ ﻗﺎﺑﻞ ﺍﺟﺮﺍ ﻭ ﺩﺳﺘﺮﺳ ﺑﺎﺷﺪ. ﺑﺤﺚ ﺍﻧﺘﻘﺎﻝ ﭘﺬﻳﺮﻱ ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﺑﺮ ﺭﻭﻱ ﭘﻠﺘﻔﺮﻡ ﻫﺎﻱ ﻣﺨﺘﻠﻒ ﺗﺎ ﺑﺤﺎﻝ ﺑـﺴﻴﺎﺭ ﻣـﺸﻜﻞ ﻭ ﻫﺰﻳﻨﻪ ﺑﺮ ﺑﻮﺩﻩ ﺍﺳﺖ. ﺑﺪﻳ ﻣﻨﻈﻮﺭ ﺩﺭ ﻣﻌﻤﺎﺭﻱ ﻭﻳﻨﺪﻭﺯ۲۰۰۰ ﺑﺤﺚ ﻭﺏ ﺳـﺮﻭﻳﺲ ﻫـﺎ ﺑـﺮﺍﻱ ﺣـﻞ ﺍﻳـﻦ ﻣـﺸﻜﻞ ﺍﻧﺘﻘﺎﻝ ﭘﺬﻳﺮﻱ ﺩﺭ ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﺪﻩ ﺍﺳﺖ.

Upload: morteza-rikhtegarzadeh

Post on 04-Mar-2016

216 views

Category:

Documents


1 download

DESCRIPTION

‫ﻣﺎﻧﻨﺪ‬ ‫ﺭﺍ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻳﻚ‬ ‫ﻣﺨﺘﻠﻒ‬ ‫ﻫﺎﻱ‬ ‫ﻗﺴﻤﺖ‬ ‫ﺧﻮﺩﻛﺎﺭ‬ ‫ﺻﻮﺭﺕ‬ WSDL (web service discovery language) ، ‫ﻣﺎﻧﻨﺪ‬ ‫ﻣﻮﺟﻮﺩ‬ HTTP ، XML ، SOAP ‫ﺗﻮﺍﻧ‬ ‫ﻣﻲ‬ ‫ﺑﺎﺷﻨﺪ‬ ‫ﺩﺍﺷﺘﻪ‬ ‫ﺩﺳﺘﺮﺳﻲ‬ ‫ﻫﺎ‬ ‫ﺳﺮﻭﻳﺲ‬ ‫ﻭﺏ‬ ‫ﺑﻪ‬ ‫ﻨﺪ‬ . ‫ﻫﺎﻱ‬ ‫ﺳﺮﻭﻳﺲ‬ ‫ﻭﺏ‬ ASP.NET ‫ﺍﻧـﺪ‬ ‫ﺩﺍﺩﻩ‬ ‫ﺍﺭﺍﺋـﻪ‬ ‫ﺁﻥ‬ ‫ﺳـﺎﺯﻱ‬ ‫ﭘﻴـﺎﺩﻩ‬ ‫ﺑـﺮﺍﻱ‬ ‫ﺭﺍ‬ ‫ﺭﺍﻩ‬ ‫ﺗﺮﻳﻦ‬ ‫ﺳﺎﺩﻩ‬ . VS.NET ‫ﺑـﻪ‬ ‫ﻃﺮﻑ‬ ‫ﻫﺎ‬ ‫ﺳﺮﻭﻳﺲ‬ ‫ﻭﺏ‬ ‫ﺑﻪ‬ ‫ﺩﺳﺘﺮﺳﻲ‬ ‫ﺟﻬﺖ‬ ‫ﭘﺮﻭﻛﺴﻲ‬ ‫ﻛﻼﺱ‬ ‫ﻳﻚ‬ ‫ﺗﻮﻟﻴﺪ‬ ‫ﺑﺮﺍﻱ‬ ‫ﻧﻴﺰ‬ ‫ﺭﺍ‬ ‫ﺍﺑﺰﺍﺭﻱ‬ ‫ﻭ

TRANSCRIPT

Page 1: Microsoft Word - adv_ch01

١

ان فناوريشركت پيشگام

كلیه حقوق این جزوه آموزشي متعلق به سایت آموزش الكترونیكي پرشیا میباشد )[email protected] (نصيريوحيد : استاد دوره پيشرفته ASP.NETجزوه آموزشي كالس

:فصل اول

وب سرويس ها

:مقدمه

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

.ند به وب سرويس ها دسترسي داشته باشند مي توانHTTP ، XML ، SOAPموجود مانند بـه VS.NET. ساده ترين راه را بـراي پيـاده سـازي آن ارائـه داده انـد ASP.NET وب سرويس هاي

، WSDL (web service discovery language)صورت خودكار قسمت هاي مختلف يك برنامه را مانند Web service discovery) DISCO ( مي كندو غيره را توليد.

دات نت فريم ورك ابزاري را نيز براي توليد يك كالس پروكسي جهت دسترسي به وب سرويس ها طرف .كالينت فراهم كرده است

مصرف كنندگان يك وب سرويس . وب سرويس ها بر مبناي دريافت و توليد پيغام ها بنيانگذاري شده اند .وشته شوندمي توانند تحت هر سيستم عاملي و با هر زباني ن

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

روي پلتفرم هاي مختلف تا بحال بـسيار مـشكل و بحث انتقال پذيري يك برنامه بر . باشد ياجرا و دسترس بحث وب سـرويس هـا بـراي حـل ايـن مـشكل ۲۰۰۰ منظور در معماري ويندوز نبدي. هزينه بر بوده است

.انتقال پذيري در نظر گرفته شده است

Page 2: Microsoft Word - adv_ch01

٢

ان فناوريشركت پيشگام

كلیه حقوق این جزوه آموزشي متعلق به سایت آموزش الكترونیكي پرشیا میباشد )[email protected] (نصيريوحيد : استاد دوره پيشرفته ASP.NETجزوه آموزشي كالس

وب سرويس ها همانند يك برنامه ي معمولي نوشته مي شوند و مي توان آنها را با سـرويس هـاي يـك . و منتظر كالينت ها مي مانند تا به آنها وصل شـوند شدهآنها در پس زمينه اجرا . مقايسه كرد NTز ويندو

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

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

براي مثال شما يك تابع محاسباتي مهم . آينده ي محاسبات روي وب را رقم خواهند زد ، وب سرويس ها از سراسـر دنيـا مـي . سپس آنرا به صورت يك وب سرويس ارائه مي دهيد . و مي نويسيد كردهرا طراحي

در حقيقت . سرويس شما متصل شده و به تابع شما مقدار پاس كنند و نتيجه را دريافت نمايندوب نند به توا .وب سرويس اساسا يك كامپوننت است كه تحت وب قابل دسترسي مي باشد

چه نوع داده هايي را مي توان از طريق يك وب سرويس ارائه داد ؟

براي مثال تعدادي از .مي توان از طريق يك وب سرويس ارائه داد باشد را Serializableهر داده اي كه :آنها در جدول زير ليست شده اند

. نوع هاي داده اي كه از طريق يك وب سرويس قابل ارائه هستند-۱جدول

توضيح نوع

. و غيره string ، intداده هاي پايه اي استاندارد مانند داده هاي اوليه ;public eumn color {red=1,blue=2}ع هاي شمارشي مانند نو enumنوع هاي

كالس ها و ساختارهايي با اجزاي پابليك كالس ها و ساختارها آرايه اي از كالس ها و ساختارها آرايه اي از كالس

DataSet نوع هاي داده ايDataSet مربوط به ADO.NET

.مشخص است DataSetآرايه اي از ...و غيره

Page 3: Microsoft Word - adv_ch01

٣

ان فناوريشركت پيشگام

كلیه حقوق این جزوه آموزشي متعلق به سایت آموزش الكترونیكي پرشیا میباشد )[email protected] (نصيريوحيد : استاد دوره پيشرفته ASP.NETجزوه آموزشي كالس

چه نوع داده هايي را مي توان به يك وب سرويس پاس كرد؟

را مـي ) in/out( يعني by-reference و by-value هر دو نوع داده ي SOAPهنگام استفاده از پروتكل : اين خاصيت را دارند كه مي توانند مقدار دو جهته بفرسـتند by-referenceپارامترهاي . توان استفاده كرد

تنهـا نـوع هـاي HTTPهنگام استفاده از پارامترهاي ورودي با استفاده از پروتكل . كالينتبه سرور و به نوع هـاي پارامترهـاي . باشندby-valueداده اي محدودي پشتيباني مي شوند و بايد تنها پارامترها از نوع

: در جدول زير ليست شده اندHTTPساپورت شده براي پروتكل

.HTTPمورد قبول براي استفاده با پروتكل نوع هاي داده اي -۲جدول

توضيح نوع . و غيره string ، intاغلب داده هاي پايه اي استاندارد مانند )محدود شده(داده هاي اوليه

نوع هاي شمارشي enumنوع هاي

آرايه اي از موارد فوق

WSDL :

وابـع ، پارامترهـا و مـوارد ديگـري توسـط يـك وب چگونه يك كالينت مي تواند حدس بزند كه چه نوع ت XMLسرويس ساپورت مي شود؟ براي حل اين مشكل تمام وب سرويس ها به صورت خودكار يك فايل

اين مـورد بـه سـادگي از طريـق هـر . دنتوليد مي كن) SDL) Service desciption languageبا فرمت را :براي مثال . قابل مشاهده استآن به آدرس وب "SDL?"مرورگري با اضافه كردن يك

http://myhost//services/myservice.asmx?sdl . نمايش مي دهدSDL را با فرمت myserviceتوضيحات پشتيباني شده توسط

Page 4: Microsoft Word - adv_ch01

٤

ان فناوريشركت پيشگام

كلیه حقوق این جزوه آموزشي متعلق به سایت آموزش الكترونیكي پرشیا میباشد )[email protected] (نصيريوحيد : استاد دوره پيشرفته ASP.NETجزوه آموزشي كالس

نوشتن يك وب سرويس تبديل درجه حرارت ها: مثال فصل

ت را به سانتيگراد انجام مي دهد و قصد داريم وب سرويسي را ايجاد كنيم كه كار تبديل درجه ي فارنهاي .سپس با استفاده از يك برنامه ي تحت ويندوز آنرا مصرف كرده و مورد استفاده قرار دهيم

نام آنرا .)۱شكل ( آغاز كنيدASP.NET Web Services را با گزينه ي #Visual Cيك پروژه ي جديد

DegreesWebService گذاشته و روي Okكليك نماييد .

.ASP.NET Web serviceباز كردن يك پروژه ي جديد -۱شكل

در اين حالت ويژوال استوديو دايركتوري مجازي الزم را براي آغاز كار پروژه ايجاد كرده و سپس فايل Services.asmx از گزينـه ي . را ايجاد مي نمايـد project گزينـه ي Add web service را انتخـاب كنيـد

).۲شكل (

Page 5: Microsoft Word - adv_ch01

٥

ان فناوريشركت پيشگام

كلیه حقوق این جزوه آموزشي متعلق به سایت آموزش الكترونیكي پرشیا میباشد )[email protected] (نصيريوحيد : استاد دوره پيشرفته ASP.NETجزوه آموزشي كالس

اضافه كردن يك وب سرويس به برنامه -۲شكل

و اگر به كد اين قسمت كه توسط ويژوال استوديو . كليك نماييد Open نام پيش فرض را پذيرفته و روي : ويژگي وجود دارد كه آنرا به يك وب سرويس تبديل مي كند ۴نوشته شده دقت كنيد ما

System.Web.Servicesاستفاده از فضاي نام -۱ .آنرا قابل دستيبابي از طريق وب مي كندعبارت زير -۲

[WebService(Namespace="http://localhost/classes/advanced/ch01/DegreesWebService/")] كـه سـبب مـي شـود تمـام توابـع و System.Web.Services.WebServiceارث بري از كـالس -۳

.خواص كالس فوق در برنامه قابل دسترسي باشد۴- [WebMethod]در باالي نام هر متدي قرار گيرد آنرا قابل دسترسي از طريق وب مي كند .

Page 6: Microsoft Word - adv_ch01

٦

ان فناوريشركت پيشگام

كلیه حقوق این جزوه آموزشي متعلق به سایت آموزش الكترونیكي پرشیا میباشد )[email protected] (نصيريوحيد : استاد دوره پيشرفته ASP.NETجزوه آموزشي كالس

:را پياده سازي مي كنيم FahrenheitToCelciusدر ادامه تابع تبديل

using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Web; using System.Web.Services; namespace DegreesWebService { /// <summary> /// Summary description for Service2. /// </summary> [WebService(Namespace="http://localhost/classes/advanced/ch01/DegreesWebService/")] public class Service2 : System.Web.Services.WebService { public Service2() { //CODEGEN: This call is required by the ASP.NET Web Services Designer InitializeComponent(); } #region Component Designer generated code //Required by the Web Services Designer private IContainer components = null; /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { } /// <summary> /// Clean up any resources being used. /// </summary> protected override void Dispose( bool disposing ) { if(disposing && components != null) { components.Dispose(); } base.Dispose(disposing); } #endregion [WebMethod] public string FahrenheitToCelcius(string strFahrenheit )

Page 7: Microsoft Word - adv_ch01

٧

ان فناوريشركت پيشگام

كلیه حقوق این جزوه آموزشي متعلق به سایت آموزش الكترونیكي پرشیا میباشد )[email protected] (نصيريوحيد : استاد دوره پيشرفته ASP.NETجزوه آموزشي كالس

{ //define the variables string strOutput = ""; decimal decCelcius ; //convert to Celcius decCelcius = (((Convert.ToDecimal(strFahrenheit)- 32) / 9) * 5); //round to 2 decimal places decCelcius = Math.Round(decCelcius, 2); //convert it back to a string strOutput = Convert.ToString(decCelcius); //return output of the function return strOutput; } } }

را بـا ) ش فرض مورد دوم ذكر شده در بـاال مقدار پي( http://tempuri.orgو همانطور كه دقت كرده ايد سـپس . كنيـد Set as defaultروي اين صفحه كليك راسـت كـرده و آنـرا . آدرس ديگري عوض كرده ايم

).۳شكل ( را فشار دهيد تا برنامه اجرا شود F5دكمه ي

.نمايي از اجراي وب سرويس ساخته شده –۳شكل

Page 8: Microsoft Word - adv_ch01

٨

ان فناوريشركت پيشگام

كلیه حقوق این جزوه آموزشي متعلق به سایت آموزش الكترونیكي پرشیا میباشد )[email protected] (نصيريوحيد : استاد دوره پيشرفته ASP.NETجزوه آموزشي كالس

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

)۴شكل (روي لينك كليك كنيد تا صفحه زير باز شود . گرفت

توانايي هاي آن بكـار گرفتـه محيط اجرايي ساده ي يك وب سرويس كه صرفا براي تست كردن –۴شكل .مي شود

كار ساخت به پايان رسيده است و تمام فايلهاي الزم ديگر نيز . اكنون مي توان وب سرويس را تست كرد

! ) . ساخت دستي آنها در نوت پد واقعا عذاب آور است( به صورت خودكار ايجاد شده اندVS.NETتوسط

Page 9: Microsoft Word - adv_ch01

٩

ان فناوريشركت پيشگام

كلیه حقوق این جزوه آموزشي متعلق به سایت آموزش الكترونیكي پرشیا میباشد )[email protected] (نصيريوحيد : استاد دوره پيشرفته ASP.NETجزوه آموزشي كالس

:بردي ويندوزرامه ي كادر يك برنفوق استفاده از وب سرويس

)۵شكل (يك پروژه ي جديد باز كنيد

. جديدWindows applicationايجاد يك پروژه ي –۵شكل

وب WSDLبراي استفاده از يك وب سرويس در برنامه هاي ويندوز بايد در ابتدا يك ريفرنس به فايل Add webوژه گزينـه ي رر به منـوي پـ براي اين منظو. ايجاد كردVS.NETسرويس ايجاد شده توسط

references ۶شكل ( مراجعه نماييد(.

Page 10: Microsoft Word - adv_ch01

١٠

ان فناوريشركت پيشگام

كلیه حقوق این جزوه آموزشي متعلق به سایت آموزش الكترونیكي پرشیا میباشد )[email protected] (نصيريوحيد : استاد دوره پيشرفته ASP.NETجزوه آموزشي كالس

.اضافه كردن يك ريفرنس به وب سرويس ساخته شده –۶شكل

اگر آدرس را . را بفشاريدenterدر ديالوگ باكس ظاهر شده مسير كامل وب سرويس را نوشته و سپس . كنيدك كليadd rederenceسپس روي دكمه ي . شودميو تكميل ظاهر ۶صحيح وارد كرده باشيد شكل

.)۷شكل (خواهند شدفايلهاي زير به پروژه اضافه

Page 11: Microsoft Word - adv_ch01

١١

ان فناوريشركت پيشگام

كلیه حقوق این جزوه آموزشي متعلق به سایت آموزش الكترونیكي پرشیا میباشد )[email protected] (نصيريوحيد : استاد دوره پيشرفته ASP.NETجزوه آموزشي كالس

.شده اندتصوير فايلهايي كه با اضافه كردن يك وب سرويس به برنامه اضافه –۷شكل

د كـرده را به صورت خودكار براي اتباط بـا وب سـرويس ايجـا proxy class يك VS.NETبا اين كار .فرم برنامه را به صورت زير طراحي كنيد، براي استفاده از آن . است

.نماي برنامه ي تحت ويندوز در حالت طراحي –۸شكل

:)به نحوه ي تعريف يك متغير از وب سرويس دقت كنيد (سپس از كد زير مي توان استفاده نمود

private void btnCalc_Click(object sender, System.EventArgs e) { localhost.Service2 myWebService = new localhost.Service2(); lblC.Text = myWebService.FahrenheitToCelcius(txtF.Text.Trim()) ; }

Page 12: Microsoft Word - adv_ch01

١٢

ان فناوريشركت پيشگام

كلیه حقوق این جزوه آموزشي متعلق به سایت آموزش الكترونیكي پرشیا میباشد )[email protected] (نصيريوحيد : استاد دوره پيشرفته ASP.NETجزوه آموزشي كالس

خروجي برنامه در حالت اجرا–۹ شكل

:چند نكته نوشـته ايـم اگـر زون آالرم خـود وب سـرويس هنگام اجراي برنامه ي ويندوزي كه براي تست كردن -۱

و پيغـام زيـر را ظـاهر مـي (!) سريعا از ارتباطـات پنهـاني خبـر دار شـده ،روي سيستم شما نصب باشد . بعد از اين حتي اگر اجازه ي دسترسي را هم صادر كنيد باز هم برنامـه هنـگ خواهـد كـرد . )۱۰شكل (كند

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

. اخطار زون آالرم در مورد دسترسي برنامه ي ما به اينترنت –۱۰شكل

Page 13: Microsoft Word - adv_ch01

١٣

ان فناوريشركت پيشگام

كلیه حقوق این جزوه آموزشي متعلق به سایت آموزش الكترونیكي پرشیا میباشد )[email protected] (نصيريوحيد : استاد دوره پيشرفته ASP.NETجزوه آموزشي كالس

بديهي است كه هنگام برنامه نويسي مي توان توابع و امكانات بي شماري را به يك وب سرويس اضافه -۲ه ي اين وب سرويس از تغييـرات آگـاه شـود تنهـا كـافي اسـت در براي اينكه برنامه ي مصرف كنند . نمود

solution explorer محيط VS.NET روي localhost كليك راست كرده و سپس گزينه ي به روز رساني مي توانيد از آخرين تغييـرات به اين صورت تمام كارها به صورت خودكار انجام شده و . را انتخاب نماييد

.)۱۱شكل ( در برنامه ي كالينت استفاده نماييدانجام شده در وب سرويس

. نحوه ي به روز رساني ريفرنس ايجاد شده به يك وب سرويس از درون محيط برنامه كالينت–۱۱شكل

Page 14: Microsoft Word - adv_ch01

١٤

ان فناوريشركت پيشگام

كلیه حقوق این جزوه آموزشي متعلق به سایت آموزش الكترونیكي پرشیا میباشد )[email protected] (نصيريوحيد : استاد دوره پيشرفته ASP.NETجزوه آموزشي كالس

هاتمرين

سپس توسط يـك برنامـه وينـدوز . يك وب سرويس تبديل تاريخ ميالدي به شمسي را ايجاد نماييد -۱ .آن خلق كنيدمصرف ي يك كالينت برا

فيلدهاي اين جدول رديف . ايجاد كنيدtblRequestsبا جدولي به نام را SQL-Serverيك ديتابيس -۲)R_Radif( درخواست ،)R_Darkhast ( نام شخص ،)R_Shakhs ( و آدرس ايميل)R_email ( او

:موارد مورد نياز . است .ع موارد فوق را به جدول اضافه كند ايجاد نماييد كه توسط يك تابيوب سرويس) الف

. كه ليست موارد اضافه شده از طرف كاربران را نمايش دهدASP.NETيك برنامه ي ) ب تا به وسيله ي )شبيه ياهو مسنجر(يك برنامه ي كالينت ويندوزي كه به كاربران داده مي شود ) ج

.هاي خودشان را ثبت كنندسايت متصل شده و درخواست وب سرويسبه آن