0

.NET 4.0、WCF、および wshttp バインディングを使用して、いくつかの ws メソッドを作成しています。wsHttp バインディングを使用する理由は、認証、暗号化、署名のサポートが必要だからです。

このようなサービスを作成して wsdl を調べると、そこに wsp:policy タグがあることがわかります。何らかの方法で WCF 構成に影響を与え、このタグを削除する方法はありますか?

私が理解しているように、このタグなしで暗号化と署名を行うことは可能です。

4

1 に答える 1

2

生成された WSDL を独自の WSDL ( serviceMetadata - externalMetadataLocation ) に置き換えることができます。これは、WSDL を最初から作成するため、目的を達成できると確信している唯一の方法です。生成された WSDL とポリシーを変更するための拡張ポイント ( IWsdlExportExtensionIPolicyExportExtension)がありますが、WSDL に新しい項目を追加することしかできないと思いますが、API 機能 (組み込みのセキュリティなど) によって追加された項目を削除することはできません。

ところで。ポリシーを削除するのは非常に悪い考えです。WSDL はサービスを記述する必要があり、開発者がクライアント アプリケーションを作成する必要がある唯一の記述でなければならないからです。ポリシーを削除すると、WSDL はサービスに関する部分的な情報のみをカバーし、役に立たなくなります。間違いなく、プロキシ生成ツールとの互換性が損なわれます。このトピックについて関連する質問がありました。

于 2010-11-24T11:13:31.807 に答える