本文整理汇总了C#中System.MarshalByRefObject类的典型用法代码示例。如果您正苦于以下问题:C# MarshalByRefObject类的具体用法?C# MarshalByRefObject怎么用?C# MarshalByRefObject使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
MarshalByRefObject类属于System命名空间,在下文中一共展示了MarshalByRefObject类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: MockServer
public MockServer(MarshalByRefObject mock, IChannel channel, string uri)
{
this.mock = mock;
this.channel = channel;
ChannelServices.RegisterChannel(channel, true);
mockRef = RemotingServices.Marshal(mock, uri);
}
开发者ID:bbriggs,项目名称:FieldWorks,代码行数:7,代码来源:MockServer.cs
示例2: GetObjectSink
public IMessageSink GetObjectSink(MarshalByRefObject obj, IMessageSink nextSink)
{
if (obj.GetType().GetCustomAttributes(typeof(ONContextAttribute), true).Length > 0)
nextSink = new ONContextInterceptor(obj, nextSink, mOnContextClass);
return nextSink;
}
开发者ID:sgon1853,项目名称:UPM_MDD_Thesis,代码行数:7,代码来源:ONContextAdder.cs
示例3: AOPSinkProcessor
/// <summary>
/// Initializes a new instance of the <see cref="AOPSinkProcessor" /> class.
/// </summary>
/// <param name="sender">The sender.</param>
/// <param name="nextSink">The next sink.</param>
/// <param name="messageDelegates">The message delegates.</param>
public AOPSinkProcessor(MarshalByRefObject sender, IMessageSink nextSink, MessageProcessDelegates messageDelegates)
{
this.NextSink = nextSink;
this.Sender = sender;
this.messageDelegates = messageDelegates;
}
开发者ID:rynnwang,项目名称:CommonSolution,代码行数:13,代码来源:AOPSinkProcessor.cs
示例4: RedirectionProxy
internal RedirectionProxy(MarshalByRefObject proxy, Type serverType)
{
_proxy = proxy;
_realProxy = RemotingServices.GetRealProxy(_proxy);
_serverType = serverType;
_objectMode = WellKnownObjectMode.Singleton;
} // RedirectionProxy
开发者ID:ArildF,项目名称:masters,代码行数:7,代码来源:redirectionproxy.cs
示例5: MockingProxy
public MockingProxy(MarshalByRefObject wrappedInstance, IInterceptor interceptor, IMockMixin mockMixin)
: base(wrappedInstance.GetType())
{
this.WrappedInstance = wrappedInstance;
this.interceptor = interceptor;
this.mockMixin = mockMixin;
}
开发者ID:somkidodd,项目名称:JustMockLite,代码行数:7,代码来源:MockingProxy.cs
示例6: LocalPerformer
/// <summary>
/// Constructs an instance of the LocalPerformer class.
/// </summary>
/// <param name="msg">The invocation to be executed.</param>
/// <param name="resultCollector">The Result Collector.</param>
/// <param name="mbr">The target.</param>
public LocalPerformer(IMessage msg, ResultCollector resultCollector, MarshalByRefObject mbr)
{
this._msg = msg;
this._resultCollector = resultCollector;
this._mbr = mbr;
this._mbrUri = RemotingServices.GetObjectUri(mbr);
}
开发者ID:ArsenShnurkov,项目名称:GenuineChannels,代码行数:13,代码来源:LocalPerformer.cs
示例7: StartRunner
public void StartRunner(string runnerType, MarshalByRefObject remotePublisher)
{
// TODO -- if fails, do a Thread.Sleep and try again
Type type = Type.GetType(runnerType);
_runner = (TestRunner)Activator.CreateInstance(type);
_publisher = (IEventPublisher)remotePublisher;
_runner.FixtureObserver = new FixtureObserver(_publisher);
}
开发者ID:wbinford,项目名称:storyteller,代码行数:8,代码来源:TestRunnerProxy.cs
示例8: PublishObjectOverTCP
/// <summary>
/// Veröffentlicht ein beliebiges von MarshalByRef abgeleitetes Objekt über einen TCP-Kanal für entfernten Zugriff.
///
/// Bei aktivierung der Sicherheit über den Parameter "enableSecurity", wird die Kommunikation
/// vom Absender signiert, um die Integrität sicherzustellen und zusätzlich verschlüsselt.
/// Über den Parameter "impersonate" kann Impersonierung eingeschaltet werden. Bei eingeschalteter
/// Impersonierung, wird der Remoteaufruf im Kontext des Client-Benutzers ausgeführt.
/// </summary>
/// <remarks>
/// Der TCP-Kanal wird automatisch konfiguriert und registriert. Die Kanal-Registrierung bleibt
/// über diesen Prozeduraufruf hinaus gültig. Wenn sie die selbe TCP-Anschlussnummer mehrmals an
/// diese Methode übergeben, wird der bestehene Kanal verwendet. Die Sicherheitskonfiguration des
/// ersten Aufrufs ist deshalb entscheidend. Wenn sie für spätere Aufrufe andere Werte für die
/// Parameter "enableSecurity" oder "impersonate" angeben, werden diese nicht berücksichtigt,
/// da der bestehende Kanal verwendet wird!
/// </remarks>
/// <param name="instance">Zu veröffentlichendes Objekt</param>
/// <param name="publicName">Öffentlicher Name (Über diesen Namen greifen Clients entfernt auf das Objekt zu!)</param>
/// <param name="tcpPort">TCP-Anschlussnummer</param>
/// <param name="enableSecurity">Schalter für Sicherheit</param>
/// <param name="impersonate">Schalter für Impersonierung</param>
public static void PublishObjectOverTCP(MarshalByRefObject instance,string publicName,int tcpPort, bool enableSecurity,bool impersonate)
{
// Kanal einrichten (Falls dies noch nicht geschehen ist!)
SetupServerChannel(tcpPort, enableSecurity, impersonate);
// Objektinstanz über den TCP-Kanal für entfernten Zugriff veröffentlichen
System.Runtime.Remoting.RemotingServices.Marshal(instance, publicName);
}
开发者ID:helios57,项目名称:anrl,代码行数:29,代码来源:RemotingHelper.cs
示例9: Exceptionprocess
public void Exceptionprocess(MarshalByRefObject inst, IMessage msg, Exception exception)
{
// Extract Action
ONAction lAction = inst as ONAction;
// Pop the OID from Class Stack
if (mInStack)
lAction.OnContext.TransactionStack.Pop();
}
开发者ID:sgon1853,项目名称:UPM_MDD_Thesis,代码行数:9,代码来源:ONReflexiveEventAttribute.cs
示例10: AttachServer
protected void AttachServer(MarshalByRefObject s)
{
object transparentProxy = this.GetTransparentProxy();
if (transparentProxy != null)
{
RemotingServices.ResetInterfaceCache(transparentProxy);
}
this.AttachServerHelper(s);
}
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:9,代码来源:RealProxy.cs
示例11: Unregister
public void Unregister(MarshalByRefObject obj) {
ILease lease = (ILease)RemotingServices.GetLifetimeService(obj);
Debug.Assert(lease.CurrentState == LeaseState.Active);
lease.Unregister(this);
lock(this._lock) {
this._leaseList.Remove(lease);
Logger.Debug(this, "Stopped sponsoring lease #" + lease.GetHashCode() + " for proxy to " + obj.GetType().Name + ", id = #" + obj.GetHashCode() + ", url = " + RemotingServices.GetObjectUri(obj));
}
}
开发者ID:StevenArnauts,项目名称:appserver,代码行数:9,代码来源:SponsorshipManager.cs
示例12: AttachServerHelper
internal void AttachServerHelper(MarshalByRefObject s)
{
if ((s == null) || (this._serverObject != null))
{
throw new ArgumentException(Environment.GetResourceString("ArgumentNull_Generic"), "s");
}
this._serverObject = s;
this.SetupIdentity();
}
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:9,代码来源:RealProxy.cs
示例13: MarshallableProxy
public MarshallableProxy(Type type1, MarshalByRefObject targetObject, InvocationDelegate invoker)
: base(type1)
{
ProxyTargetTyped = targetObject;
InvocationHandler = invoker;
ObjRef myObjRef = RemotingServices.Marshal(ProxyTargetTyped);
URI = myObjRef.URI;
}
开发者ID:juanplopes,项目名称:simple-commons,代码行数:9,代码来源:MarshallableProxy.cs
示例14: Exceptionprocess
public void Exceptionprocess(MarshalByRefObject inst, IMessage msg, Exception exception)
{
// Extract Server
ONServer lServer = inst as ONServer;
// Pop the OID from Class Stack
if (mInStack)
lServer.OnContext.OperationStack.Pop();
}
开发者ID:sgon1853,项目名称:UPM_MDD_Thesis,代码行数:9,代码来源:ONOperationAttribute.cs
示例15: Register
public bool Register (MarshalByRefObject obj)
{
if (registered_objects.ContainsKey (obj)) return false;
ILease lease = obj.GetLifetimeService () as ILease;
if (lease == null) return false;
lease.Register (this);
registered_objects.Add (obj,obj);
return true;
}
开发者ID:jack-pappas,项目名称:mono,代码行数:9,代码来源:ClientSponsor.cs
示例16: GetLease
internal ILease GetLease(MarshalByRefObject obj)
{
bool fServer = true;
Identity identity = MarshalByRefObject.GetIdentity(obj, out fServer);
if (identity == null)
{
return null;
}
return identity.Lease;
}
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:10,代码来源:LeaseManager.cs
示例17: DiaSoftProxy
/// <summary>
/// Parameteraize Constructor.
/// </summary>
/// <param name="type"></param>
/// <param name="url"></param>
public DiaSoftProxy(Type type, string url)
: base(type)
{
_serverType = type;
BuildTcpURL(url);
BuildHttpURL(url);
_targetTcp = (MarshalByRefObject)Activator.GetObject(type, _TcpUrl);
_targetHttp = (MarshalByRefObject)Activator.GetObject(type, _HttpUrl);
_messageSinks = GetMessageSinks();
}
开发者ID:VickySaitec,项目名称:LocalProjects,代码行数:15,代码来源:DiaSoftProxy.cs
示例18: SetUp
public void SetUp ()
{
if (!SecurityManager.SecurityEnabled)
Assert.Ignore ("SecurityManager.SecurityEnabled is OFF");
// we do this in SetUp because we want the security
// stack to be "normal/empty" so each unit test can
// mess with it as it wishes
mbro = (MarshalByRefObject) AppDomain.CurrentDomain;
}
开发者ID:nlhepler,项目名称:mono,代码行数:10,代码来源:MarshalByRefObjectCas.cs
示例19: GetLeaseInitial
internal static ILease GetLeaseInitial(MarshalByRefObject obj)
{
ILease lease = null;
lease = LeaseManager.GetLeaseManager(LeaseManagerPollTime).GetLease(obj);
if (lease == null)
{
lease = CreateLease(obj);
}
return lease;
}
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:10,代码来源:LifetimeServices.cs
示例20: Lease
internal Lease(TimeSpan initialLeaseTime, TimeSpan renewOnCallTime, TimeSpan sponsorshipTimeout, MarshalByRefObject managedObject)
{
this.renewOnCallTime = renewOnCallTime;
this.sponsorshipTimeout = sponsorshipTimeout;
this.initialLeaseTime = initialLeaseTime;
this.managedObject = managedObject;
this.leaseManager = LeaseManager.GetLeaseManager();
this.sponsorTable = new Hashtable(10);
this.state = LeaseState.Initial;
}
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:10,代码来源:Lease.cs
注:本文中的System.MarshalByRefObject类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论