問題タブ [wcf-configuration]
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.
wcf - ワークフロー サービスのスケーラビリティの問題
現在、ワークフロー サービスでいくつかの問題が発生しています。短いシーケンスで 4、5 を開始すると正常に動作しますが、この値を増やすと (~10 から開始)、次の例外が発生します。
サーバーが開始したシャットダウンにより、出力セッションが自動的に閉じられたため、このチャネルを使用してメッセージを送信することはできなくなりました。DispatchRuntime.AutomaticInputSessionShutdown を false に設定して自動クローズを無効にするか、リモート サーバーでシャットダウン プロトコルを変更することを検討してください。
問題はプロキシの作成方法にあると思います。次のコードを使用してプロキシを提供し、既存のものを再利用しようとします。
追加の「遅延」プロバイダーを使用すると、次のようになります。
このように使用されます:
次のように初期化します。
ワークフロー サービスは IIS によってホストされ、次の調整設定を追加しました。
私のニーズにはこれで十分です。
望ましいスケーラビリティを実現するためにクライアントとサーバーを構成するのを誰かが手伝ってくれることを願っています (WorkflowInstance sql ストアを使用して、数百が順番に開始され、並行して実行されます)。
更新: すべてのサービスに NetTcpBinding を使用しています。
更新 2 : すべてのサービスは現在ローカルでホストされ、消費されています。
ありがとうフランチェスコ
c# - クライアントがサーバーに接続できません
私は WCF の初心者なので、本当に助けが必要です。
WCF を使用する 2 つのプログラムがあります。それらが 1 台のコンピューターで実行されていて、クライアントがアドレスnet.tcp:\Localhost:8001\MyServiceを使用してサーバー (たとえば、アドレス 192.168.1.1) に接続する場合、すべて問題ありません。しかし、クライアントのアドレスをnet.tcp:\192.168.1.1:8001\MyServiceに変更すると、クライアントがサーバーに接続できないため、system.timeoutexception が発生します。
手伝ってくれてありがとう。
c# - Web サービスに空のサービス タグが含まれています
WCF サービスを作成しました。
WSDL で、サービスがバインドする必要がある URL と PORT を確認できません。
私が見るのは次のとおりです。
私は何が間違っているのですか?おそらくweb.configの何か?
wcf - WCF Service Bus Service が構成エラー「コレクションには同じタイプのアイテムが既に含まれています」で開始できない
Service Bus 経由で Windows サービスを公開しています。構成ファイルは次のとおりです。奇妙なエラーが発生しています(コード/構成に変更はありませんが、突然エラーが発生し始めました。以前は正常に機能していました。
One23InsightService を開始できませんでした。例外メッセージ: - コレクションに同じ種類の項目が既に含まれているため、値をコレクションに追加できませんでした: 'Microsoft.ServiceBus.TransportClientEndpointBehavior'。このコレクションは、各タイプのインスタンスを 1 つだけサポートします。パラメーター名: item インターフェイスが異なる 2 つのエンドポイントがありますが、動作構成は同じです。
wcf - 証明書ベースの WCF サービスの ID 要素で servicePrincipalName を指定する場所、時期、方法は?
サーバー上で使用したい WCF 対応の Windows サービスがあります。これらの証明書を使用して通信を保護できるように、サーバーとクライアントの両方のストアに適切な証明書が必要です。
私は WCF 構成の経験があまりないので、さまざまな設定や要素がたくさんある悪夢であることが判明しました。
私の現在のクライアント構成の関連部分は次のとおりです (使用しなければならないバージョンの IE では、コードの書式設定が適切に機能しないようです。うまくいけば、後で自宅で修正します)。
サーバー構成は次のようになります。
servicePrincipalName
クライアントの構成でa を指定しないと、次のようになります。
System.ServiceModel.Security.MessageSecurityException: Client cannot determine the Service Principal Name based on the identity in the target address 'http://someserver:1234/wcf/service' for the purpose of SspiNegotiation/Kerberos. The target address identity must be a UPN identity (like acmedomain\alice) or SPN identity (like host/bobs-machine).
そのような要素を追加しようとすると (たとえば<servicePrincipalName value=HOST/someserver:1234"/>
、以下の投稿で提案されているように)、最終的には次のようになります。
System.ServiceModel.Security.SecurityNegotiationException: Secure channel cannot be opened because security negotiation with the remote endpoint has failed. This may be due to absent or incorrectly specified EndpointIdentity in the EndpointAddress used to create the channel. Please verify the EndpointIdentity specified or implied by the EndpointAddress correctly identifies the remote endpoint.
今、私の実際の質問は、identity
サブ要素をまったく使用する必要があるかどうかです(エラーメッセージはこれを示しているようですが、理由がわかりません)。また、要素に何を入れるか、servicePrincipalName を指定する方法に関する詳細なドキュメントも見つかりませんdns
でした (本当に必要な場合 -この投稿もあまり役に立ちませんでした)。
クライアントとサーバー (サービス) の両方を Visual Studio 2010 内でローカルに実行すると、正常に動作します。十分な情報を提供できれば幸いです。それ以外の場合は、お気軽にお問い合わせください。残念ながら、WCF の構成を深く掘り下げてみると、かなり混乱しているようです...
アップデート
現時点では、basicHttpBinding を使用して、両方の当事者が相互に通信できるようにすることで、ローカルでもサーバーでも問題なく動作します。
c# - 名前とコントラクトを持つエンドポイント要素が見つかりませんでした
2 つのエンドポイントを持つ WCF サービスへの参照を追加しました。サービスを追加すると、次が構成ファイルに追加されます。
クライアントを作成するコードは次のとおりです。
ただし、ランタイム エラーが発生します。この名前に一致するエンドポイント要素がクライアント要素で見つかりました。」
私が使用した場合ABCService.ServiceClient ABCClient = new ServiceClient("ABCServiceV1");
、すべて正常に動作します。しかし、ABCServiceV2 を使用する場合、ABCService.IService1 を探す必要があるのに、Contract - ABCService.IService を探します。
正しいコントラクトのように見せるにはどうすればよいですか?
wcf-binding - WCFユーザー名認証が機能しない
WCFサービスは初めてです。WCFサービスへのアクセスを許可する前に、basichttpbindingを使用してWCFサービスを作成し、カスタム認証メカニズムを作成したいと思いました。私は セキュリティモード=トランスポートとclientcredentialtype=basicを使用しました。ユーザー名とパスワードを検証するためのカスタムバリデーター関数を作成しました。
バリデーター機能
これは私のサービス設定ファイルです
したがって、ここでの問題は、サービスを実行するたびに、ユーザー名とパスワードを入力するとログインダイアログが表示されることです(バリデーターはユーザー名とパスワードの両方が同じであることを期待しています)、以前は表示されていたサービスの詳細ページが表示されません通常の場合(認証メカニズムなし)にアップします。何が欠けているのかわかりません。私の場合は重要な構成になっているように感じますが、それでも間違いを見つけることはできません。
java - Windows がホストする WCF サービスが 400 Bad Request 無効なホスト名を JAVA クライアントに返す
タイトルが示すように、Windows サービスでホストされている WCF サービスがあります。Visual Studio WCFTestClient を使用すると、GetVersion() メソッド (文字列を返すだけ) が正常に動作します。Java クライアントから同じメソッドを呼び出そうとすると、無効なホスト名エラーが発生します。
Wireshark を使用して XML メッセージを追跡したところ、次の情報が得られました。
- - - -送信済 - - - - -
- - - 応答 - - - - - -
サーバーの完全な DNS 名を使用して Host パラメータをいじってみましたが、結果は同じでした。これは設定ファイルです:
---構成------
Java クライアントに NetBeans を使用していますが、コードは簡単です。
------Javaコード--------
ポインター/デバッグのトリックが役立ちます。私は Java にあまり詳しくないので、どこから始めればよいかわかりませんが、送信されたメッセージに何か問題があるように思われます。メッセージまたはサービスの構成を変更して、何が期待できるかを知ることができます。私はそれが何であるかを知りません。
前もって感謝します!
c# - app configをwcfのc#コードに埋め込みます
wcfサービスに接続するクライアントプログラムがあります。ユーザーがapp.configを変更または表示できなくなるまで、app configをC#コードに埋め込みたいです。
しかし、これら2つの構成設定をC#コードに変換することはできません。
と
このようなコードを追加しました
しかし、動作しませんでした。app.configファイルでTraceListenerを設定すると、アプリケーションは自動的にログ例外、警告などが発生します(必要な場合)が、System.Diagnostics.XmlWriterTraceListenerを作成すると、自分でログ(例外)を書き込む必要があります。
デフォルトのプロキシについていくつかのクラスを見つけましたが、クラスでそれらの設定を見つけることができません。
質問:
1-これらの設定をC#コードに変換したい(C#の結果をapp.configの結果とまったく同じにしたい)
2- app.configはC#コードよりも強力ですか?c#クラスですべてのapp.config設定を見つけることができますか?
c - 私の wcf のエンドポイントに関する問題
私のWCFサービスのweb.config。
私の wcf クライアント MobileServiceReference.ClientConfig.
Windows Phone アプリケーションを実行するとエラーが発生します。
メッセージを受け入れることができるhttp://zesdaagse.mobi-app.be/WCFUrl/MobileService.svcでリッスンしているエンドポイントはありませんでした。これは、多くの場合、アドレスまたは SOAP アクションが正しくないことが原因です。詳細については、InnerException (存在する場合) を参照してください。
説明
調べたけど直らない。エンドポイントに問題がありますが、何が原因かわかりません。