servicestack,base-class,C#,servicestack,Base Class" /> servicestack,base-class,C#,servicestack,Base Class" />

C# ServiceStack服务和默认的GET/POST/DELETE方法

C# ServiceStack服务和默认的GET/POST/DELETE方法,c#,servicestack,base-class,C#,servicestack,Base Class,背景/问题 我已经用ServiceStack创建了几个服务,我想继承一个基类 问题是这个基类有两个方法,不幸的是我不能很容易地更改它们的名称 其中一个方法名恰好是Update,另一个方法名恰好是Delete 就服务而言,这很好,因为我没有计划在我的服务中使用的实际Update方法,并且我将用于服务的Delete方法采用不同的参数 问题是 我不能在另一个服务中重复使用这个基类,因为这样它就会被识别为对这些方法使用相同的RequestDTO,并且 这些是我不想作为服务的一部分公开的方法 我的问题 是

背景/问题

我已经用ServiceStack创建了几个服务,我想继承一个基类

问题是这个基类有两个方法,不幸的是我不能很容易地更改它们的名称

其中一个方法名恰好是
Update
,另一个方法名恰好是
Delete

就服务而言,这很好,因为我没有计划在我的服务中使用的实际
Update
方法,并且我将用于服务的
Delete
方法采用不同的参数

问题是

  • 我不能在另一个服务中重复使用这个基类,因为这样它就会被识别为对这些方法使用相同的RequestDTO,并且

  • 这些是我不想作为服务的一部分公开的方法

  • 我的问题

    是否有一个属性或类似的东西可以让ServiceStack忽略这些方法?类似于
    [IgnoreMethod]
    的东西

    如果没有,是否有一种简单的方法可以使用它找到的任何名为Get/Post/Delete/Update等的方法来更改ServiceStack的默认映射


    例如,我如何获得一个像
    public ResponseDTO GetEntity(RequestDTO request)
    这样的方法作为默认的
    get
    方法,而不是当前的
    public object get(params)

    这并没有回答关于更改ServiceStack行为的一些特定问题,但为什么不呢?让现有类成为服务类的属性,并在服务类中使用干净的Get/Put/Post/Delete/All方法,这些方法调用共享类上的适当方法来完成工作。谢谢,是的,这可能是更好的解决方案,我可能会将其改为“更干净”的方法。不过,仍然很好奇是否有必要更改用于HTTP谓词的默认方法。