我想知道是否可以使用类型公共类所要求的模板化DTO
RequestDTO<T, U> where T : class where U : class
{
public T ContextRequest { get; set; }
public U Request { get; set; }
}
并将其传递给我的服务部门......
我尝试了一个类型
的简单示例public class MyContext
{
//removed some fields
public int IdUser {get;set;}
}
public class MyType1Request
{
public int IdRequest {get;set;}
}
public class MyType2Request
{
public DateTime SomeReallyImportantDate { get; set; }
}
public class UtenteService : Service
{
public UtenteService()
{
}
public string Any(RequestDTO<MyContext,MyType1Request> request)
{
return string.Format("User:{0} - IDRequest: {1}", request.ContextRequest.IdUser, request.Request.IDRequest);
}
public object Any(RequestDTO<MyContext, MyType2Request> request)
{
return string.Format("Utente:{0} - Data : {1}", request.ContextRequest.IDUtente, request.Request.DataLavorativa);
}
但到目前为止,我尝试访问该服务
Sequence contains more than one matching element
另一种解决方案是在每个我的DTO Request对象中实现一个IContext(也许是IContextExt IContextSpecificManner)到请求对象中...但我更愿意使用第一种方法
由于
答案 0 :(得分:0)
AFAIK - 这应该有效。我在这里唯一缺少的是,你需要在apphost中注册路由,如:
Routes.Add>("/Utente/{IdUser}/{IdRequest}")