問題タブ [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.

0 投票する
1 に答える
126 参照

ajax - AJAX 対応の WCF サービスをソリューションに追加すると、エラーがスローされる

Ajax 対応の WCF サービスを学習しようとしていますが、新しい Web アプリケーションを作成して新しい項目「AJAX 対応の WCF サービス」を追加しようとすると、「型 'System.ServiceModel.Configuration.WebScriptEnablingElement の拡張機能」というエラー メッセージが表示されます。 、System.ServiceModel.Web、Version=3.5.0.0、Culture=neutral、PublicKeyToken=31bf3856ad364e35' は拡張コレクション 'behaviorExtensions' に登録されていません。

私は.net2.0/VS2005を持っていたので、VS2008をインストールしました。

0 投票する
3 に答える
7879 参照

.net - allowInsecureTransport=true を使用した WCF サービス バインドにより、クライアントでのサービス参照の更新が失敗する

これは、web.config での私のサービス構成です。

私は allowInsecureTransport=True を設定しています。本番環境では、サービスが SSL ターミネーティング ロード バランサーの背後で実行されるためです。.Net 4.0 クライアントからサービスを呼び出すと問題なく動作しますが、VS2010 でサービス参照を更新しようとすると、常にエラーが発生します。

System.ServiceModel.Channels.TransportSecurityBindingElement エラー: セキュリティ ポリシーのエクスポートに失敗しました。Binding には TransportSecurityBindingElement が含まれていますが、ITransportTokenAssertionProvider を実装するトランスポート セキュリティ バインディング要素は含まれていません。このようなポリシー エクスポートのポリシー エクスポートはサポートされていません。*

私はそれが私に何を伝えようとしているのかを理解しています - それは基本的に、ネットワーク上を移動する資格情報を危険にさらすことを避けるために必要なバインディングでトランスポート セキュリティを無効にしたということです。しかし、それがallowInsecureTransportの要点です。プロキシ ジェネレータが単にこの属性を認識していない可能性はありますか?

アップデート:

wsdl ジェネレーターが実際に属性を処理できないようです。開発のために、メッセージ レベル セキュリティと自己署名証明書に戻る必要がありました。Message Security を使用すると、本格的な IIS に移行する代わりに、Cassini for Development に固執できるという利点がありました。

0 投票する
1 に答える
312 参照

wcf - WCF - サイト レベルの web.config を構成し、すべてのサービスで同じ動作構成を使用する方法

60 以上のサービスをホストするサイトがあります。

wcf 構成の簡略化されたバージョンでは、すべてのサービスとそれに対応するエンドポイントを特定する必要はありません。

問題は、サービス ホストがすべてのサービス エンドポイントに対して同じ behaviorConfiguration を使用するように指定するにはどうすればよいかということです。

web.config 内のすべてのエンドポイントを一覧表示したくはありません。その仮想ディレクトリでホストされているすべての wcf サービスで同じ動作構成を使用する必要があります。これを行う方法はありますか?

0 投票する
3 に答える
17502 参照

.net - IMetaDataExchangeは、サービスによって実装されたコントラクトのリストに見つかりませんでした

このエラーの解決策についてWebを検索しましたが、見つけたものはすべて、私が持っているものが正しいことを示唆しています。

たぶん誰かが見て、私には見えない明らかな間違いを見つけることができるでしょう。

私は2つの契約をホストするWindowsサービスを持っています:

  1. IConfigurationService
  2. IConfigurationAdminService

両方のコントラクトに基本的なメソッドを実装させたいので、管理サービスは標準サービスを継承します。

問題は、MEXを追加しようとするまで、サービスを正常にホストできることです。

次に、次の例外が発生します。

コントラクト名「IMetaDataExchange」が、サービス「ConfigurationWCFService」によって実装されたコントラクトのリストに見つかりませんでした。

そしてこれが私の設定です。すべてが設定によって構成され、コードでは何も行われません。

0 投票する
1 に答える
1427 参照

.net - アプリケーション構成ファイルを書き換えずにサービス ホストのベース アドレスを変更する

ベース アドレスに を追加するために WCF サービス ホストを起動する前に、ホストのベース アドレスを調整しようとしてinstanceNameいます。

ファイルは次のapp.configようになります。

動機:同じエージェント プロセスを同じマシンで複数回実行できるようにしたいと考えています。各インスタンスには個別の名前 (コマンド ラインで指定) があり、ホストのベース アドレスに組み込む必要があります。app.config に baseAddresses コレクションがまったく含まれていない場合、これは簡単に実行できます。ただし、インスタンス名を指定せずに単一のエージェント プロセスを実行する場合に備えて、そこにあることを望みます。

問題は、サービス ホストがコンストラクターで指定されたベース アドレスを app.config に表示されるベース アドレスとマージすることです。当然、http スキームで 2 つのアドレスを検出するため、例外が発生して失敗します。

また、実行中のインスタンスに応じて、WCF アドレスを変更しようとするときに、主流の WCF 哲学に従っていますか? ハックの迷宮で迷子になったら、幹線道路に戻る道を教えてください。

0 投票する
2 に答える
9842 参照

.net - basicHttpBinding と netTcpBinding の両方を備えた WCF サービス。HTTP エンドポイントにアクセスできません

netTcpBinding と basicHttpBinding で同じインターフェイスを利用できるようにしたいと考えています。また、両方のエンドポイントで wsdl を利用できるようにしたいと考えています。にアクセスするhttp://localhost:9876/TestService/と、 にある Tcp エンドイントの情報を持つ mex エンドポイントを取得しますhttp://localhost:9876/TestService/?wsdlが、アドレスhttp://localhost:9876/TestService/wsが応答せず、理由がわかりません。ベースアドレスと相対アドレスがあります。何が欠けているかを指摘する手を貸してもらえますか? 今のところ、私は TestImplementation サービスを動かそうとしているだけで、MessaginImplementation サービスをいじっていません。

0 投票する
1 に答える
955 参照

wcf - WCF プロジェクトで NHibernate を簡単に起動する方法

ASP.NET MVC プロジェクトに使用するような NHibernate スタートアップ モジュールを WCF プロジェクトに使用したいと考えています。Jeffery Palermo は、投稿ASP.NET MVC HttpModule Registrationで私が使用するスタートアップ モジュールの概要を説明しています。基本的に、コードは次のように web.config にスタートアップ モジュールを追加することになります。

これは、WCF テスト クライアントを使用してサービスを実行しようとしたとき、またはSoapUIを使用してエンドポイントに対して直接実行しようとしたときに機能しません。WCF プロジェクトでの NHibernate の単純な起動メカニズムのオプションは何ですか?

0 投票する
1 に答える
5661 参照

.net - クライアントの app.config で wsHttpBinding が basicHttpBinding に変更されました

WCF サービスでは、エンドポイント バインディングを wsHttpBinding として設定しています。ただし、Visual Studio を使用してサービス参照を追加すると、クライアントの app.config はバインディングを basicHttpBinding として表示します。なぜこれが起こっているのか誰にも分かりますか?

サービス web.config のマイ エンドポイント (IIS 7.5 でホスト)。baseAddresses からアドレスを取得します

クライアント app.config:

0 投票する
3 に答える
7617 参照

c# - 構成ファイルを使用せずにプログラムで maxItemsInObjectGraph を追加する方法は?

そのような EndpointAddress を作成しました

しかし、プログラムでこのエンドポイントに動作を追加できませんでした。

動作は次のとおりです。

0 投票する
1 に答える
13617 参照

asp.net - 複数の Web サービス (一部は dll を介して) と通信するサイトの web.config (system.serviceModel) の構成

Web プロジェクトとクラス ライブラリ プロジェクトで構成されるソリューションがあります。Web プロジェクト ソリューションは、wcf サービスを直接参照します。2 つ目の wcf サービスがありますが、それを直接参照するのはクラス ライブラリ プロジェクトです。Web プロジェクトへの参照としてクラス ライブラリ (出力) を追加しています。

したがって、私の Web プロジェクトの web.config には、2 つの scf サービスが構成されています。app.config (system.serviceModel 部分) を直接 web.config に手動でコピーし、別の wcf サービスと (dll を介さずに直接) 対話するように Web プロジェクトを構成したため、このプロセスは簡単でした。

私の Web プロジェクトは、3 番目の Web サービス (asmx) と通信する必要があります。ここでも、これをクラス ライブラリとして使用し、dll を Web プロジェクトに含める予定です。(これは別の解決策です)。この特定のクラス lib プロジェクトの app.config を調べたとき、必要なセクションをコピーして、現在の web.config とマージするだけだと思いました。

そのため、3 番目のクラスの lib プロジェクト (asmx サービスを参照する) の場合、バインディング ノードの下に、basicHttpBinding というノードがあり、次に customBinding があることに気付きました。さらにクライアント ノードの下には、サービス属性を持つ 2 つのエンドポイント ノードがありました。(まず、ここに 2 つのエンドポイントが必要な理由がわかりません)。

そこで、バインディング ノードの下にあるものを (3 番目のクラスの lib prj app.config から) コピーし、それをバインディング ノード (web.config 内) に追加しました。エンドポイントをコピーするためにも同様のプロセスを実行しました。しかし、Web サイトを実行しようとすると、SOAP クライアント (asmx サービス) の初期化時に停止する例外が発生します。

asmx Web サービスを追加する前の web.config は次のようになります。

以下は、asmx サービスを使用したプロジェクトのサービス モデルです (app.config から取得)。

単純にセクションをマージしました。つまり、バインディング ノードの下の 2 番目の構成に含まれるものをすべてコピーし、それを 1 番目の構成に追加しました。エンドポイントをコピーするために同様のプロセスを実行しました。

ps: 2 番目の構成 (asmx) で 2 つのエンドポイントが表示される理由がわかりません。