Ejemplo n.º 1
0
        public void Setup()
        {
            Android.Net.Wifi.WifiManager wifi = GetSystemService(Android.Content.Context.WifiService) as Android.Net.Wifi.WifiManager;

            _lock = wifi.CreateMulticastLock("mylockthereturn");
            _lock.SetReferenceCounted(true);
            _lock.Acquire();
            try
            {
                _jmdns    = JmDNS.Create();
                _listener = new MyServiceListener(this);
                _jmdns.AddServiceListener(_type, _listener);
                _serviceInfo = ServiceInfo.Create("_test._tcp.local.", "AndroidTest", 0, "plain test service from android");
                _jmdns.RegisterService(_serviceInfo);
            }
            catch (IOException e)
            {
                e.PrintStackTrace();
                return;
            }
        }
        ServiceInfo FindService(Type t, string key, ServiceSearchMode searchMode)
        {
            bool findServiceWithKey = !string.IsNullOrEmpty(key);

            if (searchMode == ServiceSearchMode.LocalOnly || ParentServiceContainer == null)
            {
                return(GetLocalService(t, findServiceWithKey, key));
            }

            ServiceInfo parent;

            try {
                if (searchInParentServiceLocker)
                {
                    throw new Exception("A ServiceContainer should not be a direct or indirect parent for itself.");
                }
                searchInParentServiceLocker = true;
                parent = ServiceInfo.Create(ParentServiceContainer, t, key, searchMode);
            } finally { searchInParentServiceLocker = false; }

            if (searchMode == ServiceSearchMode.PreferParents && parent != null && (findServiceWithKey || !parent.HasKey))
            {
                return(parent);
            }
            ServiceInfo local = GetLocalService(t, findServiceWithKey, key);

            if (local == null)
            {
                return(parent);
            }
            if (parent == null)
            {
                return(local);
            }
            return(searchMode == ServiceSearchMode.PreferParents || local.YieldToParent
                ? FindServiceCore(findServiceWithKey, parent, local)
                : FindServiceCore(findServiceWithKey, local, parent));
        }
Ejemplo n.º 3
0
        public static IHostBuilder CreateHostBuilder(string[] args)
        {
            IHostBuilder hostBuilder = Host.CreateDefaultBuilder(args);

            hostBuilder.ConfigureHostConfiguration(configuration =>
            {
                configuration.AddCommandLine(args);
            });
            hostBuilder.ConfigureAppConfiguration((context, cb) =>
            {
                var env = context.HostingEnvironment;
                if (env.IsProduction() || env.IsStaging())
                {
                    var configuration = cb.Build();
                    var consulOption  = configuration.GetConsulSection().Get <ConsulConfig>();
                    cb.AddConsulConfiguration(consulOption, true);
                }
            });
            hostBuilder.UseServiceProviderFactory(new AutofacServiceProviderFactory());
            hostBuilder.ConfigureServices(services =>
            {
                services.Add(ServiceDescriptor.Singleton(typeof(IServiceInfo), ServiceInfo.Create(Assembly.GetExecutingAssembly())));
            });
            hostBuilder.ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup <Startup>();
            });
            hostBuilder.ConfigureLogging((context, logging) =>
            {
                logging.ClearProviders();
                logging.AddConsole();
                logging.AddDebug();
            });
            hostBuilder.UseNLog();

            return(hostBuilder);
        }
Ejemplo n.º 4
0
 public Startup(IConfiguration configuration, IWebHostEnvironment environment)
 {
     Configuration = configuration;
     Environment   = environment;
     ServiceInfo   = ServiceInfo.Create(Assembly.GetExecutingAssembly());
 }