我已经使用下面的文章作为指导创建了一个WCF WebHttp服务。
http://blogs.msdn.com/b/endpoint/archive/2010/01/07/getting-started-with-wcf-webhttp-services-in-net-4.aspx
我把所有东西都做得很好,只有一部分除外。当我查询从我的数据库中获取联系人列表时,它会正常地返回它们。但是,当我使用相同的代码结构来获取帐户列表时,它会告诉我:
此网页不可用
不过,我可以查询单个账号没问题。起初,我认为这可能是一种依赖关系,它试图加载帐户上的所有子对象,等等。但是当我检查从数据库返回的结果时,它是一个非常小的数据集。(42条记录),所以我认为这可能与对象的序列化有关,所以我对一个文件执行了自己的小Json序列化方法,得到了以下错误。
类型“”MyNamespace.Model.Account“”的对象图包含循环,如果禁用引用跟踪,则无法将其序列化。“”
所以我在网上搜索了一下,所有的结果都指向一篇奇特的文章。
http://blogs.msdn.com/b/sowmy/archive/2006/03/26/561188.aspx
然而,这篇文章对我没有帮助,因为它对WCF WebHttp服务无效。
有什么想法吗?
发布于 2011-06-21 11:32:47
这篇文章也适用于WCF WebHttp服务--您只需要获得这些服务的ServiceHost的引用。在该博客文章的示例中,使用ASP.NET路由和WebServiceHostFactory激活服务,该组件创建该服务要使用的ServiceHost实例。
因此,您必须创建自己的工厂(可能覆盖WebServiceHostFactory),在CreateServiceHost上,您将调用基本方法来获取主机,根据Sowmy的文章修改它,然后返回它。
我最近在http://blogs.msdn.com/b/carlosfigueira/archive/2011/06/14/wcf-extensibility-servicehostfactory.aspx上发表了一篇关于服务主机工厂的文章,您可以在那里找到有关此组件的更多信息。
https://stackoverflow.com/questions/6419865
复制相似问题