C# 哪种方式将数量清单返回给客户?
我想将产品的可用数量列表(客户可以购买)返回给客户(例如,1,2,3…,200)。我们正在考虑三种方法:C# 哪种方式将数量清单返回给客户?,c#,jquery,asp.net,.net,ajax,C#,Jquery,Asp.net,.net,Ajax,我想将产品的可用数量列表(客户可以购买)返回给客户(例如,1,2,3…,200)。我们正在考虑三种方法: 将完整的数量列表返回给客户,客户只需绑定即可。这是当前的实现,很容易实现,但这是对带宽的浪费 返回分开的最小数量和最大数量,客户端必须建立一个列表,然后绑定它们。这是我的想法,因为我们可以避免解析 以1-200的形式返回字符串,然后客户端必须解析为数字,构建列表,然后绑定它们。这是我拼贴的想法,他说他在某处读过(虽然他不记得在哪里),这是返回数量清单的流行方式 我们当前的需求不支持分段数
- 将完整的数量列表返回给客户,客户只需绑定即可。这是当前的实现,很容易实现,但这是对带宽的浪费
- 返回分开的最小数量和最大数量,客户端必须建立一个列表,然后绑定它们。这是我的想法,因为我们可以避免解析
- 以1-200的形式返回字符串,然后客户端必须解析为数字,构建列表,然后绑定它们。这是我拼贴的想法,他说他在某处读过(虽然他不记得在哪里),这是返回数量清单的流行方式
谢谢。选项1:返回一个范围内所有整数的列表对我来说是极大的浪费。谁知道将来需要多少数量?如果你曾经有过可以订购数万台的产品,这可能会导致大问题 选项3:当输入需要可读或可编辑时,可解析格式非常有用。一个很好的例子是MS Word中的打印对话框;用户可以选择打印“1、2、7、9、11”或“5-15”等页面,但解析引入了一种全新的漏洞可能性。即使在简单的示例“1-200”中,也有可能将“-”解释为给出“-200”或类似符号的减号。如果接口是机器对机器的,我总是喜欢一个语义清晰的接口。通过明确定义的接口(例如参数“rangeFrom”和“rangeTo”),消除了解释的模糊性,唯一需要解决的问题是实现。我不知道您的客户机是什么,但在任何语言中,生成1到200之间的整数列表都应该非常简单 我肯定会选择选项2:它是一个明确定义的接口。它很容易建造,而且在电线上效率很高 根据你想做的未来证明,你可以考虑选择选项2并伪造一种重载。因此,今天您只需简单地返回以下内容:
{
"listType": "range",
"rangeFrom": 1,
"rangeTo": 200
}
客户端应该检查“listType”返回值,目前,它总是希望它是“range”。但在将来,您可以添加其他类型。对于axample
{
"listType": "increment",
"rangeFrom": 2,
"rangeto": 20,
"inc": 2
}
// Interpreted by client as:
// 2, 4, 6, 8, 10, 12, 14, 16, 18, 20
{
"listType": "valuelist",
"values": [1, 2, 5, 20]
}
// Interpreted by client as:
// 1, 2, 5, 20
这在今天将是简单而有效的,但如果以后有新的需求出现,您可以轻松地进行扩展,而不会破坏兼容性。您能否提供更多信息:数量是多少?会有1,1200,1,1,0,0,0吗?还是它是1,2,3,4(停止)?我更新了问题,它只能是1,2,3,4,5…,MaxQuantity带宽是这里的一个大问题吗?我的意思是,对于列表1,2,3,…,200700字节/产品,您可能会看到700字节的数据,我们有数千种产品:)。如果有很多人访问我们的网站,那将是一场噩梦,你熟悉json吗?您可以发送/接收json格式的数据。