如何快速實現WCF單向服務
WCF服務的應用,需要我們通過不斷地實踐去積累應用技巧來達到一個熟練應用的地步。那么首先還是需要我們從基礎的知識開始。今天就先一起來了解一下有關WCF單向服務的基本創建方式。#t#
1、打開Visual Studio 2008。
2、新建項目 à 選擇項目類型:Visual C#下的WCF à WCF服務庫(WCF Service Library) à 確認項目名稱以后,點擊“確定”。(該Sample中使用WcfServiceLibrary1作為項目的名稱)
3、打開IService1.cs文件,并修改其中的內容,完整的WCF單向服務創建代碼如下所示。
- using System.Runtime.Serialization;
- using System.ServiceModel;
- namespace WcfServiceLibrary1
- {
- [ServiceContract]
- public interface IService1
- {
- [OperationContract]
- string GetData(int value);
- [OperationContract]
- CompositeType GetDataUsingDataContract(CompositeType composite);
- [OperationContract(IsOneWay=true)]
- void TestMethod(string paraInput); // 單向服務不允許有返回值
- }
- [DataContract]
- public class CompositeType{
- bool boolValue = true;
- string stringValue = "Hello ";
- [DataMember]
- public bool BoolValue
- {
- get { return boolValue; }
- set { boolValue = value; }
- }
- [DataMember]
- public string StringValue
- {
- get { return stringValue; }
- set { stringValue = value; }
- }
- }
- }
4、打開Service1.cs,并修改其中的內容,完整代碼如下所示。
- namespace WcfServiceLibrary1
- {
- public class Service1 : IService1
- {
- public string GetData(int value)
- {
- System.Threading.Thread.Sleep(5000); // 單向服務的對比測試方法
- return string.Format("You entered: {0}", value);
- }
- public CompositeType GetDataUsingDataContract(CompositeType composite)
- {
- if (composite.BoolValue)
- {
- composite.StringValue += "Suffix";
- }
- return composite;
- }
- public void TestMethod(string paraInput)
- {
- System.Threading.Thread.Sleep(5000); // 單向服務的測試方法
- }
- }
- }
5、生成WCF單向服務項目。
6、添加一個Windows窗口程序。
7、為Windows窗口程序添加一個服務引用 à 在“添加服務引用”窗口中點擊“發現”就顯示出本機模擬的一個WCF服務程序 à 點擊“確定”,將其添加到程序中。
8、在窗口中添加一個按鈕à在按鈕事件中添加如下代碼。
- ServiceReference1.Service1Client sc = new
WindowsFormsApplication1.ServiceReference1.Service1Client();- MessageBox.Show(sc.GetData(3));
9、在窗口中再添加一個按鈕,做對比試驗à在按鈕事件中添加如下代碼:
- ServiceReference1.Service1Client sct =
new WindowsFormsApplication1.ServiceReference1.Service1Client();- sct.TestMethod("這是一個單項服務傳遞的測試");
10、實例代碼編寫完成,運行程序查看效果。
點擊按鈕1:需要等待5秒鐘后才接受到從服務器端傳回的值。
點擊按鈕2:無需等待服務器端應答。
以上就是我們為大家介紹的WCF單向服務的所有創建步驟。