فی گوو

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

فی گوو

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

مقاله در مورد AJAX و web service

اختصاصی از فی گوو مقاله در مورد AJAX و web service دانلود با لینک مستقیم و پر سرعت .

مقاله در مورد AJAX و web service


مقاله در مورد AJAX و web service

لینک پرداخت و دانلود *پایین مطلب*

فرمت فایل:Word (قابل ویرایش و آماده پرینت)

 تعداد صفحه94

 

بخشی از فهرست مطالب

                              * فهرست *                                                                                                                                                      

 

بخش اول : آجاکس

 

مقدمه ........................................................................................................................ 4

 

معرفی AJAX ............................................................................................................ 4

 

Http Request AJAX ............................................................................................  5

 

مثالی از AJAX ......................................................................................................... 6

 

پشتیبانی Browser از AJAX ...................................................................................... 6

 

شی XMLHttp Request  ......................................................................................... 9

 

ارسال یک درخواست به سرور .......................................................................................11

 

اسکریپت سمت سرور ASP ..........................................................................................14

 

مثال هایی دیگر از AJAX............................................................................................14

 

Java Script AJAX................................................................................................16

 

مقایسه معماری Asp.net AJAX Extensions و Asp.net 2 ........................................ 32

 

کنترل های سرور ....................................................................................................... 32

 

Service Refrences ............................................................................................... 35

 

Script Managerproxy ......................................................................................... 35

 

Update Panel ...................................................................................................... 36

 

راه اندازها (Triggers ) ............................................................................................ 37

 

Timer ................................................................................................................... 39

 

Update Progress ................................................................................................. 39

 

 

 

 

 

 

 

 

 

بخش دوم : وب سرویس های ASP.NET AJAX

 

مقدمه ..................................................................................................................... 42

 

اسکریپت قابل فراخوانی Web Service ........................................................................ 45

 

چه نوع داده هایی را میتوان از طریق وب سرویس ارائه داد ؟ .............................................. 46

 

چه نوع داده هایی را میتوان به وب سرویس پاس داد ؟ ....................................................... 47

 

WSDL .................................................................................................................. 48

 

نحوه ی عملکرد وب سرویس ها  ................................................................................... 48

 

SOAP ................................................................................................................... 50

 

نحوه ی فراخوانی یک Web Service از ECMAScript ............................................... 52

 

فراخوانی یک متد از Web Serviceکه پارامتر میگیرد ...................................................... 53

 

استفاده از وب سرویس دور دست با ASP.NET AJAX .................................................. 54

 

لیست برخی از وب سرویس ها .....................................................................................  57

 

منابع ....................................................................................................................... 92

 

مقدمه:

 

AJAX  ِیک نوع برنامه نوِیسِی است که در سال 2005 توسط گوگل  به طور عمومِی اِیجاد شد.باAJAX  مِی توانِید  Web Application  هاِی بهتر , سرِیعتر  و بسِیارکاربر پسند اِیجاد کنِید.

 

Ajax راهی برای تقسیم کردن صفحات وب به قسمتهای قابل Update است به طوریکه Update کردن بخشی از صفحه کل صفحه را Update نکند.در واقع Ajax پاسخی به مشکلات Web Application ها در چند سال گذشته است. کافی است یکبار یک سایت طراحی کنید تا بفهمید که Postback های اضافی و بی مورد و load شدن های وحشتناک آن هم به خاطر تغییر، مثلا تاریخ در یک تقویم چه دردسری را برای طراح و کاربر ایجاد میکند.وقتی صحبت از انداختن بار CPU از سرور به کامپیوتر کاربر میشود, یعنی از java script استفاده شده است. در واقع سیستم استفاده از script که به دلیل ناامنی به کناری گذاشته شده بود با تلفیق جدید دوباره احیا شد.AJAX مبتنِی برجاوا اسکرِیپت و HTTP Request  است.

 

 

 

معرفِی AJAX :

 

آجاکس ِیک زبان برنامه نوِیسِی جدِید نِیست بلکه ِیک تکنِیک جهت اِیجاد Web application هاِی بهتر و سرِیعتر و بسِیار تعاملِی است.

 

با آجاکس , جاوا اسکرِیپت  مِی تواند مستقِیما با سرور ارتباط برقرار کند, و از شِی جاوا اسکرِیپتِی XMLHttpRequest استفاده کند. با اِین شِی , جاوا اسکرِیپت مِی تواند داده را با ِیک Web server, بدون لود مجدد صفحه , مبادله کند.

 

آجاکس از انتقال ناهمزمان داده ها(درخواستهاِی HTTP) در بین browser و web server استفاده مِی کندو اجازه مِی دهد صفحات وب به جاِی درخواست کل صفحه,  اطلاعات کمِی را از سرور درخواست کنند.

 

تکنِیک آجاکس, application هاِی اِینترنت را کوچکتر و سرِیعترو بسِیار کاربرپسند مِی کند.

 

آجاکس ِیک تکنولوژِی browser وابسته به نرم افزار web server است و مبنِی بر استانداردهاِی وب است.در ادامه لیستی از این استانداردها را می بینید:

 

  • JavaScript
  • XML
  • HTML
  • CSS

 

استانداردهاِی وبِی که آجاکس مبنِی بر آنها است , به خوبِی تعرِیف شده اند و توسط browser هاِی زِیادِی پشتِیبانِی مِی شوند. Application هاِی آجاکس و browser و platform بهم وابسته اند.

 

Web application ها مزاِیاِی بیشتری نسبت به application هاِی دِیگر دارند. آنها مِی توانندبه داده ی بیشترِی دستِ یابندونصب و پشتِیبانِی آنها بسِیار آسان است وجهت توسعه راحترند.به هر حال , application هاِی اِینترنتِی همانند desktop application هاِی سنتِی همِیشه غنِی و کاربرپسند نِیستند.با آجاکس , internet

 


دانلود با لینک مستقیم


مقاله در مورد AJAX و web service

حل مشکل no service و رایت نشدن cert گوشی سامسونگ N920P

اختصاصی از فی گوو حل مشکل no service و رایت نشدن cert گوشی سامسونگ N920P دانلود با لینک مستقیم و پر سرعت .

حل مشکل no service و رایت نشدن cert گوشی سامسونگ N920P


حل مشکل no service و رایت نشدن cert گوشی سامسونگ N920P

حل مشکل no service و رایت نشدن cert گوشی سامسونگ NOTE 5(N920P)

حل این مشکل بدون رد خور

تست شده توسط خودم


دانلود با لینک مستقیم


حل مشکل no service و رایت نشدن cert گوشی سامسونگ N920P

دانلود مقاله AJAX Web Service

