1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

WCF Instance Management

شروع موضوع توسط hector2141 ‏15/10/12 در انجمن برنامه نویسی

  1. کاربر ارشد

    تاریخ عضویت:
    ‏6/9/12
    ارسال ها:
    14,318
    تشکر شده:
    2,702
    امتیاز دستاورد:
    0
    حرفه:
    daneshjo
    [​IMG]
    هر سرویسی در WCF توسط یک کلاس ارائه می‌شود. مثلاً فرض کنید که سرویسی برای محاسبه حقوق یک کارمند وجود دارد. پیاده‌سازی این سرویس می‌تواند به شکل متودی از یک کلاس فرضی به نام CalcClass باشد. وقتی که کلاینتی به سرویس WCF مورد نظر وصل شده و یکی از متودهای آن را فراخوانی نماید، WCF یک instance از کلاس CalcClass ایجاد کرده و متود مورد نظر کلاینت را از آن فراخوانی می‌نماید. این موضوع که روش ایجاد instance به ازای هر درخواست است یا به ازای هر کلاینت یا…، روش Instance Management نام دارد.



    در WCF سه نوع روش instance گیری موجود است:

    ۱- به ازای هر درخواست: Per-Call
    ۲- به ازای هر کلاینت: Per-Session
    ۳- یکی به ازای کل Application (برنامه): Singleton

    هر کدام از این روش‌ها مزایا و معایب خودشان را دارد. مثلاً روش Per-Call کمی Performance کمتری دارد ولی Scalable است. روش Per-Session حتی روی پروتکل Web Service هم کار می‌کند اما کمی overhead دارد. روش Singleton به شدت مشکل Performance دارد ولی برای Applicationهایی مثل کار با پورت سخت‌افزار یا کنترل موتور مکانیکی فقط یک منبع دارند مناسب‌تر است.

    به نقل از بلاگ Afsharm