创建和调用你的第一个 WCF 服务






4.21/5 (54投票s)
在本文中,我将探讨如何创建和使用 WCF 服务。 WCF 是一个下一代编程平台和运行时系统,用于构建、配置和部署面向服务的应用程序。
引言
在本文中,我将探讨如何创建和使用 WCF 服务。 WCF 是一个下一代编程平台和运行时系统,用于构建、配置和部署面向服务的应用程序。更多详情,请参见 这里。
创建 WCF 服务
我将创建一个股票服务来演示 WCF 服务。要创建 WCF 服务,请按照以下步骤操作
- 启动 Visual Studio 2008。
- 单击“文件” -> “新建” -> “项目”,然后选择 WCF 服务应用程序。
- 它将创建一个 WCF 服务应用程序模板。
我将删除默认的契约,然后创建一个IStock
契约,如下所示。
Using the Code
[ServiceContract]
public interface IStock
{
[OperationContract]
Stock GetStock(string Symbol);
}
上述契约有一个方法,该方法为给定的股票代码返回一个股票
对象。 这是我们的股票
类,它分别具有股票代码
、日期
、公司
和收盘价
属性。
[DataContract]
public class Stock
{
[DataMember]
public string Symbol { get; set; }
[DataMember]
public DateTime Date { get; set; }
[DataMember]
public string Company { get; set; }
[DataMember]
public decimal Close { get; set; }
}
接下来,我将删除默认的服务并创建一个股票
服务,该服务将实现Istock
契约,如下所示
public class Stocks : IStock
{
#region IStock Members
public Stock GetStock(string Symbol)
{
Stock st = null;
switch (Symbol.ToUpper())
{
case "GOOG":
st = new Stock { Symbol = Symbol, Date = DateTime.Now,
Company = "Google Inc.", Close = 495 };
break;
case "MSFT":
st = new Stock { Symbol = Symbol, Date = DateTime.Now,
Company = "Microsoft Corporation", Close = 25 };
break;
case "YHOO":
st = new Stock { Symbol = Symbol, Date = DateTime.Now,
Company = "Yahoo! Inc.", Close = 17 };
break;
case "AMZN":
st = new Stock { Symbol = Symbol, Date = DateTime.Now,
Company = "Amazon.com, Inc.", Close = 92 };
break;
}
return st;
}
#endregion
}
在上述服务中,我实现了IStock
契约,该契约有一个GetStock
方法,该方法为给定的股票代码
返回股票
对象。
现在,我的web.config中将有以下端点
<service behaviorConfiguration="WcfSample.Service1Behavior" name="WcfSample.Stocks">
<endpoint address="" binding="wsHttpBinding" contract="WcfSample.IStock">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
在上述配置中,我们有address=""
,即 localhost,binding="wsHttpBinding"
,contract="WcfSample.IStock"
。
现在,我将编译该服务并构建一个客户端来使用该服务。
创建客户端以使用服务
要创建客户端,我将创建一个 Web 应用程序。 请按照以下步骤操作。
- 右键单击“解决方案” -> “添加” -> “新项目”,然后选择 ASP.NET Web 应用程序。
- 它将创建一个 Web 应用程序模板。
- 现在,我将添加服务引用。 要添加服务引用,请选择客户端应用程序,然后添加服务引用。 由于我们的客户端在同一个解决方案中,我将单击“发现”并“在解决方案中查找服务”,如下所示
- 在default.aspx中,我将创建一个简单的 UI,一个
文本框
用于输入股票代码和一个按钮用于调用服务以获取股票信息。 这是我们的后台代码
ServiceReference2.StockClient sc = new ServiceReference2.StockClient(); ServiceReference2.Stock st = sc.GetStock(TextBox1.Text.Trim()); StringBuilder sb = new StringBuilder(); sb.AppendFormat("<B>Company:</B> {0}<br />", st.Company); sb.AppendFormat("<B>Date: </B>{0}<br />", st.Date); sb.AppendFormat("<B>Close: </B>{0}<br />", st.Close); sb.AppendFormat("<B>Symbol: </B>{0}<br />", st.Symbol); Label1.Text = sb.ToString();
- 以下是我们最终应用程序的一些屏幕截图
摘要
在本文中,我们探讨了如何创建和使用 WCF 服务。 如您所见,使用 Visual Studio 2008 创建和使用 WCF 服务非常简单。
历史
- 2009年9月25日:初始帖子