如何在服务栈中删除*响应约定

本文关键字:删除 响应 约定 服务 | 更新日期: 2023-09-27 18:13:10

我正在尝试使用服务堆栈建立一个服务。服务需要满足soap 1.1标准。

现在我试图使用的操作对象是SendGetAccountResponse,我没有创建响应类,所以这将是一个异步服务。当我运行项目时,操作/消息不存在。

现在,如果我把DTO重命名为sendgetaccountry_response或SendGetAccountNotification,那么这个操作就出现了,我可以调用这个操作。

有些东西告诉我,有某种约定,在它的末尾停止操作,并将其显示并用作请求对象。

有谁知道我可以在哪里/如何关闭这些约定?

DTO命名约定

命名约定:{请求DTO名称}+响应

示例:Request DTO: deletecusstomer -> Response DTO: deletecusstomerresponse。如果让服务保持原样,那么REST端点就不存在了。所以你需要把它们都连接到同一个URL上。

https://github.com/ServiceStack/ServiceStack/wiki/SOAP-support

如何在服务栈中删除*响应约定

{RequestDtoName}Response约定不可移动。

用于猜测匹配请求DTO的默认响应应该是什么。响应类型可以通过在服务动作签名中指定来重写,例如:

public class MyService
{
    public MyCustomResult Get(MyRequest request} {}
} 

或通过在请求DTO上使用IReturn<T>标记指定它,例如:

public class MyRequest : IReturn<MyCustomResult> {}