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
WCF多个端点和iSeries设备_Wcf_Wcf Endpoint - Fatal编程技术网

WCF多个端点和iSeries设备

WCF多个端点和iSeries设备,wcf,wcf-endpoint,Wcf,Wcf Endpoint,我只是在尝试使用WCF,我想知道是否有人能告诉我是否对端点有正确的想法 我一直在看msdn上的视频,现在我在想如何配置WCF服务。这种情况是,如果我有多个iSeries设备,例如我有一个ITIS和一个IThat,客户端需要同时访问这两个设备(注意:它们将使用net.tcp) ITIS处理数据库查询和 独立于数据库处理计算 我假设我必须为ITIS和IThat定义单独的端点,这两个端点在客户端中分别引用。或者我会创建一个在客户端中被引用并包含这两种功能的服务的总体框架吗 或者,开发和处理具有多个

我只是在尝试使用WCF,我想知道是否有人能告诉我是否对端点有正确的想法

我一直在看msdn上的视频,现在我在想如何配置WCF服务。这种情况是,如果我有多个iSeries设备,例如我有一个ITIS和一个IThat,客户端需要同时访问这两个设备(注意:它们将使用net.tcp)

  • ITIS处理数据库查询和

  • 独立于数据库处理计算

我假设我必须为ITIS和IThat定义单独的端点,这两个端点在客户端中分别引用。或者我会创建一个在客户端中被引用并包含这两种功能的服务的总体框架吗

或者,开发和处理具有多个iSeries设备的WCF服务还有其他方法吗?我在问你,你能定义tcp的基址还是只定义http

~谢谢大家,任何帮助或指点都很好。

一些基本知识:

每个服务都有一个或多个端点。端点特定于其相关服务,即每个端点只能属于一个服务,不能在服务之间共享

端点定义了服务的入口点——它包括可由客户端使用的地址、绑定和契约

不同的端点必须具有不同的地址,并且可以具有不同的绑定和约定(即,它们不必如此)。通常,不同的端点具有不同的绑定,即传输协议。如果特定的客户只需要访问特定的操作,他们可以签订不同的合同

最后,您的服务必须实现其各个端点公开的所有契约

这是一个非常简洁明了的MSDN页面,描述了这些概念

网络上有很多关于WCF的信息,还有很多东西需要学习。最好看一些教程或指南,这些教程或指南关注的是你正在尝试做的事情

我假设我必须定义 ITI和ITI的独立端点 IThat中引用的 客户分开。还是我会创造 一项全面的服务 在客户端和 包含这两方面的功能

您可以同时执行以下两项操作:

  • 您可以创建一个单独的服务实现类-一个用于
    ITIS
    ,另一个用于
    ITAT
  • 或者,您可以创建一个同时实现
    ITIS
    IThat
这个选择完全取决于你

对于您拥有的每个服务实现类,您可以定义任意数量的端点。因此,如果您有一个
ThisService
实现
ITIS
,您可以为此定义一个HTTP和一个TCP端点,您还可以有一个
ThatService
实现
IThat
,为其定义TCP端点。这完全取决于你

但是:您只能为每个服务实现类定义端点-如果您有一个
ThisandAtService
实现两个服务契约,您不能为
ITIS
定义3个端点,也不能为
ITAT
定义两个不同的端点-您定义的端点是每个服务实现类的端点

我在问你,你能定义基数吗 tcp地址还是仅http地址


是的,绝对可以-您可以为各种寻址方案(http、net.tcp、net.msmq、net.pipe等)定义一个基址。

对此下一票有何评论?它在某种程度上是误导性的还是不正确的?@marc_s显然端点是每个接口的,而不是实现类的——毕竟端点依赖于契约而不是实现。每个实现定义一个“服务”,但服务可以有多个端点,每个端点都有自己的(或共享的)契约…?@Kirk Broadhurst:是的-端点依赖于接口-但它是在标记内定义的,标记为服务实现定义了一次class@marc_s那我就不明白了"... 您不能为ITIS定义3个端点,也不能为ITAT定义两个不同的端点。。。“。当然,一个服务上只有5个端点,3个实现了ITIS,2个实现了IThat。@Kirk Broadhurst:由单个服务实现类实现的所有服务契约中的端点共享一系列内容:服务行为配置、服务的基地址等。”。,因为这些都是在每个服务实现类级别上定义的。@marc_我理解,但是你写道“如果你有一个ThisandAtService同时实现两个服务契约,你不能为ITIS定义3个端点,为IThat定义两个不同的端点”,我认为这是误导。您可以为ITIS定义3个端点,为ITSAT定义2个不同的端点-它们只需要位于同一个服务上。