![WebGIS之ECharts大数据图形可视化](https://wfqqreader-1252317822.image.myqcloud.com/cover/350/44819350/b_44819350.jpg)
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框架版本。
![img](https://epubservercos.yuewen.com/646D32/23949922509623906/epubprivate/OEBPS/Images/txt001_2.jpg?sign=1739418543-TSOZuN0I2XeeICvgPZWfIrqsOiYtBwON-0-22e7c79a4a1ba279069fb6ded0cc558a)
图1-2 新建项目
![img](https://epubservercos.yuewen.com/646D32/23949922509623906/epubprivate/OEBPS/Images/txt001_3.jpg?sign=1739418543-XRwmIcYYhszZK8lgI4vsjfovQ6TKrvO9-0-36bb7a3376c8f33717c23a151500b3a5)
图1-3 添加类文件
![img](https://epubservercos.yuewen.com/646D32/23949922509623906/epubprivate/OEBPS/Images/txt001_4.jpg?sign=1739418543-J4XXujsq4g8gY9cIm52dxTGDqhaFpYoO-0-c17c254a708b288d9412999339cff949)
图1-4 添加引用
引用“System.Runtime.Serialization”,在类“Line_DataStruct1”中添加两个数据成员“DataList”和“DateList”,并在构造函数中实例化这两个成员。可以根据项目的需要设置多个类及多个成员,如程序代码1-1所示。
程序代码1-1 添加类和成员,并在构造函数中实例化添加的成员
![img](https://epubservercos.yuewen.com/646D32/23949922509623906/epubprivate/OEBPS/Images/txt001_5.jpg?sign=1739418543-WcZ2BanUAOgfvhJyCbgojABzpIZ9Ti4L-0-9bde8837844fa34780929c40a695176d)
![img](https://epubservercos.yuewen.com/646D32/23949922509623906/epubprivate/OEBPS/Images/txt001_6.jpg?sign=1739418543-sqSI4buOqgxvp77BEELBDJ5HM2KFDZBc-0-2bbe291589cb52d4dfbd9e80c223489b)
设置完类之后,接下来添加接口。右键单击项目名称“WCFService”,在弹出的右键菜单中选择“添加”→“类”→“接口”,将接口命名为“DataInfoQuery”。在3.5版本以后的.NET框架中,WCF提供了WebGet的方式,该方式可以通过URL的形式访问Web服务。WebGet指定的后台REST服务访问方法是GET,默认的消息请求格式和响应格式为XML,本书用RequestFormat规定客户端的请求消息是JSON格式,用ResponseFormat规定服务器端返回给客户端的数据是JSON格式,用UriTemplate将GET方法映射到具体的URL上,如程序代码1-2所示。
程序代码1-2 设置接口
![img](https://epubservercos.yuewen.com/646D32/23949922509623906/epubprivate/OEBPS/Images/txt001_7.jpg?sign=1739418543-NOmtT7xou1bZzbjW9Ofxrtl54ii25wSN-0-cd44fd44b2fcd9513f5eea71d680faa1)