如何让.net8与.net3.5跨进程调用?
之前我lisp编辑器,与autocad之间是通过wcf NamedPipe来通信的,但是我想升级到.net8,发现已经不支持wcf NamedPipe了。
因为2007还是用的.net3.5,之间要如何通信?
这种问题,可以先问ai——当然,不一定可以直接使用。
在.NET环境中,跨进程通信(IPC)可以通过多种方式实现,例如Windows通信基础(WCF)、内存映射文件、命名管道、套接字等。由于.NET 8和.NET 3.5是两个不同的运行时版本,直接通过二进制兼容的方式调用可能会有问题,但是使用基于标准的通信机制可以实现跨进程调用。
以下是一个使用命名管道实现跨进程通信的基本示例,命名管道是一种可以在不同.NET版本间进行IPC的有效方式。
服务端(.NET 8)
首先,创建一个.NET 8的服务端项目,该服务端将监听命名管道上的连接请求。
客户端(.NET 3.5)
然后,创建一个.NET 3.5的客户端项目,该客户端将连接到上述服务端创建的命名管道。
请注意,你需要确保服务器端在客户端尝试连接之前运行,并且它们具有访问命名管道的权限。
这个例子展示了如何在两个不同的.NET版本之间进行基本的跨进程通信。在实际应用中,你可能需要考虑错误处理、安全性、并发连接处理等因素。 你有种再说一遍 发表于 2024-11-27 16:50
https://learn.microsoft.com/zh-c ... ting-started-sample
备注
如果你喜欢从一个将服务承载于控制台应 ...
这个示例是基于.NET Framework 的,与.net8不一样
我之前旧版的就是用的.NET Framework 的WCF,现在想升级.net8 https://learn.microsoft.com/zh-c ... ting-started-sample
备注
如果你喜欢从一个将服务承载于控制台应用程序(而不是 IIS)的示例进行入门学习,请参阅自承载示例。
不知道是否有帮助,微软的官方教程会随时间更新的. System.ServiceModel.NetNamedPipe的nuget包是支持到net8.0的
所以其实不是不支持,只是换了方式
https://www.nuget.org/packages/System.ServiceModel.NetNamedPipe/
你有种再说一遍 发表于 2024-11-21 21:47
System.ServiceModel.NetNamedPipe的nuget包是支持到net8.0的
所以其实不是不支持,只是换了方式
我用的CoreWCF.NetNamedPipe预览包,没有例子。要改的代码太多了,编译没通过 飞诗(fsxm) 发表于 2024-11-21 21:50
我用的CoreWCF.NetNamedPipe预览包,没有例子。要改的代码太多了,编译没通过
实在不行转内存共享或者socket 你有种再说一遍 发表于 2024-11-21 21:55
实在不行转内存共享或者socket
能不重复造轮子就不造 https://github.com/CoreWCF/samples/blob/main/Scenarios/Getting-Started-with-CoreWCF/NetCoreServer/Program.cs
例子中
WebHost.CreateDefaultBuilder(args)
我又不是在网站使用,这个没法用 进来看顶级高手们的交流! guangdonglbq 发表于 2024-11-22 14:50
这种问题,可以先问ai——当然,不一定可以直接使用。
在.NET环境中,跨进程通信(IPC)可以通过多种方 ...
你猜它问的是不是有名管道的包问题
页:
[1]
2