اختصاصی از فی گوو دانلود مقاله AJAX Web Service دانلود با لینک مستقیم و پر سرعت .

 

 

بورت
بورت لوله شیشه‌ای مدرج و طویلی است که در انتهای آن یک شیر جهت کنترل خروج محلول از آن نصب شده است. چون از بورت برای برداشتن حجمهای مختلفی از محلولهای مخصوص تیتراسیون استفاده می‌شود، لذا به قسمتهای کوچکی درجه بندی شده است. در تیتراسیونهای معمولی از بورتی که دقت آن 0.1 میلی لیتر است استفاده می‌شود.
معمولا این بورتها گنجایش 50 تا 100 میلی لیتر را دارند.در تیتراسیونهای حساس از بورتهای 10 میلی لیتری که تا 0.01 یا 0.02 میلی لیتر مدرج استفاده شده می‌شود.زمانیکه نیاز به تکرار مداوم تیتراسیون باشداز بورتهای اتوماتیک استفاده می‌شود. در این حالت محلول در ظرف پائینی بورت اتوماتیک ریخته شده و توسط کیسه هوایی که به آن وصل شده است بورت مرتبا پر می‌شود.

ارلن مایر
ظرفی است برای حرارت دادن و یا انجام بعضی از واکنشهای شیمیایی استفاده می شود و در برابر حرارت مقاوم است. درجاتی که روی ارلن و بشر نوشته شده تقریبی هستندو حجم تقریبی محلول را نشان می دهند و قابل اطمینان نیستند.

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

 


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

بشر: بشر یا لیوان آزمایشگاهی وسیله استوانه ای شکل است که در اندازه های مختلف از شیشه و یا پلاستیک ساخته می شود.
اسپاتول
اسپاتول: ابزار چینی یا فلزی است که دارای 2 قسمت می باشد، یکی دسته و دیگری تیغه. که کمی پهنتر است. از اسپاتول برای نرم کردن مواد جامد و برداشتن آن استفاده می شود. لازم است یادآوری کنیم که مواد شیمیایی را نباید با دست برداشت. برای برداشتن مواد ابزاری مانند: اسپاتول، انواع قاشق های چینی و پلاستیکی و یا فلزی را باید به کار برد

 

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

 

مرحله آخر از سیکل مزبور، استریلیزاسیون است، روشهای مختلفی برای استریلیزاسیون وجود دارد:
- روش استفاده از بخار (گرمای مرطوب)،
- روش استفاده از هوای خشک (گرمای خشک)،
- اتیلن اکساید،
- روش پلاسما و دیگر روش های غیر رسمی
روش استفاده از بخار (اتوکلاو) قابل کنترل، آسان، بدون باقیمانده، سریع، قابل انبار، معتبر، دارای نشانگر (‏indicator‏ ) است و از آنجا که در مقایسه با سایر روشها به ابزارآلات آسیب کمتری می‌رساند، به عنوان بهترین روش استریل در نظر گرفته شده است.
با توجه به نوع ابزارآلات، اتوکلاوها به سه کلاسN‏.‏S‏ و ‏B‏ طبقه‌بندی می‌شوند. این طبقه‌بندی به منظور صحت عملکرد استریلیزاسیون با توجه به نوع وسایل صورت می‌گیرد.
کلاس ‏N‏:
بر اساس استاندارد این اتوکلاو قادر است ابزار آلات جامد بدون پوشش را استریل نماید. بدین ترتیب تضمینی برای استریل وسایل پوشش‌دار (اعم از پارچه یا کاغذ های مدیکال ) و نیز وسایل حفره دار وجود ندارد. این سیستم فاقد پمپ ‏Vacuum‏ میباشد.اما در طراحی بعضی از کارخانه‌های سازنده در این نوع اتوکلاو سیستم خشک کن و نیز امکان استریل وسایل بسته‌بندی شده در کاغذ های مدیکال وجود دارد، بنابراین در خرید این نوع اتوکلاو بسیار دقت نمایید.

 

کلاس ‏S‏:
وسایلی که در این نوع اتوکلاو می‌توان استریل نمود توسط کارخانه سازنده مشخص می‌شود. این اتوکلاو می‌تواند ابزار آلات بدون پوشش جامد یا پوشش دار جامد، مواد نساجی مثل پارچه، گاز تک لایه و وسایل سوراخ دار ‏B‏ را استریل نماید.
یک اتو کلاو کلاس ‏S‏ می‌تواند با پمپ وکیوم یا بدون آن تجهیز شود و قطعاً دارای سیکل خشک‌کن است.

 

کلاس ‏B‏:
این اتوکلاو می‌تواند تمام انواع اینتسترومنتها برای مثال پوشش دار جامد و بدون پوشش، مواد نساجی و اینسترومنتهای سوراخ دار مدل ‏B‏ و مدل ‏A‏ را استریل نماید. اتوکلاوهای دارای پمپ وکیوم قدرتمندی است که می‌تواند تا حدود 9/0- بار خلاًً ایجاد کند.
دما و فشار در اتوکلاو مطابق استانداردهای بین‌المللی توسط کارخانه سازنده تنظیم می‌شود. بر اساس استاندارد در دمای ‏‎0c‏ 121 و فشار ‏bar‏ 2/1 ابزارآلات باید حداقل به مدت 15 دقیقه، تحت فرآیند استریلیزاسیون قرار گیرند و در دمای ‏‎0c‏ 134 و فشار ‏bar‏ 1/2 مدت زمان استریلیزاسیون حداقل 3 دقیقه است.‏

 

اتوکلاو 3 دقیقه ای ، یک اصطلاح نادرست
در اتاق‌های عمل، کلینیک‌ها و مراکز دندانپزشکی‌ به منظور انجام عملیات استریلیزاسیون، استفاده از اتوکلاوهای سریع (‏fast‏ ) و در نتیجه با حجم کم توصیه می‌شود. اتوکلاوهای سریع (‏fast‏ ) یا به اصطلاح نادرست 3 دقیقه‌ای، مطابق استاندارد باید دارای حداقل زمان استریلیزاسیون مطابق با دما باشد. این حداقل زمان همان‌طور که گفته شد، در دمای 134 درجه سانتی گراد ( 3 دقیقه) و در دمای 121 درجه سانتی گراد (15 دقیقه)، تعیین شده است اما کل مدت زمان کار دستگاه اتوکلاو از فشار دادن دکمه ‏start‏ (شروع کار) تا پایان کار سیستم، مجموع سه زمان : ‏Preheating Time‏ (زمان اولیه) ، ‏Sterilization Time‏ (زمان استریلیزاسیون) و ‏Drying Time‏ (زمان خشک شدن) است.
در مورد زمان استریلیزاسیون توضیح داده شد، زمان خشک کردن در اتوکلاو مجهز به سیستم خشک‌کن نیز توسط کمپانی سازنده تعیین می‌شود و مقدار آن ثابت است. لیکن زمان ‏Preheating‏ (زمان اولیه) وابسته به پارامترهای دیگری است. چنانچه اتوکلاو مجهز به پمپ وکیوم باشد "زمان اولیه" وابسته به تعداد دفعات وکیوم و نوع دستگاه، متفاوت خواهد بود. ضمناً عواملی همچون دمای محیط اطراف و دمای اولیه چمبر و نیز نوسانات برق شهر در تعیین زمان اولیه ‏‎(Preheating)‎‏ نقش بسزایی دارد.پس اصطلاح اتوکلاوهای 3 دقیقه ای بدون شک غلط و فاقد اعتبار است.

 

