2

我为 OpenRasta 创建了一个新的自定义 JSON 编解码器,效果很好。

执行处理程序时,我需要将参数传递给编解码器的 write 方法,但找不到任何有关如何执行此操作的文档。

我注意到在实现的 WriteTo 方法中,有一个string[] codecParameters参数,但是不知道如何传递它们。

以前有人遇到过这个问题吗?谢谢

4

1 回答 1

3

编解码器参数是每个请求的。它们旨在与(例如)PathSegmentAsParameterUriDecorator 一起使用。

例如,如果您启用该装饰器,则路径 /resource;segment 将被 openrasta 视为 /resource,并且将使用“segment”值创建一个参数,并将其传递给编解码器。

如果您希望将信息从处理程序传递给编解码器,那么那里什么都没有,因为在架构上它违背了 OpenRasta 的设计,它专门阻止处理程序和编解码器相互通信。

如果您希望将配置数据传递给编解码器,请使用 ICodec 接口中的 Configuration 属性,该属性将填充您在配置时提供的任何对象。

您可以通过 .TranscodedBy(object configuration) 方法中的参数提供配置对象,或者如果您使用配置元模型进行自定义注册,则将配置添加到 CodecModel 上的 Configuration 属性(顺便在创建的 ResourceModel 对象中使用由流利的API)。

你有我可以帮助的具体情况吗?

于 2010-01-14T17:24:07.980 回答