当前位置: 首页>>代码示例>>C#>>正文


C# ServiceHost.AddDependencyInjectionBehavior方法代码示例

本文整理汇总了C#中System.ServiceModel.ServiceHost.AddDependencyInjectionBehavior方法的典型用法代码示例。如果您正苦于以下问题:C# ServiceHost.AddDependencyInjectionBehavior方法的具体用法?C# ServiceHost.AddDependencyInjectionBehavior怎么用?C# ServiceHost.AddDependencyInjectionBehavior使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.ServiceModel.ServiceHost的用法示例。


在下文中一共展示了ServiceHost.AddDependencyInjectionBehavior方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: AddDependencyInjectionBehavior_NullContainer_ThrowsException

 public void AddDependencyInjectionBehavior_NullContainer_ThrowsException()
 {
     ServiceHost serviceHost = new ServiceHost(typeof(ServiceType));
     ArgumentNullException exception = Assert.Throws<ArgumentNullException>(
         () => serviceHost.AddDependencyInjectionBehavior(typeof(IContractType), null));
     Assert.Equal("container", exception.ParamName);
 }
开发者ID:dparra0007,项目名称:Autofac.Wcf,代码行数:7,代码来源:ServiceHostExtensionsFixture.cs

示例2: Start

        public void Start()
        {
            //SchedulerService
            var schedulerServiceHost = new ServiceHost(typeof(SchedulerService), 
                new Uri("net.pipe://localhost/SchedulerService"));
            schedulerServiceHost.AddServiceEndpoint(typeof(ISchedulerService), new NetNamedPipeBinding(), string.Empty);
            schedulerServiceHost.AddDependencyInjectionBehavior<ISchedulerService>(container);
            hosts.Add(schedulerServiceHost);

            //BoxQueryService
            var boxQueryService = new ServiceHost(typeof(BoxQueryService),
                new Uri("net.pipe://localhost/BoxQueryService"));
            boxQueryService.AddServiceEndpoint(typeof(IBoxQueryService), new NetNamedPipeBinding(), string.Empty);
            boxQueryService.AddDependencyInjectionBehavior<IBoxQueryService>(container);
            hosts.Add(boxQueryService);
            
            //BoxQueryService
            var commonsService = new ServiceHost(typeof(CommonsService),
                new Uri("net.pipe://localhost/CommonsService"));
            commonsService.AddServiceEndpoint(typeof(ICommonsService), new NetNamedPipeBinding(), string.Empty);
            commonsService.AddDependencyInjectionBehavior<ICommonsService>(container);
            hosts.Add(commonsService);

            //StateBrowsingService
            var stateService = new ServiceHost(typeof(StateBrowsingService),
                new Uri("net.pipe://localhost/StateBrowsingService"));
            stateService.AddServiceEndpoint(typeof(IStateBrowsingService), new NetNamedPipeBinding(), string.Empty);
            stateService.AddDependencyInjectionBehavior<IStateBrowsingService>(container);
            hosts.Add(stateService);

            hosts.ForEach(host => host.Open());
        }
开发者ID:ikutsin,项目名称:BinaryAnalysis.Core,代码行数:32,代码来源:ServiceBinding.cs

示例3: AddDependencyInjectionBehavior_NullContractType_ThrowsException

 public void AddDependencyInjectionBehavior_NullContractType_ThrowsException()
 {
     ServiceHost serviceHost = new ServiceHost(typeof(ServiceType));
     ArgumentNullException exception = Assert.Throws<ArgumentNullException>(
         () => serviceHost.AddDependencyInjectionBehavior(null, new ContainerBuilder().Build()));
     Assert.That(exception.ParamName, Is.EqualTo("contractType"));
 }
开发者ID:RoymanJing,项目名称:Autofac,代码行数:7,代码来源:ServiceHostExtensionsFixture.cs

示例4: Main

        static void Main(string[] args)
        {
            var builder = AutofacConfig.ConfigureContainer();
            using (var container = builder.Build())
            {
                // Car commands
                var carProtoServer = container.Resolve<ICarProtoServer>();
                carProtoServer.GetInputCommandFactory = () =>
                {
                    var scope = container.BeginLifetimeScope();
                    carProtoServer.OnClientDisconnected = () => scope.Dispose();
                    return scope.Resolve<ICommandFactory>();
                };

                // Wcf
                var address = new Uri("http://localhost:4998");
                var host = new ServiceHost(typeof(CarCommand), address);
                host.AddServiceEndpoint(typeof(ICarCommand), new WSDualHttpBinding(), string.Empty);
                host.AddDependencyInjectionBehavior<CarCommand>(container);
                host.Description.Behaviors.Add(new ServiceMetadataBehavior { HttpGetEnabled = true, HttpGetUrl = address });
                host.Open();

                Console.WriteLine("Service running");
                Console.ReadLine();

                host.Close();
                Environment.Exit(0);
            }
        }