بررسی اهمیت وکیوم در اتوکلاو:
زمانیکه‌ درب اتوکلاو را بسته و دکمه شروع (‏start‏ ) فشرده می‌شود، عملیات دستگاه آغاز می‌گردد. در این لحظه در داخل چمبر اتوکلاو بسته‌های هوایی وجود دارد. این بسته‌های هوایی به علت اختلاف الاستیسیته فیزیکی با بخار ترکیب نمی شود و سرد باقی می‌مانند و در نتیجه از استریلیزاسیون جلوگیری می‌کنند. ضمناً وجود بسته‌های هوایی در ابزارآلات حفره‌دار انکارناپذیر است. بنابراین لازم است راه حل مناسبی برای از بین بردن این بسته‌های هوایی ارائه شود.

 

پمپ وکیوم؛ تضمین استریلیزاسیون مناسب
اکثر اتوکلاوها به سیستم وکیوم ترمودینامیک مجهز هستند، اما این سیستم صرفاً موجب از بین رفتن بسته‌های هوایی داخل چمبر خواهد شد، بدین‌ترتیب بسته‌های هوایی داخل ابزارآلات حفره‌دار همچنان سرد و غیر استریل باقی خواهند ماند. به منظور استریل نمودن ابزارآلات حفره دارد (مانند توربین در دندانپزشکی) نیاز به پمپ وکیوم مجزا است. وجود پمپ دو مزیت اصلی دارد:
1-آنکه قبل از شروع سیکل استریل جهت خارج کردن بسته‌های هوایی (‏prevacuum‏ )‏
‏2- در پایان عملیات دستگاه به منظور خشک کردن ابزارآلات وارد عمل خواهد شد.
نکات کلی که در خرید دستگاه اتوکلاو باید به آن دقت نمود:
- با توجه به فشاری که دستگاه در آن کار می‌کند، لازم است در اتوکلاو مجهز به سیستم قفل مکانیکی و نیز الکترومگنتیک باشد و تا زمانیکه فشار دستگاه به صفر نرسد، درب دستگاه باز نشود،
- جنس چمبر حتی المقدور از جنس فولاد ضد زنگ (stainless steel‏ ) بوده و المنت دور تا دور چمبر قرار گرفته باشد تا گرما کاملاً به طور یکنواخت توزیع گردد،‏
- چاپگر به منظور مستندسازی عملیات استریلیزاسیون، گزینه مناسبی در دستگاههای اتوکلاو است،
- جدیدترین نوع اتوکلاوها مجهز به سیستم Water Clean‏ است، بدین ترتیب دستگاه به‌طور مستقیم به لوله کشی آب شهر متصل شده و نیاز به آب مقطر از میان می‌رود و ‏
- اتوکلاوهای سریع (fast‏ ) با کاهش زمان خشک‌کردن، سرعت عملیات دستگاه را به مراتب افزایش می‌دهند. سیکل ‏flash‏ در کنار سیکلهای 121 درجه سانتی‌گراد (بدون پوشش و با پوشش) و سیکل 134 درجه سانتی‌گراد (بدون پوشش و با پوشش) موجب افزایش سرعت دستگاه می‌شود
تدابیر لازم به منظور ایمن شدن پسماندهای زیستی Waste management


سه روش به منظور بی خطر کردن پسماندهای زیستی ممکن است استفاده شود.
1 ) اتوکلاو کردن 2 ) سوزاندن 3 ) گندزدایی بوسیله مواد شیمیایی

1 - اتوکلاو کردن

 

اتوکلاو کردن یکی از مناسبترین و ساده ترین روشها است زیرا عموماً در تمامی آزمایشگاههای تحقیقاتی و طبی موجود است.
تمام پسماندهای زیستی باید حداقل به مدت 90 دقیقه و در دمای ◦c 121 در اتوکلاو قرار داده شود و سپس به شیوه صحیح معدوم گردد.

 

2- سوزاندن

 

سوزاندن روشی دیگر برای معدوم کردن پسماندهای زیستی است. برای این منظور هماهنگی با سایر واحدهای مسئول در این زمینه لازم است.

 

3- گندزدایی شیمیایی

 

از این روش برای پسماندهای زیستی مایع استفاده می شود.

 

تقسیم بندی پسماندهای زیستی و تدابیر لازم برای امحاء آنها

 

1- وسایل نوک تیز و برنده

 

این دسته شامل سوزن ها- سرنگهایی که سرسوزن آنها جدا نمی شود، لوله های موئین- لام و لامل، تیغه جراحی و شیشه های شکسته ای که به پسماندهای زیستی آغشته شده اند می باشد.
این پسماندها باید در جعبه های غیرقابل نفوذ ریخته شوند (safety box) و قبل از معدوم کردن به روش مناسب مانند اتوکلاو کردن استریل شوند.
2- پی پت ها

 

پی پت هایی که با آنها عوامل عفونی یا مایعات بدن برداشته شده، باید در ظرف مخصوص پی پتهای عفونی
(pipette biohazard box) گذاشته شود، و برای استریل کردن در داخل کیسمقدمه:
AJAX ِیک نوع برنامه نوِیسِی است که در سال 2005 توسط گوگل به طور عمومِی اِیجاد شد.باAJAX مِی توانِید Web Application هاِی بهتر , سرِیعتر و بسِیارکاربر پسند اِیجاد کنِید.
Ajax راهی برای تقسیم کردن صفحات وب به قسمتهای قابل Update است به طوریکه Update کردن بخشی از صفحه کل صفحه را Update نکند.در واقع Ajax پاسخی به مشکلات Web Application ها در چند سال گذشته است. کافی است یکبار یک سایت طراحی کنید تا بفهمید که Postback های اضافی و بی مورد و load شدن های وحشتناک آن هم به خاطر تغییر، مثلا تاریخ در یک تقویم چه دردسری را برای طراح و کاربر ایجاد میکند.وقتی صحبت از انداختن بار CPU از سرور به کامپیوتر کاربر میشود, یعنی از java script استفاده شده است. در واقع سیستم استفاده از script که به دلیل ناامنی به کناری گذاشته شده بود با تلفیق جدید دوباره احیا شد.AJAX مبتنِی برجاوا اسکرِیپت و HTTP Request است.

 

