StreamInsight 2.1适配器到观察者

时间:2012-10-12 12:20:44

标签: linq biztalk streaminsight

我一直在尝试使用以下适配器将StreamInsight与BizTalk连接: http://seroter.wordpress.com/2010/07/09/sending-streaminsight-events-to-biztalk-through-new-web-soaprest-adapter/#comment-11635

最后,他执行以下操作将查询绑定到适配器:

var allQuery = callTypeThreshold.ToQuery(
                     myApp,
                     "Threshold Events",
                     string.Empty,
                     typeof(WebOutputFactory),
                     webAdapterBizTalkConfig,
                     EventShape.Point,
                     StreamEventOrder.FullyOrdered);

现在,如果我没有弄错,这在StreamInsight 2.1中不再起作用,我不知道如何做到这一点。任何人都可以帮我吗? 提前谢谢!

1 个答案:

答案 0 :(得分:2)

您可以将旧版适配器模型与较新的StreamInsight 2.1 API一起使用。要将输入适配器用作源,您需要使用Application.DefineStreamable()的重载。

所以你的代码看起来像这样:

var sourceStreamable = Application.DefineStreamable<TPayload>(
typeof(WebInputFactory),
webAdapterBizTalkConfig,
EventShape.Point,
AdvanceTimeSettings.IncreasingStartTime);

现在,如果您想将输出适配器用作接收器,则需要使用Application.DefineStreamableSink()的重载之一。

所以代码看起来像这样:

var sink = Application.DefineStreamableSink<TPayload>(
typeof(WebOutputFactory),
webAdapterBizTalkConfig,
EventShape.Point,
StreamEventOrder.FullyOrdered);

然后使用Bind()方法将您的流式传输绑定到接收器,然后运行Run()以启动该过程,您就可以了。