【发布时间】:2011-03-08 00:05:55
【问题描述】:
我有一个从MarshalByRefObject 派生的远程类。我有两个公共函数,比如TestMethod1 和TestMethod2。我从 HttpHandler 调用这些,它工作正常。现在我添加了一个新函数TestMethod3,它类似于前面提到的两种方法。但是,当从同一个处理程序调用此函数并获得“无法找到此应用程序的 .exe”的异常时,其中 exe 是远程对象运行的进程。
class HttpHandlerClass : IHttpHandler
{
RemotingConfiguration.RegisterWellKnownClientType(typeof(RemoteClass),"ipc://completeurl");
RemoteClass rc = new RemoteClass();
if (condition1)
rc.TestMethod1();
else
rc.TestMethod3();
}
class RemoteClass: MarshalByRefObject
{
public void TestMethod1(int a) { }
public void TestMethod2(string b) { }
public void TestMethod3(string c) { }
}
不知道为什么。在我看来,我需要进行一些更改(不知道在哪里),以便识别 TestMethod3。
有什么想法吗?
输出:无法加载文件或程序集“Project.exe,版本=1.0.0.0,文化中性,publickeytoken=blahblah”或其依赖项之一。系统找不到指定的文件。”
刚刚注意到,它正在寻找旧版本的 Project.exe,而不是正在执行的那个。
【问题讨论】:
-
你能提供完整的例外吗?如果可能的话编码sn-ps?很好地理解问题。
-
您是否知道远程处理已被弃用以支持 WCF?
-
John - 好吧,我没有,但我需要坚持在这里重新定位,因为这是遵循的标准。
-
好的。我刚刚发现了一些东西。如果我只是添加一个函数并没有做太多,只是访问同一个类中的成员,它工作正常。但是,如果我访问另一个类的函数,则会引发该异常。