[size=large][color=red]原文:[url]
[size=x-large][color=orange]windows activation service[/color][/size]
windows activation service隨著windows vista和windows server 2008一起發布的。iis7中可以啟用它,was比比起iis要強大很多,它支援http,tcp和命名管道,但是iis僅僅支援http,它可以被單獨安裝和配置。
將wcf託管在was中有很多優點,比如程序**,隔離,空閒時間管理,通用配置系統,was託管服務可以按照以下步驟進行建立。
1.wcf配置為http以外協議
2.建立was託管服務
3.建立服務的不同繫結
[b]wcf配置為http以外協議[/b]
在建立服務之前,我們需要去配置系統以便支援was,按照下面的步驟我們就可以配置was了。
1.開始->控制面板->應用程式和功能->開啟或關閉windows功能
2.點開microsoft .net framework 3.0,啟用windows communication foundation http activation和windows communication foundation non- http activation
4.執行如下命令
[b]建立was託管服務[/b]
step 1: 接下來讓我們建立乙個服務,開啟vs2008,新建->**,從模板中選擇wcf服務,並且像下列所示將位置選在http上
[img]
step 2: 建立imathservice的契約類,並且新增servicecontract屬性到介面上,operationcontract到方法宣告上。
[b]imathservice.cs[/b]
using system;
using system.collections.generic;
using system.linq;
using system.runtime.serialization;
using system.servicemodel;
using system.text;
[servicecontract]
public inte***ce imathservice
step 3: 實現imathservice介面
[b]mathservice.cs[/b]
using system;
using system.collections.generic;
using system.linq;
using system.runtime.serialization;
using system.servicemodel;
using system.text;
public class mathservice : imathservice
public int subtract(int num1, int num2)
}
step 4: service檔案如下所示
[b]mathservice.svc[/b]
step 5: 在web.config檔案中,建立nettcpbinding繫結的終結點,並且服務元資料通過metadata exchange point進行發布。所以建立名為mex的metada exchange end point,並且它的繫結是mextcpbinding。如果沒有公布的服務元資料,我們將沒有辦法建立基於net.tcp位址的**類(比如svcutil.exe net.tcp://localhost/washostedservice/mathservice.svc)
[b]web.config[/b]
[b]建立服務的不同繫結[/b]
1.開始->所有程式->附件->命令列工具,右鍵 以管理員身份執行
輸出如下所示
[img]
step 6: 現在服務已經準備好被使用了,下一步我們將使用服務工具建立供客戶端程式使用的**類。建立**類使用vs命令列工具,並且執行如下命令
svcutil.exe net.tcp://localhost/washostedservice/mathservice.svc
**類和配置檔案會在相應的地方生成
[img]
step 7: 建立如下的客戶端應用程式,並且新增參照system.servicemodel
[img]
step 8: 將**類和配置檔案加入到客戶端程式中,建立mathserviceclient的物件,呼叫方法
[b]program.cs[/b]
class program
}
輸出如下所示:
[img]
這篇教程清楚的解釋了將wcf託管在was中的步驟,接下倆我們看如何將服務託管在windows service中
第四章 WCF繫結 1
size large color red 原文 url size x large color orange 繫結和通道棧 color size 在wcf中,所有的通訊細節都是通過通道來處理的,它是通道元件組成的棧,所有的訊息都會在執行時傳輸。最底層的元件是傳輸通道。它實現了乙個給定的傳輸協議,並且從...
第四章棧(3)
3.現實生活中棧的乙個例子是佩茲糖果盒。想象一下你有一盒佩茲糖果,裡面塞滿了紅色 黃色和白色的糖果,但是你不喜歡黃色的糖果。使用棧 有可能用到多個棧 寫一段程式,在不改變盒內其他糖果疊放順序的基礎上,將黃色糖果移出。let candybox new stack candybox.push red c...
第四章 繼承
一 為什麼要繼承 在物件導向中我們將具有很多重複內容的類中的內容提取出來,寫成乙個單獨的類 其他類只需要繼承就能取得這些功能,同時可以在自己類中寫入獨特的自定義方法 二 繼承語法 inte ce circle nsobject 繼承是在介面中定義的 冒號後的類名是要整合的類,nsobject 是co...