Пример #1
0
        public void Initialize(ExtensionConfigContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException("context");
            }

            var fileBindingProvider = new FileAttributeBindingProvider(_options, _nameResolver);

            context.AddBindingRule <FileAttribute>()
            .Bind(fileBindingProvider);

            var triggerBindingProvider = new FileTriggerAttributeBindingProvider(_options, _loggerFactory, _fileProcessorFactory);
            var triggerRule            = context.AddBindingRule <FileTriggerAttribute>();

            triggerRule.BindToTrigger(triggerBindingProvider);
            triggerRule.AddConverter <string, FileSystemEventArgs>(p => FileTriggerBinding.GetFileArgsFromString(p));
            triggerRule.AddConverter <FileSystemEventArgs, Stream>(p => File.OpenRead(p.FullPath));
        }
        public void Initialize(ExtensionConfigContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException("context");
            }

            var rule = context.AddBindingRule <FileAttribute>();

            rule.BindToInput <FileInfo>(this.GetFileInfo);
            rule.BindToInput <FileStream>(this.GetFileStream);
            rule.BindToStream(this, FileAccess.ReadWrite);

            // Triggers
            var rule2 = context.AddBindingRule <FileTriggerAttribute>();

            rule2.BindToTrigger <FileSystemEventArgs>(new FileTriggerAttributeBindingProvider(_options, _loggerFactory, _fileProcessorFactory));

            rule2.AddConverter <string, FileSystemEventArgs>(str => FileTriggerBinding.GetFileArgsFromString(str));
            rule2.AddConverter <FileSystemEventArgs, Stream>(args => File.OpenRead(args.FullPath));
        }