internal P_LoadedPackageState(DefaultDescriptionPackageService service, DescriptionPackageLocator locator) { service.EnsureNotNull(nameof(service)); locator.EnsureNotNull(nameof(locator)); // _service = service; _locator = locator; _disposeCts = new CancellationTokenSource(); _loader = new AsyncOperator <IDescriptionPackage>(asyncFactory: P_LoadNewPackageInstanceAsync, ownsResult: true); }
internal P_LoadedPackageState(DefaultDescriptionPackageService service, IDescriptionPackage package, DescriptionPackageLocator locator, bool ownsPackage = false) { service.EnsureNotNull(nameof(service)); package.EnsureNotNull(nameof(package)); locator.EnsureNotNull(nameof(locator)); // _service = service; _locator = locator; _disposeCts = null; _loader = new AsyncOperator <IDescriptionPackage>(result: package, ownsResult: ownsPackage); }
// TODO: Put strings into the resources. // public virtual IDescriptionPackageLoadContext CreateLoadContext(DescriptionPackageLocator locator, IContext outerCtx = default) { locator.EnsureNotNull(nameof(locator)); // var locationBaseUri = locator.PackageLocationBaseUri; if (locationBaseUri is null || !locationBaseUri.IsAbsoluteUri || locationBaseUri.IsFileUri().Value) { // По умолчанию полагается, что базовое расположение пакета — файл. // return(new DescriptionPackageFileLoadContext(locator: locator, fileUri: GetFileLoadSourceUri(locator: locator), skipLinkedMetadata: true, outerCtx: outerCtx)); }
protected override void Dispose(bool explicitDispose) { if (explicitDispose) { _loader?.Dispose(); _disposeCts?.Dispose(); } _service = null; _locator = null; _disposeCts = null; _loader = null; // base.Dispose(explicitDispose); }
internal P_GeneratedPackageLoadContext(DescriptionPackageLocator locator) : base(locator: locator, siteOrigin: DescriptionPackageUtilities.UndefinedSiteOrigin, loadUri: DescriptionPackageUtilities.InMemoryGeneratedPackageBaseUri, skipLinkedMetadata: true) { }
public DescriptionPackageLoadException(string message, DescriptionPackageLocator packageLocator) : this(message, packageLocator, null) { }
public DescriptionPackageLoadException(string message, DescriptionPackageLocator packageLocator, Exception innerException) : base( message: string.IsNullOrEmpty(message) ? (packageLocator is null ? FormatXResource(typeof(DescriptionPackageLoadException), "DefaultMessage/WithoutNameReference") : FormatXResource(typeof(DescriptionPackageLoadException), "DefaultMessage", packageLocator)) : (packageLocator is null ? FormatXResource(typeof(DescriptionPackageLoadException), "UserMessage/WithoutNameReference", message) : FormatXResource(typeof(DescriptionPackageLoadException), "UserMessage", packageLocator, message)),
public DescriptionPackageLoadException(DescriptionPackageLocator packageLocator, Exception innerException) : this(null, packageLocator, innerException) { }