‫دسترسی به app.config در نصب Wcf Windows Service

اگر بخواهید سرویس WCF را به عنوان سرویس ویندوز اجرا کنید می‌توانید از این راهنما استفاده کنید. بخشی از این کار نصب سرویس در ویندوز است. اگر در این installer که باید در برنامه شما باشد، نیاز به اطلاعات app.config داشته باشید باید دقت کنید که دسترسی به app.config در حین نصب امکان‌پذیر نیست. پس باید از روش‌های دیگری مثل این استفاده کنید.

‫انواع فراخوانی سرویس در WCF

هر سرویسی در WCF شامل تعدادی متود است. سرویس‌ها با ServiceContract و متودها با OperationContract مشخص می‌شوند. فراخوانی Operationها در WCF به چهار روش امکان پذیر است:

۱- Request-Reply: این روش سنتی استفاده از سرویس‌هاست. در این روش کلاینت یکی از Operationهای سرویس را صدا می‌زند. تا زمانی که اجرای این سرویس به اتمام نرسد، خطوط بعدی برنامه اجرا نخواهند شد.

۲- One-Way: در این روش کلاینت یکی از Operationها را فراخوانی می‌کند. ولی برای تکمیل آن منتظر نمی‌ماند. در این روش هیچ اطلاعاتی هم از سرور به کلاینت باز گردانده نمی‌شود.

۳- Callback: در این روش که به نام Duplex هم شناخته می‌شود، یک ارتباط دو طرفه بین کلاینت و سرور برقرار می‌شود. به نحوی که سرور هم بتواند عملیاتی را روی کلاینت انجام دهد. این نوع فراخوانی بر روی Bindingهایی مثل BasicHttp (همان وب سرویس‌ها) کار نمی‌کند.

۴- Event: شباهت زیادی به مدل Callback دارد.

۵- Streaming: این روش مشابه پخش امواج رادیویی است. یک ایستگاه رادیویی امواج را فقط پخش می‌کند و کاری به گیرنده‌ها ندارد. از آن طرف هم هر کدام از گیرنده‌ها به انتخاب خودشان این امواج را دریافت می‌کنند یا نمی‌کنند.

منبع:
فصل ۴ کتاب Oreilly Programming WCF Services

‫راه اندازی سرویس SVN در ویندوز

هر چند که با وجود git ممکن است کمتر انگیزه‌ای برای انتخاب SVN به عنوان یک سورس کنترل جدید وجود داشته باشد، اما به هر حال اگر نیاز به نصب SVN به عنوان یک سرویس ویندوز باشد می‌توان از راهنمای خوب Jeff Atwood برای این کار استفاده کرد.

این راهنما به طور خلاصه شامل دو مرحله است. اول ایجاد سرویس با کمک ابزار sc و دوم راه اندازی آن با کمک ابزار net. البته اگر با ویندوزهای جدیدتر مثل ویندوز ۷ یا ویندوز ۲۰۰۸ سر و کار دارید، باید حواستان باشد که این ویندوزها هم ip v4 را پشتیبانی می‌کنند و هم ip v6 را. بنابراین باید به هنگام ایجاد سرویس به svn بگویید حواسش به ipهای نسخه ۴ باشد یا نسخه ۶. جهت کسب اطلاعات بیشتر به اینجا مراجعه کنید.

پ.ن.: راه حل مربوط به ipهای نسخه ۴ و ۶ را ناصر حاجلو زحمت کشیده و پیدا کرده.