2012-03-29 17 views
0

Windowsサービスまたはコマンドライン実行可能ファイルでホストされているWCF RESTサービスがあります。私はデフォルトのDataContractJsonSerializerをJSON.NETシリアライザに置き換えたいと思います。WindowsでホストされているWCFサービス用のJSON.NETシリアライザ

IIS:How to set Json.Net as the default serializer for WCF REST serviceを使用するという点で、似たような小さな違いがあります。

IISの外部でホストされていると、そこでコードされたコードは動作しません。 次の例外をスローします。 'ServiceHostingEnvironment.EnsureServiceAvailable'を現在のホスティング環境で呼び出すことはできません。このAPIを使用するには、呼び出し元のアプリケーションをIISまたはWASでホストする必要があります。

答えて

2

そのコードは機能するはずです。 [AspNetCompatibilityRequirements]属性をサービスから削除するだけです。実際には、これは自己ホストサービスには適用されないからです。 http://blogs.msdn.com/b/carlosfigueira/archive/2011/05/03/wcf-extensibility-message-formatters.aspxで説明されているように、カスタムメッセージフォーマッタを使用してシリアライザを置き換えることもできます。

+0

お返事ありがとうございます。私はその時点でそれを断念し、しばらくの間、DataContractJsonSerializerを使用します。私は論理的に聞こえるようにあなたの答えを受け入れるでしょう、そして、私は後で多分それをチェックします。 –

関連する問題