問題タブ [workflowservice]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
workflow-foundation-4 - appSettings の web.config 継承/マージ/スコーピングがサブフォルダーの IIS Hosted WCF/Workflow Service で機能しない
現在、IIS で AppFabric ワークフロー サービスと WCF サービスの次の構造をテストしています。
私の web.config には、次のセクションが含まれています。
ワークフロー サービス内のコード アクティビティの 1 つと、WCF サービス内から、次のコードを使用して "appSettings" から項目を読み取りたいと考えています。
これは常に null を返します。WebConfigurationManager.AppSettings["TestSetting"]も試しましたが、これもnullを返します。web.config 階層が appSettings に対して機能していないようです。
テストのために、次の内容の Default.aspx を追加して、この appSetting が ASP.NET Web ページからアクセスできるかどうかを確認しました。
サブフォルダーの web.config がまったく処理されていないようです。AppFabric ワークフロー/WCF サービスで構成スコープが機能しないのはなぜですか? そして、それを機能させるにはどうすればよいですか?
ワークフロー/WCF サービスを IIS の Web アプリケーションのルートに配置すると、appSettings セクションに期待どおりにアクセスできます。ワークフロー サービスをサブディレクトリに配置した場合のみ、構成セクションにアクセスできません。
アップデート:
両方のケースに影響するため、WCF サービスとワークフロー サービスに一般化するように質問を修正しました。これを試している理由は、IIS アプリケーションとアプリケーション プールの数を減らすためです。
Windows Server AppFabric アーキテクチャ ガイドによると:
アプリケーション プールの計画と同様に、複数のサービスを合理的に Web アプリケーションに論理的にグループ化することをお勧めします。AppFabric は、何百もの Web アプリケーションを処理するように設計されています。ただし、最適なパフォーマンスと管理性を実現するには、Web アプリケーションの数をできるだけ少なくすることを目標にする必要があります。
このテキストから、Web アプリのサブフォルダーに複数の WCF/Workflow サービスを配置するとうまくいくはずだと私は信じています。
workflow-foundation-4 - IISがホストするAppFabricワークフローサービスの現在のパスを取得する
IISでホストされているワークフローサービスで、ワークフローの現在のパスを取得するにはどうすればよいですか?
たとえば、私のワークフローは次のディレクトリに展開されています。
IISアプリケーションが/Site/ WebAppに作成されている場合(およびweb.configがこのディレクトリにある場合)、CodeActivityまたはNativeActivity内からパス/ Site / WebApp / SubDirを取得するにはどうすればよいですか?
System.Web.Hosting.HostingEnvironmentを使用してIISアプリケーションのパスを取得する方法を理解しましたが、IISのサブディレクトリに展開されている場合、現在のワークフローのパスを見つける方法を見つけることができません。アプリケーション。
workflow-foundation-4 - ワークフローサービスは、464メッセージ後に応答を停止します
ワークフローの実行中に特有の問題が発生します。
私は考えられるすべてのことを試しましたが、今はアイデアが必要です。
構成は次のとおり
です。1。IIS7でホストされ、トランスポートにnet.msmq / netMsmqBindingを使用するWF4ワークフローサービス(xamlx)(MSMQはトランザクションです)。
2.ワークフローの永続性は使用されません。
3.コンソールアプリクライアントを使用してワークフローにメッセージを送信します(各メッセージは新しいワークフローを作成します)。4.各ワークフローは次のようになります。STARTメッセージを待つ->ENDメッセージを待つ(STARTメッセージのみを送信します)。
500個のメッセージを送信した場合-464は正しく処理されますが、それを超えると、すべてのメッセージがlock_ *キューに移動し、ポイズンキューに移動します。デバッグ、分析イベントログ、およびメッセージとトレースsvclogsを調べました。取得する最も詳細なメッセージは次のとおりです。
System.TimeoutException、mscorlib、Version = 4.0.0.0、Culture = neutral、PublicKeyToken=b77a5c561934e089割り当てられたタイムアウト00:00:30内に操作が完了しませんでした。この操作に割り当てられた時間は、より長いタイムアウトの一部であった可能性があります。System.Runtime.AsyncResult.End [TAsyncResult](IAsyncResult result)at System.ServiceModel.Activities.Dispatcher.PersistenceProviderDirectory.LoadOrCreateAsyncResult.HandleReserveThrottle(IAsyncResult result)at System.Runtime.AsyncResult.AsyncCompletionWrapperCallback(IAsyncResult result)System.TimeoutException:割り当てられたタイムアウト00:00:30内に操作が完了しませんでした。この操作に割り当てられた時間は、より長いタイムアウトの一部であった可能性があります。System.Runtime.AsyncResult.End [TAsyncResult](IAsyncResult result)atSystem.ServiceModel.Activitiesで。
その時点で、要求http://localhost/MyWebService?wsdl
も404で失敗します。
IISを再起動すると、464個のメッセージが送信されるまですべてが正常に戻ります。
- より詳細なログはどこにありますか?(私はすでにSystem.Diagnosticsを最大冗長性に設定しています)
- 464番は魔法ですか?
- このWebサービスがロックする原因は何ですか?
workflow-foundation-4 - 子ワークフロー アクティビティを非同期的に呼び出す
チーム:
WF サービス (XAMLX) から WF アクティビティ (XAML) を非同期的に呼び出す必要があります。私は既に Microsoft.Activities.Extensions フレームワークを参照しており、ステート マシンの Platform Update 1 で実行しています。したがって、ソリューションがこれらのライブラリのいずれかに既に含まれている場合は、準備完了です。
ここで、そのアクティビティ (XAML) を非同期的に呼び出す必要がありますが、サービス (XAMLX) で変数を設定する必要がある出力パラメーターがあります。誰かが私にこれに対する解決策を提供してもらえますか?
ありがとう!
* アップデート *
写真を投稿できるようになりました* 思うに *、私には十分な評判があるからです! ここにいくつか出して、私の問題をよりよく説明してみましょう。最初の図は、ワークフローの 2 つのエントリ ポイントを持つ WF サービスです。2 番目の図は、ワークフロー自体です。
このワークフローは、常にそれ自体を再起動するオーケストレーション メカニズムであり、WF を使用して永続的なトランザクションのキューを管理できるように、いくつかのフェールオーバー メカニズム (エラーしきい値での終了やソフト終了など) を備えています。
これで、すべてが 1 つの WF サービスであったときに、このワークフローがうまく機能しました。これは、サービスを呼び出して応答を取得し、その応答の値をトリガー内の別のエントリ ポイントに送り返してソフト エグジットを発行できるためです。しかし、別のプロジェクトでワークフロー自体を WF アクティビティにし、WF サービス アプリケーション プロジェクトで受信/送信-返信シーケンスを作成するよう求める新しい要件が発生しました。
ただし、このワークフローを開始して忘れることができるようにする必要があります。その後、後でソフト終了が必要であることを何らかの形で知らせる必要がありますが、WF は単一のスレッドで実行されるため、これは少し困難になっています。一番。
wcf - 別のデフォルト ServiceHostFactory foreach ワークフローを定義する
「ワークフロー」サービス (xamlx) ごとに標準の ServiceHostFactory を定義することは可能ですか?
お客様は、カスタム ワークフロー デザイナーを使用して独自のワークフロー (xamlx) を作成できます。ワークフロー サービスに、TransportSecurity を使用した WS2007FederationHttpBinding を強制します。WorkflowService の ServiceMetadataBehavior を有効にし、最後に何らかの型解決を行う DataContractResolver を追加します。
ServiceHostFactory
Ron Jacobがこのブログで書いたように、ワークフローはデータベースに存在します。「コンサルタント」やエンド ユーザーは、カスタム ツールを使用してワークフローを作成できますが、作成するたびに、望ましくない web.config に serviceActivation 要素を追加することを忘れてはなりません。
workflow-foundation-4 - 2 つの異なるアクションからのワークフロー サービスの開始/終了
2 つの受信アクション (開始と終了) を持つワークフロー (添付画像) があります。両方のアクションは、WorkflowId パラメータで相関します。FinishWorkflow (bool) パラメータもあります。
Start Action でワークフローを開始し、FinishWorkflow パラメータが true に変わるまで待ちたいと思いました (FinishWorkflow アクションを使用)。
FinishWorkflow アクションが終了するとワークフロー全体が終了すると思うので、StartWorkflow アクションは待たずに FinishWorkflow パラメータをチェックします。ワークフロー全体が終了しないように FinishWorkflow アクションを変更する方法を知っていますか?
ティア
workflow - Windowsワークフローでの相関
私はWFを初めて使用し、WFの相関関係に取り組んでいます。簡単な言語で相関関係を説明する、ステップバイステップのガイドが見つかりません。ステップバイステップで簡単に実装できることを教えてください。親切な人は誰でも便利なリンクを持っています
workflow - Windowsワークフローで外部アプリから応答を取得する
私は1つの小さなアプリ、つまり一連の電子メールの入力を受け取るワークフローwcfサービスに取り組んでおり、parallelforeachは各電子メールIDに電子メールを送信しています。電子メールで、承認と拒否のために2つのリンクを送信しています。これらのリンクは、MVC Webアプリケーションコントローラーを呼び出す必要があります。コントローラーは、残りの実行のためにワークフローサービスのメソッドを呼び出します。メール送信の要求を開始するコンソールアプリケーションがあります。メールは正常に送信されましたが、メールに記載されているリンクをクリックして承認または拒否すると、機能しません。何か提案してください。
workflow - WCF ワークフロー サービスの永続化の有効化
MVC Web アプリケーションから WCF ワークフロー サービスの永続性を有効にする方法
.net - 複数のワークフローサービスを並行して生成(送信および受信)するワークフロー4サービス
ワークフローサービスAが存在するとします。WFAには複数のインスタンスがある場合があります(CanCreateInstanceを使用)。ここで、(内容は)異なるが、WF Aと同じ特性を持つWFBが存在するとします。WFAを終了するには、WF-Bをn回(動的に決定)呼び出す必要があります(毎回もちろん、別の議論)。
疑似ワークフローは次のようになります。
唯一の質問は、そのようなスキームをどのように実装するかということです。