场景:在类库项目中使用web服务,它在app.config
中生成绑定名称和端点。如果我在UI项目中引用类库,我还必须在web.config
中包含相同的配置。我的问题是,由于依赖关系,我不想将此配置包含在web.config
中。我想使用程序集,因为它拥有没有任何依赖项。
我的解决方案方法:当我在类库项目中创建代理类实例时,它向我展示了传递绑定和端点的构造函数。示例
wsProxy proxyClass = new wsProxy(System.ServiceModel.Channels.Binding binding, System.ServiceModel.Endpoint endpoint)
我想知道是否可以传递与app.config
中相同的绑定和端点,这样就不必在app.config
和web.config
中都包含。
发布于 2014-02-19 09:06:03
是的,您可以创建这些类,而无需在主.config文件中进行匹配的配置。在哪里获得该配置取决于您自己;它可能是App.config、YML配置文件、数据库等。只要代码满足您正在实例化的类的构造函数要求,就可以了。
发布于 2014-02-19 09:25:51
使用WCF,配置文件中定义的所有内容都可以通过编程方式完成。
只需创建实例化客户端所需的对象即可。根据您希望应用程序利用的WCF特性,您将需要EndpointAddress,AddressHeaderCollection,Uri、EndpointIdentity (DnsEndpointIdentity或SpnEndpointIdentity),Binding (WSHttpBinding,NetTcpBinding等类)。您可能希望从一个解耦的集中式配置存储(如数据库)中填充这些对象。
https://stackoverflow.com/questions/21886979
复制