بسم الله الرحمن الرحیم

در جدول زیر تفاوت های 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 شدن هستند .

 

منبع ترجمه