StreamInsight手札(五)——使用EventFlowDebugger调试事件流

StreamInsight提供了EventFlowDebugger以方便用户进行事件流调试。这一工具拥有直观的图形化界面,支持即时调试和日志调试,支持跟踪和回溯。 本文将介绍EventFlowDebugger基本使用方法。 EventFlowDebugger分为在线模式和离线模式两种使用方法。在线模式下,用户连接到StreamInsight服务器,在线进行调试,或者录制某一段时间的事件流供离线模式使用。离线模式下,用户通过加载Trace文件对事件流进行调试。 下面对其主要功能进行介绍。 连接到服务器(在线) 在线模式需要用户连接到一个正在运行的StreamInsight服务器。 StreamInsight服务器有两种,嵌入服务器和远程服务器: 嵌入服务器(Embedded Server):var cepServerEmbedded = Server.Create(); 远程服务器(Remote Server):var cepServerRemote = Server.Connect(“http://servername/StreamInsight”); 如果使用远程服务器,则用户可以直接连接远程服务器的地址。如果程序使用嵌入服务器,则需要在程序中添加如下代码:  ServiceHost _dvHost = null;IManagementService _service = null;IManagementService proxy = server.CreateManagementService();_service = proxy;_dvHost = new ServiceHost(proxy); WSHttpBinding binding = new WSHttpBinding(SecurityMode.Message);binding.Security.Message.ClientCredentialType = MessageCredentialType.Windows;binding.MaxReceivedMessageSize = 4655360;_dvHost.AddServiceEndpoint(typeof(IManagementService), binding, “http://localhost:8080”);_dvHost.Open(); 同时需要添加引用Microsoft.ComplexEventProcessing.ManagementService.dll,输入加亮部分地址就可以连接嵌入服务器了。 连接到服务器的几种常见错误 错误1 HTTP could not register URL http://+:8001/. Your process…


StreamInsight手札(四)——使用IEnumerable接口创建StreamInsight程序

本文将介绍如何利用IEnumerable接口创建StreamInsight应用程序。 IEnumerable与IObservable最大的区别在于IEnumerable是采用Pull模式获取数据,而IObservable则是用Push模式推送数据。 用户首先通过IEnumerable.GetEnumerator来获得数据源的Enumerator,然后通过调用IEnumerator.MoveNext和IEnumerator.Current来获取数据。StreamInsight的输入输出通过一个数据队列连接。输入适配器获得数据,并调用Enqueue将数据放入队列,输出适配器循环检测队列是否为空,如果不是空队列,则调用Dequeue将数据取出。 在HelloInsight程序基础上,可以通过如下修改来实现IEnumerable接口。 1、获取输入数据源的Enumerator(HelloPointInput.cs): public HelloPointInput(HelloInputConfig config) {     _config = config;       var streamReader = new StreamReader(config.fileName);     strings = new List<string>();                 while (!streamReader.EndOfStream)     {         strings.Add(streamReader.ReadLine());     }     stringEnumerator = strings.GetEnumerator();                 streamReader.Close(); } 2、读取Enumerator中的数据,并放入队列。注意判断队满的情况(HelloPointInput.cs): private void ProduceEvents() {     while (AdapterState != AdapterState.Stopping)     {…


StreamInsight手札(三)——使用IObservable接口创建StreamInsight程序

本文将介绍如何利用IObservable接口创建StreamInsight应用程序。 Observer是.net Framework 4中引入的开发模式。IObserver<T>和IObservable<T>接口为基于推送的通知提供通用机制,也称为观察者设计模式。IObservable<T> 接口表示发送通知(提供程序)的类;IObserver<T> 接口表示接收通知(观察器)的类。 在下列应用场景下,适合采用Observable模式: 历史数据查询。对有限长的大数据集进行临时的查询。 Ad hoc查询。对数据进行一系列交互的ad hoc查询。 内嵌于用户程序。StreamInsight内嵌于用户应用程序之中。 使用这种开发模型,开发者只需要: 实现IObservable接口 实现IObserver接口 绑定到查询 下面将用示例代码来说明.。 1、安装Reactive Extension for .Net 4:  2、新建一个工程,注意选择.net framework 4.0。 3、添加如下引用。System.CoreEx和System.Reactive在C:\Program Files\Microsoft Cloud Programmability\Reactive Extensions\v1.0.2856.0\Net4\目录下。 定义事件Payload: namespace HelloInsightObservable {     public class HelloPayload     {         public int value { get; set; }     } } 5、定义InputObservable类实现Iobservable接口 public class InputObservable…


利用SQL Server 2008迁移助手完成从Oracle到SQL Server的迁移——视频教学

讲师: 资深项目经理  王清越 你有Oracle数据库要迁移到SQL Server吗?微软提供了一个免费的工具来帮你做数据库迁移。我们会讨论迁移到 SQL Server的好处,和如何用SQL Server迁移助理(SSMA)来自动做数据库迁移。我们会演示如何用SQL Server迁移助理来迁移数据库模式和PL/SQL程序等。我们一起探讨SQL Server迁移助理(SSMA)如何为你节省数据库迁移的时间和成本。 [View:http://wm.microsoft.com/ms/china/technet/howtovideo/sqlserver2008/20110317_SSMAforOracle.wmv] 如果有什么问题,请直接通过评论提出。

1