معرفِی AJAX :
آجاکس ِیک زبان برنامه نوِیسِی جدِید نِیست بلکه ِیک تکنِیک جهت اِیجاد Web application هاِی بهتر و سرِیعتر و بسِیار تعاملِی است.
با آجاکس , جاوا اسکرِیپت مِی تواند مستقِیما با سرور ارتباط برقرار کند, و از شِی جاوا اسکرِیپتِی XMLHttpRequest استفاده کند. با اِین شِی , جاوا اسکرِیپت مِی تواند داده را با ِیک Web server , بدون لود مجدد صفحه , مبادله کند.
آجاکس از انتقال ناهمزمان داده ها(درخواستهاِی HTTP) در بین browser و web server استفاده مِی کندو اجازه مِی دهد صفحات وب به جاِی درخواست کل صفحه, اطلاعات کمِی را از سرور درخواست کنند.
تکنِیک آجاکس, application هاِی اِینترنت را کوچکتر و سرِیعترو بسِیار کاربرپسند مِی کند.
آجاکس ِیک تکنولوژِی browser وابسته به نرم افزار web server است و مبنِی بر استانداردهاِی وب است.در ادامه لیستی از این استانداردها را می بینید:
• JavaScript
• XML
• HTML
• CSS
استانداردهاِی وبِی که آجاکس مبنِی بر آنها است , به خوبِی تعرِیف شده اند و توسط browser هاِی زِیادِی پشتِیبانِی مِی شوند. Application هاِی آجاکس و browser و platform بهم وابسته اند.
Web application ها مزاِیاِی بیشتری نسبت به application هاِی دِیگر دارند. آنها مِی توانندبه داده ی بیشترِی دستِ یابندونصب و پشتِیبانِی آنها بسِیار آسان است وجهت توسعه راحترند.به هر حال , application هاِی اِینترنتِی همانند desktop application هاِی سنتِی همِیشه غنِی و کاربرپسند نِیستند.با آجاکس , internet application ها مِی توانند غنِی تر و کاربرپسندتر ایجاد شوند.

 

Httprequest آجاکس (ajax httprequest)
در کد گذارِی سنتِی جاوا اسکرِیپت, اگر اطلاعاتِی از یک دِیتابِیس یا یک فاِیل در سرور مِی خواستِیدویاجهت ارسال اطلاعات کاربر به یک سرور، مِی بایست یک فرم HTML درست مِی کردِیدو داده ها را به سرور مِی فرستادِیدِPOST)) یا از آن مِی گرفتِید(GET). کاربر جهت درِیافت ِیا ارسال اطلاعات باِید روِی دکمه ی “Submit” کلِیک مِی کرد, منتظر پاسخگوِیِی سرور مِی ماند, سپس یک صفحه ی جدِید با نتِیجه لود مِی شد.سرور در هر بار که کاربر ورودِی را ارائه کند,ِیک صفحه ِی جدِید برمِی گرداند, وب application هاِی سنتِی خِیلِی کند اجرا و کمتر کاربرپسند هستند .
با آجاکس , جاوا اسکرِیپت در مِیان شِی JavaScriptXMlHttpRequestمستقِیما با سرور در ارتباط است .
با ِیک درخواست HTTP , صفحه ِی وب مِی تواند ِیک درخواست به سرور درست کند, و پاسخِی از ِیک وب سرور,بدون لود مجدد صفحه , درِیافت کند. کاربر در همان صفحه مِی ماند, و به درخواستهاِی اسکرِیپتِی صفحات توجهِی ندارد.

 

 

 



مثالِی از AJAX
براِی درک چگونگِی کار آجاکس , بِیاِیِید ِیک Ajax application کوچک اِیجاد کنِیم.
ابتدا، ِیک فرم HTML ساده با دو متن اِیجاد مِی کنِیم : username وtime . فِیلد username با کاربر پر مِیشود و فِیلد time با استفاده از آجاکس پر مِی شود.
فاِیل HTML را testajax.htm بنامِید . قطعه کد لازم در زِیر نشان داده شده است. توجه کنِید که اِین فرم HTML دکمه ِی submit ندارد.
<html>
<body>
<form name="myForm">
Name: <input type="text" name="username" />
Time: <input type="text" name="time" />
</form>
</body>
</html>

 

بخش بعدِی در مورد keystone هاِی آجاکس توضِیحِی مِی دهد.

 


پشتِیبانِی Browser از آجاکس
Keystone هاِی آجاکس , شِی XMLHttpRequest است. Browserهاِی مخــتلف , ازمــــتدهاِی مختلفِی جهت اِیجاد شِی XMLHttpRequest استفاده مِی کنند.
Internet Explorer از ِیک شِی ActiveX استفــــاده مِی کند, در حالِی که browser هاِی دِیـــگر از شِی توکار JavaScript فراخوانده شده در XMLHttpRequest استفاده مِی کنند.
براِی اِیجــاد اِین شِــی , و تبادل با browser هاِی مختلف , از عبارت “try …catch” استفاده مِی کنِــیم. بـــِیاِیِید فاِیلtestAjax.htm را با با جاوا اسکرِیپتِی که شِی XMLHttpRequest را اِیجاد مِیکند, به روز کنِیم:
<html>
<body>
<scripttype="text/javascript">
function ajaxFunction()
{
var xmlHttp;
try
{
//Firefox,Opera8.0+,Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
//InternetExplorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("Your browser does not support AJAX!");
return false;
}
}
}
}
</script>
<form name="myForm">
Name: <input type="text" name="username" />
Time: <input type="text" name="time" />
</form>
</body>
</html>

 


دراِین مثال ابتدا ِیک متغِیر xmlHttp جهت نگه داشتن ِیک شِی XMLHttpRequest اِیجاد مِی کنِیم.
سپس سعِی مِی کند با دستور () xmlHttp=new XMLHttpRequestِیک شِی اِیجاد کند.اِین براِی browser هاِی Fierfox,Opera و Safari است. اگر آن ممکن نبود, براِی Internet Explore 6.0 سعِی مِی کند با دستور xmlHttp=new ActiveXObject(“Msxml2.XMLHTTP”) ِیک شِی اِیجادکند، و اگر آنهم ممکن نبود، براِی Internet Explorer 5.5 سعِی مِی کند با دستور
xmlHttp=new ActiveXObject(“Microsoft.XMlHTTP”) ِیک شِی اِیجاد کند.
اگر هِیچ کدام از اِین سه متد کار نکند , کاربر ِیک browser بسِیار قدِیمِی دارد و ِیک اخطار مبنِی براِینکه browser اش آجاکس را پشتِیبانِی نمِی کند, مِی بِیند.

 

