gpt4 book ai didi

c# - WCF nettcp 回调在部署时不起作用

转载 作者:行者123 更新时间:2023-11-30 22:11:16 25 4
gpt4 key购买 nike

我有一个使用 nettcpBinding(框架 4.0)的 WCF 服务和客户端。客户端请求图像,服务器查找该图像并通过回调将其发送回客户端。

WCF 服务托管在 Windows 窗体应用程序中。我让它记录所有事件以筛选测试。

在我的开发机器上,系统运行完美。我可以从部署在测试服务器上的服务应用请求图像,它会返回并显示在我的客户端中。

一旦我将客户端复制到另一台计算机(访问同一台服务器),就收不到图像。观察服务器上的输出,客户端连接,请求,服务器获取图像。当回调启动并且图像被序列化并发送时,服务器会有许多日志消息。这些都正常记录,就像它们在工作的开发计算机上一样。只是图像永远不会显示在客户端上。客户端仍然连接到服务器,因为如果我关闭客户端,我会在服务器上看到一条“断开连接”的消息。

我在客户端的回调方法的第一行放置了一个消息框,用于测试,但该方法从未被调用过。不涉及防火墙。我试过在管理员帐户下运行客户端,没有区别。我确实将客户端应用程序放在一个文件夹中,我在开发箱上运行它,它可以工作,将它复制到另一台计算机上,什么也没有。

如何诊断这里的问题?有什么常见原因吗?

编辑:我应该提一下。服务应用程序在域内的计算机上运行,​​非工作客户端也在域内。我的开发机器在域外,我在绑定(bind)中将安全性当前设置为“无”。

最佳答案

我终于明白了。

在回调方法中,我使用了属性 IsOneWay=True,它在服务器写入客户端时屏蔽了异常。

客户端实际上导致了异常,因为 ReaderQuote.MaxArrayLength 属性对于图像数据来说太小了。我仍然不明白为什么它在 Dev 机器上工作但在其他工作站上却不工作。

然后我向我的自定义绑定(bind)添加了一个新属性以将“MaxArrayLength”增加到合适的值并且它起作用了。

关于c# - WCF nettcp 回调在部署时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20313977/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com