问题标签 [castle-dictionaryadapter]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
configuration - Castle DictionaryAdapter 的字符串格式
我正在使用 Castle DictionaryAdapter 以从app.config获取应用程序设置作为接口(基于摆脱字符串(3):将您的应用程序设置提升到一个新的水平):
应用程序配置
是否可以将 DictionaryAdapter 配置为使用“yyyyMMdd-HHmm”之类的自定义字符串格式来转换存储在app.config中的值?
c# - 如何仅使用 Castle Core 2.5.2 中的 DictionaryAdapter?
我想在已经使用 Castle Core 1.2 的旧应用程序中仅使用 Castle Core 2.5.2 中的 DictionaryAdapter。除了从源代码编译 DictionaryAdapter 之外,有没有办法将这些库的公共部分分开?
c# - Castle DictionaryAdapter or JSON for reading app settings with nested dictionaries
I need to read my application settings as a dictionary like this: App1: values1, App2: values2, App3: values3
, where values
are having properties like Label
(string) and EnvVar
(dictionary < string, string >).
So far I have two options:
Is it possible to use DictionaryAdapter to read these settings? I didn't find any clue in the documentation or on Google, the best I can do so far is retrieve a list of strings and parse the strings in the code, which I would like to avoid if possible.
Another way would be to use a JSON deserializer, but it seems that I can't deserialize an interface, like I can with Castle DictionaryAdapter, so I need to define both the settings interface and the class that implements it. Is there any JSON library that can deserialize an interface like Castle DictionaryAdapter does?
c# - 通过传递给 OnFlushDirty 的 DictionaryAdapter 进行枚举
我正在尝试使用对象的OnFlushDirty
方法Castle.ActiveRecord
来实现对更改的通用审计:
Castle.ActiveRecord.Framework.DictionaryAdapter
在执行时,为每个previousState
和currentState
参数传递 OnFlushDirty 。
不幸DictionaryAdapter
的是不支持该GetEnumerator()
方法,抛出一个NotSupportedException
.
- 我应该期望 a
DictionaryAdapter
首先被传递到 OnFlushDirty 吗?和 - 假设我应该,我如何枚举 中的键/值对
DictionaryAdapter
,以便比较以前和当前的状态以进行审计?
c# - 使用 WebAPI,如何使用 CustomCreationConverter 为接口参数绑定返回 Castle DictionaryAdapter?
我正在使用 Json.NET 序列化程序使用 Microsoft WebAPI,并且正在尝试使用控制器参数绑定将 Castle DictionaryAdapter 实例化为 JSON 的反序列化对象。(这将允许我们检测某些属性是否在 JSON 中设置为 null,或者它们是否默认为 null,因为它们不在 JSON 中,而不必放弃内置的解析和绑定机制。)
但它不起作用,因为新对象在创建和传递给控制器之间消失了。
控制器使用接口参数声明:
我希望反序列化器实例化一个实现 IMessageModel 的 Castle DictionaryAdapter。
为此,我创建了 CustomCreationConverter 的子类,该子类由 DictionaryAdapterFactory 构造并覆盖 Create() 方法以返回动态 Castle 对象:
然后我向 HttpConfiguration 对象添加一个格式化程序,如下所示:
逐步调试调试器,我可以确认使用了 MessageModelConverter,调用了 Create(),并为实现 IMessageModel 的模型创建并返回了 Castle 代理。但是,当调用控制器时,模型参数为空。不知何故,实例化的类在转换器中的创建和控制器中的使用之间消失了。
但是,如果我将 Create 更改为使用实现 IMessageModel 的具体类,则一切正常,并且模型显示在控制器上:
或者,我可以声明一个实现 IMessageModel 并将所有调用委托给另一个接口对象的包装器,如下所示:
然后我像这样实现 Create():
这让我可以在 Castle DictionaryAdapter 中走私,而且效果也很好。模型包装器到达控制器,我可以提取字典适配器代理。
但是当我直接创建并返回 Castle DictionaryAdapter 时,控制器仍然只是得到一个空值。
知道为什么 WebAPI 讨厌 Castle DictionaryAdapter 吗?
castle - 如何告诉 dictionaryAdapter 监视来自 ConfigurationManager.AppSettings 的更改?
我使用 DictionaryAdapter 从我的 asp.net 网站的 appSettings 部分检索设置。IoC 配置在启动时完成一次,并且使用单个 Configuration.AppSettings 对象注册各种具有 getter 的不同接口:
Web.config 文件中托管的 appSettings 部分工作正常,但当我想在运行时更新某些设置时它有其缺点。因为它是 web.config 文件,所以整个应用程序被重新启动。我希望能够在运行时修改配置而不会重新启动网站作为副作用。因此,我搬到了单独的文件中:
现在,通过 ConfigurationManager.AppSettings["key"] 检索它们时会反映更改,但在通过 DictionaryAdapter 的动态接口访问时不会反映更改。
有没有办法告诉 DA 观察源代码的变化而不是缓存值?
c# - 向 Castle DictionaryAdapterFactory 接口添加方法
我正在关注本网站上的教程,该教程讨论了使用Castle DictionaryAdapterFactory 和一个接口来访问应用程序 app.setting 键,而无需在整个代码中使用字符串。
它的工作方式是您定义一个接口,该接口具有您的 app.settings 的键名
然后使用 DictionaryAdapterFactory 在界面和您的 app.settings 字典之间进行编码。
现在您可以像这样访问这些值:
我的问题是,是否有可能拥有比简单吸气剂更复杂的东西。例如,我可以告诉 DictionaryAdapterFactory 对其中一个键的值使用解密方法,然后返回它而不是键值吗?
我假设这是不可能的,因为您无法在接口中定义方法,但想看看是否还有另一种我遗漏的方法。