问题标签 [channel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wcf - WCF 回调通道出现故障
我正在尝试为 wcf 客户端实现重新连接逻辑。我知道您必须在当前频道进入故障状态后创建一个新频道。我在通道故障事件处理程序中执行了此操作:
但是在我的单元测试中,我仍然得到一个“通信对象 System.ServiceModel.Channels.ServiceChannel,因为它处于故障状态,所以不能用于通信”异常。
回调通道是否仍有可能出现故障,如果是,我该如何更换回调通道?
c# - WCF 客户端代理初始化
我正在使用 WCF 服务并使用 VS 2008 服务参考创建了它的代理。
我正在寻找调用 WCF 服务方法的最佳模式
- 我是否应该在每次调用服务方法时创建客户端代理实例并在完成后立即关闭客户端?当我分析我的客户端应用程序时,我可以看到在初始化代理客户端时获取通道需要很长时间
- 我是否应该为客户端代理使用单例模式,以便我可以只使用一次实例并摆脱重新初始化的开销?这种方法有什么隐藏的问题吗?
我正在使用 .Net framework 3.5 SP1,basicHttp
几乎没有自定义绑定。
c# - WCF 最大消息大小配额
我正在尝试调用 WCF 服务(托管在 Windows 服务中,而不是 IIS 中)并且收到以下错误:
已超出远程通道的传入消息的最大消息大小配额。有关更多详细信息,请参阅服务器日志。
我尝试将 MaxReceivedMessageSize 和 ReaderQuotas 增加到它们的最大值,但没有任何运气。
我还打开了日志记录并检查了“发送”的消息大小。绝对远不及最大值。我们正在讨论发送一个序列化为 372KB XML 的对象。
两个问题:
有谁知道该消息指的是什么“服务器日志”?我检查了EventViewer,但那里什么也没显示...
有谁知道这里可能适用哪些其他配置设置?
go - Shared memory vs. Go channel communication
One of Go's slogans is Do not communicate by sharing memory; instead, share memory by communicating.
I am wondering whether Go allows two different Go-compiled binaries running on the same machine to communicate with one another (i.e. client-server), and how fast that would be in comparison to boost::interprocess in C++? All the examples I've seen so far only illustrate communication between same-program routines.
A simple Go example (with separate client and sever code) would be much appreciated!
wcf - WCF 双工通道在使用回调时关闭
我的 WCF 服务使用 netTcpBinding,并且有一个回调对象。
我需要为多个并发客户端提供服务,并维护会话,因此服务装饰有
为了避免线程死锁,回调类用
我用来SynchronizationContext
在 UI 线程中执行该方法。
问题是有时通道 gest 无缘无故关闭(ICommunicationObject.Closing
事件被触发)。之后,我在任何后续服务调用中都会遇到异常。
查看跟踪文件,最后一条消息是回调调用,但是,回调方法永远不会被调用。没有例外。
经过一些调试后,我发现只有在同步操作中间进行回调调用时才会发生这种情况。步骤是这样的:
- 调用服务
A
方法IsOneWay=true
- 调用服务
B
方法IsOneWay=false
A
调用回调方法,但B
仍在执行。
这应该不是问题,因为回调有UseSynchronizationContext=false
,因此回调调用可以在单独的线程中进行。
我无法在更简单的情况下重现该问题。在一个简单的项目中按照这些步骤成功执行。
对可能发生的事情或如何识别问题有任何想法吗?
performance - ASP.NET 客户端应用程序中的 WCF ChannelFactory 和 Channel 缓存
我正在构建一系列将由多个应用程序使用的 WCF 服务。因此,我正在尝试定义一个通用库来访问 WCF 服务。
知道不同用户发出的每个服务请求都应该使用不同的通道,我正在考虑缓存每个请求的通道(HttpContext.Current.Items
)并缓存用于为每个应用程序创建通道的 ChannelFactory(HttpApplication.Items
),因为我可以使用一样ChannelFactory
。
但是,在关闭 ChannelFactory 和 Channel 时,我对这种缓存机制有疑问。
- 我是否需要在使用通道后、请求结束时关闭通道,或者当该请求的上下文消失时是否可以将其关闭(?)?
- 通道工厂呢?由于每个通道都与创建它的 ChannelFactory 相关联,因此在应用程序进程(AppDomain)的生命周期中保持相同的 ChannelFactory 是否安全?
这是我用来管理这个的代码:
谢谢!
.net - 如何防止通道异常使 WCF 服务停止工作?
我使用 netNamedPipeBinding 创建了一个 WCF 单例服务。当通道异常发生时,它使通道处于故障状态,所有后续操作都会抛出异常。我怎样才能防止这种情况?我希望 TimeoutException 或任何其他常见异常仅使一个操作失败,而不是使服务无响应。
message - 频道的 MOTD
当用户加入频道时,有没有办法在用户的频道输出中显示文件/文本字符串?这是否必须在 irc 配置中发生在服务器端,或者机器人可以这样做吗?
c# - 重复调用的 WCF 通道生命周期
也许这是一个显而易见的问题,也许不是。想象一个 GUI 控制应用程序,其中每个按钮按下都会调用远程 WCF 服务上的不同函数。大约每隔几秒钟就会频繁使用按钮。一般来说,最好在每次函数调用时打开和关闭 WCF 通道,还是在应用程序的生命周期内保持通道打开?当然,假设这个应用程序只有几个实例。
注意。这个问题并不是关于这个例子,而是帮助我了解这里的最佳实践。
c# - WCF ChannelFactory 状态属性
ChannelFactory 拥有 State 属性意味着什么?我了解创建的频道可以具有基于连接的状态。但是我很困惑为什么 ChannelFactory 也有这样的连接状态。它是否也连接到 WCF 服务?