نام کاربری :   
کلمه عبور :   
[فراموشی رمز توسط ایمیل]
صفحه اصلی > دانش و فناوری > علوم کاربردی 


  چاپ        ارسال به دوست

چگونگی استفاده از یک Windows Communication Foundation Client

این مقاله، آخرین مرحله از شش مرحله ای است که باید برای ایجاد یک سرویس Windows Communication Foundation یا (WCF) و یک client که سرویس را فراخوانی می کند، انجام داد.

بعد از اینکه پروکسی Windows Communication Foundation ایجاد و پیکربندی شد، می توان یک نمونه client ایجاد کرد و
client application را compile و برای رابطه با سرویس WCF استفاده کرد. این مقاله، فرآیندهای ایجاد و استفاده از یک WCF client را توضیح می د هد. این فرآیند این سه کارانجام مید هد:

  1. یک WCF client ایجاد می کند.
  2. service operationها را از پروکسی generate شده فراخوانی می کند.
  3. بعد از اینکه فراخوانی operation به اتمام رسید، client را می بندد.

کدی که در روش بحث می شود، در مثال زیر آمرده شده است. کد این مرحله باید در متد Main() کلاس generate شده در پروژه client قرا گیرد.

استفاده از یک Windows Communication Foundation Client

1. یک نمونه EndpointAddress برای آدرس پایه سرویسی که می خواهید فرابخوانید، ایجاد کنید و سپس یک WCF Client object ایجاد کنید.

در VB:

 Step 1: Create an endpoint address and an instance of the WCF Client.
Dim epAddress As New EndpointAddress
("http://localhost:8000/ServiceModelSamples/Service/CalculatorService")
Dim Client As New CalculatorClient(New WSHttpBinding(), epAddress)

 

در #C:

//Step 1: Create an endpoint address and an instance of the WCF Client.
CalculatorClient client = new CalculatorClient();

client operation .2ها را از داخل Client فرابخوانید.

 

در VB:

Step 2: Call the service operations.
Call the Add service operation.
Dim value1 As Double = 100D
Dim value2 As Double = 15.99D
Dim result As Double = Client.Add(value1, value2)
Console.WriteLine("Add({0},{1}) = {2}", value1, value2, result)

Call the Subtract service operation.
value1 = 145D
value2 = 76.54D
result = Client.Subtract(value1, value2)
Console.WriteLine("Subtract({0},{1}) = {2}", value1, value2, result)

Call the Multiply service operation.
value1 = 9D
value2 = 81.25D
result = Client.Multiply(value1, value2)
Console.WriteLine("Multiply({0},{1}) = {2}", value1, value2, result)

Call the Divide service operation.
value1 = 22D
value2 = 7D
result = Client.Divide(value1, value2)
Console.WriteLine("Divide({0},{1}) = {2}", value1, value2, result)

در #C:

// Step 2: Call the service operations.
// Call the Add service operation.
double value1 = 100.00D;
double value2 = 15.99D;
double result = client.Add(value1, value2);
Console.WriteLine("Add({0},{1}) = {2}", value1, value2, result);

// Call the Subtract service operation.
value1 = 145.00D;
value2 = 76.54D;
result = client.Subtract(value1, value2);
Console.WriteLine("Subtract({0},{1}) = {2}", value1, value2, result);

// Call the Multiply service operation.
value1 = 9.00D;
value2 = 81.25D;
result = client.Multiply(value1, value2);
Console.WriteLine("Multiply({0},{1}) = {2}", value1, value2, result);

// Call the Divide service operation.
value1 = 22.00D;
value2 = 7.00D;
result = client.Divide(value1, value2);
Console.WriteLine("Divide({0},{1}) = {2}", value1, value2, result);

Close .3 را از WCF client فرابخوانید و منتظر بمانید تا کاربر enter را فشار دهد تا برنامه را terminate کند.


 

در VB:

 Step 3: Closing the client gracefully closes the connection and cleans up resources.
Client.Close()

Console.WriteLine()
Console.WriteLine("Press <ENTER> to terminate client.")
Console.ReadLine()

 

در #C:

Console.WriteLine();
Console.WriteLine("Press <ENTER> to terminate client.");
Console.ReadLine();

 

مثال

