首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我必须在动态WCF的app.config中有一个条目吗?

我必须在动态WCF的app.config中有一个条目吗?
EN

Stack Overflow用户
提问于 2015-01-04 11:51:23
回答 1查看 83关注 0票数 0

我使用以下代码在C# (WinForm - Desktop)中动态创建WCF客户端:

我的问题是,如果我提供了一个在我的appconfig文件中没有提到的EndPoint,它会抛出一个错误,告诉我找不到它。

是否必须在appconfig中指定端点才能使用以下代码:

代码语言:javascript
复制
BasicHttpBinding binding = new BasicHttpBinding(endPoint);
binding.SendTimeout = new TimeSpan(TimeSpan.TicksPerMillisecond * 5000);;
EndpointAddress address = new EndpointAddress(uri);
ChannelFactory<InformedMotion.Engine.wsMotion.ISync2Channel> factory = new ChannelFactory<InformedMotion.Engine.wsMotion.ISync2Channel>(binding, address);
wcf = factory.CreateChannel();

我是否可以以某种方式调整我的代码,使其独立于任何“资源”文件?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-04 12:04:27

它希望配置文件中有一个端点(其名称位于变量endpoint中,您在代码示例中没有共享)。

就我个人而言,我认为将大部分wcf配置放入配置文件是个好主意,因为在更改方面您非常灵活。

但这没必要。您可以通过编程方式定义端点,就像您已经这样做过的那样。只需将endpoint变量排除在BasicHttpBinding构造函数之外,这是不必要的,并导致在配置文件中查找:

代码语言:javascript
复制
BasicHttpBinding binding = new BasicHttpBinding();
binding.SendTimeout = new TimeSpan(TimeSpan.TicksPerMillisecond * 5000);

EndpointAddress address = new EndpointAddress(uri);
var factory = new ChannelFactory<InformedMotion.Engine.wsMotion.ISync2Channel>(binding, address);

wcf = factory.CreateChannel();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27765191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档