چه تکنولوژی می‌خواهید یاد بگیرید؟

نظرات و انتقادات خود را با ما در میان بگذارید

آپدیت روزانه

بیش از 1500 مطلب آموزشی

نیازهای روز

وب سرویس: متدهای یک طرفه یا IsOneWay در WCF

به صورت کلی تکنولوژی WCF سه الگوی OneWay، Request-Response و Duplex جهت مبادله پیام بین Client و Server را شامل می‌گردد که البته شایع‌ترین الگو مورد استفاده در برنامه‌ها، الگوی Request-Response می‌باشد. ممکن است تابع موجود در سرور که توسط کلاینت فراخوانی می‌شوند فاقد مقدار بازگشتی بوده و اصلاً برای کلاینت مهم نباشد کدهای موجود در سمت سرور با موفقیت اتمام پذیرفته است یا خیر از این رو الگو OneWay پیشنهاد می‌گردد.

الگو یک طرفه یا OneWay بر این اساس می‌باشد که با ارسال درخواست به سرور، کلاینت منتظر اجرای تمامی کدهای تابع موجود در سرور نخواهد ماند و تنها فراخوانی تابع موضوعی است که برای کلاینت اهمیت دارد.

برای مشخص نمودن یک تابع به صورت OneWay کافیست پراپرتی IsOneWay اتریبیوت OperationContract را برابر مقدار true قرار دهید:

[ServiceContract]
public interface IProduct
{
    [OperationContract(IsOneWay = true)] void SaveWithoutResponse();
}

بعد از فراخوانی تابع SaveWithoutResponse سرویس IProduct توسط کلاینت، سرور به کلاینت کد وضعیت 202 با پیام Accepted را پاسخ داده و کلاینت و سرور به صورت مجزا به کار خود ادامه خواهند داد.

در صورت استفاده از الگو OneWay، درخواست‌های از این نوع ابتدا در محلی از حافظه (بافر) ذخیره شده و سپس اجرا می‌گردند. در صورت پر شدن فضاء پیکربندی برای بافر درخواست‌های بعدی بلاک خواهند شد تا زمانی که این فضاء به اندازه مناسبی خالی گردد در نتیجه کلاینت تا پایان این عمل منتظر خواهد ماند.



0 نظر:

تعداد دیدگاه‌های کاربران : 0 دیدگاه
مهمان گرامی! برای ارسال نظر نیاز است وارد سایت شوید.