2

BizTalk Expression シェイプの内部に、空白のテキスト エディターが表示され、上に粗雑な "例" がいくつか表示され、私をからかっています。「とても簡単です」と彼らは唱えます。私ができる限り試してみてください、私は接続を確立していません。たぶん私はそれを考えすぎています。私は BizTalk 初心者です。長年にわたる .NET およびソフトウェア エンジニアリングの豊富な経験から、私の考えは頭に浮かばないようです...

BizTalk の経験が豊富な人が、この質問について教えてくれますか? 範囲内で、式図形内で使用できるものは何ですか? 続いて、MessageAssignment シェイプも?

スコープとは、実際のプログラミングのように、変数名、名前空間などを意味します。

私が BizTalk で目にするすべての例は、これらがどこから来たのかを理解していることを前提としています。たとえば、次の MSDN ページを参照してください:識別フィールドとプロパティ フィールドの使用

「MyMessage」が作成され、インスタンス化され、アクセス可能な場所を知っていることを前提としています。どこで初期化するか、どの形状識別子に名前を付けるかなどの手がかりがありません。

私の設計は単純に思えます: エラーが発生したとき、それをキャッチし、どこからともなく ErrorMessage を作成し、文字列値を識別フィールド "Reason" に割り当て、送信ポートに送信します。正しい表現以外はすべて取得できます。

専門家の洞察は大歓迎です。

4

2 に答える 2

3

@Dijkgraafの答えは素晴らしいですが、技術的に言えば、式エディターはXLANG/s言語へのアクセスを提供しています。私の知る限り、彼が示したように(オーケストレーションツールボックスウィンドウを使用して)変数を宣言する必要があります。ただし、言語自体は C# や .NET に多少似ており、技術的には、適切なキーワードを使用して、他の形で行うことができるほぼすべてのことを式の形で行うことができます。

たとえば、次のconstructような表現形式のメッセージにすることができます (このブログから取得):

construct OutboundMessage {

    XmlDocument.LoadXml(
      @"<?xml version='1.0' standalone='yes' ?>
        <Root id='012345' xmlns='http://schemas.sample.org/BizTalk/2010/input' />
    ");

OutboundMessage = XmlDocument;
}

通常、これは悪い考えです。通常は、通常の構成のメッセージ シェイプを使用する必要があります。なぜでしょうか? 1 年後にオーケストレーションを見に行くと (または他の誰かが見ると)、どこでメッセージを作成しているかがすぐにわかるからです。if決定形状についても同じことが言えます。決定形状は場合によってはやり過ぎかもしれませんが、将来の開発者にとっては、(式でステートメントを探す代わりに) 決定ロジックがあることがすぐにわかります。式の形状は次のようにする必要があります。

  1. 常に適切な名前/ラベルを付けてください。実際に何が行われているかを把握しようとして放置しないでくださいExpression_2。「インクリメント ループ カウンター」などの便利な名前を付けてください。
  2. 長い表現は避けてください。エディターはあまりフレンドリーではありません (インテリセンスが非常に限られている、強調表示がない、自動書式設定がない)。Escクリックする代わりに叩いてOK、自分が何をしたのかすぐにわからないために、式の形でコードを失ったことは一度ならずあります。これは、XLANG/s 固有のもの (xpath関数の使用、識別フィールドへのアクセス、単純なことの実行など) に非常に適しています。より複雑なロジックを使用する場合は、オーケストレーション プロジェクトが参照する C# ヘルパー ライブラリをコードで呼び出します。
于 2016-06-22T12:54:57.823 に答える