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