我在Windows 7上的IIS 7.0中工作。我有一个派生自MarshallByRefObject的类。当我构建它时,它应该给我我的代理。我在相关对象上设置了断点。从由IIS处理的GET请求运行的另一个类调用该类。调用者正在IIS工作进程(w3wp.exe)上运行并且其断点被命中(即我在[1]和[2]都有断点,但只有[1]处的断点被击中)。
public class Caller
{
public void Process()
{
var callee = new Callee();
callee.Method(); // [1]
}
}
public class Callee : MarshallByRefObject
{
public void Method()
{
DoSomething(); // [2]
}
}
答案 0 :(得分:2)
因为MBR上的方法不会在同一个进程中执行(我假设你不只是在一个进程中跨越AppDomains)。您只能引用代理,但方法体实际上并未在调用者AppDomain中执行。
检查您是否已附加到可能存在的服务流程。
答案 1 :(得分:0)
你如何引用被叫者?我假设他们不在同一个项目中,所以请检查: