コード例 #1
0
        public DefaultDependencyResolver()
        {
            var traceManager = new Lazy<TraceManager>(() => new TraceManager());

            var assemblyLocator = new Lazy<DefaultAssemblyLocator>(() => new DefaultAssemblyLocator());
            Register(typeof(IAssemblyLocator), () => assemblyLocator.Value);

            Register(typeof(ITraceManager), () => traceManager.Value);

            var serverIdManager = new ServerIdManager();
            Register(typeof(IServerIdManager), () => serverIdManager);

            var serverMessageHandler = new Lazy<IServerCommandHandler>(() => new ServerCommandHandler(this));
            Register(typeof(IServerCommandHandler), () => serverMessageHandler.Value);

            var messageBus = new Lazy<InProcessMessageBus>(() => new InProcessMessageBus(this));

            Register(typeof(IMessageBus), () => messageBus.Value);

            var serializer = new JsonConvertAdapter();

            Register(typeof(IJsonSerializer), () => serializer);

            // Hubs
            var methodDescriptorProvider = new Lazy<ReflectedMethodDescriptorProvider>();
            Register(typeof(IMethodDescriptorProvider), () => methodDescriptorProvider.Value);

            var hubDescriptorProvider = new Lazy<ReflectedHubDescriptorProvider>(() => new ReflectedHubDescriptorProvider(this));
            Register(typeof(IHubDescriptorProvider), () => hubDescriptorProvider.Value);

            var parameterBinder = new Lazy<DefaultParameterResolver>();
            Register(typeof(IParameterResolver), () => parameterBinder.Value);

            var activator = new Lazy<DefaultHubActivator>(() => new DefaultHubActivator(this));
            Register(typeof(IHubActivator), () => activator.Value);

            var hubManager = new Lazy<DefaultHubManager>(() => new DefaultHubManager(this));
            Register(typeof(IHubManager), () => hubManager.Value);

            var proxyGenerator = new Lazy<DefaultJavaScriptProxyGenerator>(() => new DefaultJavaScriptProxyGenerator(this));
            Register(typeof(IJavaScriptProxyGenerator), () => proxyGenerator.Value);

            var connectionIdGenerator = new GuidConnectionIdGenerator();
            Register(typeof(IConnectionIdGenerator), () => connectionIdGenerator);

            var transportManager = new Lazy<TransportManager>(() => new TransportManager(this));
            Register(typeof(ITransportManager), () => transportManager.Value);

            var configurationManager = new DefaultConfigurationManager();
            Register(typeof(IConfigurationManager), () => configurationManager);

            var transportHeartbeat = new Lazy<TransportHeartBeat>(() => new TransportHeartBeat(this));
            Register(typeof(ITransportHeartBeat), () => transportHeartbeat.Value);

            var connectionManager = new Lazy<ConnectionManager>(() => new ConnectionManager(this));
            Register(typeof(IConnectionManager), () => connectionManager.Value);
        }
コード例 #2
0
        public DefaultDependencyResolver()
        {
            var traceManager = new Lazy<TraceManager>(() => new TraceManager());

            Register(typeof(ITraceManager), () => traceManager.Value);

            var messageBus = new Lazy<InProcessMessageBus>(() => new InProcessMessageBus(this));

            Register(typeof(IMessageBus), () => messageBus.Value);

            var serializer = new JsonConvertAdapter();

            Register(typeof(IJsonSerializer), () => serializer);

            // Hubs
            var hubLocator = new Lazy<DefaultHubLocator>();
            Register(typeof(IHubLocator), () => hubLocator.Value);

            var hubTypeResolver = new Lazy<DefaultHubTypeResolver>(() => new DefaultHubTypeResolver(this));
            Register(typeof(IHubTypeResolver), () => hubTypeResolver.Value);

            var actionResolver = new Lazy<DefaultActionResolver>(() => new DefaultActionResolver());
            Register(typeof(IActionResolver), () => actionResolver.Value);

            var activator = new Lazy<DefaultHubActivator>(() => new DefaultHubActivator(this));
            Register(typeof(IHubActivator), () => activator.Value);

            var hubFactory = new Lazy<DefaultHubFactory>(() => new DefaultHubFactory(this));
            Register(typeof(IHubFactory), () => hubFactory.Value);

            var proxyGenerator = new Lazy<DefaultJavaScriptProxyGenerator>(() => new DefaultJavaScriptProxyGenerator(this));
            Register(typeof(IJavaScriptProxyGenerator), () => proxyGenerator.Value);

            var connectionIdFactory = new GuidConnectionIdFactory();
            Register(typeof(IConnectionIdFactory), () => connectionIdFactory);

            var transportManager = new Lazy<TransportManager>(() => new TransportManager(this));
            Register(typeof(ITransportManager), () => transportManager.Value);

            var configurationManager = new DefaultConfigurationManager();
            Register(typeof(IConfigurationManager), () => configurationManager);

            var transportHeartbeat = new Lazy<TransportHeartBeat>(() => new TransportHeartBeat(this));
            Register(typeof(ITransportHeartBeat), () => transportHeartbeat.Value);

            var connectionManager = new Lazy<ConnectionManager>(() => new ConnectionManager(this));
            Register(typeof(IConnectionManager), () => connectionManager.Value);
        }
