بسم الله الرحمن الرحیم
در جدول زیر تفاوت های wcf و وب سرویس خلاصه شده است :
ردیف | ویژگی | Asp.net Service | WCF Service |
1 | فرمت و پسوند فایل | .asmx | .svc |
2 | هاستینگ | Asp.net Service در IIS میزبانی می شود و در خارج از IIS هم می تواند در یک سرویس ویندوزی میزبانی گردد | WCF از انعطاف بیشتر برخوردار است چون می تواند در IIS،WAS و سرویس های مدیریت شده ویندوزی میزبانی شود . همچنین از قابلیت Self-Hosting هم پشتیبانی می کند . |
3 | پرتوکل های انتقال | از پروتکل های HTTP و TCP پشتیبانی می نماید | از پروتکل های HTTP ، WS-HTTP ، TCP، Custom, Named Pipes, MSMQ & P2P(Point to Point) و ... پشتیبانی می نماید |
4 | انتقال داده | برای انتقال داده از XML serializer استفاده می نماید | از DataContractSerializer برای انتقال داده استفاده می نماید |
5 | Serialization NameSpace | System.XML.Serialization | System.RunTime.Serialization |
6 | فعالیت های پشتیبانی شده | فقط از فعالیت های یک طرفه و Request-Response پشتیبانی می کند | هم از فعالیت های یک طرفه و Request-Response type پشتیبانی می کند هم از فعالیت های Duplex |
7 | Encoding | XML1.0, MTOM (Message Transmission Optimization Mechanism), DIME (Direct Internet Message Encapsulation) | XML1.0, MTOM, Binary |
8 | صفات قرار دادی | برای ترجمه عناصر فریم ورک دات نت به XML از WebMethods استفاده می شود : - صفت [WebServic] به کلاس ها اضافه می شود . - صفت [WebMethod] متد های درخواستی کاربر را عرضه می کند .
| برای ترجمه عناصر فریم ورک دات نت به XML از DataContractAttributes وDataMemberAttribute استفاده می شود : - صفت [ServiceContract] به کلاس ها اضافه می شود . - صفت [OperationContract] متد های درخواستی کاربر را عرضه می کند .
|
9 | Messaging | تنها از پروتکل SOAP پشتیبانی می کند | از تمامی پروتکل های دریافت و ارسال پیام پشتیبانی می کند . پروتکل پیش فرضش SOAP است |
10 | امنیت | در مقایسه با WCF خیلی امن نیست . در انتقال داده از سرور به سمت کلاینت امنیت کمتری را تامین می کند . اگر چه گواهی نامه هایی برای محافظت داده وجود دارد ولی استفاده از این گواهی نامه ها بسیار پیچیده است . در حالت نرمال ما برای حفظ امنیت از نام کاربری و رمز عبور استفاده می کنیم . | WCF از امنیت بیشتری برخوردار است برای اجرا به IIS نیاز ندارد و می تواند به عنوان یک سرویس در سرور با استفاده از محیط Command اجرا شود . حتی ما WCF را بییشتر ازآنکه وب سرویس بدانیم به عنوان یک سرویس میشناسیم . |
11 | کارایی | کارایی وب سرویس های هوشمند کمتر از WCFاست | WCF کاراتر است . میزان کارایی در ترم های xml serialization اندازه گیری می شود . |
12 | مدیریت استثنا | تمامی موارد استثنای اجرا نشده به عنوان خطای SOAP به کلاینت بازگردانده می شود | موارد استثنا را به عنوان خطای SOAP باز نمی گرداند بلکه به منظور اصلاح و اشکال زدایی به کلایت ارجاع می دهد. |
13 | محدودیت ها | - جداول hash قابل Serial شدن نیست . - تنها فیلد ها و ویژگی های عمومی قابل Serial شدن هستند | - DataContractSerializer می تواند جداول hash را به xml ترجمه کند - ویژگی ها و فیلد های خصوصی نیز علاوه بر عمومی ها قابل Serial شدن هستند . |