2014-11-25 81 views
0

我正在嘗試設置使用OWIN和NInject中間件的Web API項目。我已經安裝了Ninject.Web.WebApi.OwinHost NuGet包和創建以下啓動類:NInject Owin可序列化問題

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時拋出以下異常:

類型「SOMETYPE」彙編「 SomeAssembly,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'未標記爲可序列化。

我很困惑爲什麼這個錯誤返回,因爲我還沒有註冊任何綁定。類型SomeType在我正在使用的第三方程序集中,無法修改。

+0

我會嘗試重現您的問題。你能提供組件還是類型? – 2014-11-26 06:43:00

回答

0

你發送給你的API是什麼?正如異常狀態一樣,您試圖序列化/反序列化未標記爲可序列化的類型。 DataContractSerializer或XmlSerializer需要它。

請參閱備註部分:MSDN SerializableAttribute

+0

我沒有發送任何東西(在API調用中沒有參數)。 Ninject初始化內發生異常 – lostaman 2014-11-25 22:35:19