最近突发想写博客的念想,觉得平时用到的东西应该及时记录下来,一方面做知识的总结,一方面后面自己查看方便,好记性不如烂笔头!好习惯应该坚持!
一、WCF介绍
Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows 通讯开发平台。WCF本质上提供一个跨进程、跨机器、跨网络的服务调用,主要解决分布式问题,使得开发者和设计者在构建分布式系统中,无需在考虑如何去实现通信相关的问题,更加关注与系统的业务逻辑本身。公司的项目程序会有B/S版本,以及C/S版本,不同程序模式间需要进行通信,WCF无疑会为解决这方面的问题提供极大的方便。
WCF应用服务不能单独存在,无法独立运行,WCF应用服务需要寄宿于一个正在运行中的进程之内,我们把承载WCF应用服务的进程称为宿主。在这里,我们通过自我寄宿(Self-Hosting)的方式创建一个控制台应用作为服务的宿主 (寄宿进程为Hosting.exe),客户端通过一个MVC应用程序(进程为WinClient.exe)去访问WCF应用服务实现数据通信功能。
二、创建WCF服务
1.添加WCF服务
(1) 创建一个类库,用来定义WCF服务
Services项目右键->添加>新建项>WCF服务
(2)编写WCF服务
[ServiceContract]
public interface IRemote_HandleService
{
/// <summary>
/// 校时
/// </summary>
/// <param name="StationID"></param>
[OperationContract]
string YLZFCalTime(int StationID);
}
class Remote_HandleService:IRemote_HandleService
{
public string YLZFCalTime(int StationID)
{
DataHandleCommon dh = new DataHandleCommon();
bool hand_Flag=dh.YLZF_ProofTime(StationID, Program.dicSocket);
return "WCF服务调用返回值:"+hand_Flag
}
}
2.创建宿主进程----控制台程序解决方案