当前位置: 首页 > 面试题库 >

如何使用Structuremap在自定义名称空间中将Redis设置为ServiceStack Web应用程序上的缓存和MQ

席安康
2023-03-14
问题内容

我想设置我的应用程序以将Redis用作会话等的缓存以及运行我的消息队列。

我的应用程序是一个ASP.net MVC网站以及基于ServiceStack的Json服务提供商。最佳的配置方式是什么?

我希望能够将IMessageQueueClient传递到我的服务类和控制器中,以便可以将任务添加到队列中。

我在什么范围制造方面迷失了方向。我的代码如下:

//Redis Client Manager
var pooledClientManager = new PooledRedisClientManager(ConfigurationManager.AppSettings.Get("RedisServer"));
pooledClientManager.NamespacePrefix = "myApp-";
For<IRedisClientsManager>().Singleton().Use(x => pooledClientManager);

//Cache
For<ICacheClient>().Use(c => c.GetInstance<IRedisClientsManager>().GetCacheClient());

//MQ
MyApplication.MqService = new RedisMqServer(pooledClientManager);
For<IMessageQueueClient>().Singleton(). Use(
             x => MyApplication.MqService.CreateMessageQueueClient());
For<IMessageService>().Singleton().Use(x=>MyApplication.MqService);

然后,我稍后再调用MyApplication.MqService.RegisterHandler(etc等);

  1. 这可行,但是我不确信自己的范围设定正确。
  2. 命名空间前缀不起作用,我需要此功能。

感谢您的帮助!


问题答案:

NamespacePrefix是只对由所述保持RedisClients内部数据结构,并且不影响用户指定的密钥。



 类似资料:
  • 我正在使用selenium+webdriver并尝试测试不同的用户代理。我正在为Windows上的Chrome添加用户代理,例如: 现在,当我登录查看登录详细信息时,它说的是Windows Chrome,但当我想把它重命名为其他东西时,就像这样:

  • 我正在尝试使用camel Bindy将管道分隔的字符串数据转换为xml。但它正在生成标记和类名。此外,我想添加命名空间到我的标记。 我试图使用Camel进程来生成自定义标记,但它不起作用。 输出result.xml 上面发布的是给定转换的输出。在第一个标记中,它打印带有整个包和类名的标记名(例如:com.abc.domain.pojo)。另外,我试图生成命名空间,但在输出中没有生成命名空间。

  • 我的数据有一个ATOM-XML表示,通过Spring MVC web服务返回。我使用JAXB进行序列化,我有许多名称空间,但我希望默认名称空间设置为Atom,不带前缀。下面是我到目前为止在中的内容,但是atom前缀被设置为NS3。 另外,我注意到chrome中显示的名称空间,而Firefox中没有。

  • 编辑: 我的理解可能是错误的,但这是一个不同于以编程方式设置语言环境的问题,因为我已经实现了那里建议的答案,我仍然有一些问题。 在这个问题中,我请求帮助解决这些问题(在设置的语言环境中没有参考的问题)。 原始帖子 我试图在我的应用程序中实现自定义语言环境,并遇到几个问题。 在调用setContentView之前,我在所有活动中使用以下代码: 编辑: 我还测试了它与: 我添加到Android中的所有

  • 问题内容: 我正在使用Java 1.6为Mac编写Java Swing应用程序。我阅读了许多教程,它们逐步引导您如何更好地将Java应用程序与OS X集成在一起,但是有一件事我还没有开始工作。我无法显示应用程序名称(Mac菜单栏中的第一个粗体菜单项)。默认情况下,显示主类的全限定类名,但我无法更改它。 该站点说您必须设置以下属性: 但这不起作用(我正在运行10.6,所以也许属性名称已更改?)。 当

  • 是否可以在Android应用程序中设置自定义字体? 我尝试了这里发布的内容,但我不知道我的扩展应用程序类在哪里。。。 有什么帮助吗? 编辑: 我尝试了以下方法: 添加一个资产文件夹并将字体插入其中,如下所示: > 从我的调用这个新类。 我选择了我的风格并添加了它。 MyApp。java: AndroidManifest。xml: 样式。xml: 但我的字体还是不是长宁。。。有什么想法吗? 然后调用