[英]Filtering Data in ASP.NET Web Services
我已经使用这个网站很长一段时间了,通常可以通过浏览问题和以下标签来整理我的问题。 然而,我最近遇到了一个在众多问题中很难查找的问题——我希望你们中的一些人能够分享你的意见。
由于我的问题很难放在一行中,因此在标题中,我将尝试提供有关我遇到的问题的更多详细信息。 所以,正如标题所说,我需要过滤或限制一些响应数据,我的标准 ASP.NET 基于肥皂的 Web 服务在调用各种 web 方法时返回。 web 服务用于返回其他系统(或多或少的数据存储库)使用的数据,今天的客户端能够指定一些关于如何过滤数据的参数,并返回一整套数据。
好吧,我想很简单,只需在现有的 web 方法上添加额外的过滤选项,这些方法需要更多的过滤,在服务器端进行调整,我们都设置为 go - 好吧,不幸的是结果有点比这个更棘手。
我面临的问题是我正在开发在生产环境中运行的 web 服务,需要对其进行扩展,以便可以将其他过滤器应用于现有的 web 方法被调用而不会影响已经由客户使用其客户端存根使用的其他系统。 这是我有点困扰的地方,因为我似乎无法找到扩展当前 web 服务的“正确解决方案”。
今天,过滤器作为自定义数据结构发送,其中包含有关应过滤哪些数据的信息,但我不确定是否可以简单地向该数据结构添加更多信息而无需在客户端破坏代码? 我的一位同事建议我可以实施一个解决方案,在该解决方案中,我将在服务器端扩展 web.config 以保留一个部分,其中包含有关应排除(过滤掉)哪些数据的详细信息,但我没有找到这个成为一个有远见的可行解决方案 - 我不相信客户有这样的选择,因为这很可能在某些时候 go 错误。 所以我正在寻找的解决方案是一种我可以对我从客户端请求的数据应用“第二个过滤器”的方法,所以它应该只给出一小部分,而不是得到一整套数据,它以这样的方式实现过滤器可以很容易地修改,并且不能影响当前的客户端调用。
关于我应该如何解决这个问题的任何建议?
谢谢,亲切的问候。 E.
一个非常常见的做法是创建应用程序的另一个实例或使用 url 的一部分来表示他们连接到的端点的版本,也许虚拟目录是日期。 这样,旧呼叫将 go 转至旧 API,新呼叫将进入新 API。
http://api.example.com/dostuff
对比
http://api.example.com/6-7-2011/dostuff
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.