1

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

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

现在,如果我将该 DTO 重命名为 SendGetAccountR_esponse 或 SendGetAccountNotification,则会出现该操作,我可以调用该操作。

有些事情告诉我,有某种约定可以停止在其末尾使用 Response 的操作以显示并用作请求对象。

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

DTO 命名约定

命名约定:{Request DTO Name} + Response

示例:请求 DTO:DeleteCustomer --> 响应 DTO:DeleteCustomerResponse。如果您将服务保持原样,则 REST 端点将不存在。因此,您需要将它们全部连接到同一个 URL。

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

4

1 回答 1

2

{RequestDtoName}Response约定是不可删除的。

它用于猜测匹配的请求 DTO 的默认响应应该是什么。可以通过在服务操作签名上指定 in 来覆盖响应类型,例如:

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

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

public class MyRequest : IReturn<MyCustomResult> {}
于 2013-05-13T03:45:19.200 回答