Json.NET(newtonsoft)をカスタムシリアライザとして使用しているアプリケーションがあります。現在、このWebHttpBehaviorの派生をカスタムWebServiceHostFactoryに追加しています。添付ファイルについては、this blogの最後のコードスニペットをご覧ください。カスタム動作は私のweb.configに登録されません
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が
要素の行動が「無効な子要素afforementioned msdn article 'においてNewtonsoftJsonBehavior'
を持っていることを私に伝え、
が追加することを言っています構成要素を記述して登録する必要があります。詳細については、System.Configurationのドキュメントを参照してください。
要素とその構成タイプが定義されたら、次の例に示すように、その拡張子を使用できます。
私が紛失しているのはまさにそれです。何らかの形でエレメントとその構成タイプを登録します。悲しいことに私はこれを行う方法を教えてくれるSystem.Configurationの頭や尾を作ることはできません。それは基本的に私の質問です。
構成要素を書き込んで登録するにはどうすればよいですか?これは私の問題ではない場合、何が問題なのですか?
事前に感謝します。
私は明日最初にsvcconfigeditorを試して、報告して戻ってきます。他の部分については、私のアプリケーションを実行しようとすると、サービスを呼び出すとブラウザのweb.configが表示され、サービスが実行できない理由としてカスタムタグが強調表示されます。正確なメッセージは覚えていませんが、明日も投稿できます。 – Mithon
自分の答えを追加しましたが、SvcConfigEditorを私に指摘してから、自分が必要としていたことを追跡するのに役立ちました。 – Mithon