WCF步步為營 一 簡單示例

2021-08-22 17:17:29 字數 2714 閱讀 7864

本示例通過乙個簡單的加法服務,來演示wcf最基本的呼叫。

1. 新建乙個空的solution,命名為wcfsample,後面會把下面的工程新增進這個解決方案

2.新建wcf service libaray,命名jackwangwcfservice

3. 右鍵jackwangwcfservice專案,新建命名為calc的wcf service

4. 系統會生成乙個叫icalc.cs的介面檔案和實現這個介面的calc.cs的類檔案。

5. 修改icalc.cs,這裡我們提供乙個加法行為,servicecontract 屬性指把實現這個介面的類暴露為服務,operationcontract 指實現這個方法的類暴露為服務的方法。

using system;

using system.collections.generic;

using system.linq;

using system.runtime.serialization;

using system.servicemodel;

using system.text;

namespace jackwangwcfservice

[servicecontract]

public

inte***ce

icalc

[operationcontract]

long add(int a, int b);

6.  上面的介面只是告訴客戶端(使用方)能夠使用那些服務,下面修改calc.cs類來實現這個服務

using system;

using system.collections.generic;

using system.linq;

using system.runtime.serialization;

using system.servicemodel;

using system.text;

namespace jackwangwcfservice

public

class

calc : icalc

#region icalc members

public

long add(int a, int b)

return a + b;

#endregion

7.  實現了服務,但是在**提供服務呢?這就需要乙個宿主來存放並管理服務,新增乙個控制台程式,命名jackwangservicehost, 新增jackwangwcfservice和system.servicemodel的引用。

using system;

using system.collections.generic;

using system.linq;

using system.text;

using jackwangwcfservice;

using system.servicemodel;

namespace jackwangservicehost

class

program

static

void main(string args)

using (servicehost host=new

servicehost(typeof(jackwangwcfservice.calc)))

host.addserviceendpoint(typeof(jackwangwcfservice.icalc), new

nettcpbinding(), "net.tcp://localhost:9000/add");

host.open();

console.out.writeline("calc web service started at:"+datetime.now.tostring());

console.readline();

8.下面演示客戶端的呼叫,新增乙個控制台程式,命名jackwangserviceclient,新增system.servicemodel的引用。

using system;

using system.collections.generic;

using system.linq;

using system.text;

using jackwangwcfservice;

using system.servicemodel;

namespace jackwangservicehost

class

program

static

void main(string args)

using (servicehost host=new

servicehost(typeof(jackwangwcfservice.calc)))

host.addserviceendpoint(typeof(jackwangwcfservice.icalc),

newnettcpbinding(), "net.tcp://localhost:9000/add");

host.open();

console.out.writeline("calc web service started at:"+datetime.now.tostring());

console.readline();

9. 啟動jackwangservicehost。

10. 啟動jackwangserviceclient

WCF步步為營 一 簡單示例

本示例通過乙個簡單的加法服務,來演示wcf最基本的呼叫。1.新建乙個空的solution,命名為wcfsample,後面會把下面的工程新增進這個解決方案 2.新建wcf service libaray,命名jackwangwcfservice 3.右鍵jackwangwcfservice專案,新建命...

步步為營 48 游標簡單使用

說明 游標給指標有點兒相似,相當於datareader 可能非常不恰當 定義游標 開啟游標 使用游標 關閉游標 釋放游標 01 定義游標 declare 游標名稱 cursor for sql語句 declare democursor cursor forselect empid,stuname,s...

步步為營 79 快取

快取cache,一種空間換取時間的技術,適用於經常訪問,不常修改的資料.1 寫入快取 1.1 方法一 cache message ab 1.2 方法二 cache.insert message ab 1.3 其他過載 insert string key,object value,cachedepen...