NInject Owin serialiazable问题

时间:2014-11-25 06:37:11

标签: .net ninject owin

我正在尝试设置使用OWIN和NInject中间件的Web API项目。我已经安装了Ninject.Web.WebApi.OwinHost nuget包并创建了以下启动类:

public class Startup
{
    public void Configuration(IAppBuilder appBuilder)
    {
        var httpConfig = new HttpConfiguration();
        WebApiConfig.Register(httpConfig);
        appBuilder.UseNinjectMiddleware(CreateKernel);
        appBuilder.UseNinjectWebApi(httpConfig);
    }

    private StandardKernel CreateKernel()
    {
        var kernel = new StandardKernel();
        return kernel;
    }
}

此代码在创建StadardKernel时初始化期间抛出以下异常:

在程序集“SomeAssembly,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null”中键入“SomeType”未标记为可序列化。

我很困惑为什么会返回此错误,因为我还没有注册任何绑定。类型SomeType在我正在使用的第三方程序集中,无法修改。

1 个答案:

答案 0 :(得分:0)

你发送给你的api是什么?正如异常所述,您正在尝试序列化/反序列化未标记为可序列化的类型。 DataContractSerializer或XmlSerializer需要它。

请参阅备注部分:MSDN SerializableAttribute