Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# web服务的关系?_C#_Wcf_Web Services_Rest - Fatal编程技术网

C# web服务的关系?

C# web服务的关系?,c#,wcf,web-services,rest,C#,Wcf,Web Services,Rest,好吧,我有点搞不清楚这是如何与wcf web服务一起工作的 我有 节目(与ID关联) 组(组ID) 标签(TagsID) 用户(用户ID) 现在让我们假设组与程序相关联,标记也与组和与所有组关联的用户相关联 例如,GroupCSharp与程序Computing和标签webservice和rest相关联,但是rest标签也与Groupasp.net相关联,我如何返回与rest相关的所有组 我有: IGroupService IProgrammeService IT服务 IUSER 如何关联它们并返

好吧,我有点搞不清楚这是如何与wcf web服务一起工作的

我有

节目(与ID关联)
组(组ID)
标签(TagsID)
用户(用户ID)

现在让我们假设组与程序相关联,标记也与组和与所有组关联的用户相关联

例如,GroupCSharp与程序Computing和标签webservicerest相关联,但是rest标签也与Groupasp.net相关联,我如何返回与rest相关的所有组

我有:

IGroupService
IProgrammeService
IT服务
IUSER


如何关联它们并返回属于组的用户以及与标记等相关的组?

我不确定是否理解这个问题。您是否试图在对服务的一次调用中返回所有这些信息,并想知道对于这种类型的对象图,具有所有这些关系(以及最可能的循环引用)的数据契约是什么

关于这个问题,我可能更困惑于最新的信息,但我将最后尝试一下。我想更令人困惑的是“实体”一词。这更像是一个EF问题吗?如果链接是EF的问题,我只能假设采用了代码优先的方法。将组链接到标记的示例如下所示

    public class Group
    {
        public Group()
        {
            Tags = new List<Tag>();
        }
        public string Name { get; set; }
        public List<Tag> Tags { get; set; }
    }

    public class Tag
    {
        public string Name { get; set; }
    }
服务将返回表示组的XML或JSON


您列出了许多接口,我假设这些接口包含服务的操作和数据契约。您不一定需要按实体划分您的服务,并且可能会混淆将某些操作和数据契约放在何处。如果服务返回多个实体的信息,则需要在整个服务中重复数据约定。按实体拆分服务不会带来太多好处,只会使您和服务的任何用户更加困难。

我不确定我是否理解这个问题。您是否试图在对服务的一次调用中返回所有这些信息,并想知道对于这种类型的对象图,具有所有这些关系(以及最可能的循环引用)的数据契约是什么

关于这个问题,我可能更困惑于最新的信息,但我将最后尝试一下。我想更令人困惑的是“实体”一词。这更像是一个EF问题吗?如果链接是EF的问题,我只能假设采用了代码优先的方法。将组链接到标记的示例如下所示

    public class Group
    {
        public Group()
        {
            Tags = new List<Tag>();
        }
        public string Name { get; set; }
        public List<Tag> Tags { get; set; }
    }

    public class Tag
    {
        public string Name { get; set; }
    }
服务将返回表示组的XML或JSON


您列出了许多接口,我假设这些接口包含服务的操作和数据契约。您不一定需要按实体划分您的服务,并且可能会混淆将某些操作和数据契约放在何处。如果服务返回多个实体的信息,则需要在整个服务中重复数据约定。按实体拆分服务不会带来太多好处,只会使您和服务的任何用户更加困难。

我不确定我是否理解这个问题。您是否试图在对服务的一次调用中返回所有这些信息,并想知道这种类型的对象图与所有这些关系(以及最可能的循环引用)的数据契约是什么?@KevinJunghans:将其作为一个答案。我不确定是否理解这个问题。您是否试图在对服务的一次调用中返回所有这些信息,并想知道这种类型的对象图与所有这些关系(以及最有可能的循环引用)的数据契约是什么?@KevinJunghans:将其作为答案。是的,但不是一次调用中的全部。你能提供一个小例子吗?我仍然没有足够的信息来提供一个例子。您在WCF中使用什么类型的绑定?这是RESTful API还是使用SOAP?对象与关系的完整定义是什么?如果你不想在一次电话中提供所有信息,你如何将其拆分?您是否定义了运营合同?如果是,是什么?你试过哪一部分?你到底在做什么?我的意思是你如何把实体联系起来?然后是一个小例子,你会怎么称呼它?根据新的信息更新答案。嘿,凯文,我有点迷路了,关于这个位
\u程序。组
?是的,但不是一次呼叫全部。你能提供一个小例子吗?我仍然没有足够的信息来提供一个例子。您在WCF中使用什么类型的绑定?这是RESTful API还是使用SOAP?对象与关系的完整定义是什么?如果你不想在一次电话中提供所有信息,你如何将其拆分?您是否定义了运营合同?如果是,是什么?你试过哪一部分?你到底在做什么?我的意思是你如何把实体联系起来?然后是一个小例子,你会怎么称呼它?根据新的信息更新答案。嘿,凯文,我有点迷路了,关于这个位
\u程序。组
        string tagName = "rest";
        List<Group> groups = proxy.GetGroups(tagName);
http://server/api/GetGroups?tagName=rest