Esempio n. 1
0
        // ctor.
        /// <summary>
        /// Конструктор клиента.
        /// </summary>
        /// <param name="controllersAssembly">Сборка в которой осуществляется поиск контроллеров.</param>
        /// <param name="serverAddress">Адрес сервера.</param>
        private VRpcClient(Assembly controllersAssembly, Uri serverAddress, bool allowAutoConnect)
        {
            Debug.Assert(controllersAssembly != Assembly.GetExecutingAssembly());

            // Найти все контроллеры в вызывающей сборке.
            Dictionary <string, Type> controllerTypes = GlobalVars.FindAllControllers(controllersAssembly);

            // Словарь с методами контроллеров.
            _invokeActions       = new InvokeActionsDictionary(controllerTypes);
            ServerAddress        = serverAddress;
            _connectLock         = new AsyncLock();
            IsAutoConnectAllowed = allowAutoConnect;
            _proxyCache          = new ProxyCache();

            InnerConfigureIoC(controllerTypes.Values);
        }
Esempio n. 2
0
 // ctor.
 /// <summary>
 /// Принимает открытое соединение Web-Socket.
 /// </summary>
 internal ClientSideConnection(VRpcClient client, ClientWebSocket ws, ServiceProvider serviceProvider, InvokeActionsDictionary controllers)
     : base(ws.ManagedWebSocket, isServer: false, serviceProvider, controllers)
 {
     Client = client;
 }