Fork me on GitHub

开源倾情奉献:基于.NET打造IP智能网络视频监控系统(五)客户端介绍

本文为 Dennis Gao 原创技术文章,发表于博客园博客,未经作者本人允许禁止任何形式的转载。

开源倾情奉献系列链接

客户端介绍

系统 C/S 架构客户端采用 WPF 技术并基于 MVVM 模式实现。

主要分为 3 部分:

  • Common - 通用控件、验证规则等
  • Modules - 业务功能模块
  • Applications - 最终呈现应用

业务功能模块

  • UIMessage - MVVM 模式中的消息传递
  • Navigation - 系统导航菜单
  • SkinConfiguration - UI 皮肤设置
  • UserManagement - 系统登录和用户管理
  • DeviceConfiguration - 设备管理
  • LiveVideo - 实时视频
  • PublishMedia - 媒体流发布
  • Widgets - 小部件,例如 About 页面

服务连接

GUI 通过调用服务发现接口来获取需要的服务连接。

 1 namespace Gimela.Rukbat.ServiceDiscovery.Contracts.ServiceContracts
 2 {
 3   [ManagedServiceContractAttribute]
 4   [ServiceContract(SessionMode = SessionMode.Allowed)]
 5   public interface IServiceDiscoveryService
 6   {
 7     [OperationContract]
 8     [FaultContract(typeof(ServiceDiscoveryServiceFault))]
 9     GetServicesResponse GetServices(GetServicesRequest request);
10   }
11 }

例如连接调用 DVC 服务:

1             GetCamerasResponse response =
2               ServiceProvider.GetService<IDeviceConnectorService, IDeviceConnectorCallbackService>(
3               ViewModelLocator.ServiceClient,
4               ViewModelLocator.SelectedService.HostName,
5               ViewModelLocator.SelectedService.Uri.ToString()
6               ).GetCameras(request);

本文为 Dennis Gao 原创技术文章,发表于博客园博客,未经作者本人允许禁止任何形式的转载。

posted @ 2013-11-19 10:08 匠心十年 阅读(...) 评论(...) 编辑 收藏