View Full Version : سوال: تفاوت Host کردن سرویس در IIS و WindowsService
morteza_mt5
چهارشنبه 13 دی 1391, 09:14 صبح
دوستان عزیز Host کردن سرویس در IIS و Windows Service چه تفاوت هایی داره ؟ و اصلا معایب و مزایای هر کدوم چیه ؟
morteza_mt5
دوشنبه 25 دی 1391, 14:11 عصر
خوب خودم دست به کار شدم و تونستم مطالب زیر رو پیدا کنم ، که امیدوارم به درد شما دوستان هم بخوره : :متفکر:
براي اينکه Client از WCFService استفاده کند و يا آن را صدا بزند نيازمند اين است که سرويس ما در جايي host شود که اين محيط نيز بايد به صورت runtime باشد . نقش اصلي Host شروع و خاتمه دادن به سرويس ، آماده بودن براي دريافت Request هاي ارسال شده از سوي مشتري و پاسخ دادن به مشتري مي باشد . براي Host کردن سرويس بايد از کلاس ServiceHost در System.Servicemodal namespace استفاده نماييم.
اين کلاس سرويس مورد نظر را معرفي کرده ، پيکر بندي لازم را انجام مي دهد . امنيت را پياده سازي مي کند ، منتظر درخواست مشتري مي ماندتا به مشتري پاسخ لازم را بدهد .
شما ميتوانيد سرویس را بر روي Windows Process هاي زير Host کنيد :
Internet Information Services (IIS)
Windows Process Activation Service (WAS)
Windows service, a Windows Forms application or a Windows Presentation Foundation application
مزاياي استفاده از IIS و WAS :
o در IIS سرویس ما هنگامی که پیامی و یا درخواستی از سوی Client ارسال می شود فعال شده و در WAS هنگامی که سیستم عامل بالا می آید Run می شود .
o هر دو دارای Monitoring بسیار قوی بوده و به خوبی سرویس برنامه ما را مدیریت کرده و امنیت را برقرار می کنند .
تفاوت :
درIIS ، مشتری تنها میتواند با پروتوکل HTTP ارتباط برقرار کند در صورتی که WAS به غیر از HTTP با سایر پروتوکل های ارتباطی مثل TCP/IP و MSMQ نیز ارتباط برقرار می کند .
در پایان توصیه ی خود سایت مایکروسافت رو برای انتخاب یکی از این دو مورد یعنی IIS و WAS در زیر آوردم :
· اگر از Windows Server 2008 استفاده می کنید ، شما باید سرویس WCF خود را در WAS هاست کنید
· اگر از Windows Server 2003 استفاده می کنید ، و قرار است که از پروتوکل Http در ارتباط هایتان استفاده نمایید ، شما باید سرویس WCF خود را در IIS هاست کنید .
· اگر از Windows Server 2003 استفاده می کنید ، و قرار است که ازسایر پروتوکل ها در ارتباط هایتان استفاده نمایید ، شما باید سرویس WCF خود را در WAS هاست کنید .
· هاست کردن سرویس در ConsoleApplication کار راحتی است و بیشتر مناسب دمو دادن و تست گرفتن می باشد ، اما مناسب ساخت یک پروژه نیست .
· هاست کردن سرویس در Windows Forms و یا Windows Presentation Foundation برای یکسری سناریو های خاص مناسب است .برای مثال وقتی که می خواهید یک برنامه chat بنویسین .
اینم لینک منبع :
http://msdn.microsoft.com/en-us/library/ee939285.aspx
:لبخندساده:
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.