c# - 未找到请求的服务

标签 c# .net remoting .net-remoting

我有一个使用远程处理的 Windows 服务应用程序。它用于显示气球提示。但是,它有时会引发此错误:

Exception :Requested Service not found
Inner Exception : Stack Trace : Server stack trace: at System.Runtime.Remoting.Channels.BinaryServerFormatterSink.ProcessMessage(IServerChannelSinkStack sinkStack, IMessage requestMsg, ITransportHeaders requestHeaders, Stream requestStream, IMessage& responseMsg, ITransportHeaders& responseHeaders, Stream& responseStream) Exception rethrown at [0]: at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) at Baloontip.clsBaloonTool.Messagebox(String Message)

任何人都可以帮我解决这个问题。

最佳答案

如果错误在一段时间后发生,可能是您没有覆盖基类的 InitializeLifetimeService 方法 MarshalByRefObject .

默认情况下,如果您不覆盖该方法,则远程对象会在一段时间后(我想是 5 分钟)被销毁。如果重写该方法并返回 null,则该对象的生命周期是无限的。

public override object InitializeLifetimeService() {
  return null;
}

关于c# - 未找到请求的服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2651852/

相关文章:

c# - 使用 DES key 计算 KCV

java - 从 Windows 计算机远程在 Linux 上运行进程

reflection - 远程处理:从服务器 AppDomain 查找客户端 AppDomain/程序集

c# - 为什么 element.getAttribute ("style") 忽略冒号 ":"字符之后的所有内容?仅返回部分值

c# - 在覆盖期间将返回类型更改为派生类型

c# - 如何写入标准输入/从 SSH 连接的远程进程的标准输出读取? (Renci.SshNet)

c# - 当一个对象从一个方法返回时,是创建了一个新的实例还是一个引用?

c# - 如何在 .NET 中完全摆脱 View 状态

C# - 使用属性的替代方法