مثال بسيط علي انشاء WCF Service الجزء الثالث


·         انشاء WCF Client Application  

-          من Solution Explorer  قم باضافة Project جديد من النوع Console Application  باسم BirthdayClient

-          من Solution Explorer  قم باضافة مرجع Add Reference  الي System.ServiceModel assembly  الي BirthdayClient Project بالضغط بالزر الايمن للماوس عليه ثم اختيار Add Reference

-          ايضا قم باضافة  Service Reference  بالضغط بالزر الايمن للماوس علي BirthdayClient  ثم اختار Add Service Reference  ومن الصفحة التي ستظهر قم بالضغط علي Discover  ليقوم بالبحث عن الـ Service  المتوفرة لتظهر لك Service  التي انتهينا من انشائها قم بالضغط عليها وفي اسف الصفحة في مريع النص Name Space  قم بتغير الاسم الي BirthdayService ثم قم بالضغط  علي Ok كما بالشكل


-          بالتوجه App.config  في BirthdayClient   وفتحه ليظهر الكود سوف تجد ان WCF Service  قامت بعمل تهيئة الاتصال بالـ Service  كما بالكود التالي

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
    <system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="BasicHttpBinding_IBirthdayService" />
            </basicHttpBinding>
        </bindings>
        <client>
            <endpoint address="http://localhost:12516/Service.svc" binding="basicHttpBinding"
                bindingConfiguration="BasicHttpBinding_IBirthdayService" contract="BirthdayService.IBirthdayService"
                name="BasicHttpBinding_IBirthdayService" />
        </client>
    </system.serviceModel>
</configuration>

-          ستجد في الجزء الخاص بالـ <client> تحديد طريقة الاتصال بـ Service  في <endpoint> يوجد معلومات الاتصال وهي تتكوت من 3 اجزاء address , binding , contract

-          الان قم بفتح Program.cs  ثم قم باضافة المراجع الاتية

using System.ServiceModel;
using BirthdayClient.BirthdayService;

-          في Main method  قم بانشاء New Instance  من BirthdayService  ليصبح الكود كالاتي

static void Main(string[] args)
        {
            BirthdayServiceClient proxy = new BirthdayServiceClient();

        }
-          الان يمكنك استخدام Service Method  التي انشائنها من قبل والاتي هو مثال استخدام  ListFirstName() Method

static void Main(string[] args)
        {
            BirthdayServiceClient proxy = new BirthdayServiceClient();

            Console.WriteLine("Now The Console will Write All First Name");
            string[] info = proxy.ListFirstName();

            foreach (string name in info)
            {
                Console.WriteLine(name);
            }

            proxy.Close();
            Console.ReadKey();

        }

-          قبل ان تقوم باختبار الـ Client Project   يجب عليك وضع الـ Startup Projects  بالضغط علي الـ Sultion (BirthdayService) بالزر الايمن للماوس واختيار Set Startup Projects

-          من الصفحة التي ستظهر قم باختيار Multiple startup projects وقم بتحديد الـ Projacts  الاتية باختيار Start كما بالشكل


-          بعد التحديد والضغط علي Ok  قم بالضغط علي Ctrl + F5  للاختبار كما بالشكل



-          الي هنا نكون قد انتهينا من هذا الجزء في الجزء القادم سوق اقوم بشرح كيف تقوم بعمل deploying  للـ Service  علي IIS   (Internet Information Services)