![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=1739014924-CQe6rOEffkxZdDyLfzWLgJUsaaLkbb3u-0-79f289f052ee948a9639c808e31ad640)
图1-2 新建项目
![img](https://epubservercos.yuewen.com/646D32/23949922509623906/epubprivate/OEBPS/Images/txt001_3.jpg?sign=1739014924-p1UsQOIvGjoBFzyanIH4aAGGsy5VzB1g-0-a53ef1e90a3f8a4a9b6ad3ff3f08a7ad)
图1-3 添加类文件
![img](https://epubservercos.yuewen.com/646D32/23949922509623906/epubprivate/OEBPS/Images/txt001_4.jpg?sign=1739014924-lWjOYEQt0dMJPfZtA8kfPNamnGSabBDX-0-ede1dd9f3912a15560de11f77c28dfee)
图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=1739014924-G2vsOBik15Tjw7KTzIUMqg5QZgZHpwo3-0-571f6683081e007c95814ecc706f7589)
![img](https://epubservercos.yuewen.com/646D32/23949922509623906/epubprivate/OEBPS/Images/txt001_6.jpg?sign=1739014924-3JEiRjgkPDdKHfQnNSWYof9hHlzykXNv-0-391bb73fa0083c8aedf2d314b8b60c8a)
设置完类之后,接下来添加接口。右键单击项目名称“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=1739014924-MjStuc8s5cHu4Suk6mRugZ22wewVfnUL-0-5e1a8b397dcfa61fe3cd54e8cb6d192c)