The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.
AppDomain.DoCallBack Method (CrossAppDomainDelegate)
.NET Framework (current version)
Executes the code in another application domain that is identified by the specified delegate.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- callBackDelegate
-
Type:
System.CrossAppDomainDelegate
A delegate that specifies a method to call.
| Exception | Condition |
|---|---|
| ArgumentNullException | callBackDelegate is null. |
callBackDelegate can specify a marshal-by-value, MarshalByRefObject, or ContextBoundObject.
The following sample demonstrates using a static DoCallBack method.
Public Module PingPong Private greetings As String = "PONG!" Sub Main() Dim otherDomain As AppDomain = AppDomain.CreateDomain("otherDomain") greetings = "PING!" MyCallBack() otherDomain.DoCallBack(AddressOf MyCallBack) ' Output: ' PING! from defaultDomain ' PONG! from otherDomain End Sub 'Main Sub MyCallBack() Dim name As String = AppDomain.CurrentDomain.FriendlyName If name = AppDomain.CurrentDomain.SetupInformation.ApplicationName Then name = "defaultDomain" End If Console.WriteLine(greetings + " from " + name) End Sub 'MyCallBack End Module 'PingPong
The following sample demonstrates using the DoCallBack method by value.
<Serializable> _ Public Class PingPong Private greetings As String = "PING!" Public Shared Sub Main() Dim otherDomain As AppDomain = AppDomain.CreateDomain("otherDomain") Dim pp As New PingPong() pp.MyCallBack() pp.greetings = "PONG!" otherDomain.DoCallBack(AddressOf pp.MyCallBack) ' Output: ' PING! from defaultDomain ' PONG! from otherDomain End Sub 'Main Public Sub MyCallBack() Dim name As String = AppDomain.CurrentDomain.FriendlyName If name = AppDomain.CurrentDomain.SetupInformation.ApplicationName Then name = "defaultDomain" End If Console.WriteLine(greetings + " from " + name) End Sub 'MyCallBack End Class 'PingPong
The following sample demonstrates using the DoCallBack method by reference.
Public Class PingPong Inherits MarshalByRefObject Private greetings As String = "PING!" Public Shared Sub Main() Dim otherDomain As AppDomain = AppDomain.CreateDomain("otherDomain") Dim pp As New PingPong() pp.MyCallBack() pp.greetings = "PONG!" otherDomain.DoCallBack(AddressOf pp.MyCallBack) ' Output: ' PING! from default domain ' PONG! from default domain End Sub 'Main ' Callback will always execute within defaultDomain due to inheritance from ' MarshalByRefObject Public Sub MyCallBack() Dim name As String = AppDomain.CurrentDomain.FriendlyName If name = AppDomain.CurrentDomain.SetupInformation.ApplicationName Then name = "defaultDomain" End If Console.WriteLine((greetings + " from " + name)) End Sub 'MyCallBack End Class 'PingPong
.NET Framework
Available since 1.1
Available since 1.1
Show: