本文整理汇总了C#中System.MarshalByRefObject类的典型用法代码示例。如果您正苦于以下问题:C# MarshalByRefObject类的具体用法?C# MarshalByRefObject怎么用?C# MarshalByRefObject使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
MarshalByRefObject类属于System命名空间,在下文中一共展示了MarshalByRefObject类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PrintDomain
//引入命名空间
using System;
using System.Reflection;
public class Worker : MarshalByRefObject
{
public void PrintDomain()
{
Console.WriteLine("Object is executing in AppDomain \"{0}\"",
AppDomain.CurrentDomain.FriendlyName);
}
}
class Example
{
public static void Main()
{
// Create an ordinary instance in the current AppDomain
Worker localWorker = new Worker();
localWorker.PrintDomain();
// Create a new application domain, create an instance
// of Worker in the application domain, and execute code
// there.
AppDomain ad = AppDomain.CreateDomain("New domain");
Worker remoteWorker = (Worker) ad.CreateInstanceAndUnwrap(
typeof(Worker).Assembly.FullName,
"Worker");
remoteWorker.PrintDomain();
}
}
输出:
Object is executing in AppDomain "source.exe" Object is executing in AppDomain "New domain"
示例2: Main
//引入命名空间
using System;
using System.Runtime.Remoting;
using System.Security.Permissions;
public class SetObjectUriForMarshalTest {
class TestClass : MarshalByRefObject {
}
[SecurityPermission(SecurityAction.Demand, Flags=SecurityPermissionFlag.RemotingConfiguration)]
public static void Main() {
TestClass obj = new TestClass();
RemotingServices.SetObjectUriForMarshal(obj, "testUri");
RemotingServices.Marshal(obj);
Console.WriteLine(RemotingServices.GetObjectUri(obj));
}
}