コード例 #1
0
        public IcuClient(IcuConfig config, RPC.IProxy rpc, UIHelper ui)
        {
            if (!ENV.IsWasm)
            {
                config.SessionID = Guid.NewGuid().ToString();
            }

            this.UI      = ui;
            this.Config  = config;
            this.Session = new IcuSession(config, rpc);
            this.MsgBus  = Session.MsgBus;
        }
コード例 #2
0
        public static IServiceCollection AddIcuBlazor
            (this IServiceCollection services, IcuConfig config)
        {
            services.AddSingleton(config);
            services.AddScoped <UIHelper>();
            services.AddTransient <IcuClient>(); // one for each IcuTestViewer
            services.AddTransient(typeof(RPC.IProxy), RPC.ProxyType(config));
            services.AddHttpClient("ICUapi");
            services.AddProtectedBrowserStorage();

            if (String.IsNullOrEmpty(config.IcuServer))   // probably server
            {
            }
            else     // client
            {
                var uri = new Uri(config.IcuServer);
                ENV.IsLocalhost = uri.IsLoopback;
            }
            ENV.IsIcuEnabled = true;

            DBG.Verbosity = config.Verbosity;
            DBG.SetSystem("ICU");
            return(services);
        }