本文整理汇总了C#中SimpleInjector.Container.RegisterWebApiRequest方法的典型用法代码示例。如果您正苦于以下问题:C# Container.RegisterWebApiRequest方法的具体用法?C# Container.RegisterWebApiRequest怎么用?C# Container.RegisterWebApiRequest使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SimpleInjector.Container
的用法示例。
在下文中一共展示了Container.RegisterWebApiRequest方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RegisterServices
public void RegisterServices(Container container)
{
//Config
container.RegisterWebApiRequest<IDbSettings>(() => new DbSettings(ConnectionName));
//DbContext
container.RegisterWebApiRequest<ISmsContext>(() => new SmsContext(container.GetInstance<IDbSettings>()));
//Services
container.Register<IExternalSmsService, ExternalSmsService>();
container.Register<IInternalSmsService, InternalSmsService>();
//Data
container.Register<ISmsRepository, SmsRepository>();
//Reference Generator
container.Register<IReferenceGenerator, CryptographicReferenceGenerator>();
//Error Engine
container.Register<IErrorEngine, TwilioErrorEngine>();
//Config
container.Register<ITwilioSettings>(() => (TwilioSettings)(dynamic)ConfigurationManager.GetSection("twilioSettings"));
container.Register<ITwilioNumbers>(() => (TwilioNumbersSettings)(dynamic)ConfigurationManager.GetSection("twilioNumbers"));
container.Register<ISmsServiceSettings>(() => (SmsServiceSettings)(dynamic)ConfigurationManager.GetSection("smsServiceSettings"));
//SMS Provider
container.Register<ISmsProvider, TwilioProvider>();
container.Verify();
}
示例2: RegisterServices
public void RegisterServices(Container container)
{
//Config
container.RegisterWebApiRequest<IDbSettings>(() => new DbSettings(Constants.ConnectionName));
//DbContext
container.RegisterWebApiRequest<IPropertyMatrixContext>(() => new PropertyMatrixContext(container.GetInstance<IDbSettings>()));
//Services
container.Register<IPriceRangeService, PriceRangeService>();
container.Register<IQuoteService, QuoteService>();
container.Register<IAppointmentService, AppointmentService>();
container.Register<ISearchService, SearchService>();
//Data
container.Register<IPriceRangeRepository, PriceRangeRepository>();
container.Register<IQuoteRepository, QuoteRepository>();
container.Register<IAppointmentRepository, AppointmentRepository>();
container.Register<ISearchRepository, SearchRepository>();
//Mapping
container.Register<IMapToExisting<PriceRange, PriceRange>, PriceRangeMapper>();
//Reference Generator
container.Register<IReferenceGenerator, CryptographicReferenceGenerator>();
container.Verify();
}
示例3: Application_Start
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
var container = new Container();
// Here comes container registrations
#region Project-dependent injections
container.RegisterWebApiRequest<IApplicationDbContext, ApplicationDbContext>();
container.RegisterWebApiRequest<ApplicationDbContext>();
container.RegisterWebApiRequest<IProductsService, ProductsService>();
container.RegisterWebApiRequest<ICrudRepository<Product>, CrudRepository<Product>>();
#endregion
container.RegisterWebApiControllers(GlobalConfiguration.Configuration);
container.Verify();
GlobalConfiguration.Configuration.DependencyResolver =
new SimpleInjectorWebApiDependencyResolver(container);
}
示例4: InitializeContainer
private static void InitializeContainer(Container container)
{
// Register context, unit of work and repos with per request lifetime
container.RegisterWebApiRequest<INorthwindSlimContext, NorthwindSlimContext>();
container.RegisterWebApiRequest<INorthwindUnitOfWork, NorthwindUnitOfWork>();
container.RegisterWebApiRequest<ICustomerRepository, CustomerRepository>();
container.RegisterWebApiRequest<IOrderRepository, OrderRepository>();
}
示例5: InitializeContainer
private static void InitializeContainer(Container container)
{
// Register services
container.RegisterWebApiRequest<NorthwindSlim>();
container.RegisterWebApiRequest<IProductsRepository, ProductsRepository>();
container.RegisterWebApiRequest<ICustomersRepository, CustomersRepository>();
container.RegisterWebApiRequest<IOrdersRepository, OrdersRepository>();
container.RegisterWebApiRequest<INorthwindUnitOfWork, NorthwindUnitOfWork>();
}
示例6: RegisterRepositories
private static void RegisterRepositories(Container container, DragonSecurityHmacSection settings)
{
container.RegisterWebApiRequest<IAppRepository>(() =>
{
var dapperAppRepository = new DapperAppRepository(container.GetInstance<IDbConnection>(), settings.AppsTableName);
return dapperAppRepository;
});
container.RegisterWebApiRequest<IUserRepository>(() =>
{
var dapperUserRepository = new DapperUserRepository(container.GetInstance<IDbConnection>(),
settings.UsersTableName);
return dapperUserRepository;
});
}
示例7: RegisterServices
public void RegisterServices(Container container)
{
//Config
container.RegisterWebApiRequest<IDbSettings>(() => new DbSettings(Constants.ConnectionName));
//DbContext
container.RegisterWebApiRequest<IScribbleContext>(() => new ScribbleContext(container.GetInstance<IDbSettings>()));
//Services
container.Register<IScribbleService, ScribbleService>();
//Data
container.Register<IScribbleRepository, ScribbleRepository>();
container.Verify();
}
示例8: Configuration
// Invoked once at startup to configure your application.
public void Configuration(IAppBuilder builder)
{
var config = new HttpConfiguration();
// Create the container as usual.
var container = new Container();
// Register your types, for instance using the RegisterWebApiRequest
// extension from the integration package:
container.RegisterWebApiRequest<IUserRepository, SqlUserRepository>();
// This is an extension method from the integration package.
container.RegisterWebApiControllers(config);
container.Verify();
config.DependencyResolver =
new SimpleInjectorWebApiDependencyResolver(container);
config.MapHttpAttributeRoutes();
//config.Routes.MapHttpRoute("Default", "", new { controller = "OEmbed" });
//config.Formatters.XmlFormatter.UseXmlSerializer = true;
//config.Formatters.Remove(config.Formatters.JsonFormatter);
////config.Formatters.Remove(config.Formatters.XmlFormatter);
// config.Formatters.JsonFormatter.UseDataContractJsonSerializer = true;
builder.UseWebApi(config);
//builder.Use(async (context, next) => {
// using (container.BeginExecutionContextScope())
// {
// await next();
// }
//});
}
示例9: RegisterServices
public void RegisterServices(Container container)
{
container.RegisterWebApiRequest<IDbFactory>(() => new DbFactory(ConfigurationManager.ConnectionStrings["People"].ConnectionString));
container.Register<IPeopleRepository, PeopleRepository>();
container.Register<IPeopleService, PeopleService>();
container.Verify();
}
示例10: Register
public static void Register(Container container)
{
container.Register(typeof (IQueryHandler<,>), new[] {typeof (IQueryHandler<,>).Assembly});
container.Register(typeof (ICommandHandler<,>), new[] {typeof (ICommandHandler<,>).Assembly});
container.RegisterCollection(typeof (IHyperMediaState), typeof (IHyperMediaState).Assembly);
container.Register<IBoardState, BoardState>();
container.Register<IBoardTaskState, BoardTaskState>();
container.Register<IBoardColumnState, BoardColumnState>();
container.Register<ISlugService, SlugService>();
container.Register<ICommandDispatcher, CommandDispatcher>();
container.Register<IQueryDispatcher, QueryDispatcher>();
container.Register<ILinkFactory, LinkFactory>();
container.Register<IHyperMediaFactory, HyperMediaFactory>();
container.Register<IMappingService, MappingService>();
container.RegisterWebApiRequest<IDataContext, DataContext>();
container.RegisterWebApiControllers(GlobalConfiguration.Configuration);
container.EnableHttpRequestMessageTracking(GlobalConfiguration.Configuration);
container.RegisterSingleton<IRequestMessageProvider>(new RequestMessageProvider(container));
container.Register<IValidator<Board>, BoardValidator>();
container.Register<IValidator<BoardColumn>, BoardColumnValidator>();
container.Register<IValidator<BoardTask>, BoardTaskValidator>();
container.Verify();
GlobalConfiguration.Configuration.DependencyResolver = new SimpleInjectorWebApiDependencyResolver(container);
}
示例11: Initialize
public static void Initialize(HttpConfiguration config)
{
Container container = new Container();
container.RegisterWebApiRequest<IContactsDbContext>(() => new ContactsDbContext());
container.RegisterWebApiControllers(config);
container.Verify();
config.DependencyResolver = new SimpleInjectorWebApiDependencyResolver(container);
}
示例12: RegisterDbConnection
private static void RegisterDbConnection(Container container, string connectionString)
{
container.RegisterWebApiRequest<IDbConnection>(() =>
{
var connection = new SqlConnection(connectionString);
connection.Open();
return connection;
});
}
示例13: BuildContainer
internal static void BuildContainer()
{
var webApiContainer = new Container();
webApiContainer.RegisterSingleton<IConfig, WebConfig>();
webApiContainer.RegisterWebApiRequest<GHVEntities>();
webApiContainer.RegisterWebApiRequest<UserSessionVerificationService>();
webApiContainer.RegisterSingleton<RedisConnectionManager>();
// This is an extension method from the integration package.
webApiContainer.RegisterWebApiControllers(GlobalConfiguration.Configuration);
webApiContainer.Verify();
GlobalConfiguration.Configuration.DependencyResolver =
new SimpleInjectorWebApiDependencyResolver(webApiContainer);
}
示例14: GetShouldReturnOrderWithOrderId_1
public async void GetShouldReturnOrderWithOrderId_1()
{
// Arrange
// Setup Http Config
var config = new HttpConfiguration();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new {id = RouteParameter.Optional});
config.Formatters.JsonPreserveReferences();
// Setup DI container
var container = new Container();
const string databasePath = @"..\..\..\PocoDemo.Web\App_Data\NorthwindSlim.mdf";
string connectionString = string.Format(
@"Data Source=(localdb)\v11.0;AttachDbFilename={0};Integrated Security=True;MultipleActiveResultSets=True",
Path.GetFullPath(databasePath));
container.RegisterWebApiRequest(() => new NorthwindSlim(connectionString));
container.RegisterWebApiRequest<IProductsRepository, ProductsRepository>();
container.RegisterWebApiRequest<INorthwindUnitOfWork, NorthwindUnitOfWork>();
container.RegisterWebApiRequest<ProductsController>();
container.Verify();
// Set Dependency Resolver
config.DependencyResolver = new SimpleInjectorWebApiDependencyResolver(container);
// Create server and client
var server = new HttpServer(config);
var client = new HttpClient(server);
client.BaseAddress = new Uri("http://test.com/api/orders/");
const int orderId = 1;
// Act
HttpResponseMessage response = await client.GetAsync(orderId.ToString());
// Assert
response.EnsureSuccessStatusCode();
var order = await response.Content.ReadAsAsync<Order>();
Assert.NotNull(order);
Assert.Equal(1, order.OrderId);
}
示例15: ConfigureIoC
public static void ConfigureIoC(HttpConfiguration config, Container container)
{
container.Options.DefaultScopedLifestyle = new ExecutionContextScopeLifestyle();
container.RegisterWebApiRequest(() =>
{
if (HttpContext.Current != null && HttpContext.Current.Items["owin.Environment"] == null && container.IsVerifying())
{
return new OwinContext().Authentication;
}
return HttpContext.Current.GetOwinContext().Authentication;
});
container.RegisterWebApiControllers(config, Assembly.GetExecutingAssembly());
container.Register<ApplicationDbContext>(Lifestyle.Scoped);
container.RegisterWebApiRequest<IUserStore<ApplicationUser>>(() => new UserStore<ApplicationUser>(new ApplicationDbContext()));
container.Register<ApplicationUserManager>(Lifestyle.Scoped);
container.Register<ApplicationSignInManager>(Lifestyle.Scoped);
container.Verify();
config.DependencyResolver = new SimpleInjectorWebApiDependencyResolver(container);
}