Json.NET (newtonsoft) をカスタム シリアライザーとして使用しているアプリケーションがあります。現在、この WebHttpBehavior の派生物をカスタム WebServiceHostFactory に追加しています。添付方法については、このブログの最後にあるコード スニペットを参照してください。
IIS でこのサービスをホストしているので、カスタム ホスティング コードを取り除き、カスタム動作を web.config に追加したいと考えています。手順は、このmsdn articleに示されています。
だから私はそれを次のようにしようとします:
<behaviors>
<endpointBehaviors>
<behavior name="jsonRest">
<webHttp defaultOutgoingResponseFormat="Json" />
<NewtonsoftJsonBehavior/>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<extensions>
<behaviorExtensions>
<add name="NewtonsoftJsonBehavior" type="Newtonsoft.Json.Extensions.NewtonsoftJsonBehavior, NewtonsoftJsonExtensions, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" />
</behaviorExtensions>
</extensions>
残念ながら、私はそれを機能させることができません。これを行うと、Visual Studio から次のように通知されます。
要素 'behavior' には無効な子要素 'NewtonsoftJsonBehavior' があります
前述のmsdn の記事では、次のように述べられています。
要素に構成機能を追加するには、構成要素を作成して登録する必要があります。詳細については、System.Configurationのドキュメントを参照してください。
要素とその構成タイプを定義したら、次の例に示すように、拡張機能を使用できます。
私が欠けているのはまさにそれだと感じています。どういうわけか、要素とその構成タイプを登録します。悲しいことに、これを行う方法を教えてくれるはずのSystem.Configurationの頭や尾を作ることはできません。それが基本的に私の質問です:
構成要素を作成して登録するにはどうすればよいですか? それが私の問題でない場合、何が問題なのですか?
よろしくお願いします!