几个非常基本的问题。我是 WCF 的新手,我正在构建一个应用程序,它有一个服务项目、一个 Web 应用程序项目和一些用于业务逻辑等的类库项目。
我在我的 IIS 上本地托管 WCF 并尝试向项目添加服务引用。
问题 1.添加引用时,我应该为每个项目单独添加服务引用还是有办法在项目之间共享相同的服务引用?
我问的原因是因为如果我添加单独的引用,每个引用都有自己的命名空间,当我必须在项目之间传递相同的对象时,我会得到一个 InvalidCastException,因为每个 ServiceClient 都有不同的命名空间。
示例 - Site.Business.XDataService.XDataServiceClient().GetItem() 与 Site.Web.XDataService.XDataServiceClient().GetItem() 不同
问题2.我在实现Service接口的类中指定了本地服务的地址如下-
[ServiceBehavior(Namespace = "http://localhost:801/XDataService.svc", IncludeExceptionDetailInFaults = true)]
这似乎不对。如果我将代码移动到不同的/实时环境,我显然必须再次更改这部分并重新编译。我在哪里可以指定这个(Web.Config?),这样我就可以更改这个地址而不必重建我的应用程序?
欣赏任何形式的洞察力。谢谢!