【发布时间】:2011-11-09 20:11:38
【问题描述】:
我在 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]
}
}
【问题讨论】:
-
被调用者在哪里运行?您的调试器是否也附加到该进程?您是否收到有关未加载符号的任何错误/警告消息?
-
被调用者是否在不同的进程/应用程序中?
-
@leppie 我不这么认为。它们应该在同一个进程中。
-
@FyodorSoikin 我相信这两个类都在 IIS 工作进程(w3wp)中运行
-
通常当有陌生感时,会有错误的假设。我猜我下面的答案最终证明是正确的。你能告诉我们MBRO的实际创建吗?如果您没有跨越进程边界(或至少是 AppDomain 边界),那么您使用 MBRO 到底是为了什么?
标签: c# debugging iis .net-remoting