private HostServices() { _serviceProvider = new ServiceProvider(); _symbolService = new SymbolService(this); _commandProcessor = new CommandProcessor(RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? ">!ext" : null); _commandProcessor.AddCommands(new Assembly[] { typeof(HostServices).Assembly }); _commandProcessor.AddCommands(new Assembly[] { typeof(ClrMDHelper).Assembly }); _serviceProvider.AddService <IHost>(this); _serviceProvider.AddService <ICommandService>(_commandProcessor); _serviceProvider.AddService <ISymbolService>(_symbolService); _hostWrapper = new HostWrapper(this); _hostWrapper.AddServiceWrapper(IID_IHostServices, this); _hostWrapper.AddServiceWrapper(SymbolServiceWrapper.IID_ISymbolService, () => new SymbolServiceWrapper(this)); VTableBuilder builder = AddInterface(IID_IHostServices, validate: false); builder.AddMethod(new GetHostDelegate(GetHost)); builder.AddMethod(new RegisterDebuggerServicesDelegate(RegisterDebuggerServices)); builder.AddMethod(new CreateTargetDelegate(CreateTarget)); builder.AddMethod(new UpdateTargetDelegate(UpdateTarget)); builder.AddMethod(new FlushTargetDelegate(FlushTarget)); builder.AddMethod(new DestroyTargetDelegate(DestroyTarget)); builder.AddMethod(new DispatchCommandDelegate(DispatchCommand)); builder.AddMethod(new DispatchCommandDelegate(DisplayHelp)); builder.AddMethod(new UninitializeDelegate(Uninitialize)); IHostServices = builder.Complete(); AddRef(); }
static void Main(string[] args) { IHost host = HostFactory.Factory <FTPHost>(); IHostOperation operation = HostOperationFactory.Factory <DownloadFileOperation>(); HostWrapper.BreakHost <Bruteforce>(host, operation); //Console.ReadLine(); }
public static async Task <int> Main(string[] args) { return(await HostWrapper.Create(builder => builder.ConfigureServices((hostContext, services) => { services.Configure <ConsoleLifetimeOptions>(options => options.SuppressStatusMessages = true); services.AddHostedService <BlockIndexerHost>(); services.AddOptions(Configuration); services.AddBlockchain(); services.AddDatabase(); services.AddEvents(); services.AddWeb3(); })) .Run("Block Indexer", Configuration) .AnyContext()); }