按照说明使用反射提供程序 ( http://msdn.microsoft.com/en-us/library/dd728281.aspx ) 一切正常,直到我将类 Order 和 Item 移至类库并使用 SVC 文件从 Web 项目引用类库。
将 POCO 类移至 WCF 项目中,一切顺利。
将 POCO 类从 WCF 项目移到单独的程序集中,我得到了 500,没有任何解释。
我希望能够将我的 poco 类保存在一个单独的项目中,并使用 OData 端点公开它们。我做错了什么?
--更新--
上述场景旨在说明我在使用 WCF OData Reflection Provider 时发现的问题。这不是我真正的问题,但出于说明目的更容易解释。
最佳答案
如果您尚未升级到最新版本的 WCF 数据服务(当前为 5.3),请尝试升级到该版本。我使用 .Net 4.5 附带的 WCF 数据服务版本重现了您的问题,但是当我使用 NuGet 将两个程序集中的引用升级到 Microsoft.Data.Services 的最新版本后,问题就消失了。
如果您已在使用最新版本的 WCF 数据服务,请确保两个程序集引用完全相同版本的 WCF 数据服务。
如果这些都不能解决您的问题,请将以下属性添加到您的 DataService 类中以获取更详细的错误消息和堆栈跟踪:
[System.ServiceModel.ServiceBehavior(IncludeExceptionDetailInFaults = true)]
public class YourService : DataService<...>
然后请用结果更新您的问题(如果解决方案没有立即从堆栈跟踪中跳出)。
关于c# - 如何使用来自不同项目的模型类通过反射提供程序创建 WCF 数据服务 OData?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15486784/