最近项目中,需要对外部程序提供服务接口,用来进行数据交互和部分设备控制。由于都是使用的.NET平台开发的,因此想到使用WCF服务。之前也用过WCF服务,但是当初使用的时候是通过IIS寄宿的,有些地方不太让人满意,一则是同一个软件要部署两个地方,CS的桌面程序和寄宿于IIS的WCF服务部分,二则是由于系统本身问题,使用的是SQLite数据库,无法实现多线程访问,造成了数据重复,容易造成数据不一致。所以现在准备把WCF服务寄宿于CS程序中,这样就解决了以上两个问题。

由于对WCF一知半解,只知道按部就班的使用,从明白过其中的道理,所以在网上找了些教程[1],实现了自己的想法,但其中碰到不少问题,想来还是记下,或许以后还有用处。

本文使用一个最简单的控制台应用程序,同时通过使用WcfTestClient.exe测试,来完成这个示例。

一、在代码中实现并配置WCF服务。

在VS2012中创建一个控制台应用程序项目CsWcf,并添加接口ICalculator作为契约接口、类CalculatorService作为服务实现此接口中的操作方法,代码如下:

1. ICalculator.cs--服务契约

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
   6:  
namespace CsWcf
   8: {
   9:     [ServiceContract]
interface ICalculator
  11:     {
  12:         [OperationContract]
double y);
  14:     }
  15: }

相关文章: