我正在尝试设置使用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在我正在使用的第三方程序集中,无法修改。
答案 0 :(得分:0)
你发送给你的api是什么?正如异常所述,您正在尝试序列化/反序列化未标记为可序列化的类型。 DataContractSerializer或XmlSerializer需要它。
请参阅备注部分:MSDN SerializableAttribute