private void CreateFromName(ApplicationIdentity applicationIdentity) { if (applicationIdentity == null) { throw new ArgumentNullException("applicationIdentity"); } this._applicationIdentity = applicationIdentity; IEnumDefinitionIdentity identity = this._applicationIdentity.Identity.EnumAppPath(); this._definitionIdentities = new ArrayList(2); IDefinitionIdentity[] definitionIdentity = new IDefinitionIdentity[1]; while (identity.Next(1, definitionIdentity) == 1) { this._definitionIdentities.Add(definitionIdentity[0]); } this._definitionIdentities.TrimToSize(); if (this._definitionIdentities.Count <= 1) { throw new ArgumentException(Environment.GetResourceString("Argument_InvalidAppId")); } this._manifestPaths = null; this._manifests = null; this._actContext = IsolationInterop.CreateActContext(this._applicationIdentity.Identity); this._form = ContextForm.StoreBounded; this._appRunState = ApplicationStateDisposition.Undefined; }
private void CreateFromNameAndManifests(ApplicationIdentity applicationIdentity, string[] manifestPaths) { if (applicationIdentity == null) { throw new ArgumentNullException("applicationIdentity"); } if (manifestPaths == null) { throw new ArgumentNullException("manifestPaths"); } this._applicationIdentity = applicationIdentity; IEnumDefinitionIdentity identity = this._applicationIdentity.Identity.EnumAppPath(); this._manifests = new ArrayList(2); this._manifestPaths = new string[manifestPaths.Length]; IDefinitionIdentity[] definitionIdentity = new IDefinitionIdentity[1]; int index = 0; while (identity.Next(1, definitionIdentity) == 1) { ICMS icms = (ICMS)IsolationInterop.ParseManifest(manifestPaths[index], null, ref IsolationInterop.IID_ICMS); if (!IsolationInterop.IdentityAuthority.AreDefinitionsEqual(0, icms.Identity, definitionIdentity[0])) { throw new ArgumentException(Environment.GetResourceString("Argument_IllegalAppIdMismatch")); } this._manifests.Add(icms); this._manifestPaths[index] = manifestPaths[index]; index++; } if (index != manifestPaths.Length) { throw new ArgumentException(Environment.GetResourceString("Argument_IllegalAppId")); } this._manifests.TrimToSize(); if (this._manifests.Count <= 1) { throw new ArgumentException(Environment.GetResourceString("Argument_InvalidAppId")); } this._definitionIdentities = null; this._actContext = null; this._form = ContextForm.Loose; this._appRunState = ApplicationStateDisposition.Undefined; }
private void CreateFromName(ApplicationIdentity applicationIdentity) { if (applicationIdentity == null) { throw new ArgumentNullException("applicationIdentity"); } Contract.EndContractBlock(); _applicationIdentity = applicationIdentity; IEnumDefinitionIdentity idenum = _applicationIdentity.Identity.EnumAppPath(); _definitionIdentities = new ArrayList(DefaultComponentCount); IDefinitionIdentity[] asbId = new IDefinitionIdentity[1]; while (idenum.Next(1, asbId) == 1) { _definitionIdentities.Add(asbId[0]); } _definitionIdentities.TrimToSize(); if (_definitionIdentities.Count <= 1) { #if ISOLATION_IN_MSCORLIB throw new ArgumentException(Environment.GetResourceString("Argument_InvalidAppId")); #else throw new ArgumentException("Invalid identity: no deployment/app identity specified"); #endif } _manifestPaths = null; _manifests = null; // Construct real IActContext from store. _actContext = IsolationInterop.CreateActContext(_applicationIdentity.Identity); _form = ContextForm.StoreBounded; _appRunState = ApplicationStateDisposition.Undefined; #if ISOLATION_IN_MSCORLIB Contract.Assert(_definitionIdentities.Count == 2, "An application must have exactly 1 deployment component and 1 application component in Whidbey"); #endif }
private void CreateFromNameAndManifests(ApplicationIdentity applicationIdentity, string[] manifestPaths) { if (applicationIdentity == null) { throw new ArgumentNullException("applicationIdentity"); } if (manifestPaths == null) { throw new ArgumentNullException("manifestPaths"); } this._applicationIdentity = applicationIdentity; IEnumDefinitionIdentity identity = this._applicationIdentity.Identity.EnumAppPath(); this._manifests = new ArrayList(2); this._manifestPaths = new string[manifestPaths.Length]; IDefinitionIdentity[] definitionIdentity = new IDefinitionIdentity[1]; int index = 0; while (identity.Next(1, definitionIdentity) == 1) { ICMS icms = (ICMS) IsolationInterop.ParseManifest(manifestPaths[index], null, ref IsolationInterop.IID_ICMS); if (!IsolationInterop.IdentityAuthority.AreDefinitionsEqual(0, icms.Identity, definitionIdentity[0])) { throw new ArgumentException(Environment.GetResourceString("Argument_IllegalAppIdMismatch")); } this._manifests.Add(icms); this._manifestPaths[index] = manifestPaths[index]; index++; } if (index != manifestPaths.Length) { throw new ArgumentException(Environment.GetResourceString("Argument_IllegalAppId")); } this._manifests.TrimToSize(); if (this._manifests.Count <= 1) { throw new ArgumentException(Environment.GetResourceString("Argument_InvalidAppId")); } this._definitionIdentities = null; this._actContext = null; this._form = ContextForm.Loose; this._appRunState = ApplicationStateDisposition.Undefined; }
private void CreateFromName (ApplicationIdentity applicationIdentity) { if (applicationIdentity == null) throw new ArgumentNullException("applicationIdentity"); Contract.EndContractBlock(); _applicationIdentity = applicationIdentity; IEnumDefinitionIdentity idenum = _applicationIdentity.Identity.EnumAppPath(); _definitionIdentities = new ArrayList(DefaultComponentCount); IDefinitionIdentity[] asbId = new IDefinitionIdentity[1]; while (idenum.Next(1, asbId) == 1) { _definitionIdentities.Add(asbId[0]); } _definitionIdentities.TrimToSize(); if (_definitionIdentities.Count <= 1) { #if ISOLATION_IN_MSCORLIB throw new ArgumentException(Environment.GetResourceString("Argument_InvalidAppId")); #else throw new ArgumentException("Invalid identity: no deployment/app identity specified"); #endif } _manifestPaths = null; _manifests = null; // Construct real IActContext from store. _actContext = IsolationInterop.CreateActContext(_applicationIdentity.Identity); _form = ContextForm.StoreBounded; _appRunState = ApplicationStateDisposition.Undefined; #if ISOLATION_IN_MSCORLIB Contract.Assert(_definitionIdentities.Count == 2, "An application must have exactly 1 deployment component and 1 application component in Whidbey"); #endif }
private void CreateFromNameAndManifests (ApplicationIdentity applicationIdentity, string[] manifestPaths) { if (applicationIdentity == null) throw new ArgumentNullException("applicationIdentity"); if (manifestPaths == null) throw new ArgumentNullException("manifestPaths"); Contract.EndContractBlock(); _applicationIdentity = applicationIdentity; // ISSUE - need validation on manifestPaths IEnumDefinitionIdentity idenum = _applicationIdentity.Identity.EnumAppPath(); _manifests = new ArrayList(DefaultComponentCount); _manifestPaths = new String[manifestPaths.Length]; IDefinitionIdentity[] asbId = new IDefinitionIdentity[1]; int i=0; while (idenum.Next(1, asbId) == 1) { ICMS cms = (ICMS) IsolationInterop.ParseManifest(manifestPaths[i], null, ref IsolationInterop.IID_ICMS); if (IsolationInterop.IdentityAuthority.AreDefinitionsEqual(0, cms.Identity, asbId[0])) { _manifests.Add(cms); _manifestPaths[i]=manifestPaths[i]; } else { #if ISOLATION_IN_MSCORLIB throw new ArgumentException(Environment.GetResourceString("Argument_IllegalAppIdMismatch")); #else throw new ArgumentException("Application Identity does not match identity in manifests"); #endif } i++; } if (i!=manifestPaths.Length) { #if ISOLATION_IN_MSCORLIB throw new ArgumentException(Environment.GetResourceString("Argument_IllegalAppId")); #else throw new ArgumentException("Application Identity does not have same number of components as manifest paths"); #endif } _manifests.TrimToSize(); if (_manifests.Count <= 1) { #if ISOLATION_IN_MSCORLIB throw new ArgumentException(Environment.GetResourceString("Argument_InvalidAppId")); #else throw new ArgumentException("Invalid identity: no deployment/app identity specified"); #endif } _definitionIdentities = null; _actContext = null; _form = ContextForm.Loose; _appRunState = ApplicationStateDisposition.Undefined; #if ISOLATION_IN_MSCORLIB Contract.Assert(_manifests.Count == 2, "An application must have exactly 1 deployment component and 1 application component in Whidbey"); #endif }
private ActivationContext() { contextForm = ContextForm.Loose; }
private void CreateFromNameAndManifests(ApplicationIdentity applicationIdentity, string[] manifestPaths) { if (applicationIdentity == null) { throw new ArgumentNullException("applicationIdentity"); } if (manifestPaths == null) { throw new ArgumentNullException("manifestPaths"); } Contract.EndContractBlock(); _applicationIdentity = applicationIdentity; // ISSUE - need validation on manifestPaths IEnumDefinitionIdentity idenum = _applicationIdentity.Identity.EnumAppPath(); _manifests = new ArrayList(DefaultComponentCount); _manifestPaths = new String[manifestPaths.Length]; IDefinitionIdentity[] asbId = new IDefinitionIdentity[1]; int i = 0; while (idenum.Next(1, asbId) == 1) { ICMS cms = (ICMS)IsolationInterop.ParseManifest(manifestPaths[i], null, ref IsolationInterop.IID_ICMS); if (IsolationInterop.IdentityAuthority.AreDefinitionsEqual(0, cms.Identity, asbId[0])) { _manifests.Add(cms); _manifestPaths[i] = manifestPaths[i]; } else { #if ISOLATION_IN_MSCORLIB throw new ArgumentException(Environment.GetResourceString("Argument_IllegalAppIdMismatch")); #else throw new ArgumentException("Application Identity does not match identity in manifests"); #endif } i++; } if (i != manifestPaths.Length) { #if ISOLATION_IN_MSCORLIB throw new ArgumentException(Environment.GetResourceString("Argument_IllegalAppId")); #else throw new ArgumentException("Application Identity does not have same number of components as manifest paths"); #endif } _manifests.TrimToSize(); if (_manifests.Count <= 1) { #if ISOLATION_IN_MSCORLIB throw new ArgumentException(Environment.GetResourceString("Argument_InvalidAppId")); #else throw new ArgumentException("Invalid identity: no deployment/app identity specified"); #endif } _definitionIdentities = null; _actContext = null; _form = ContextForm.Loose; _appRunState = ApplicationStateDisposition.Undefined; #if ISOLATION_IN_MSCORLIB Contract.Assert(_manifests.Count == 2, "An application must have exactly 1 deployment component and 1 application component in Whidbey"); #endif }