2

我使用以下文章作为指导创建了 WCF WebHttp 服务。

http://blogs.msdn.com/b/endpoint/archive/2010/01/07/getting-started-with-wcf-webhttp-services-in-net-4.aspx

除了一部分,我的一切都很好。当我查询从我的数据库中获取联系人列表时,它会很好地返回它们。但是,当我使用相同的代码结构来获取帐户列表时,它会告诉我:

此网页无法使用

但是,我可以查询单个帐户没有问题。起初我认为这可能是一个依赖关系,它试图将所有子对象加载到 Account 等等。但是当我检查从数据库返回的结果时,它是一组非常小的数据。(42条记录)所以我认为这可能与对象的序列化有关,所以我对文件做了我自己的小Json序列化器方法并得到以下错误。

'MyNamespace.Model.Account' 类型的对象图包含循环,如果禁用引用跟踪,则无法序列化。

所以我在网上搜索了一下,所有的结果都指向一篇奇异的文章。。

http://blogs.msdn.com/b/sowmy/archive/2006/03/26/561188.aspx

但是,这篇文章对我没有帮助,因为它对 WCF WebHttp 服务无效。

有什么想法吗?

4

1 回答 1

0

该文章也适用于 WCF WebHttp 服务——您只需要获取对这些服务的 ServiceHost 的引用。在该博客文章的示例中,服务是使用 ASP.NET 路由激活的WebServiceHostFactory,并且是创建该ServiceHost服务使用的实例的组件。

因此,您必须创建自己的工厂(可能会覆盖 WebServiceHostFactory),并在 CreateServiceHost 上调用基本方法来获取主机,根据 Sowmy 的文章对其进行修改,然后将其返回。

我最近在http://blogs.msdn.com/b/carlosfigueira/archive/2011/06/14/wcf-extensibility-servicehostfactory.aspx上发布了一篇关于服务主机工厂的文章,您可以在其中找到有关此的更多信息零件。

于 2011-06-21T03:32:47.057 回答