我想为我的基于 ServiceStack 的 API 实现一个魔法令牌。每当任何值与此特殊标记匹配时,我想在我的应用程序中发出特殊操作信号。发生此分配的理想位置是在SS 处理完有线格式(JSV、JSON、SOAP 等)之后,并将值映射到 .NET 类型之前。目前,我想知道开始这样的事情的最佳方式。这是我可以连接的东西Configure()
吗?这是我必须覆盖和注入的东西吗?尽快在此问题上提供任何帮助或指导,我们将不胜感激。
问问题
53 次
1 回答
1
我不认为这是一个 ServiceStack 实现问题,而是你如何定义 DTO 的问题。鉴于此要求,据我了解,我会采用以下方法:
interface IOverridableDTO
{
Object overrideValue(Object value);
}
class BaseOverridableDTO : IOverridableDTO
{
bool doOverride {get(){return(//results of magic token check)};}
public Object overrideValue(Object value)
{ if {doOverride}
return(null); // or whatever the override needs to be
return(value);
}
}
class MyDTO : BaseOverridableDTO
{
// override the overrideValue() method, if necessary
private int myDTOProperty;
public int? MyDTOProperty {
get() {return overrideValue((Object)myDTOProperty)};
set(int value) {myDTOProperty = value;}
}
}
// use as follows:
void DoSomethingWithAnOverridableDTO(BaseOverridableDTO dtoObject)
{ ... }
于 2013-08-09T15:34:00.173 回答