コード例 #3
0
ファイル: DependencyResolver.cs プロジェクト: thevu/SignalR
            internal DefaultDependencyResolver()
            {
                var store = new Lazy <InProcessMessageStore>(() => new InProcessMessageStore());

                Register(typeof(IMessageStore), () => store.Value);

                var serializer = new JsonConvertAdapter();

                Register(typeof(IJsonSerializer), () => serializer);

                Register(typeof(IActionResolver), () => new DefaultActionResolver());
                Register(typeof(IHubActivator), () => new DefaultHubActivator());
                Register(typeof(IHubFactory), () => new DefaultHubFactory());

                var hubLocator = new DefaultHubLocator();

                Register(typeof(IHubLocator), () => hubLocator);

                var hubTypeResolver = new Lazy <DefaultHubTypeResolver>(() => new DefaultHubTypeResolver());

                Register(typeof(IHubTypeResolver), () => hubTypeResolver.Value);

                var signalBus = new InProcessSignalBus();

                Register(typeof(ISignalBus), () => signalBus);

                var pesistentConnectionFactory = new DefaultPersistentConnectionFactory();

                Register(typeof(IPersistentConnectionFactory), () => pesistentConnectionFactory);

                var minifier = new NullJavaScriptMinifier();

                var proxyGenerator = new DefaultJavaScriptProxyGenerator(hubLocator, (IJavaScriptMinifier)GetService(typeof(IJavaScriptMinifier)) ?? minifier);

                Register(typeof(IJavaScriptProxyGenerator), () => proxyGenerator);

                var connectionIdFactory = new GuidConnectionIdFactory();

                Register(typeof(IConnectionIdFactory), () => connectionIdFactory);

                Register(typeof(ITransportManager), () => TransportManager.Default);

                var signaler = new Lazy <Signaler>(() => new Signaler(DependencyResolver.Resolve <ISignalBus>()));

                Register(typeof(Signaler), () => signaler.Value);
            }
コード例 #4
0
        /// <summary>
        /// Вход в программу
        /// </summary>
        /// <param name="args">Аргументы</param>
        static void Main(string[] args)
        {
            var consoleHelper = new ConsoleHelper();

            if (args == null || args.Length < 2)
            {
                consoleHelper.WriteMessageWithTimeStamp("Не хватает аргументов при запуске", ConsoleColor.DarkRed);

                return;
            }

            var httpMethodConverterList = new HttpMethodConverterList();
            var httpMethodConverter     = new HttpMethodConverter(httpMethodConverterList);

            var method = httpMethodConverter.GetMethod(args[0]);
            var url    = args[1];

            var jsonConverter = new JsonConvertAdapter();
            var requestHelper = new RequestHelper(jsonConverter);

            var login    = Properties.Settings.Default.login;
            var password = Properties.Settings.Default.password;

            try
            {
                consoleHelper.WriteMessageWithTimeStamp($"Посылаем {args[0].ToUpper()} запрос на адрес {url}");

                var content = args.Length > 2 &&
                              args[2] != null &&
                              (method == HttpMethod.Post || method == HttpMethod.Put)
                    ? args[2]
                    : null;

                object responseObject = requestHelper.SendRequest <object>(method, url, content, login, password).Result;

                consoleHelper.WriteMessageWithTimeStamp($"Сервер вернул ответ:\n{responseObject}", ConsoleColor.DarkGreen);
            }
            catch (Exception e)
            {
                consoleHelper.WriteMessageWithTimeStamp($"{e.Message}\n{e}", ConsoleColor.Red);
            }
        }
コード例 #5
0
 /// <summary>
 /// Конструктор
 /// </summary>
 /// <param name="jsonConvertAdapter">Конвертер json</param>
 public RequestHelper(JsonConvertAdapter jsonConvertAdapter)
 {
     _jsonConvertAdapter = jsonConvertAdapter;
 }