2012-10-12 2 views
1

J'ai essayé de mettre en œuvre l'adaptateur suivant pour vous connecter StreamInsight avec BizTalk: http://seroter.wordpress.com/2010/07/09/sending-streaminsight-events-to-biztalk-through-new-web-soaprest-adapter/#comment-11635StreamInsight 2.1 adaptateur observateur

A la fin, il effectue les opérations suivantes pour lier la requête à l'adaptateur:

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

Maintenant, si je ne me trompe pas, ça ne marche plus dans StreamInsight 2.1 et je n'ai aucune idée de comment faire ça. Quelqu'un peut-il m'aider avec ça? Merci d'avance!

Répondre

2

Vous pouvez utiliser le modèle d'adaptateur hérité avec l'API StreamInsight 2.1 plus récente. Pour utiliser une carte d'entrée en tant que source, vous devez utiliser cette surcharge de Application.DefineStreamable().

Donc, votre code ressemblera à ceci:

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

Maintenant, si vous souhaitez utiliser un adaptateur de sortie comme un évier, vous aurez besoin d'utiliser l'une des surcharges de Application.DefineStreamableSink().

Alors que le code ressemblera à quelque chose comme ceci:

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

Ensuite, il suffit lier votre diffusable à l'évier en utilisant la méthode suivie par Run() bind() pour démarrer le processus et vous êtes bon pour aller.