Delegate(代理)异常:该委托必须有一个目标
在代理调用BeginInvoke(new AsyncCallback(callBack), null); 时,
会抛这个异常的原因是该代理变量代理了一个以上的方法.
Ⅰ.可以通过事件将这些方法打包在一起【假设打包的方法为AXPatch()】,然后再用代理调用这个打包的方法【AXPatch()】.
参见:http://www.cnblogs.com/mahope/archive/2005/11/28/286379.html 感觉写的不是很详细.
Ⅱ.直接全部罗列要执行的方法到一个方法里【假设打包的方法为AXPatch()】,然后再用代理调用这个打包的方法【AXPatch()】.
??好像通过事件处理的方法Ⅰ是异步进行的.不确定中......
【追加】
经测试,方法Ⅰ是同步进行的,按照订阅事件的先后顺序执行.
这个顺序不是随机的.
在.NET框架中,C#语言使用委托以及事件,可以很好的实现观察者模式。委托相当于“订阅清单”的角色,当目标中关联了该委托的事件被触发时,则委托将自动按序执行观察者注册于委托中的方法。
参见观察者模式:http://www.cnblogs.com/Ryu666/articles/265525.html
【总结】
方法Ⅱ通俗易懂.
“/Seo”应用程序中的服务器错误。
异常详细信息: System.ArgumentException: 该委托必须有一个目标(且仅有一个目标)。
会抛这个异常的原因是该代理变量代理了一个以上的方法.
Ⅰ.可以通过事件将这些方法打包在一起【假设打包的方法为AXPatch()】,然后再用代理调用这个打包的方法【AXPatch()】.
参见:http://www.cnblogs.com/mahope/archive/2005/11/28/286379.html 感觉写的不是很详细.
Ⅱ.直接全部罗列要执行的方法到一个方法里【假设打包的方法为AXPatch()】,然后再用代理调用这个打包的方法【AXPatch()】.
??好像通过事件处理的方法Ⅰ是异步进行的.不确定中......
【追加】
经测试,方法Ⅰ是同步进行的,按照订阅事件的先后顺序执行.
这个顺序不是随机的.
在.NET框架中,C#语言使用委托以及事件,可以很好的实现观察者模式。委托相当于“订阅清单”的角色,当目标中关联了该委托的事件被触发时,则委托将自动按序执行观察者注册于委托中的方法。
【总结】
方法Ⅱ通俗易懂.
“/Seo”应用程序中的服务器错误。
该委托必须有一个目标(且仅有一个目标)。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息: System.ArgumentException: 该委托必须有一个目标(且仅有一个目标)。
少帮主的斧头好久不饮血了!