توجه: کد وِیژه ِی browser بالا طولانِی ونسبتا پِیچِیده است. اما شما مِی توانِید هر زمان که خواستِید ِیک شِی XMLHttpRequest اِیجاد کنِید , آن را کپِی کنِید.

 

شِی XMLHttpRequest
با استفاده از شِی XMLHttpRequest ,برنامه نویس مِی تواند ِیک صفحه داراِی داده از سرور را بعد از لود صفحه , به روز کند.آجاکس به طور عمومِی در سال 2005 توسط Google sugestایجاد شد.
Google Suggest از شِی XMLHttpRequest براِی اِیجاد ِیک رابط وب پوِیا , استفاده مِی کند.زمانِی که مطلبِی را جهت جستجو در google تاِیپ مِیکنِید، جاوا اسکرِیپت،متن شما را به ِیک سرور ارسال مِی کند و سرور لِیست پِیشنهادهاِیش را بر مِی گرداند.
مرورگرهاِی 5.0IE Safari 1.2, , 8 opera , Mozila 1.0/Firefox و Netscape 7 , شِی XMLHttpRequest را پشتِیباتِی مِی کند.
قبل از فرستادن داده ها به سرور , مِی باِیست سه خصوصِیت مهم شِی XMLHttpRequest را بدانِیم.
خصوصِیت onreadystatechange
بعد از ِیک تقاضا به سرور , نِیازمند تابعِی هستِیم که بتواند داده ای که توسط سرور برگردانده مِی شود را درِیافت کند.خصوصِیت onreadystatechange , تابعِی را که پاسخ ِیک سرور را پردازش مِی کند, ذخِیره مِی کند. کدِی که در زِیر نوشته شده است ِیک تابع خالِی تعرِیف مِی کند و خصوصِیت onreadystatechange را در ِیک زمان تنظِیم مِی کند:
xmlHttp.onreadystatechange=function()
{
// We are going to write some code here
}

 

خصوصِیت readyState
خصوصِیت readyState وضعِیتهاِی پاسخ سرور را نگه مِی دارد. هر بار که readyState تغِیِیر مِی کند, تابع onreadystatechange اجرا خواهد شد.
در زِیر مقدار هاِی مجاز خصوصِیت readystate آورده شده است:
Description State
درخواست آغاز (initialize) نشده است(Not initialized) 0
درخواست برقرار شده است(Open) 1
درخواست فرستاده شد(Sent). 2
درخواست در حال پردازش است(Recived). 3
درخواست کامل است(Loaded). 4

 

براِی آزمودن اِینکه آِیا پاسخ کامل است(به اِین معنا که مِی توانِیم داده هاِیمان را بگِیرِیم)، باِید ِیک عبارت if به تابع onreadychange بِیفزاِیِیم.
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
// Get the data from the server's response
}
}

 

خصوصِیت responseText
داده ِی برگشتِی از سرور با خصوصِیتresponseText قابل بازِیابِی است.
در کد زِیر , ما مقدار فِیلد “time” را مساوِی با responseText تنظِیم کرده اِیم:
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
document.myForm.time.value=xmlHttp.responseText;
}
}

 

بخش بعدِی نشان مِی دهد که چگونه بعضِی از داده ها را ازسرور درخواست کنِیم.

 

ارسال ِیک درخواست به سرور
جهت بدرقه ِی ِیک درخواست به سرور, از متدهاِی open() و send() استفاده مِی کنِیم.
متد open() سه آرگومان مِی پذِیرد. آرگومان اول براِی تعِیِین متد(GET ِیا POST) جهت ارسال درخواست استفاده شود. آرگومان دوم URL اسکرِیپت سمت سرور را مشخص مِی کند.آرگومان سوم مشخص مِی کند که درخواست باِید به طور ناهمزمان کنترل(handled) شود ِیا نه.متد send() , درخواست را به سرور همراهِی و بدرقه مِی کند .با فرض اِینکه فاِیل HTML وASP در ِیک مسِیر هستند, کد به صورت زِیر است:
xmlHttp.open("GET","time.asp",true);
xmlHttp.send(null);

 

اکنون باِید در مورد زمان اجرا ِی تابع آجاکس تصمِیم گِیرِی کنِیم. براِی مثال هنگامِی که کاربر در فِیلد username متنِی را تاِیپ مِی کند , اجازه دهِیم تابع در"پشت صحنه " اجرا شود.مانند زِیر:
<form name="myForm">
Name: <input type="text"
onkeyup="ajaxFunction();" name="username" />
Time: <input type="text" name="time" />
</form>

 

فاِیل testAjax به روز شده با قطعه کد با لا به صورت زِیر است:
<html>
<body>
<script type="text/javascript">
function ajaxFunction()
{
var xmlHttp;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("Your browser does not support AJAX!");
return false;
}
}
}
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
document.myForm.time.value=xmlHttp.responseText;
}
}
xmlHttp.open("GET","time.asp",true);
xmlHttp.send(null);
}
</script>
<form name="myForm">
Name: <input type="text"
onkeyup="ajaxFunction();" name="username" />
Time: <input type="text" name="time" />
</form>
</body>
</html>

 

در بخش بعدِی AJAX application را با اسکرِیپت"time.asp" کامل مِی کنِیم.

 

اسکرِیپت سمت سرور ASP
اکنون قصد دارِیم اسکرِیپتِی اِیجاد کنِیم که زمان جارِی سِیستم را نماِیش دهد.
خصوصِیت responceText (که در بخشهاِی قبلِی توضِیح داده شد)، داده ِی بازگشتِی از سرور را ذخِیره مِی کند . در اِینجا مِی خواهِیم زمان جارِی را برگردانِیم.کد نوشته شده در time.asp به صورت زِیر است:
<%
response.expires=-1
response.write(time)
%>

 


توجه: با استفاده خصوصِیت Expire مدت زمان cache ِیک صفحه قبل از منقضِی شدن آن درِیک browser را تنظِیم مِی کند.اگر کاربر صفحه ِی مشابهِی را قبل از زمان انقضا بر گرداند، نسخه ِی cache شده نشان داده مِی شود. براِی اِینکه صفحه هرگز cache نشود، باِید Response.Expire=-1 باشد.

 

 

 

اجراِی AJAX Application
با تاِیپ متنِی در textbox مربوط بهName وسپس کلِیک در داخل text box مربوط به time نتِیجه را خواهِید دِید. Text box مربوط به time بدون لود دوباره ِی صفحه، زمان سرور را از فاِیل time.asp مِی گِیرد.

 

