ورود

View Full Version : گفتگو: آیا واقعا WEBAPI می تواند جایگزین WCF شود؟



r4hgozar
سه شنبه 24 آذر 1394, 18:31 عصر
سلام.
من مطالبی زیادی رو در باره وب سرویس های مختلف خوندم.
نمونش همین ترجمه که در سایت زیر هست
http://www.dotnettips.info/post/904/asp-net-web-api-%D9%82%D8%B3%D9%85%D8%AA-%D8%A7%D9%88%D9%84
اما همه از برتری و پیشرفت web api صحبت می کنند اما وقتی موقع تصمیم گیری میشه و می گیم خودتون از چی استفاده می کنید می گن wcf.
ایا واقعا web api بهتره؟


ممنون می شم دوستان که تجربه دارن راهنمایی کنند.

مهدی کرامتی
سه شنبه 24 آذر 1394, 18:39 عصر
Web API قرار نبوده و نیست جایگزینه WCF شود. هر کدام برای کار خاصی هستند. در حقیقت Web Api نسخه ساده شده Web Service ها و WCF فقط برای استفاده در Ajax است.

hakim22
سه شنبه 24 آذر 1394, 20:56 عصر
به نظرم اگر شما یک برنامه نویس ASP MVC هستید در 80 درصد موارد توجیهی نداره از WCF استفاده کنید. همه ی نیازهای شما در WebApi گنجانده شده
خیلی وقتها وب سرویس هایی که شما میپرسید قدیمی هستند . Web Api همراه با نسخه ی 4.0 از net. عرضه شده. قبل از آن زمان مجبور بودید از WCF استفاده کنید.

پیاده کردن WCF پیچیده تر است. زمان بیشتری باید برای کد نویسی صرف کنید و در نهایت چیزی بیشتر از Web Api نیاز ندارد.
اگر هدف شما پیاده سازی یک سرویس بر پایه ی REST باشد بهترین حالت استفاده از Web Api است.

از مزایای دیگر WebApi قابلیت Self-Host است. با استفاده از OWIN و Katana این ابزار خیلی سبکتر و سریعتر از گذشته کار میکنند و میتوانید بدون IIS هم از WebApi استفاده کنید.

در نهایت باید اشاره کرد پیاده سازی وب سرویس با Web Api خیلی ساده تر است . کنترلر های Web Api شباهت زیادی به توابع #C دارند. به نظرم بجای اینکه در مورد تکنولوژی ها بررسی های زیادی انجام بدید شروع به استفاده از آنها کنید. بعد از یک ساعت برنامه نویسی Web Api کار انجام شده و خروجی آن را با WCF مقایسه کنید.

r4hgozar
چهارشنبه 25 آذر 1394, 17:55 عصر
ممنون از شما دوستان

مسئله اینجاست که من صورت مساله رو میدونم اما نمی تونم راه حل درستی برای انجام اودن درست کنم.
من می خوام web service بنویسم مثل سرویس های بانک و یا مثل سروییس های اس ام اس که به یک سرویس وصل بشی و نصبت به اون امکاناتی که اون به شما می ده می تونید کارهای مختلفی رو انجام بدین. مثل پرداخت یا ارسال اس ام اس و ..

یا مثلا از نرم افزار android به این سرویس من وصل بشین و بتونین مثل نرم افزار های موبایلی بروز کنید نرم افزار رو و یا اطلاعات رو.

واس این کارها باید سمت چی برم!!!

r4hgozar
پنج شنبه 26 آذر 1394, 10:52 صبح
ممنون میشم دوستان و اساتید مثالی رو بزنم من بالا گفتم هدفم چیه.
من یه مقاله می خوام یه چیز ساده ای رو با WEB API انجام داده باشه و ازش استفاده کرده باشه.
این مقالاتی که میاد و یک مدل میسازه و میاد بصورت xml و یا jquery ازش استفاده می کنه رو دیدم. مثل این
http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api
اینها نمی تونه مثال عملی باشه.
ممنون میشم مثالی عملی تر بدین تا بخونم.

مهدی کرامتی
پنج شنبه 26 آذر 1394, 11:00 صبح
به نظرم اگر شما یک برنامه نویس ASP MVC هستید در 80 درصد موارد توجیهی نداره از WCF استفاده کنید. همه ی نیازهای شما در WebApi گنجانده شده
همون طور که قبلا هم گفتم WCF کاربرد خاص است و در مواردی استفاده می شه که نیاز باشه Channel اختصاصی، Protocol اختصاصی، امنیت مبتنی بر گواهینامه امنیتی، و دیگر مواردی رو ایجاد کنید که در Web Api و SOAP XML Service ها پشتیبانی نمی شه.



من می خوام web service بنویسم مثل سرویس های بانک و یا مثل سروییس های اس ام اس که به یک سرویس وصل بشی و نصبت به اون امکاناتی که اون به شما می ده می تونید کارهای مختلفی رو انجام بدین. مثل پرداخت یا ارسال اس ام اس و ..
وب سرویس های بانک، پیامک و ... همگی XML Web Service هستند (دات نتی ها این ها رو به نام ASMX Web Service می شناسند).

Web API فقط برای کاربرد REST و Ajax مناسبه. نه برای یک سرویس نسبتا پیچیده. برای کاربردی که ذکر کردید اگر بخواهید فراخوانی سرویس با استفاده از HTTP Get انجام بشه از Web API هم می توانید استفاده کنید.

r4hgozar
پنج شنبه 26 آذر 1394, 21:03 عصر
ممون اقای کرامتی.
من چیز های زیادی رو متوجه شدم از توضیحات شما.
اما در مقالات مختلفی از RESTFull خوندم. خوب ما مگه در وب سرویس ها کار بیشتری رو از این می کنیم که مطالب رو می گیریم و می خونیم و درج حذف یا آپدیت می کنیم؟

r4hgozar
پنج شنبه 26 آذر 1394, 21:09 عصر
الان من باید چی کار کنم !!!
چی بخونم بهتره!!

مهدی کرامتی
جمعه 27 آذر 1394, 07:00 صبح
اگر فقط rest و Ajax می خوای Web Api.
اگر بیشتر لازمته Wcf

r4hgozar
جمعه 27 آذر 1394, 10:23 صبح
ممنون از شما استاد کرامتی بابت پی گیریتون.