
1.5 WebGIS后台REST服务开发
1.5.1 创建后台REST服务实现类和接口
打开Visual Studio 2012并创建一个控制台应用程序,单击“Visual C#”→“控制台应用程序”,设置项目名称和路径,如图1-2所示。
项目创建后单击“确定”按钮,在右侧的解决方案管理器中右键单击项目名称“WCFService”,在弹出的右键菜单中依次选择“类”→“添加”,如图1-3所示,将类文件命名为“DataStruct”。
添加完类文件之后,依次单击“引用”→“添加引用”→“程序集”→“框架”,在“框架”中找到并添加“System Runtime.Serialization”“System.ServiceModel”“System.ServiceModel.Web”,如图1-4所示。如果找不到“System.ServiceModel.Web”,则可右键单击项目名称,在弹出的右键菜单中选择“属性”→“目标框架”,在“框架”中选择“.NET Framework 4.7.1”,Visual Studio 2012中的.NET框架是4.7.1版本,Visual Studio 2010中的.NET框架是4.0版本,根据自己安装的Visual Studio版本选择相应的.NET框架版本。

图1-2 新建项目

图1-3 添加类文件

图1-4 添加引用
引用“System.Runtime.Serialization”,在类“Line_DataStruct1”中添加两个数据成员“DataList”和“DateList”,并在构造函数中实例化这两个成员。可以根据项目的需要设置多个类及多个成员,如程序代码1-1所示。
程序代码1-1 添加类和成员,并在构造函数中实例化添加的成员


设置完类之后,接下来添加接口。右键单击项目名称“WCFService”,在弹出的右键菜单中选择“添加”→“类”→“接口”,将接口命名为“DataInfoQuery”。在3.5版本以后的.NET框架中,WCF提供了WebGet的方式,该方式可以通过URL的形式访问Web服务。WebGet指定的后台REST服务访问方法是GET,默认的消息请求格式和响应格式为XML,本书用RequestFormat规定客户端的请求消息是JSON格式,用ResponseFormat规定服务器端返回给客户端的数据是JSON格式,用UriTemplate将GET方法映射到具体的URL上,如程序代码1-2所示。
程序代码1-2 设置接口