مثالهاِی دِیگر آجاکس
دِیدِیم که براِی اِیجاد چندِین application تعاملِی مِی توان از آجاکس ا استفاده نمود .در مثالهاِی آجاکسِی که در زِیر آمده است به توضِیح چگونگِی ارتباط ِیک صفحه ِی وب با ِیک وب سرور online مِی پردازِیم.

 

مثال 2: AJAX Database
از آجاکس جهت اِیجاد ارتباطات تعاملِی و محاوره اِی با ِیک دِیتابِیس نِیزمِی توان استفاده نمود.در مثال زِیرقصد دارِیم نشان دهِیم چگونه ِیک صفحه ِی web اطلاعات را ازِیک دِیتابِیس با استفاده از تکنولوژِی آجاکس واکشِی (fetch)مِی کند.در اِین مثال با کلِیک روِی dropdown list اطلاعات مشترِی لِیست مِی شود.

توضِیح مثال:
مثال بالا شامل ِیک فرم HTML ساده وِیک لِینک به ِیک فاِیل JavaScript است :
<html>
<head>
<script src="selectcustomer.js"></script>
</head>
<body>
<form>
Select a Customer:
<select name="customers" onchange="showCustomer(this.value)">
<option value="ALFKI">Alfreds Futterkiste
<option value="NORTS ">North/South
<option value="WOLZA">Wolski Zajazd
</select>
</form>
<p>
<div id="txtHint"><b>Customer info will be listed here.</b></div>
</p>
</body>
</html>

 

همان طور که مِی بِینِید اِین ِیک کد ساده HTML است که ِیک drop down list با نام "customers" دارد.
پاراگراف پاِیِین فرم ِیک تگ div با نام "txtHint" دارد.در اِین مثال،از divهمچون مکانِی براِی نگهدارِی اطلاعات بازِیابِی شده ازِیک web server استفاده مِی شود.
هنگامِی که کاربر داده اِی را انتخاب مِی کند،تابعِی بانام "showCustomer()" فراخوانِی مِی شود.روِیداد”onchange” ،راه اندازِی براِی اجراِی اِین تابع است.به عبارت دِیگر : هر بار که کاربر مقدار باکس drop down list را تغِیِیر مِی دهد, تابع “showCustomer” فرا خوانِی مِی شود.

 

JavaScript آجاکس
در زِیر کد جاوا اسکرِیپت نشان داده شده است.اِین کد در فاِیل "selectcustomer.js" ذخِیره شده است.
var xmlHttp

 

function showCustomer(str)
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Your browser does not support AJAX!");
return;
}
var url="getcustomer.asp";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}

 

function stateChanged()
{
if (xmlHttp.readyState==4)
{
document.getElementById("txtHint").innerHTML=xmlHttp.responseText;
}
}

 

function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}

 

AJAX Server Page
صفحه ِی سرورِی که توسط جاوا اسکرِیپت فراخوانِی شده است، ِیک فاِیل ASP به نام "getcustomer.aspx" است. اِین کد به زبان C# نوشته شده است و نتِیجه را مانند ِیک جدول HTML بر مِی گرداند.
<%
Response.Expires = -1;
System.Data.SqlClient.SqlConnection myConnection = new System.Data.SqlClient.SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=E:\\Class C#\\northwind.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
myConnection.Open();
System.Data.SqlClient.SqlCommand command = new System.Data.SqlClient.SqlCommand(SELECT * FROM CUSTOMERS WHERE CUSTOMERID="+ "'" + Convert.ToString(Request.QueryString.Get("q")) + "'", myConnection);

 

System.Data.SqlClient.SqlDataReader drEmp =
command.ExecuteReader();

 

drEmp.Read();
Response.Write("<table>");

 

v
Response.Write("<tr><td>" );
Response.Write(Convert.ToString(drEmp.GetName(i)));
Response.Write("</td><td>");
Response.Write(Convert.ToString(drEmp.GetValue(i)));
Response.Write( "</td></tr>");
}

 

Response.Write("</table>");

 

myConnection.Close();
%>

 


مثال 4: AJAX XML
آجاکس مِی تواند ارتباط تعاملِی و محاوره اِی با ِیک فاِیل XML داشته باشد.در مثال زِیرقصد دارِیم نشان دهِیم چگونه ِیک صفحه ِی web مِی تواند اطلاعات را از ِیک فاِیل XML با استفاده از تکنولوژِی آجاکس واکشِی (fetch)کند.

توضِیح مثال:
مثال بالا شامل ِیک فرم HTML وِیک لِینک به ِیک فاِیل JavaScript است.
<html>
<head>
<script src="selectcd.js"></script>
</head>
<body>
<form>
Select a CD:
<select name="cds" onchange="showCD(this.value)">
<option value="Bob Dylan">Bob Dylan</option>
<option value="Bonnie Tyler">Bonnie Tyler</option>
<option value="Dolly Parton">Dolly Parton</option>
</select>
</form>
<p>
<div id="txtHint"><b>CD info will be listed here.</b></div>
</p>
</body>
</html>

 

همانطور که مِی بِینِید اِین ِیک فرم HTML با ِیک drop dpwn list به نام"cds" است . پاراگراف پاِیِین فرم شامل ِیک تگ div به نام "txtHint" است. در اِین مثال, از divهمچون مکانِی براِی نگهدارِی اطلاعات بازِیابِی شده از ِیک web server استفاده مِی شود.
وقتِی کاربر داده اِی را انتخاب مِی کند, تابعِی با نام "showCD" فرا خوانِی مِی شود. روِیداد "onchange" راه اندازِی براِی اجراِی اِین تابع است.به عبارت دِیگر: هر بار که که کاربر مقدار باکس drop down list را تغِیِیر دهد، تابع showCD فراخوانِی مِی شود.

 

JavaScript آجاکس
در زِیر کد جاوا اسکرِیپت نشان داده شده است . اِین کد در فاِیل "select.js" ذخِیره شده است:
var xmlHttp
function showCD(str)
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Your browser does not support AJAX!");
return;
}
var url="getcd.asp";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
function stateChanged()
{
if (xmlHttp.readyState==4)
{
document.getElementById("txtHint").innerHTML=xmlHttp.responseText;
}
}
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}

 

AJAX Server Page
صفحه ِی سرورِی که توسط چاوا اسکرِیپت فراخوانِی مِیشود, ِیک فاِیل ASP به نام "getcd.aspx" است. بدون استفاده از تکنولوژِی آجاکس, اِین فاِیل ِیک فاِیل XML را اجرا مِی کرد .اما با بکارگِیرِی اِین تکنولوژِی به جاِی اجراِی فاِیل XML ، یک query را اجرا مِی کند ونتِیجه را به صورت HTML بر مِی گرداند.

 