مثال زیر، چگونگی ایجاد یک WCF client و فراخوانی operationهای client، و چگونگی بستن clientرا بعد از اتمام فراخوانی opertaion نشان می دهد.

WCF client ایجاد شده و کد زیر را به یک executable بنام Client.exe، کمپایل کنید. مطمئن شوید که System.ServiceModel راهنگام کمپایل کردن کد، reference می کنید.

در VB:

Imports System
Imports System.Collections.Generic
Imports System.Text
Imports System.ServiceModel


Module Client

Sub Main()
Step 1: Create an endpoint address and an instance of the WCF Client.
Dim epAddress As New EndpointAddress("http://localhost:8000/ServiceModelSamples/Service/CalculatorService")
Dim Client As New CalculatorClient(New WSHttpBinding(), epAddress)

Step 2: Call the service operations.
Call the Add service operation.
Dim value1 As Double = 100D
Dim value2 As Double = 15.99D
Dim result As Double = Client.Add(value1, value2)
Console.WriteLine("Add({0},{1}) = {2}", value1, value2, result)

Call the Subtract service operation.
value1 = 145D
value2 = 76.54D
result = Client.Subtract(value1, value2)
Console.WriteLine("Subtract({0},{1}) = {2}", value1, value2, result)

Call the Multiply service operation.
value1 = 9D
value2 = 81.25D
result = Client.Multiply(value1, value2)
Console.WriteLine("Multiply({0},{1}) = {2}", value1, value2, result)

Call the Divide service operation.
value1 = 22D
value2 = 7D
result = Client.Divide(value1, value2)
Console.WriteLine("Divide({0},{1}) = {2}", value1, value2, result)

Step 3: Closing the client gracefully closes the connection and cleans up resources.
Client.Close()

Console.WriteLine()
Console.WriteLine("Press <ENTER> to terminate client.")
Console.ReadLine()

End Sub
End Module

 

در #C:

using System;
using System.Collections.Generic;
using System.Text;
using System.ServiceModel;

namespace ServiceModelSamples
{

class Client
{
static void Main()
{
//Step 1: Create an endpoint address and an instance of the WCF Client.
CalculatorClient client = new CalculatorClient();


// Step 2: Call the service operations.
// Call the Add service operation.
double value1 = 100.00D;
double value2 = 15.99D;
double result = client.Add(value1, value2);
Console.WriteLine("Add({0},{1}) = {2}", value1, value2, result);

// Call the Subtract service operation.
value1 = 145.00D;
value2 = 76.54D;
result = client.Subtract(value1, value2);
Console.WriteLine("Subtract({0},{1}) = {2}", value1, value2, result);

// Call the Multiply service operation.
value1 = 9.00D;
value2 = 81.25D;
result = client.Multiply(value1, value2);
Console.WriteLine("Multiply({0},{1}) = {2}", value1, value2, result);

// Call the Divide service operation.
value1 = 22.00D;
value2 = 7.00D;
result = client.Divide(value1, value2);
Console.WriteLine("Divide({0},{1}) = {2}", value1, value2, result);

//Step 3: Closing the client gracefully closes the connection and cleans up resources.
client.Close();


Console.WriteLine();
Console.WriteLine("Press <ENTER> to terminate client.");
Console.ReadLine();

}
}
}

 

قبل از اینکه از client استفاده کنید، مطمئن شوید سرویس در حال اجراست.

برای راه اندازی client، روز Client در Solution Explorer کلیک راست کنید و Debug، سپس Start new instance را انتخاب کنید.

 

Add(100,15.99) = 115.99
Subtract(145,76.54) = 68.46
Multiply(9,81.25) = 731.25
Divide(22,7) = 3.14285714285714
Press <ENTER> to terminate client.

اگر این خروجی را دیدید، پس با موفقیت این کار را انجام داده اید. این مثال، چگونگی پیکر بندی WCF client را در کد نشان می دهد.


برگرفته شده از سایت تحلیل داده


٠٨:١٦ - 1390/12/29    /    شماره : ٧٦٠    /    تعداد نمایش : ٦٧١



خروج





   مطالب مرتبط
بازدیدها
امروز :532
کل بازديدها :17656781
بازديدکنندگان آنلاين :7
بازديدازاین صفحه :183878