[Windows 8 App]WCF數據服務------建立WCF服務
使用WCF通訊服務需要主機城市的支持
本範例使用最常見的ASP.NET網站作為主機程式
在此基礎上添加一個簡單的WCF服務接口做為測試服務器
此服務提供了新聞標題數據用於測試使用
這裡我們就來看一下如何建立這個測試服務器程式
首先,新增一個C#的空的Web應用程式
目標框架選擇 .NET Framework 4.5,並命名為 HttpServer
在專案下新增一個 DataClass.cs類別,然後開啟 DataClass.cs 輸入以下程式碼
using System.ServiceModel;
namespace HttpServer
{
[DataContract]
public class DataClass
{
[DataMember]
public string NewsTime { set; get; }
[DataMember]
public string NewsTitle { set; get; }
}
}
在上面的程式碼中,位此類別新增了兩個屬性NewsTime 和 NewsTitle
定義了DataClass 類別後,在項目中添加一個名為 NewsDataServices 的 WCF服務
在 NewsDataServices.svc 中輸入以下程式碼
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using System.ServiceModel.Activation;
namespace HttpServer
{
// 注意: 您可以使用 [重構] 功能表上的 [重新命名] 命令同時變更程式碼、svc 和組態檔中的類別名稱 "NewsDataServices"。
// 注意: 若要啟動 WCF 測試用戶端以便測試此服務,請在 [方案總管] 中選取 NewsDataServices.svc 或 NewsDataServices.svc.cs,然後開始偵錯。
public class NewsDataServices : INewsDataServices
{
public DataClass[] News()
{
List<DataClass> newsData = new List<DataClass>()
{
new DataClass{NewsTitle="這是新聞一" ,NewsTime="2014-1-10"},
new DataClass{NewsTitle="這是新聞二" ,NewsTime="2014-1-11"},
new DataClass{NewsTitle="這是新聞三" ,NewsTime="2014-1-12"},
new DataClass{NewsTitle="這是新聞四" ,NewsTime="2014-1-13"},
new DataClass{NewsTitle="這是新聞五" ,NewsTime="2014-1-14"},
};
return newsData.ToArray();
}
}
}
上面的程式碼中,在 NewsDataServices 類別中添加一個返回值為 DataClass[] 的 News 方法
在方法中建立一個名為 newsData 的List集合,用來儲存新聞標題數據
因為NewsDataServices 類別繼承自 INewsDataServices 介面
所以 NewsDataServices.svc 會自動生成 INewsDataServices.cs 文件
在 INewsDataServices.cs 中輸入以下程式碼
using System.ServiceModel.Activation;
namespace HttpServer
{
// 注意: 您可以使用 [重構] 功能表上的 [重新命名] 命令同時變更程式碼和組態檔中的介面名稱 "INewsDataServices"。
[ServiceContract]
public interface INewsDataServices
{
[OperationContract]
DataClass[] News();
}
}
完成以上步驟後,這樣就完成了WCF的服務了!!
執行畫面如下: