c# - 如何使用来自不同项目的模型类通过反射提供程序创建 WCF 数据服务 OData?

标签 c# wcf reflection wcf-data-services odata

按照说明使用反射提供程序 ( 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/

相关文章:

java - 使用自定义类加载器将类转换为对象

c# - 如何查找方法是否正在实现特定接口(interface)

c# - 在运行时解析参数名称

c# - 如何保存我的应用程序设置?

WCF 可靠消息传递 : stuttering service after maxPendingChannels increase

c# - 在 DataContract 中设置默认值?

javascript - 无法使用 Wcf 服务在 Angular JS 中根据 ID 检索单个记录

c# - 如何将所有* .bak文件从目录A复制到目录B?

c# - 带有 WebApi 和业务层的 Autofac

c# - 没有短语列表的 UWP Cortana