开发者ID:skohub,项目名称:CarControl,代码行数:29,代码来源:Program.cs

示例5: Run

        private void Run()
        {
            Console.WriteLine("Run a ServiceHost via administrative configuration...");
            Console.WriteLine();

            using (ServiceHost serviceHost = new ServiceHost(typeof(SalesService)))
            {
                serviceHost.AddDependencyInjectionBehavior<ISalesService>(AutofacHostFactory.Container);

                Console.WriteLine("Opening the host");
                serviceHost.Open();

                try
                {
                    AutofacHostFactory.Container.Resolve<ISalesService>();
                    Console.WriteLine("The service is ready.");
                    Console.WriteLine("Press <ENTER> to terminate service.");
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Error on initializing the service host.");
                    Console.WriteLine(ex.Message);
                }

                Console.WriteLine();
                Console.ReadLine();
                serviceHost.Close();
            }
        }
开发者ID:TheHunter,项目名称:WcfJsonNetFormatter,代码行数:29,代码来源:WcfHost.cs

示例6: Main

        static void Main(string[] args)
        {
            ContainerBuilder builder = new ContainerBuilder();

            builder.RegisterType<DependencyComponent>().As<IDependency>();
            builder.RegisterType<SampleService>();

            Container = builder.Build();

            ServiceHost host = new ServiceHost(typeof(SampleService));

            host.AddDependencyInjectionBehavior(typeof(SampleService), Container);

            host.Open();

            Console.WriteLine("Service is running. Press 'Enter' to call operation.");
            Console.ReadLine();
            Console.WriteLine();

            ChannelFactory<ISampleService> channelFactory = new ChannelFactory<ISampleService>("");
            ISampleService proxy = channelFactory.CreateChannel();

            proxy.PerformOperation();

            Console.WriteLine();
            Console.WriteLine("Press 'Enter' to end.");
            Console.ReadLine();
        }
开发者ID:tleviathan,项目名称:DeepDiveIntoDI,代码行数:28,代码来源:Program.cs

示例7: AddDependencyInjectionBehavior_ContractTypeNotRegistered_ThrowsException

 public void AddDependencyInjectionBehavior_ContractTypeNotRegistered_ThrowsException()
 {
     ServiceHost serviceHost = new ServiceHost(typeof(ServiceType));
     Type contractType = typeof(IContractType);
     ArgumentException exception = Assert.Throws<ArgumentException>(
         () => serviceHost.AddDependencyInjectionBehavior(contractType, new ContainerBuilder().Build()));
     Assert.Equal("contractType", exception.ParamName);
     string message = string.Format(ServiceHostExtensionsResources.ContractTypeNotRegistered, contractType.FullName);
     Assert.Contains(message, exception.Message);
 }
开发者ID:dparra0007,项目名称:Autofac.Wcf,代码行数:10,代码来源:ServiceHostExtensionsFixture.cs

示例8: Run

        public void Run()
        {
            var address = new Uri("http://localhost:8181/contact");
            host = new ServiceHost(typeof(ContactNotificationService), address);
            host.AddServiceEndpoint(typeof(NotificationPort), new BasicHttpBinding(), string.Empty);
            host.AddDependencyInjectionBehavior<ContactNotificationService>(EndpointConfig.Container); // Autofac extension
            host.Description.Behaviors.Add(new ServiceMetadataBehavior { HttpGetEnabled = true, HttpGetUrl = address });

            Log.Info("Starting");
            host.Open();
            Log.Info("Started");
        }
开发者ID:ramonsmits,项目名称:sf2nsb,代码行数:12,代码来源:SalesForceReceiverHost.cs

