Example #1
0
        Stream CreateStreamHelper()
        {
            try {
                string fileName = GetFullName();
                if (this.CreateDirectories)
                {
                    string str = Path.GetDirectoryName(fileName);
                    if (!string.IsNullOrEmpty(str) && !Directory.Exists(str))
                    {
                        Directory.CreateDirectory(str);
                    }
                }

                FileStream s;
                if (this.BufferSize == 0)
                {
                    s = new FileStream(fileName, this.Mode, FileAccess.Write, FileShare.Read);
                }
                else
                {
                    s = new FileStream(fileName, this.Mode, FileAccess.Write, FileShare.Read, this.BufferSize);
                }

                return(s);
            } catch (UnauthorizedAccessException a) {
                Traceables.FileTargetCouldNotCreateOutputStream(a, this.Name);
            } catch (SecurityException e) {
                Traceables.FileTargetCouldNotCreateOutputStream(e, this.Name);
            } catch (IOException ie) {
                Traceables.FileTargetCouldNotCreateOutputStream(ie, this.Name);
            }

            return(Stream.Null);
        }
Example #2
0
 public void DefineProvider(QualifiedName name,
                            Type providerType,
                            Type providerInstanceType,
                            object metadata = null)
 {
     _result.DefineProvider(name, providerType, providerInstanceType, metadata);
     Traceables.DefineProvider(name, providerType);
 }
Example #3
0
 public void DefineProvider(QualifiedName name,
                            Type providerType,
                            MethodInfo factoryMethod,
                            object metadata = null)
 {
     _result.DefineProvider(name, providerType, factoryMethod, metadata);
     Traceables.DefineProvider(name, providerType);
 }
Example #4
0
        public void DefineRootProvider(Type providerType)
        {
            if (providerType == null)
            {
                throw new ArgumentNullException(nameof(providerType));
            }

            lock (roots) {
                roots.Add(providerType);
            }
            Traceables.DefineRootProvider(providerType);
        }