اِین کد به زبان C# نوشته شده است:
<%@ Import Namespace="System.Xml"%>
<%@Import Namespace="System.Xml.XPath"%>
<%
Response.Expires = -1;
string q = Request.QueryString.Get("q");

 

string xmlPath = "E:\\TEST\\Example4W3schools\\cd_catalog.xml";
XmlDocument doc = new XmlDocument();
doc.Load(xmlPath);
XmlNodeList nodeList =
doc.SelectNodes("/CATALOG/CD[@Artist='"+q+"']");

foreach (XmlNode X in nodeList)
{
foreach (XmlNode Y in X.ChildNodes)
{
Response.Write("<b>" + Y.Name + " : </b>");
Response.Write(Y.InnerText);
Response.Write("<br />");
}
}

%>

 


مثال 4: AJAX ResponseXML
همانطور که responseText , ِیک پاسخHTTP رااز نوعstring برمِی گرداند, responseXML پاسخ را از نوع XML بر مِی گرداند .
خصوصِیت ResponseXML ِیک شِی XML document برمِی گرداند.قصد دارِیم در اِین مثال نشان دهِیم که چگونه ِیک web page ،اطلاعات را از ِیک دِیتابِیس با استفاده از تکنولوژِی آجاکس واکشِی مِی کند.اِین بار داده ِی انتخاب شده از دِیتابِیس به ِیک XMl document تبدِیل مِی شود و مِی توانِیم از DOM براِی استخراج مقدار جهت نشان دادن استفاده کنِیم.
مثال4:

توضِیح مثال:
مثال بالا شامل ِیک فرم HTML است که چندِین عنصر(تگ) <span> جهت نگهدارِی داده و ِیک لِیِیک جاوا اسکرِیپت است.
<html>
<head>
<script src="selectcustomer_xml.js"></script>
</head>
<body>
<form action="">
Select a Customer:
<select name="customers" onchange="showCustomer(this.value)">
<option value="ALFKI">Alfreds Futterkiste</option>
<option value="NORTS ">North/South</option>
<option value="WOLZA">Wolski Zajazd</option>
</select>
</form>
<b><span id="companyname"></span></b><br />
<span id="contactname"></span><br />
<span id="address"></span>
<span id="city"></span><br/>
<span id="country"></span>
</body>
</html>

 

اِین فرم HTML ِیک Drop Down Box به نام "customers" دارد.
هنگامِی که کاربر ِیک مشترِی را از drop down boxانتخاب مِی کند, تابعِی به نام "showCustomer()" اجرا مِی شود.روِیداد"onchange" باعث راه اندازِی اجراِی اِین تابع مِی شود. به عبارت دِیگر: هر بار که کاربر مقدار داخلdrop down box را تغِیِیر دهد, اِین تابع فراخوانِی مِی شود.

 

آجاکسJavaScript
در زِیر کد جاوا اسکرِیپت نشان داده شده است .اِین کد در فاِیل "selectcustomer_xml.js"ذخِیره شده است.
var xmlHttp
function showCustomer(str)
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Your browser does not support AJAX!");
return;
}
var url="getcustomer_xml.asp";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
function stateChanged()
{
if (xmlHttp.readyState==4)
{
var xmlDoc=xmlHttp.responseXML.documentElement;
document.getElementById("companyname").innerHTML=
xmlDoc.getElementsByTagName("compname")[0].childNodes[0].nodeValue;
document.getElementById("contactname").innerHTML=
xmlDoc.getElementsByTagName("contname")[0].childNodes[0].nodeValue;
document.getElementById("address").innerHTML=
xmlDoc.getElementsByTagName("address")[0].childNodes[0].nodeValue;
document.getElementById("city").innerHTML=
xmlDoc.getElementsByTagName("city")[0].childNodes[0].nodeValue;
document.getElementById("country").innerHTML=
xmlDoc.getElementsByTagName("country")[0].childNodes[0].nodeValue;
}
}

 

function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}

توابع showCustomer() و GetXmlHttpObject() درست مانند توابع در مثالهاِی قبلِی است. تابع statechange() که قبلا توضِیح داده شده است، اِین بار نتاِیج را مانند، ِیک XML document (با responseXML) بر مِی گردانِیم ،واز Dom براِی استخراج مقدارِی که مِی خواهِیم نشان دهِیم, استفاده مِی کنِیم.

 

AJAX Server Page
صفحه ِی سرورِی که توسط جاوا اسکرِیپت فراخوانِی شد , ِیک فاِیل ASP با نام"getcustomer_xml.aspx" است. کد زِیر به زبان C# نوشته شده است.
اِین کد به جاِی اجراِی ِیک دِیتابِیس، ِیک SQL queryرا اجرا مِی کندو نتِیجه را مانند ِیک XML documentبر مِی گرداند.
<%@Import Namespace="System.IO" %>
<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="System.Xml.XPath" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>

 

<%
Response.Expires=-1;
Response.ContentType="text/xml";

 

SqlConnection myConnection =
new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=E:\\Class C#\\ northwind.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");

 

myConnection.Open();
SqlCommand command = new SqlCommand("SELECT * CUSTOMERS WHERE CUSTOMERID =" + "'" + Convert.ToString(Request.QueryString.Get("q")) + "'", myConnection);
SqlDataReader datareader = command.ExecuteReader();

 

datareader.Read();

 

Response.Write("<company");
for (int i = 0; i < datareader.FieldCount; i++)
{

 

switch (i)
{
case (0):
Response.Write("<compname>" + Convert.ToString(datareader.GetValue(0)) + "</compname>");
break;

 

case (1):
Response.Write("<contname>" + Convert.ToString(datareader.GetValue(1)) + "</contname>");
break;
case (2):
Response.Write("<address>" + Convert.ToString(datareader.GetValue(2)) + "</address>");
break;
case (3):
Response.Write("<city>" + Convert.ToString(datareader.GetValue(3)) + "</city>");
break;
case (4):
Response.Write("<country>" + Convert.ToString(datareader.GetValue(4)) + "</country>");
break;
}
}
Response.Write("</company>");
%>

 

به خط دوم در کد ASP بالا (response.contenttype=”text/xml” )توجه کنِید. خصوصِیت ContentType نوع متد HTTP را براِی شِی response تنظِیم مِی کند.مقدار پِیش فرض براِی اِین پراپرتِی "text/html"است. اما ما مِی خواهِیم مقدارش اِین بار XML باشد.
سپس ِیک داده ر انتخاب مِی کنِیم ، وِیک XML document با داده مِی سازِیم.
Ajax با تلفیق جاوا اسکریپت ، XML و ASP.NET یک سری کنترل های موجود در ASP.NET را بسط داده و بخشی از کار آن کنترل را با استفاده از جاوا اسکریپت در سیستم کاربر انجام میدهد.

 

