Step1:新建类库项目
该类库取名:WCFServiceDemo,并创建一个 IHelloService 接口,并标注服务协定属性ServiceContract OperationContract.
using System;
using System.Data;
using System.ServiceModel;
namespace WCFServiceDemo
{
[ServiceContract]
public interface IHelloService
{
[OperationContract]
DateTime getDataTime();
[OperationContract]
DataTable getUserInfo();
}
}
Step2:建立一个WindowForm项目
该项目名为:WinFormHello,在项目中,实现服务配置与创建.
- 实例化接口IHelloService
using System;
using System.Data;
using System.Data.SqlClient;
using WCFServiceDemo;
namespace WinFormHello
{
public class HelloService : IHelloService
{
public DateTime getDataTime()
{
return DateTime.Now;
}
public DataTable getUserInfo()
{
SqlConnection conn = new SqlConnection(@"server=DESKTOP-FSB0PPU\DY;DataBase=CompanyDb");
SqlDataAdapter sda = new SqlDataAdapter("selecdt * from tbUser", conn);
DataTable dt = new DataTable();
sda.Fill(dt);
return dt;
}
}
}
- 手动修改App.config配置文件
下面是一个标准的配置文件示例
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
<system.serviceModel>
<services>
<!-- 注意: 服务名称必须与服务实现的配置名称相匹配。 -->
<service name="WinFormHello.HelloService" behaviorConfiguration="MyTypeBehaviors" >
<host>
<baseAddresses>
<add baseAddress="http://localhost:8001/Hello"/>
</baseAddresses>
</host>
<!-- 添加下列终结点。 -->
<!-- 注意: 服务必须有一个 http 基址以便添加此终结点。 -->
<endpoint address="" binding="basicHttpBinding" contract="WCFServiceDemo.IHelloService"></endpoint>
</service>
</services>
<behaviors>
<serviceBehaviors>
<!--与behaviorConfiguration名称相匹配-->
<behavior name="MyTypeBehaviors" >
<!-- 将下列元素添加到服务行为配置中。 -->
<serviceMetadata httpGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
- 窗体中添加一个按钮,并添加如下命令
using System;
using System.ServiceModel;
using System.Windows.Forms;
namespace WinFormHello
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
ServiceHost host = null;
private void button1_Click(object sender, EventArgs e)
{
host = new ServiceHost(typeof(WinFormHello.HelloService));
host.Open();
label1.Text = "服务已经启动....";
}
}
}
Step3:启动服务
- 点击按钮启动服务

- 通过浏览器观察服务状态
可以看到服务已经创建.


本文详细介绍了如何使用Windows Communication Foundation (WCF)搭建一个服务。从创建类库项目开始,定义了IHelloService接口,接着在WindowForm项目中实现服务,并配置App.config文件。最后,通过按钮启动服务并在浏览器中验证其状态。
1万+

被折叠的 条评论
为什么被折叠?



