我在asp.net mvc4网站上遇到WebAPI问题,错误信息是:
在使用本地名称“__type”编写属性后,您必须编写属性“type”=“object”。
堆栈是:
at System.Web.Http.WebHost.HttpControllerHandler.EndProcessRequest(IAsyncResult result)
at System.Web.Http.WebHost.HttpControllerHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
我的方法返回一个对象列表IEnumerable,product is datacontract serializable没有任何问题
我通过全局错误处理程序恢复了此错误,当它发生时,应用程序被回收。
答案 0 :(得分:0)
您是否尝试过任何建议here?它们似乎都与序列化有关(不使用virtual
关键字,指定已知类型等)。
我实际上建议不要做帖子中的人正在描述的内容,即直接从他们的数据库上下文中使用实体而不是将它们变成某种响应模型,原因如下:
在没有看到更多代码的情况下,不确定您是否正在执行任何这些操作,但它可能有助于使您尝试在ApiController中使用的模型尽可能POCO - y。