我们有两个客户端应用程序(一个 Web 应用程序和一个代理应用程序)访问同一服务上的方法,但要求略有不同。我的团队希望通过将 ApplicationType 参数传递给每个方法来控制服务端的行为——它本质上是一个包含调用客户端应用程序名称的枚举——然后用作数据库查找的键以配置服务客户特定的选项。
这让我感到不安,因为我认为服务不应该真的知道哪个客户正在调用它。有人告诉我,这样做比通过方法调用动态传递大量选项更容易。
客户端应用程序告诉服务他们是谁有什么问题吗?或者传递配置键和一组参数化选项之间真的没有区别吗?
我可以看到的一个直接问题是,如果我们曾经向第三方运行的另一个客户端打开服务,我们必须在本地为他们维护他们的配置设置。目前我们拥有这两个客户端应用程序,所以这不是什么大问题。
你会怎么做?