我有一个 Web 应用程序使用代理来调用 WCF 服务上的操作,该服务从 AS400 返回数据,例如与我们公司关联的不同销售区域、我们在现场的不同商店等。这些销售区域和商店不要经常改变,商店可能一年只增加两次,而且几年来地区都是一样的。
我想我的困惑在于 InstanceContextMode。当代理客户端调用 GetRegions() 或 GetStoresForRegion(int regionNumber)
如果我将 InstanceContextMode 设置为 single 并在任何服务操作调用之前初始化和填充区域和存储,这会有所帮助吗?基本上现在,它在每次调用时都会进行数据库查找,我认为没有必要。
所以用户登录到 Web 应用程序 -> Web 应用程序页面 -> 必须加载区域下拉列表 -> Web 开发人员调用代理来获取区域......但是当每个用户都使用 Web 应用程序时就会发生这种情况,所以基本上每次用户访问 Web 应用程序,代理调用数据库,我认为这是愚蠢的,我设置服务操作的方式有误,或者我完全误解了什么?
更新 - 服务是 IIS 托管的,所以这整个问题可能没有实际意义