問題タブ [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 投票する
4 に答える
20274 参照

.net - Silverlight+WCF の例外: application/soap+xml が必要ですが、text/xml を受け取りました

WCF サービスを呼び出したい Silverlight アプリケーションがあります。サービスを呼び出すと、サーバーから次の応答を受け取ります。

415 コンテンツ タイプが 'text/xml; であるため、メッセージを処理できません。charset=utf-8' は、予期されたタイプ 'application/soap+xml;' ではありませんでした。文字セット=utf-8

以前にこの問題を経験した人はいますか? どの構成設定を調整する必要があるか知っている人はいますか? これを修正する方法に関する情報をいただければ幸いです。

0 投票する
6 に答える
12180 参照

asp.net - 別の dll プロジェクトで WCF を構成する方法

多数の Web サービスを使用する Web アプリケーション (ASP.NET 3.5) を開発しています。Web サービスごとに個別の dll プロジェクトを作成しました。これらのプロジェクトには、サービス参照とクライアント コードが含まれています。

ただし、この情報は dll の app.config ファイルにもありますが、呼び出し元の Web サイトの web.config に<system.serviceModel>情報 (<bindings>およびノー​​ド) が含まれている必要があります。<client>serviceclass.dll.config を Web サイトの bin ディレクトリにコピーしようとしましたが、これは役に立ちませんでした。

WCF クライアントの構成を一元化する方法はありますか?

0 投票する
5 に答える
23988 参照

.net - プログラムで WCF の既知の型をどのように構成しますか?

私のクライアント/サーバー アプリケーションは、通信に WCF を使用しています。ただし、現在のアーキテクチャの欠点の 1 つは、特定の送信型に対して既知の型構成を使用する必要があることです。社内の Pub/Sub メカニズムを使用しており、この要件は避けられません。

問題は、既知の型を追加するのを忘れやすいことです。追加すると、何が問題なのかについての手がかりがほとんどなく、WCF は黙って失敗します。

私のアプリケーションでは、送信されるタイプのセットを知っています。App.config現在次のようなものが含まれているファイルを宣言するのではなく、プログラムで構成を実行したいと思います。

代わりに、次のようなことをしたいと思います。

誰かが私がこれを行う方法を説明できますか?

EDIT構成で宣言的に、またはソースコードで属性を使用するのではなく、実行時に既知のタイプを動的に設定しようとしていることを理解してください。

これは基本的に WCF API に関する質問であり、スタイルに関する質問ではありません。

EDIT 2 この MSDN ページのページには次のように記載されています。

また、DataContractSerializer の KnownTypes プロパティを介してアクセスする ReadOnlyCollection に型を追加することもできます。

残念ながら、それが言っていることはそれだけであり、KnownTypes が読み取り専用プロパティであり、プロパティの値がReadOnlyCollection.

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

wcf - WCFクライアント構成:エンドポイントが構成ファイルにあるかどうかを確認し、ない場合はコードにフォールバックするにはどうすればよいですか?

シリアル化されたメッセージオブジェクトをWCF経由でサーバーに送り返すクライアントの作成を検討しています。

エンド開発者(さまざまな部門)が簡単にできるようにするには、構成ファイルを編集してクライアントエンドポイントデータを設定する方法を知る必要がないことが最善です。

そうは言っても、エンドポイントがクライアントに埋め込まれていない/ハードコーディングされていないことも素晴らしいことです。

ミックスシナリオは、展開するのに最も簡単なソリューションのように思えます。

IF(configで説明)USE configfileELSEハードコードされたエンドポイントへのフォールバック。

私が見つけたのは:

  1. new Client();構成ファイルの定義が見つからない場合は失敗します。
  2. new Client(binding,endpoint);作品

したがって:

しかし、構成ファイルにエンドポイントが宣言されているかどうかを確認する方法(try / catch以外)はありますか?

設定ファイルで定義されていても、正しく設定されていない場合、上記も失敗しませんか?2つの条件を区別するのは良いでしょうか?

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

wcf-configuration - 仕事を簡単にするWCF構成ツールはありますか

すべての構成オプションとニュアンスの詳細な知識を必要とするだけでなく、最小限の入力でアプリケーションをセットアップするだけのツールはありますか? これらの単純な入力に基づいて XML 構成を生成するウィザードのようなもの。セキュリティは気にしません。サービスが機能する必要があるだけです。理想的には、このツールで IIS6 もセットアップできるか、少なくとも特定のオプション セットを使用して、IIS で完了する必要のある手順のリストを作成できるようにする必要があります。

Microsoft Service Configuration Editor は、XML の直接編集に勝るものはありません。正しい考えを持つ Web サイトを見つけましたが、単純なインストールを解決できませんでした。( http://www.noemax.com/support/wcf_binding_configuration_wizard.html )。

この山のように構成されたものに対して何らかの規則を適用するものはありますか?

0 投票する
4 に答える
27126 参照

c# - servicePrincipalName にはどのような値が必要ですか?

サービスでクライアントの偽装を設定しようとしています。

サービス エンドポイントの servicePrincipalName の値を設定する必要があります

このMSDNの記事を見ていますが、まだよくわかりません

私のサービスは、ServerName1 というサーバー上のコンソール アプリでホストされています。
URI は次のとおりnet.tcp://ServerName1:9990/TestService1/です。

具体的には、servicePrincipalName はどうすればよいですか?

私は試してみましたが、喜びはありませんでした:

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

.net - コンソールアプリケーションでWCFサービスをホストするときのIMetadataExchangeMEXエンドポイントエラー

WCFサービスがあります。コンソールアプリケーションでサービスをホストしようとしています。

私はここですべての指示に従っています。

これですべてが正常にコンパイルされますが、実行時に例外が発生します。

コントラクト名「IMetadataExchange」が、サービスインデクサーによって実装されたコントラクトのリストに見つかりませんでした。ServiceMetadataBehaviorを構成ファイルまたはServiceHostに直接追加して、このコントラクトのサポートを有効にします。

今、方向に、私は追加するように指示されています

WCFサービスまたはホストコンソールアプリケーションのどこにもIMetadataExchangeがありません。

例外はどこから来るのですか?私が見逃している参照はありますか?

これは私のコンソールプログラムです

私のWCFサービスには、コントラクトとのインターフェイスがあり、myserviceクラスに実装されています。

以下は私のapp.config全体です。

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

c# - WCF:メッセージコントラクトでストリーミングを使用する

ストリーム自体の横に追加のパラメーターが必要なため、メッセージコントラクトでWCFストリーミングを使用しようとしています。

基本的に、私はファイルのアップロードとダウンロードのサービスを作成しており、その上にいくつかの追加のロジックがあります。

残念ながら、ブラウザからサービスにアクセスしてすべてが正常であることを確認しようとすると、次のエラーが発生します。

'/'アプリケーションのサーバーエラー。コントラクト「IFileTransferService」の操作「UploadFile」は、SOAPヘッダーを持つMessageContractを使用します。SOAPヘッダーは、NoneMessageVersionではサポートされていません。

残念ながら、それをグーグルで検索しても、私を助ける重要な結果は得られませんでした。助けてもらえますか?ここにサービスの詳細があります(スペースの都合でダウンロード部分を削除しました)。

私はbasichttpbindingとcustomhttpバインディングの両方を使用しようとしましたが、プラスの効果はありませんでした。

更新:オンラインでドキュメントを読むと、MessageContractsを使用したスト​​リーミングが実際に可能になるはずです。たとえば、MSDN(ラージデータとストリーミング)を参照してください。

ストリーミング転送のプログラミングモデル

ストリーミングのプログラミングモデルは単純です。ストリームデータを受信する場合は、単一のストリーム型入力パラメーターを持つ操作コントラクトを指定します。ストリーミングされたデータを返す場合は、ストリーム参照を返します。[...]このルールは、メッセージコントラクトにも同様に適用されます。次のメッセージコントラクトに示されているように、ストリームであるメッセージコントラクトに含めることができるボディメンバーは1つだけです。追加情報をストリームと通信する場合は、この情報をメッセージヘッダーに含める必要があります。メッセージ本文は、ストリームコンテンツ専用に予約されています。

また、ファイルのアップロードとダウンロードのサービスを実行している人々からのブログ投稿も、私がまとめようとしているものと非常によく似ています(たとえばここ)。

UPDATE 2 小さなコンソールを作成し、basicHttpBindingを使用してサービスをセルフホスティングしようとしましたが、それは魅力のように機能します。問題はIISでのホスティングにあるのではないかと私は信じ始めています。何か案が?

更新3 私自身の答えを参照してください。

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

c# - ホステッド サービスでサービス プリンシパル名をプログラムによって設定する方法

構成ファイルを使用して上記を行うには、次のようにします。

しかし、それを以下のコードに追加するにはどうすればよいですか?