internal int GetServerDomainId() { if (!this.IsFromThisProcess()) { return(0); } CrossAppDomainData appDomainChannelData = this.GetAppDomainChannelData(); return(appDomainChannelData.DomainID); }
public bool IsFromThisAppDomain() { CrossAppDomainData xadData = GetAppDomainChannelData(); if (xadData != null) { return(xadData.IsFromThisAppDomain()); } return(false); }
public bool IsFromThisProcess() { if (this.IsWellKnown()) { return(false); } CrossAppDomainData appDomainChannelData = this.GetAppDomainChannelData(); return(appDomainChannelData != null && appDomainChannelData.IsFromThisProcess()); }
internal Int32 GetServerDomainId() { if (!IsFromThisProcess()) { return(0); } CrossAppDomainData xadData = GetAppDomainChannelData(); BCLDebug.Assert(xadData != null, "bad objRef?"); return(xadData.DomainID); }
private CrossAppDomainData GetAppDomainChannelData() { for (int i = 0; i < this.ChannelInfo.ChannelData.Length; i++) { CrossAppDomainData crossAppDomainData = this.ChannelInfo.ChannelData[i] as CrossAppDomainData; if (crossAppDomainData != null) { return(crossAppDomainData); } } return(null); }
private CrossAppDomainData GetAppDomainChannelData() { int index = 0; for (; index < this.ChannelInfo.ChannelData.Length; ++index) { CrossAppDomainData crossAppDomainData = this.ChannelInfo.ChannelData[index] as CrossAppDomainData; if (crossAppDomainData != null) { return(crossAppDomainData); } } return((CrossAppDomainData)null); }
internal TransitionCall(IntPtr targetCtxID, IntPtr eeData, int targetDomainID) { this._sourceCtxID = Thread.CurrentContext.InternalContextID; this._targetCtxID = targetCtxID; this._delegate = null; this._targetDomainID = targetDomainID; this._eeData = eeData; this._srvID = null; this._ID = new Identity("TransitionCallURI", null); CrossAppDomainData data = new CrossAppDomainData(this._targetCtxID, this._targetDomainID, Identity.ProcessGuid); string text; IMessageSink channelSink = CrossAppDomainChannel.AppDomainChannel.CreateMessageSink(null, data, out text); this._ID.RaceSetChannelSink(channelSink); }
internal IntPtr GetServerContext(out int domainId) { IntPtr result = IntPtr.Zero; domainId = 0; if (this.IsFromThisProcess()) { CrossAppDomainData appDomainChannelData = this.GetAppDomainChannelData(); domainId = appDomainChannelData.DomainID; if (AppDomain.IsDomainIdValid(appDomainChannelData.DomainID)) { result = appDomainChannelData.ContextID; } } return(result); }
internal IntPtr GetServerContext(out int domainId) { IntPtr num = IntPtr.Zero; domainId = 0; if (this.IsFromThisProcess()) { CrossAppDomainData domainChannelData = this.GetAppDomainChannelData(); domainId = domainChannelData.DomainID; if (AppDomain.IsDomainIdValid(domainChannelData.DomainID)) { num = domainChannelData.ContextID; } } return(num); }
private CrossAppDomainData GetAppDomainChannelData() { int index = 0; CrossAppDomainData data = null; while (index < this.ChannelInfo.ChannelData.Length) { data = this.ChannelInfo.ChannelData[index] as CrossAppDomainData; if (data != null) { return(data); } index++; } return(null); }
internal IntPtr GetServerContext(out int domainId) { IntPtr contextId = IntPtr.Zero; domainId = 0; if (IsFromThisProcess()) { CrossAppDomainData xadData = GetAppDomainChannelData(); BCLDebug.Assert(xadData != null, "bad objRef?"); domainId = xadData.DomainID; if (AppDomain.IsDomainIdValid(xadData.DomainID)) { contextId = xadData.ContextID; } } return(contextId); }
public bool IsFromThisProcess() { //Wellknown objects may or may not be in the same process //Hence return false; if (IsWellKnown()) { return(false); } CrossAppDomainData xadData = GetAppDomainChannelData(); if (xadData != null) { return(xadData.IsFromThisProcess()); } return(false); }
private CrossAppDomainData GetAppDomainChannelData() { BCLDebug.Assert( ObjRef.IsWellFormed(this), "ObjRef.IsWellFormed()"); // Look at the ChannelData part to find CrossAppDomainData int i = 0; CrossAppDomainData xadData = null; while (i < ChannelInfo.ChannelData.Length) { xadData = ChannelInfo.ChannelData[i] as CrossAppDomainData; if (null != xadData) { return(xadData); } i++; } // AdData could be null for user-created objRefs. return(null); }
public bool IsFromThisAppDomain() { CrossAppDomainData appDomainChannelData = this.GetAppDomainChannelData(); return(appDomainChannelData != null && appDomainChannelData.IsFromThisAppDomain()); }
[System.Security.SecurityCritical] // auto-generated internal TransitionCall(IntPtr targetCtxID, IntPtr eeData, int targetDomainID) { Contract.Assert(targetCtxID != IntPtr.Zero, "bad target ctx for call back"); Contract.Assert(targetDomainID !=0, "bad target ctx for call back"); _sourceCtxID = Thread.CurrentContext.InternalContextID; _targetCtxID = targetCtxID; _delegate = null; _targetDomainID = targetDomainID; _eeData = eeData; // In the cross domain case, the client side just has a base Identity // and the server domain has the Server identity. We fault in the latter // when requested later. // We are going to a context in another app domain _srvID = null; _ID = new Identity("TransitionCallURI", null); // Create the data needed for the channel sink creation CrossAppDomainData data = new CrossAppDomainData(_targetCtxID, _targetDomainID, Identity.ProcessGuid); String unUsed; IMessageSink channelSink = CrossAppDomainChannel.AppDomainChannel.CreateMessageSink( null, //uri data, //channelData out unUsed);//out objURI Contract.Assert(channelSink != null, "X-domain transition failure"); _ID.RaceSetChannelSink(channelSink); } // TransitionCall