我有一个与 WCF 服务通信以访问数据的项目。有时服务器是本地的,然后它使用 sql 存储过程直接查询数据库。
为了解释,假设我有以下方法:
Asset GetAsset(int AssetID);
此方法要么由 WCF 服务公开,要么在直接查询数据库时在本地使用。我遇到的问题是 WCF 服务的公开方法的 Asset 对象与本地方法不同。即暴露的服务方法是:
WcfService.Asset GetAsset(int AssetID);
直接DB查询方法是:
LocalNamespace.Asset GetAsset(int AssetID);
虽然可以,但我不想让 Direct DB 查询方法使用 WcfService Asset 对象,因为我希望能够在需要时删除 WcfService。理想情况下,我想将公共对象/接口捆绑在一个单独的程序集中,我可以在本地和服务上使用它。
我还有选择吗?也许我对 Referenced Assemblies 选项知之甚少,尽管它已打开。