【问题标题】:Is it possible to get the assembly information of the client who connects to your .NET Remoting server?是否可以获取连接到您的 .NET Remoting 服务器的客户端的程序集信息?
【发布时间】:2012-09-27 21:01:29
【问题描述】:

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

另外,如果这可以通过 WCF 而不是 .NET Remoting 来实现,请告诉我,因为我可以利用它作为最终让我们摆脱 Remoting 的良好手段。

提前感谢您对此提供的任何帮助!仅供参考,我们通常针对 .NET 4.0 构建,但也有运行 3.5 SP1 和 2.0 的旧包。

编辑忘了提一下,我们正在远程处理客户端和服务器都可见的共享接口。

【问题讨论】:

    标签: c# .net remoting .net-assembly .net-remoting


    【解决方案1】:

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

    【讨论】:

    • 嗯...我在发布这个问题后做了一些研究,有人认为这是可能的,因为在调用远程程序集时它会检查程序集版本。我不确定如果您通过共享接口进行远程处理是否仍然会发生这种情况(我读了几篇文章说在通过共享接口进行远程处理时程序集版本控制不是问题,但不知道这会如何影响通信进程。msdn.microsoft.com/en-us/library/…我想知道调用 Assembly.GetCallingAssembly() 是否可行?
    • 虽然它似乎不是可序列化的...不知道有没有办法解决这个问题...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-01
    相关资源
    最近更新 更多