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