Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ServiceStack格式-显示数据的XML,其他不显示_C#_Web Services_<img Src="//i.stack.imgur.com/WM7S8.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">servicestack - Fatal编程技术网 servicestack,C#,Web Services,servicestack" /> servicestack,C#,Web Services,servicestack" />

C# ServiceStack格式-显示数据的XML,其他不显示

C# ServiceStack格式-显示数据的XML,其他不显示,c#,web-services,servicestack,C#,Web Services,servicestack,当我运行这段代码时,数据没有显示,我得到一个空白屏幕。 如果我在其他格式中单击:json“,它将返回“{}”空白数据 然而,它实际上包含数据。如果在其他格式中单击:xml“,它将返回完整数据 那么,为什么我的XML可以工作,但我的HTML和JSON却显示空白屏幕 [Route("customers", "GET")] [Route("customers/{Id}", "GET")] [Route("customers/page/{Page}", "GET")] [Route("customers

当我运行这段代码时,数据没有显示,我得到一个空白屏幕。 如果我在其他格式中单击
:json“
,它将返回
“{}”
空白数据

然而,它实际上包含数据。如果在其他格式中单击
:xml“
,它将返回完整数据

那么,为什么我的XML可以工作,但我的HTML和JSON却显示空白屏幕

[Route("customers", "GET")]
[Route("customers/{Id}", "GET")]
[Route("customers/page/{Page}", "GET")]
[Route("customers/page/{Page}/size/{Size}", "GET")]
[Route("customers/{Id}/orders", "GET")]
[Route("customers/{Id}/orders/page/{Page}", "GET")]
[Route("customers/{Id}/orders/page/{Page}/size/{Size}", "GET")]
public class Customers {
    public Customers() { Page = 1; Size = 20; }
    public string Id { get; set; }
    public int Page { get; set; }
    public int Size { get; set; }
}
public class CustomersResponse {
    public IList<Customer> Customers;
    public int Pages;
}
public class CustomerDetailResponse {
    public Customer Customer;
    public IList<Order> Orders;
    public int Pages;
}
public class CustomersService : BaseService {
    public ICustomersManager CustomersManager { get; set; }
    public IOrdersManager OrdersManager { get; set; }
    public IValidator<Customers> Validator { get; set; }  
    public object Get(Customers req) {
        var result = Validator.Validate(req);
        if(!result.IsValid) return result.ToResponseDto();
        if (req.Id == null) {
            return new CustomersResponse {
                Customers = CustomersManager.GetCustomers(req), 
                Pages = CustomersManager.GetCustomersPageCount(req) };
        }
        else {
            return new CustomerDetailResponse {
                Customer = CustomersManager.GetCustomer(req), 
                Orders = OrdersManager.GetOrders(req), 
                Pages = OrdersManager.GetOrdersPageCount(req) };
        }
    }
}
[路线(“客户”,“获取”)]
[路由(“客户/{Id}”,“获取”)]
[路由(“客户/page/{page}”,“获取”)]
[路由(“客户/page/{page}/size/{size}”,“获取”)]
[路线(“客户/{Id}/订单”,“获取”)]
[路线(“客户/{Id}/orders/page/{page}”,“获取”)]
[路线(“客户/{Id}/orders/page/{page}/size/{size}”,“获取”)]
公共类客户{
公共客户(){Page=1;Size=20;}
公共字符串Id{get;set;}
公共整型页{get;set;}
公共整数大小{get;set;}
}
公共类CustomerResponse{
公共IList客户;
公共int页面;
}
公共类CustomerDetailResponse{
公众客户;
公共秩序;
公共int页面;
}
公共类CustomerService:BaseService{
公共ICCustomersManager客户管理器{get;set;}
公共IOrdersManager命令管理器{get;set;}
公共IValidator验证器{get;set;}
公共对象获取(客户请求){
var结果=验证程序验证(req);
如果(!result.IsValid)返回result.ToResponseDto();
如果(req.Id==null){
返回新CustomerResponse{
Customers=CustomersManager.GetCustomers(req),
Pages=CustomersManager.GetCustomersPageCount(req)};
}
否则{
返回新的CustomerDetailResponse{
Customer=CustomersManager.GetCustomer(请求),
Orders=OrdersManager.GetOrders(req),
Pages=OrdersManager.GetOrdersPageCount(req)};
}
}
}
默认情况下,仅序列化公共属性,您的DTO具有字段和属性的混合。将所有DTO更改为public属性,或者将其添加到
AppHost.Configure()

默认情况下,仅序列化公共属性,您的DTO混合了字段和属性。将所有DTO更改为public属性,或者将其添加到
AppHost.Configure()


你太棒了。谢谢你的解释。我自己永远也不会明白,你太棒了。谢谢你的解释。我自己永远也不会明白这一点。
ServiceStack.Text.JsConfig.IncludePublicFields = true;