1

如何在一项服务中继承所有 DTO 资源?

比如说,

我有资源类:

[RestService("/getstudentname", "GET,POST,PUT,OPTIONS")] 
public class RestResourcename 
{ 
public string Name { get; set; } 
}

[RestService("/getstudentID", "GET,POST,PUT,OPTIONS")] 
public class CNextRestResourceid 
{ 
 public string Name { get; set; } 
} 

我有我的服务类: 1.如何在此服务中继承另一个 DTO 类???????? 2.我需要为此创建单独的类吗????

public class CnextRestService : RestServiceBase<RestResourcename> 
{ 
 public override object OnGet(RestResourcename request) 
 { 
    return request; 
 } 
} 

请就这个问题给我建议......

4

1 回答 1

3

您可以在同一个 Web 服务中的同一个资源(又名请求)DTO 上实现多个 HTTP 动词,例如:

public class CustomersService : Service
{
    object Get(GetCustomer request){...}
    object Post(CreateCustomer request){...}
    object Put(UpdateCustomer request){...}
    object Delete(DeleteCustomer request){...}
}

这允许您为以下 HTTP 操作提供多种实现:

GET   /customers
GET   /customers/1
POST  /customers
PUT   /customers/1
DELETE /customers/1

尽管如果您使用 SOAP,则每个 Web 服务只能使用 1 个 RPC 方法,因为 SOAP 仅支持 HTTP POST。

最好的方法是从Service继承并实现Any()方法,无论使用哪个 HTTP 动词或端点来调用服务,都会调用该方法。

于 2011-07-25T06:40:33.050 回答