C# 是否可以获取连接到.NET远程处理服务器的客户端的程序集信息?

C# 是否可以获取连接到.NET远程处理服务器的客户端的程序集信息?,c#,.net,remoting,.net-assembly,.net-remoting,C#,.net,Remoting,.net Assembly,.net Remoting,是否可以获取连接到我们的.NET远程处理服务的客户端的程序集信息(我真正感兴趣的是获取连接的程序集的版本)?我能够获取客户端的IP地址,也可以通过网络获取机器名,但除了这些信息之外,我还无法找到如何从客户端机器获取任何其他信息。不幸的是,涉及更新客户端的解决方案将无法工作,除非它只涉及修改app.config文件,在这种情况下,这将是一个可接受的解决方案 另外,如果这可能与WCF有关,而不是与.NET远程处理有关,请告诉我,因为我可能会将其用作某种很好的杠杆,最终让我们远离远程处理 在此提前感谢

是否可以获取连接到我们的.NET远程处理服务的客户端的程序集信息(我真正感兴趣的是获取连接的程序集的版本)?我能够获取客户端的IP地址,也可以通过网络获取机器名,但除了这些信息之外,我还无法找到如何从客户端机器获取任何其他信息。不幸的是,涉及更新客户端的解决方案将无法工作,除非它只涉及修改app.config文件,在这种情况下,这将是一个可接受的解决方案

另外,如果这可能与WCF有关,而不是与.NET远程处理有关,请告诉我,因为我可能会将其用作某种很好的杠杆,最终让我们远离远程处理

在此提前感谢您的帮助!仅供参考,我们通常基于.NET4.0构建,但也有运行3.5SP1和2.0的遗留软件包


EDIT忘了提到,我们正在对客户端和服务器都可见的共享界面进行远程处理。

不幸的是,我认为这是不可能的。您需要让客户端在方法调用中发送该信息。我明白为什么这会非常方便,但我不相信任何程序集版本信息都是在TCP/HTTP头中发送的。

Hmm。。。在发布这个问题后,我做了一些研究,人们会认为这是可能的,因为在调用远程程序集时,它会检查程序集版本。如果通过共享接口进行远程处理,我不确定这种情况是否仍然会发生(我读了几篇文章说,在通过共享接口进行远程处理时,程序集版本控制不是问题,但不知道这会如何影响通信过程。我想知道是否调用assembly.GetCallingAssembly()可能有用吗?虽然它似乎不可序列化…不知道有没有办法解决这个问题。。。