本文整理汇总了C#中Funq.Register方法的典型用法代码示例。如果您正苦于以下问题:C# Funq.Register方法的具体用法?C# Funq.Register怎么用?C# Funq.Register使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Funq
的用法示例。
在下文中一共展示了Funq.Register方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Configure
public override void Configure(Funq.Container container)
{
//Set JSON web services to return idiomatic JSON camelCase properties
ServiceStack.Text.JsConfig.EmitCamelCaseNames = true;
ControllerBuilder.Current.SetControllerFactory(new FunqControllerFactory(container));
var appSettings = new AppSettings();
var connString = appSettings.Get("SQLSERVER_CONNECTION_STRING",
ConfigUtils.GetConnectionString("UserAuth"));
container.Register<IDbConnectionFactory>(
new OrmLiteConnectionFactory(connString, SqlServerDialect.Provider));
//Using an in-memory cache
container.Register<ICacheClient>(new MemoryCacheClient());
ConfigureAuth(container);
var dbFactory = container.Resolve<IDbConnectionFactory>();
dbFactory.Run(d => d.CreateTableIfNotExists<UserAuth>());
dbFactory.Run(db => db.CreateTableIfNotExists<Message>());
dbFactory.Run(d => d.CreateTableIfNotExists<Device>());
SetConfig(new EndpointHostConfig
{
DefaultContentType = ContentType.Json,
EnableFeatures = Feature.All.Remove(Feature.Html).Remove(Feature.Xml),
AppendUtf8CharsetOnContentTypes = new HashSet<string> { ContentType.Json }
});
//Or if Haz Redis
//container.Register<ICacheClient>(new PooledRedisClientManager());
}
示例2: ConfigureAuth
/* Uncomment to enable ServiceStack Authentication and CustomUserSession */
private void ConfigureAuth(Funq.Container container)
{
var appSettings = new AppSettings();
//Default route: /auth/{provider}
Plugins.Add(new AuthFeature(() => new CustomUserSession(),
new IAuthProvider[] {
new AcmeCredentialsAuthProvider(appSettings),
}));
//Default route: /register
Plugins.Add(new RegistrationFeature());
//Requires ConnectionString configured in Web.Config
var connectionString = ConfigurationManager.ConnectionStrings["SSHelloWorldAuth"].ConnectionString;
container.Register<IDbConnectionFactory>(c =>
new OrmLiteConnectionFactory(connectionString, SqlServerDialect.Provider));
container.Register<IUserAuthRepository>(c =>
new OrmLiteAuthRepository(c.Resolve<IDbConnectionFactory>()));
var authRepo = (OrmLiteAuthRepository)container.Resolve<IUserAuthRepository>();
authRepo.CreateMissingTables();
// CreateUser(authRepo, 1, "testuser", null, "Test2#4%");
}
示例3: Configure
public override void Configure(Funq.Container container)
{
ServiceStack.Text.JsConfig<Guid>.SerializeFn = guid => guid.ToString();
ServiceStack.Text.JsConfig<Guid?>.SerializeFn = guid => guid.ToString();
//Configure User Defined REST Paths
//Routes
// .Add<Hello>("/hello")
// .Add<Hello>("/hello/{Name*}");
//Uncomment to change the default ServiceStack configuration
//SetConfig(new EndpointHostConfig {
//});
//Caching
container.Register<IRedisClientsManager>(c =>
new PooledRedisClientManager("localhost:6379"));
container.Register<ICacheClient>(c =>
(ICacheClient)c.Resolve<IRedisClientsManager>()
.GetCacheClient())
.ReusedWithin(Funq.ReuseScope.None);
//Enable Authentication
ConfigureAuth(container);
//Register all your dependencies
container.RegisterAutoWiredAs<TodoBizRepo, ITodoBizRepo>().ReusedWithin(ReuseScope.Request);
//Set MVC to use the same Funq IOC as ServiceStack
ControllerBuilder.Current.SetControllerFactory(new FunqControllerFactory(container));
}
示例4: Configure
public override void Configure(Funq.Container container)
{
Routes
.Add<Hello>("/hello")
.Add<Hello>("/hello/{Name}");
helloService = container.Resolve<HelloService>();
AuthFeature authFeature = new AuthFeature(() => new AuthUserSession(), new IAuthProvider[] {new BasicAuthProvider(), new TwitterAuthProvider(new AppSettings()),});
//authFeature.HtmlRedirect
Plugins.Add(authFeature);
MemoryCacheClient memoryCacheClient = new MemoryCacheClient();
container.Register<ICacheClient>(memoryCacheClient);
var userRepository = new InMemoryAuthRepository();
container.Register<IUserAuthRepository>(userRepository);
string hash;
string salt;
string password = "password";
new SaltedHash().GetHashAndSaltString(password, out hash, out salt);
userRepository.CreateUserAuth(
new UserAuth {
Id = 1,
DisplayName = "JoeUser",
Email = "[email protected]",
UserName = "juser",
FirstName = "Joe",
LastName = "User",
PasswordHash = hash,
Salt = salt,
}, password);
//IHttpResult authenticationRequired = helloService.AuthenticationRequired(); // ????
}
示例5: Configure
public override void Configure(Funq.Container container)
{
//Set JSON web services to return idiomatic JSON camelCase properties
ServiceStack.Text.JsConfig.EmitCamelCaseNames = true;
container.Register<ICacheClient>(new MemoryCacheClient());
container.Register<IDbConnectionFactory>(
new OrmLiteConnectionFactory(ConfigurationManager.ConnectionStrings["Db"].ToString(), SqlServerDialect.Provider));
Plugins.Add(new ValidationFeature());
container.RegisterValidators(typeof(MeetingValidator).Assembly);
//https://github.com/ServiceStack/ServiceStack/wiki/Authentication-and-authorization#userauth-persistence---the-iuserauthrepository
//Use ServiceStacks authentication/authorization persistence
var userRep = new OrmLiteAuthRepository(container.Resolve<IDbConnectionFactory>());
container.Register<IUserAuthRepository>(userRep);
userRep.CreateMissingTables(); //Create missing Auth
var appSettings = new AppSettings();
Plugins.Add(new AuthFeature(() => new AuthUserSession(), new IAuthProvider[]
{
new CredentialsAuthProvider(),
new GoogleOpenIdOAuthProvider(appSettings),
}));
Plugins.Add(new RegistrationFeature());
//Set MVC to use the same Funq IOC as ServiceStack
ControllerBuilder.Current.SetControllerFactory(new FunqControllerFactory(container));
}
示例6: Configure
public override void Configure(Funq.Container container)
{
//DbRegistration
var connectionString = "";// ConfigurationManager.ConnectionStrings["Bd"].ConnectionString;
container.Register<IDbConnectionFactory>(new OrmLiteConnectionFactory(connectionString, PostgreSqlDialect.Provider));
//IoC
//IoC
//container.RegisterAutoWired<Negocio>();
//Autentication
Plugins.Add(new AuthFeature(() => new AuthUserSession(), new IAuthProvider[] { new BasicAuthProvider() }));
container.Register<ICacheClient>(new MemoryCacheClient());
var userRepository = new InMemoryAuthRepository();
container.Register<IUserAuthRepository>(userRepository);
string hash;
string salt;
var usuario = "A1b2c3d4"; //ConfigurationManager.AppSettings["user"].ToString();
var pass = "A1b2c3d4";//ConfigurationManager.AppSettings["pass"].ToString();
new SaltedHash().GetHashAndSaltString(pass, out hash, out salt);
userRepository.CreateUserAuth(new UserAuth() { DisplayName = "Admin", Email = "[email protected]", FirstName = "pepe", LastName = "otro", UserName = usuario, PasswordHash = hash, Salt = salt }, pass);
//Routes
// .Add<ServiceStatus>("/ServiceStatus")
// .Add<ServiceStatus>("/ServiceStatus/{A}");
}
示例7: Configure
public override void Configure(Funq.Container container)
{
const Feature disableFeatures = Feature.Jsv | Feature.Soap;
SetConfig(new EndpointHostConfig
{
EnableFeatures = Feature.All.Remove(disableFeatures),
DebugMode = true,
GlobalResponseHeaders =
{
{ "Access-Control-Allow-Origin", "*" },
{ "Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS" },
}
});
container.Register<IResourceManager>(new ConfigurationResourceManager());
container.Register<IValidator<Todo>>(new TodoValidator());
container.Register(c => new Config(c.Resolve<IResourceManager>()));
var appConfig = container.Resolve<Config>();
container.Register<IDbConnectionFactory>(c =>
new OrmLiteConnectionFactory(appConfig.ConnectionString, SqlServerOrmLiteDialectProvider.Instance));
ConfigureDatabase.Init(container.Resolve<IDbConnectionFactory>());
Routes
.Add<Todos>("/todos")
.Add<Todos>("/todos/{Id}");
log.InfoFormat("AppHost Configured: " + DateTime.Now);
}
示例8: Configure
public override void Configure(Funq.Container container)
{
PathProvider.BinaryPath = "~".MapAbsolutePath();
ServiceStack.Text.JsConfig.EmitCamelCaseNames = true;
RequestBinders.Add(typeof(CommitAttempt), request => new CommitAttempt()
{
UserAgent = request.Headers["User-Agent"],
RawBody = request.GetRawBody()
});
Routes
.Add<CommitAttempt>("/commit")
.Add<CommitMessages>("/commits")
.Add<MessageErrors>("/errors")
// //.Add<CommitMessage>("/commitMessage")
;
var redisFactory = new PooledRedisClientManager("localhost:6379");
container.Register<IRedisClientsManager>(redisFactory);
//var mqHost = new RedisMqHost(redisFactory);
var mqHost = new RedisMqServer(redisFactory);
container.Register<IMessageService>(mqHost);
container.Register(mqHost.MessageFactory);
mqHost.RegisterHandler<CommitAttempt>(ServiceController.ExecuteMessage);
//mqHost.RegisterHandler<CommitMessage>(ServiceController.ExecuteMessage);
mqHost.Start();
}
示例9: Configure
public override void Configure(Funq.Container container)
{
//Set JSON web services to return idiomatic JSON camelCase properties
ServiceStack.Text.JsConfig.EmitCamelCaseNames = true;
//Configure User Defined REST Paths
Routes
.Add<Hello>("/hello")
.Add<Hello>("/hello/{Name*}")
.Add<Todo>("/todos")
.Add<Todo>("/todos/{Id}");
//Change the default ServiceStack configuration
//SetConfig(new EndpointHostConfig {
// DebugMode = true, //Show StackTraces in responses in development
//});
//Enable Authentication
//ConfigureAuth(container);
//Register all your dependencies
container.Register(new TodoRepository());
//Register In-Memory Cache provider.
//For Distributed Cache Providers Use: PooledRedisClientManager, BasicRedisClientManager or see: https://github.com/ServiceStack/ServiceStack/wiki/Caching
container.Register<ICacheClient>(new MemoryCacheClient());
container.Register<ISessionFactory>(c =>
new SessionFactory(c.Resolve<ICacheClient>()));
//Set MVC to use the same Funq IOC as ServiceStack
ControllerBuilder.Current.SetControllerFactory(new FunqControllerFactory(container));
}
示例10: Configure
public override void Configure(Funq.Container container)
{
//Set JSON web services to return idiomatic JSON camelCase properties
ServiceStack.Text.JsConfig.EmitCamelCaseNames = true;
//Configure User Defined REST Paths
Routes.Add<Hello>("/hello")
.Add<Hello>("/hello/{Name*}");
//Uncomment to change the default ServiceStack configuration
//SetConfig(new EndpointHostConfig {
//});
//Enable Authentication
//ConfigureAuth(container);
//IDbConnectionFactory dbFactory = new OrmLiteConnectionFactory(":memory:", false, SqliteOrmLiteDialectProvider.Instance);
IDbConnectionFactory dbFactory = new OrmLiteConnectionFactory(GetFileConnectionString(),
false, SqliteOrmLiteDialectProvider.Instance);
this.CreateSqliteInMemoryTables(dbFactory);
//string connectionString = ConfigurationManager.ConnectionStrings["ServiceStackTest"].ConnectionString;
//IDbConnectionFactory dbFactory = new OrmLiteConnectionFactory(connectionString, false, SqlServerOrmLiteDialectProvider.Instance);
container.Register<IDbConnectionFactory>(dbFactory);
//Register all your dependencies
container.Register(c => new TodoRepository(c.Resolve<IDbConnectionFactory>()));
}
示例11: Configure
public override void Configure(Funq.Container container)
{
//Resource manager
container.Register<IResourceManager>(new ConfigurationResourceManager());
var appSettings = container.Resolve<IResourceManager>();
Plugins.Add(new SessionFeature());
string redis = appSettings.GetString("redis_connection_string");
container.Register<IRedisClientsManager>(c => new BasicRedisClientManager(redis));
// Register storage for user sessions
container.Register<ICacheClient>(c => c.Resolve<IRedisClientsManager>().GetCacheClient()).ReusedWithin(Funq.ReuseScope.None);
container.Register<ISessionFactory>(c => new SessionFactory(c.Resolve<ICacheClient>()));
// Set JSON web services to return idiomatic JSON camelCase properties
ServiceStack.Text.JsConfig.EmitCamelCaseNames = true;
// Validation
Plugins.Add(new ValidationFeature());
container.RegisterValidators(typeof(Namespace_ApiProject).Assembly);
Plugins.Add(new AuthFeature(() => new CustomUserSession(),
new IAuthProvider[]
{
new FbOAuth2Provider(appSettings),
new VkOAuth2Provider(appSettings),
}));
//container.Register<ICacheClient>(new MemoryCacheClient());
Plugins.Add(new ServiceStack.Api.Swagger.SwaggerFeature());
container.Adapter = new StructureMapContainerAdapter();
}
示例12: Configure
public override void Configure(Funq.Container container)
{
SetConfig(new EndpointHostConfig { ServiceStackHandlerFactoryPath = "api"});
container.Register<IRedisClientsManager>(c => new PooledRedisClientManager());
container.Register<IRepository>(c => new Repository(c.Resolve<IRedisClientsManager>()));
}
示例13: Configure
public override void Configure(Funq.Container container)
{
//Set JSON web services to return idiomatic JSON camelCase properties
ServiceStack.Text.JsConfig.EmitCamelCaseNames = true;
var connectionString = ConfigurationManager.ConnectionStrings["conString"].ToString();
Register<IDbConnectionFactory>(new OrmLiteConnectionFactory(connectionString, SqlServerDialect.Provider));
var appSettings = new AppSettings();
Plugins.Add(new AuthFeature(() => new AuthUserSession(), new IAuthProvider[]
{
new CredentialsAuthProvider(),
new FacebookAuthProvider(appSettings),
new GoogleOpenIdOAuthProvider(appSettings),
}));
Plugins.Add(new RegistrationFeature());
var userRep = new OrmLiteAuthRepository(container.Resolve<IDbConnectionFactory>());
container.Register<IUserAuthRepository>(userRep);
var redisCon = ConfigurationManager.AppSettings["redisUrl"].ToString();
container.Register<IRedisClientsManager>(new PooledRedisClientManager(20, 60, redisCon));
container.Register<ICacheClient>(c => (ICacheClient)c.Resolve<IRedisClientsManager>().GetCacheClient());
userRep.CreateMissingTables();
//Set MVC to use the same Funq IOC as ServiceStack
ControllerBuilder.Current.SetControllerFactory(new FunqControllerFactory(container));
}
示例14: ConfigureAuth
/* Example ServiceStack Authentication and CustomUserSession */
private void ConfigureAuth(Funq.Container container)
{
var appSettings = new AppSettings();
//Default route: /auth/{provider}
Plugins.Add(new AuthFeature(() => new CustomUserSession(),
new IAuthProvider[] {
new CredentialsAuthProvider(appSettings),
new FacebookAuthProvider(appSettings),
new TwitterAuthProvider(appSettings),
new BasicAuthProvider(appSettings),
}));
//Default route: /register
Plugins.Add(new RegistrationFeature());
//Requires ConnectionString configured in Web.Config
var connectionString = ConfigurationManager.ConnectionStrings["AppDb"].ConnectionString;
container.Register<IDbConnectionFactory>(c =>
new OrmLiteConnectionFactory(connectionString, SqlServerDialect.Provider));
container.Register<IUserAuthRepository>(c =>
new OrmLiteAuthRepository(c.Resolve<IDbConnectionFactory>()));
container.Resolve<IUserAuthRepository>().InitSchema();
}
示例15: Configure
public override void Configure(Funq.Container container)
{
ServiceStack.Text.JsConfig.EmitCamelCaseNames = true;
// Remove some unused features that by default are included
Plugins.RemoveAll(p => p is CsvFormat);
Plugins.RemoveAll(p => p is MetadataFeature);
// Get disable features specified in Config file (i.e. Soap, Metadata, etc.)
var disabled = AppHostConfigHelper.GetDisabledFeatures();
// Construct Service Endpoint Host Configuration store
var config = new EndpointHostConfig
{
DefaultContentType = ContentType.Json,
WriteErrorsToResponse = false,
EnableFeatures = Feature.All.Remove(disabled),
AppendUtf8CharsetOnContentTypes = new HashSet<string> { ContentType.Html },
};
// Apply configuration
SetConfig(config);
// Initialize Databases & associated Routes
container.InitDatabaseRoutes(Routes);
// Register Cache Clients
container.Register<ICacheClient>(new MemoryCacheClient());
// Register Redis Client Manager
container.Register<IRedisClientsManager>(c =>
new PooledRedisClientManager("localhost:6379"));
}