scripts
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
using System;
|
||||
using System.Runtime.Remoting.Contexts;
|
||||
using System.Runtime.Remoting.Lifetime;
|
||||
using System.Runtime.Remoting.Messaging;
|
||||
|
||||
namespace System.Runtime.Remoting
|
||||
{
|
||||
// Token: 0x02000451 RID: 1105
|
||||
internal class SingletonIdentity : ServerIdentity
|
||||
{
|
||||
// Token: 0x06002AA3 RID: 10915 RVA: 0x0008A2D4 File Offset: 0x000884D4
|
||||
public SingletonIdentity(string objectUri, Context context, Type objectType)
|
||||
: base(objectUri, context, objectType)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06002AA4 RID: 10916 RVA: 0x0008A2E0 File Offset: 0x000884E0
|
||||
public MarshalByRefObject GetServerObject()
|
||||
{
|
||||
if (this._serverObject != null)
|
||||
{
|
||||
return this._serverObject;
|
||||
}
|
||||
lock (this)
|
||||
{
|
||||
if (this._serverObject == null)
|
||||
{
|
||||
MarshalByRefObject marshalByRefObject = (MarshalByRefObject)Activator.CreateInstance(this._objectType, true);
|
||||
base.AttachServerObject(marshalByRefObject, Context.DefaultContext);
|
||||
base.StartTrackingLifetime((ILease)marshalByRefObject.InitializeLifetimeService());
|
||||
}
|
||||
}
|
||||
return this._serverObject;
|
||||
}
|
||||
|
||||
// Token: 0x06002AA5 RID: 10917 RVA: 0x0008A370 File Offset: 0x00088570
|
||||
public override IMessage SyncObjectProcessMessage(IMessage msg)
|
||||
{
|
||||
MarshalByRefObject serverObject = this.GetServerObject();
|
||||
if (this._serverSink == null)
|
||||
{
|
||||
this._serverSink = this._context.CreateServerObjectSinkChain(serverObject, false);
|
||||
}
|
||||
return this._serverSink.SyncProcessMessage(msg);
|
||||
}
|
||||
|
||||
// Token: 0x06002AA6 RID: 10918 RVA: 0x0008A3B0 File Offset: 0x000885B0
|
||||
public override IMessageCtrl AsyncObjectProcessMessage(IMessage msg, IMessageSink replySink)
|
||||
{
|
||||
MarshalByRefObject serverObject = this.GetServerObject();
|
||||
if (this._serverSink == null)
|
||||
{
|
||||
this._serverSink = this._context.CreateServerObjectSinkChain(serverObject, false);
|
||||
}
|
||||
return this._serverSink.AsyncProcessMessage(msg, replySink);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user