1

我想为我的基于 ServiceStack 的 API 实现一个魔法令牌。每当任何值与此特殊标记匹配时,我想在我的应用程序中发出特殊操作信号。发生此分配的理想位置是SS 处理完有线格式(JSV、JSON、SOAP 等)之后,并将值映射到 .NET 类型之前。目前,我想知道开始这样的事情的最佳方式。这是我可以连接的东西Configure()吗?这是我必须覆盖和注入的东西吗?尽快在此问题上提供任何帮助或指导,我们将不胜感激。

4

1 回答 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 回答