示例9: App_OnStartup

        private async void App_OnStartup(object sender, StartupEventArgs e) {
            var client = Novaroma.Helper.CreateShellServiceClient();
            bool createdNew;
            try {
                client.Test();
                createdNew = false;
            }
            catch {
                createdNew = true;
            }

            if (!createdNew) {
                if (e.Args.Length > 0)
                    await client.HandleExeArgs(e.Args);
                else
                    await client.ShowMainWindow();

                Current.Shutdown();
                return;
            }

            IoCContainer.Build();

            var engine = IoCContainer.Resolve<INovaromaEngine>();
            engine.LanguageChanged += EngineOnLanguageChanged;

            _shellServiceHost = new ServiceHost(typeof(ShellService), new Uri(Constants.NetPipeUri));
            var shellBinding = new NetNamedPipeBinding {
                MaxReceivedMessageSize = 20000000,
                MaxBufferPoolSize = 20000000,
                MaxBufferSize = 20000000
            };
            _shellServiceHost.AddServiceEndpoint(typeof(IShellService), shellBinding, Constants.NetPipeEndpointName);
            _shellServiceHost.AddDependencyInjectionBehavior<IShellService>(IoCContainer.BaseContainer);
            _shellServiceHost.Open();

            var mainWindow = IoCContainer.Resolve<MainWindow>();
            var mainViewModel = IoCContainer.Resolve<MainViewModel>();
            await mainViewModel.ListData();
            if (!e.Args.Contains("StartHidden"))
                mainWindow.Show();

            _notifyIcon = (TaskbarIcon)FindResource("NotifyIcon");
            if (_notifyIcon != null)
                _notifyIcon.DataContext = IoCContainer.Resolve<NotifyIconViewModel>();

            if (e.Args.Length > 0) {
                var service = IoCContainer.Resolve<IShellService>();
                await service.HandleExeArgs(e.Args);
            }
        }
开发者ID:XMotoGodX,项目名称:novaroma,代码行数:51,代码来源:App.xaml.cs

示例10: AddDependencyInjectionBehavior_ContractTypeRegistered_ServiceBehaviorConfigured

        public void AddDependencyInjectionBehavior_ContractTypeRegistered_ServiceBehaviorConfigured()
        {
            ContainerBuilder builder = new ContainerBuilder();
            builder.Register(c => new ServiceType()).As<IContractType>();
            IContainer container = builder.Build();

            ServiceHost serviceHost = new ServiceHost(typeof(ServiceType));
            serviceHost.AddDependencyInjectionBehavior(typeof(IContractType), container);

            int serviceBehaviorCount = serviceHost.Description.Behaviors
                .OfType<AutofacDependencyInjectionServiceBehavior>()
                .Count();
            Assert.Equal(1, serviceBehaviorCount);
        }
开发者ID:dparra0007,项目名称:Autofac.Wcf,代码行数:14,代码来源:ServiceHostExtensionsFixture.cs

示例11: Load

 public static void Load()
 {
     AutoMapperConfig.Configure(typeof(Core.Bootstrapper.Bootstrap).Assembly, typeof(Bootstrap).Assembly);
     AppDomain.CurrentDomain.SetData("DataDirectory","D:\\");
     var builder = new ContainerBuilder();
     builder.RegisterType<ProjectContext>().AsSelf().SingleInstance();
     builder.RegisterType<FileProviderImpl>().As<IFileProvider>().SingleInstance();
     builder.RegisterType<ProjectProvider>().As<IProjectProvider>().SingleInstance();
     builder.RegisterType<RepositoryProvider>().As<IRepoProvider>().SingleInstance();
     builder.RegisterType<GitHelperSrv>().As<IGitHelperSrv>().InstancePerLifetimeScope();
     Container = builder.Build();
     Host = new ServiceHost(typeof (GitHelperSrv));
     Host.AddDependencyInjectionBehavior<IGitHelperSrv>(Container);
     Host.Open();
     Core.Bootstrapper.Bootstrap.CheckProjects(Container);
 }
开发者ID:em881g,项目名称:GitHelper,代码行数:16,代码来源:Bootstrap.cs

