Nancy 引用源码与NuGet安装差异

时间:2022-09-16 08:11:24

使用NuGet安装Nancy和直接引用源码项目存在一些差异,如序列化,授权验证问题。

如果引用源码的话,自定义JsonSerializer,如下:

注意,需要使用NuGet安装Newtonsoft.Json

public class CustomJsonNetSerializer : JsonSerializer, ISerializer
{

public bool CanSerialize(MediaRange mediaRange)
{
return mediaRange.ToString().Equals("application/json", StringComparison.OrdinalIgnoreCase);
}

public void Serialize<TModel>(MediaRange mediaRange, TModel model, Stream outputStream)
{
using (var streamWriter = new StreamWriter(outputStream))
using (var jsonWriter = new JsonTextWriter(streamWriter))
{
Serialize(jsonWriter, model);
}
}

public IEnumerable<string> Extensions { get { yield return "json"; } }
}