1

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 を使用する場合、SOAP は HTTP POST のみをサポートするため、Web サービスごとに 1 つの RPC メソッドに制限されます。

これを行う最善の方法は、 Serviceから継承し、サービスの呼び出しに使用された HTTP 動詞またはエンドポイントに関係なく呼び出されるAny()メソッドを実装することです。

于 2011-07-25T06:40:33.050 に答える