Beispiel #1
0
        protected override void ConfigureContainer()
        {
            base.ConfigureContainer();

            TwitterRestClient client = new TwitterRestClient("twitterEndpoint", null);

            Container.Configure(x =>
            {
                x.ForRequestedType<IShellView>()
                    .CacheBy(InstanceScope.Singleton)
                    .TheDefaultIsConcreteType
                    <ShellView>();

                x.ForRequestedType<IShellPresenter>().
                    TheDefaultIsConcreteType
                    <ShellPresenter>();

                x.ForRequestedType
                    <IApplicationController>().
                    TheDefaultIsConcreteType
                    <ApplicationController>();

                x.ForRequestedType<ILinqApi>().
                    TheDefault.IsThis(client);

                x.ForRequestedType<ICredentialsStore>().
                    TheDefaultIsConcreteType
                    <CredentialsStore>();

                x.ForRequestedType
                    <IDispatcherFacade>().
                    TheDefaultIsConcreteType<DispatcherFacade>();

                x.ForRequestedType<Dispatcher>().TheDefault.Is.ConstructedBy(() => Dispatcher.CurrentDispatcher);

                x.ForRequestedType<IAsyncManager>().
                    TheDefaultIsConcreteType
                    <AsyncManager>();

                x.AddRegistry<CommandsRegistry>();
                x.AddRegistry<InfrastructureRegistry>();
                x.AddRegistry<CommonRegistry>();
                x.AddRegistry<CoreRegistry>();
                x.AddRegistry<LinqRegistry>();
            });
        }
        private void WithClient(Action<TwitterRestClient> action)
        {
            var client = new TwitterRestClient("twitterEndpoint", CreateSession());

            action(client);
        }
        private void WithChannel(Action<ITwitterRestServiceContract> action)
        {
            using (new WebChannelFactory<ITwitterRestServiceContract>("twitterEndpoint"))
            {
                var client = new TwitterRestClient("twitterEndpoint", CreateSession());

                action(client);
            }
        }