2

使用したいWCFWebサービスを作成するときにHttpContext.Current.Items、2つの場所にコードを追加する必要がある理由を誰かに説明してもらえますか?1つはWebサービス自体にあり([AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)])、もう1つはweb.configファイルにあります(<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />)?

私の同僚は、彼のすべてのWebサービス呼び出しが失敗しました。彼はweb.configのセットアップが欠落していて、その理由を尋ねました。説明しようとしましたが、できたかどうかわかりません:)

これは、WebサービスコードとWebサービスがホストされる場所の分離に関係していると思います。Webサービス自体は、その互換モードが必要であると言っています。次に、その互換モードで実行する必要があることを示すために、ホスティング環境をセットアップする必要もあります。これが基本的なポイントではないですか?彼はまだ質問をしていました:「しかし、サービスがその属性を使用する場合、それは自動的に行われるべきではありませんか?」

4

1 に答える 1

2

1 つ目は aspcompat を有効にする必要があることを WCF に伝え、2 つ目はそれを有効にします。最初のものなしでできるはずです。

これにより、WCF サービスを構成する人は、正しい構成を使用するように強制されます。

MS は、サービスを構成する人は、サービスを作成した人以外の誰かである可能性があるという考えでこれを設計しました。

彼の最後の質問に答えるために。ホストを構成していないサービスに属性を追加すると、ホストを構成する方法が要求されます。構成はホストで行われます。

于 2011-09-27T14:53:18.133 に答える