何が起こっているかを見たい場合は、TraceWriter をインストールすると、conneg が何をするかがわかります。
TraceWriter は次のようになります。
public class TraceWriter : ITraceWriter {
public bool IsEnabled(string category, TraceLevel level) {
return true;
}
public void Trace(HttpRequestMessage request, string category, TraceLevel level, Action<TraceRecord> traceAction) {
var rec = new TraceRecord(request, category, level);
traceAction(rec);
Log(rec);
}
private void Log(TraceRecord record) {
Console.WriteLine(record.Message);
}
}
このようにインストールされ、
config.Services.Replace(typeof(ITraceWriter), new TraceWriter());
手動で conneg を呼び出したい場合は、次を使用できます。
config.Services.GetContentNegotiator().Negotiate(...)