1

1) xml のブロックを返すための WCF セットアップ (具体的には、Exchange 2003 のカレンダーの内容です)。2 ) WSDL コントラクト ファイルのコンテンツを含むサービス モニカに基づいて構築されたオブジェクトを介して WCF にアクセスするコマンドを含む vb6 フォーム。

これは、渡される文字列が許容可能なサイズである場合にのみ正常に機能します。WCF 側で生成された xml 全体を返そうとすると、次のエラーが発生します。 ."

maxReceivedMessageSize を増やすためにバインド構成を WCF app-config に追加すると、これは効果がありません。おそらく、VB6 クライアントはこれを認識していないためです。(生成された WSDL コントラクトには、その xml に値さえ含まれていません)

*周りを読んで、クライアント側で同様の構成変更を行う必要があるという提案があります。だから私は VB6.EXE.CONFIG ファイルを作成し、バインディング構成の詳細をこれにコピーしました。次に、これを含めるようにモニカーを拡張しました: binding=WSHttpBinding_IExchange, bindingNamespace='Exchange', bindingConfiguration='ExchangeBinding'

ただし、サイズ クォータに関する同じエラー メッセージが引き続き表示されます。

上記のモニカーの binding または bindingNamespace 要素のつづりを間違えると、予想されるエラーが発生しますが、bindingConfiguration 要素のつづりを間違えても、この要素が無関係であるかのように、エラーは発生しません。

私はピースを持っているようですが、現時点では実用的なソリューションではありません。アイデアはありますか?

  • obj オブジェクトは、インターフェイス プロキシ型であると宣言されています。モニカは、アドレスとバインドの種類のみを含むように設定されます。wsHttpBinding のデフォルト設定のみを使用しているため、bindingConfiguration 値を指定する必要はありません。バインドの既定の設定をオーバーライドする必要がある場合は、file.exe.config という名前のアプリケーション構成ファイルを提供し、それをクライアントのプログラム ディレクトリに配置できます。
4

1 に答える 1

0

個人的には、VB6 から呼び出す .NET COM 公開ライブラリを作成します。.NET ライブラリはすべてのクライアント バインディングを制御でき、VB6 は単純に DLL と対話して文字列を渡します。

于 2011-10-25T17:17:42.343 に答える