| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- //
- // MonoTests.Remoting.CrossDomainCalls.cs
- //
- // Author: Lluis Sanchez Gual ([email protected])
- //
- // 2003 (C) Copyright, Novell, Inc.
- //
- using System;
- using System.Threading;
- using System.Runtime.Remoting;
- using System.Runtime.Remoting.Channels;
- using System.Runtime.Remoting.Channels.Tcp;
- using NUnit.Framework;
- namespace MonoTests.Remoting
- {
- class CrossDomainServer: MarshalByRefObject
- {
- public RemoteObject CreateRemoteInstance ()
- {
- return new RemoteObject();
- }
- public AbstractRemoteObject CreateRemoteAbstract ()
- {
- return new RemoteObject();
- }
- public IRemoteObject CreateRemoteInterface ()
- {
- return new RemoteObject();
- }
-
- public int GetDomId ()
- {
- return Thread.GetDomainID();
- }
- }
-
- [TestFixture]
- public class CrossDomainSyncCallTest : SyncCallTest
- {
- CrossDomainServer server;
-
- protected override int CreateServer ()
- {
- AppDomain domain = AppDomain.CreateDomain ("testdomain");
- server = (CrossDomainServer) domain.CreateInstanceAndUnwrap(GetType().Assembly.FullName,"MonoTests.Remoting.CrossDomainServer");
- return server.GetDomId ();
- }
-
- protected override RemoteObject CreateRemoteInstance ()
- {
- return server.CreateRemoteInstance ();
- }
- protected override AbstractRemoteObject CreateRemoteAbstract ()
- {
- return server.CreateRemoteAbstract ();
- }
- protected override IRemoteObject CreateRemoteInterface ()
- {
- return server.CreateRemoteInterface ();
- }
- }
- [TestFixture]
- public class CrossDomainAsyncCallTest : AsyncCallTest
- {
- CrossDomainServer server;
-
- protected override int CreateServer ()
- {
- AppDomain domain = AppDomain.CreateDomain ("testdomain");
- server = (CrossDomainServer) domain.CreateInstanceAndUnwrap(GetType().Assembly.FullName,"MonoTests.Remoting.CrossDomainServer");
- return server.GetDomId ();
- }
-
- protected override RemoteObject CreateRemoteInstance ()
- {
- return server.CreateRemoteInstance ();
- }
- protected override AbstractRemoteObject CreateRemoteAbstract ()
- {
- return server.CreateRemoteAbstract ();
- }
- protected override IRemoteObject CreateRemoteInterface ()
- {
- return server.CreateRemoteInterface ();
- }
- }
- [TestFixture]
- public class CrossDomainReflectionCallTest : ReflectionCallTest
- {
- CrossDomainServer server;
-
- protected override int CreateServer ()
- {
- AppDomain domain = AppDomain.CreateDomain ("testdomain");
- server = (CrossDomainServer) domain.CreateInstanceAndUnwrap(GetType().Assembly.FullName,"MonoTests.Remoting.CrossDomainServer");
- return server.GetDomId ();
- }
-
- protected override RemoteObject CreateRemoteInstance ()
- {
- return server.CreateRemoteInstance ();
- }
- protected override AbstractRemoteObject CreateRemoteAbstract ()
- {
- return server.CreateRemoteAbstract ();
- }
- protected override IRemoteObject CreateRemoteInterface ()
- {
- return server.CreateRemoteInterface ();
- }
- }
- [TestFixture]
- public class CrossDomainDelegateCallTest : DelegateCallTest
- {
- CrossDomainServer server;
-
- protected override int CreateServer ()
- {
- AppDomain domain = AppDomain.CreateDomain ("testdomain");
- server = (CrossDomainServer) domain.CreateInstanceAndUnwrap(GetType().Assembly.FullName,"MonoTests.Remoting.CrossDomainServer");
- return server.GetDomId ();
- }
-
- protected override RemoteObject CreateRemoteInstance ()
- {
- return server.CreateRemoteInstance ();
- }
- protected override AbstractRemoteObject CreateRemoteAbstract ()
- {
- return server.CreateRemoteAbstract ();
- }
- protected override IRemoteObject CreateRemoteInterface ()
- {
- return server.CreateRemoteInterface ();
- }
- }
- }
|