示例12: Main

        static void Main(string[] args)
        {
            var builder = new ContainerBuilder();
            builder.RegisterModule(new EntitiesModule());
            builder.RegisterModule(new ServicesModule());

            var serviceInformationList =
                new[]
                    {
                        new
                            {
                                Address = "UserRepositoryService",
                                InterfaceType = typeof (IUserRepositoryService),
                                ImplementationType = typeof (UserRepositoryService)
                            }
                    };

            using (var container = builder.Build())
            {
                var serviceHosts = new List<ServiceHost>(serviceInformationList.Length);
                foreach (var serviceInfo in serviceInformationList)
                {
                    var serviceUri = new Uri(ROOT_URI + serviceInfo.Address);
                    var serviceHost = new ServiceHost(serviceInfo.ImplementationType, serviceUri);
                    var debugBehavior = serviceHost.Description.Behaviors.Single(x => x is ServiceDebugBehavior) as ServiceDebugBehavior;
                    debugBehavior.IncludeExceptionDetailInFaults = true;
                    serviceHost.AddServiceEndpoint(serviceInfo.InterfaceType, new NetTcpBinding(), string.Empty);
                    serviceHost.AddDependencyInjectionBehavior(serviceInfo.InterfaceType, container);
                    serviceHost.Open();
                    serviceHosts.Add(serviceHost);
                    Console.WriteLine("Hosted service of type {0} at endpoint {1}", serviceInfo.InterfaceType, serviceUri);
                }

                Console.WriteLine("The host has been opened.");
                Console.ReadLine();

                foreach (var serviceHost in serviceHosts)
                {
                    serviceHost.Close();
                }

                Environment.Exit(0);
            }
        }
开发者ID:omockler,项目名称:Substrate,代码行数:44,代码来源:Program.cs

示例13: btnStartService_Click

        private void btnStartService_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                _host = new ServiceHost(typeof(BlogPostController));
                _host.AddDependencyInjectionBehavior<IBlogPostService>(container);

                _host.Open();

                this.btnStopService.IsEnabled = true;
                this.btnStartService.IsEnabled = false;
                this.lblStatus.Content = "Service is running..";
                this.lblStatus.Foreground = new SolidColorBrush(Colors.RoyalBlue);
            }
            catch (Exception ex)
            {
                container.Dispose();
                MessageBox.Show(ex.Message);
            }
        }
开发者ID:chsakell,项目名称:wcfproxies,代码行数:20,代码来源:MainWindow.xaml.cs

示例14: Setup

        public void Setup()
        {
            try
            {
                container = Bootstrapper.BuildContainer();

                svcArticleHost = new ServiceHost(typeof(ArticleService), svcArticleServiceURI);
                svcBlogHost = new ServiceHost(typeof(BlogService), svcBlogServiceURI);

                svcArticleHost.AddDependencyInjectionBehavior<Business.Services.Contracts.IArticleService>(container);
                svcBlogHost.AddDependencyInjectionBehavior<Business.Services.Contracts.IBlogService>(container);

                svcArticleHost.Open();
                svcBlogHost.Open();
            }
            catch (Exception ex)
            {
                svcArticleHost = null;
                svcBlogHost = null;
            }
        }
开发者ID:chsakell,项目名称:wcfdependencyinjection,代码行数:21,代码来源:ProxiesTests.cs

示例15: Main

        static void Main(string[] args)
        {
            ContainerBuilder builder = new ContainerBuilder();
            builder.Register(c => new WorkerPoolImpl()).AsImplementedInterfaces().SingleInstance();
            builder.Register(c => new NodeServiceImpl(c.Resolve<WorkerPool>())).As<NodeService>();
            builder.RegisterType<PrimeCalculatorImpl>().AsImplementedInterfaces();
            builder.RegisterType<SeederImpl>().AsImplementedInterfaces();

            using (IContainer container = builder.Build())
            {
                Uri address = new Uri(ConfigurationManager.AppSettings["host"]);
                ServiceHost host = new ServiceHost(typeof(NodeServiceImpl), address);

                host.AddServiceEndpoint(typeof(NodeService),
                    new WSDualHttpBinding(WSDualHttpSecurityMode.None)
                        {
                            SendTimeout = new TimeSpan(0, 0, 10),
                            ReceiveTimeout = new TimeSpan(0, 0, 10),
                            MaxBufferPoolSize = 1024 * 1024 * 1,
                            MaxReceivedMessageSize = 1024 * 1024 * 20,
                            MessageEncoding = WSMessageEncoding.Mtom,
                            ReaderQuotas =
                                new XmlDictionaryReaderQuotas
                                {
                                    MaxArrayLength = 1000000,
                                }
                        }, string.Empty);
                host.AddDependencyInjectionBehavior<NodeService>(container);
                host.Description.Behaviors.Add(new ServiceMetadataBehavior { HttpGetEnabled = true, HttpGetUrl = address });
                host.Open();

                var calc = container.Resolve<PrimeCalculator>();
                WriteFile(calc.Calc(GetTaskFromInFile()));

                host.Close();
                Environment.Exit(0);
            }
        }
开发者ID:GulinSS,项目名称:LargePrimes-Sample,代码行数:38,代码来源:Program.cs


注:本文中的System.ServiceModel.ServiceHost.AddDependencyInjectionBehavior方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。