مقایسه ی معماری Asp.net AJAX Extensions و Asp.net 2
معماری Asp.net AJAX Extensions :
1- کنترلهای server 2- اتصال کننده ی سرویسهای کاربردی 3- ارتباطات ناهمزمان

 

 

 

معماری Asp.net 2 :
1- Page Framework و کنترلهای سرور 2- سرویسهای کاربردی

 

Server Controls :
کنترلهای سرور را به دو دسته تقسیم می شوند:
1- Script Managent : که شامل کنترلهای ScriptManagerو ScriptManagerProxy می شود.
2- Partial-Page Rendering(تفسیر قسمتی از صفحه) :که شامل کنترلهای UpdatePanel و UpdateProgressوTimer می شود.
حال به توضیح کامل هر کدام از این کنترلها می پردازیم:
1- ScriptManager :
1- نقطه ی شروعی برای صفحات Asp.net AJAX است.
2- فایلهای JavaScript رادر Client دانلود می کند.
3- مارا قادر می سازد تا برای تعبیر و به روز رسانی قسمتی از صفحه از کنترل UpdatePanel استفاده کنیم.
4- دسترسی به سرویس های وب را از طریق پروکسی های سمت Client فراهم می سازد.
5- مدیریت زمان انجام Callback وهچنین مدیریت خطاها را بر عهده دارد.
6- متدهای ثبتی برای Scripts فراهم می کند.
7- حیطه وموضع Asp.net Ajax را پشتیبانی وحمایت می کند.
نکته: هر صفحه فقط وفقط یک نمونه از ScriptManager نیاز دارد.
شمای ScriptManager:
<asp:ScriptManager ID="ScriptManager1" Runat="server"
EnablePartialRendering="true|false"
EnablePageMethods="true|false"
AsyncPostBackTimeout="seconds"
AsyncPostBackErrorMessage="message"
AllowCustomErrorsRedirect="true|false"
OnAsyncPostBackError="handler"
EnableScriptGlobalization="true|false"
EnableScriptLocalization="true|false"
ScriptMode="Auto|Inherit|Debug|Release"
ScriptPath="path">
<Scripts>
<!-- Declare script references here -->
</Scripts>
<Services>
<!-- Declare Web service references here -->
</Services>
</asp:ScriptManager>

 

 

 


Service References - 1 :
<asp:ScriptManager ID="ScriptManager1" Runat="server">
<Services>
<asp:ServiceReference Path="ZipCodeService.asmx" />
</Services>
</asp:ScriptManager>
2- ScriptManagerProxy :
"Proxy" برای کنترلهای ScriptManager در master pages اعلان می شود.همچنین اجازه می دهد content pages (صفحات content) اسکریپت و مرجع های سرویس را بشناسند ودر آنها ظاهر شوند.
<asp:ScriptManagerProxy ID="ScriptManagerProxy1" Runat="server">
<Scripts>
<!-- Declare additional script references here -->
</Scripts>
<Services>
<!-- Declare additional service references here -->
</Services>
</asp:ScriptManagerProxy>

 

3 _ Update Panel :
1- از Trigger های تعریف شده پشتیبانی می کند: به طور پیش فرض ، postback تمام کنترلها در یک UpdateControl به callback های غیر همگام تبدیل می شوند.trigger ها حیطه ودامنه ی postback->callback را منقبض یا منبسط می کنند.
2- در تمام حالات به درستی کار می کند.

 

شمای UpdatePanel:
<asp:ScriptManager ID="ScriptManager1" Runat="server"
EnablePartialRendering="true" /> …
<asp:UpdatePanel ID="UpdatePanel1" Runat="server"
UpdateMode="Always|Conditional"
ChildrenAsTriggers="true|false">
<Triggers>
<!-- Define triggers (if any) here -->
</Triggers>
<ContentTemplate>
<!-- Define content here -->
</ContentTemplate>
</asp:UpdatePanel>

 

راه اندازها( (Triggers :
*راه انداز غیر همگام postback (AsyncPostBackTrigger):
1- تبدیل postback ها به callback های ناهمزمان.2- هنگامی که کنترلها بیرون UpdatePanel هستند و post back و رویدادهای اتفاق می افتد,از triggerبرای به روز رسانی استفاده می شود . 3-اگر ChildrenAsTriggers="false" , می تواند در کنترلهای داخل UpdatePanel که callback بیشتری نسبت به postback دارند, استفاده شود.
*راه انداز PostBack ((PostbackTrigger
:1- اجازه ی postback به کنترلهای داخل Updatepanel می دهد .2- به طور نمونه اجازه postback به برخی کنترلها وقتی ChildrenAsTrigger="true" باشد, میدهد.
مثالی از Trigger :
<asp:UpdatePanel ID="UpdatePanel1" Runat="server"
UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" />
<asp:AsyncPostBackTrigger ControlID="TreeView1"
EventName="TreeNodeExpanded" />
<asp:AsyncPostBackTrigger ControlID="TreeView1"
EventName="TreeNodeCollapsed" />
<asp:PostBackTrigger ControlID="Button2" />
</Triggers>
<ContentTemplate>
...
</ContentTemplate>
</asp:UpdatePanel>
4-Timer :
آمیختن و ترکیب کنترلهای UpdatePanel و Timer باعث پیاده سازی به روز رسانی دوره ای می شود.
رویدادهای کنترل Timer مانند Triggerها استفاده می شوند:
<asp:Timer ID="Timer1" Runat="server" Interval="5000"
OnTick="OnTimerTick" />
...
<asp:UpdatePanel UpdateMode="Conditional" ...>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Timer1" />
</Triggers> ...
</asp:UpdatePanel>
5-UpdateProgress:
این کنترل بهمراه کنترلUpdatePanel استفاده می شودو وظایفش به شرح زیر است:
1-مشخص کننده ی این است که یک Update غیر همگام درجریان است.
2-متوقف کردن یک Update غیر همگام که در جریان است.
وقتی عمل Update شروع می شود یا پس از وقفه ای UpdateProgress, به طور خودکارنمایش داده می شود.
ه های مناسب اتوکلاو قرار گیرد و بعد از سترون سازی به شیوه صحیح معدوم شود.

 

 

فرمت این مقاله به صورت Word و با قابلیت ویرایش میباشد

تعداد صفحات این مقاله   92 صفحه

پس از پرداخت ، میتوانید مقاله را به صورت انلاین دانلود کنید


دانلود با لینک مستقیم


دانلود مقاله AJAX Web Service