Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.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# WCF并发模式。多个_C#_Wcf - Fatal编程技术网

C# WCF并发模式。多个

C# WCF并发模式。多个,c#,wcf,C#,Wcf,我不知道如何检查我是对还是错,所以你的帮助将是巨大的 A.根据我的理解,IsOneWay=true=客户端不想等待方法结束。因此,服务将在需要时执行此方法。但是,在某些情况下,服务是否会使用多线程来执行该方法 B.当我使用ConcurrencyMode.Multiple时,使用IsOneWay=true和IsOneWay=false有什么区别。ConcurrencyMode和消息传递模式没有那么直接的关系 IsOneWay影响客户端和服务器的交互方式 并发模式是服务器端问题,客户端不知道此设置

我不知道如何检查我是对还是错,所以你的帮助将是巨大的

A.根据我的理解,IsOneWay=true=客户端不想等待方法结束。因此,服务将在需要时执行此方法。但是,在某些情况下,服务是否会使用多线程来执行该方法


B.当我使用ConcurrencyMode.Multiple时,使用IsOneWay=true和IsOneWay=false有什么区别。

ConcurrencyMode和消息传递模式没有那么直接的关系

IsOneWay影响客户端和服务器的交互方式


并发模式是服务器端问题,客户端不知道此设置

并发模式和消息传递模式没有那么直接的关系

IsOneWay影响客户端和服务器的交互方式

并发模式是服务器端问题,客户端不知道此设置

来自:

根据定义,HTTP是一种请求/响应协议;当请求被拒绝时 完成后,将返回一个响应。即使是单向服务也是如此 通过HTTP公开的操作。调用该操作时 服务返回服务之前的HTTP状态代码202 操作已执行。此状态代码表示请求已被删除 已接受处理,但尚未完成处理 完整的。调用该操作的客户端会一直阻塞,直到 从服务接收202响应。这可能会导致一些问题 当使用同一地址发送多个单向消息时出现意外行为 配置为使用会话的绑定。wsHttpBinding 此示例中使用的默认配置为使用会话 建立安全上下文。默认情况下,会话中的消息是 保证按发送顺序到达。因为 这意味着,当会话中的第二条消息被发送时,它不是 直到处理完第一条消息为止。结果 这是因为客户机没有收到针对某个事件的202响应 直到上一条消息的处理完成 完整的。因此,客户端似乎会在每个后续操作上阻塞 行动电话。为避免此行为,此示例配置 运行时将消息并发地分派到不同的实例以用于 处理。示例将InstanceContextMode设置为PerCall,以便 每个消息都可以由不同的实例处理。并发模式 设置为Multiple以允许多个线程分派消息 一次

发件人:

根据定义,HTTP是一种请求/响应协议;当请求被拒绝时 完成后,将返回一个响应。即使是单向服务也是如此 通过HTTP公开的操作。调用该操作时 服务返回服务之前的HTTP状态代码202 操作已执行。此状态代码表示请求已被删除 已接受处理,但尚未完成处理 完整的。调用该操作的客户端会一直阻塞,直到 从服务接收202响应。这可能会导致一些问题 当使用同一地址发送多个单向消息时出现意外行为 配置为使用会话的绑定。wsHttpBinding 此示例中使用的默认配置为使用会话 建立安全上下文。默认情况下,会话中的消息是 保证按发送顺序到达。因为 这意味着,当会话中的第二条消息被发送时,它不是 直到处理完第一条消息为止。结果 这是因为客户机没有收到针对某个事件的202响应 直到上一条消息的处理完成 完整的。因此,客户端似乎会在每个后续操作上阻塞 行动电话。为避免此行为,此示例配置 运行时将消息并发地分派到不同的实例以用于 处理。示例将InstanceContextMode设置为PerCall,以便 每个消息都可以由不同的实例处理。并发模式 设置为Multiple以允许多个线程分派消息 一次


好的,但是当IsOneWay=true,ConcurrencyMode=multi时,hepening是什么呢?消息是单向发送的,在服务器1上,实例可能正在处理多个请求。就像我说的,它们是不相关的。IsOneWay=true是否可以在服务的新线程上执行?或者当服务空闲时它将执行它?它将在一个新线程上执行-与IsOneWay=false请求相同。那么IsOneWay做什么呢?我完全搞糊涂了。好吧,但是当IsOneWay=true,ConcurrencyMode=multi时,hepening是什么呢?消息是单向发送的,服务器1上的实例可能正在处理多个请求。就像我说的,它们是不相关的。IsOneWay=true是否可以在服务的新线程上执行?或者当服务空闲时它将执行它?它将在一个新线程上执行-与IsOneWay=false请求相同。那么IsOneWay做什么呢?我完全糊涂了。