添加为连接服务时,使用 web.config 配置 WCFservice 客户端(sdk-project 样式)

Configure WCFservice client using web.config when added as connected service (sdk-project style)

提问人:P. Zantinge 提问时间:9/2/2020 更新时间:9/4/2020 访问量:116

问:

我们将项目转换为“新”SDk 格式的 csproj 文件。若要添加新的 WCF Web 服务,请右键单击项目并选择:“Add => Connected Service”。然后,我们选择“Microsoft WCF Web 服务引用提供程序”。这一切都有效,但生成的代码不包含将终结点名称传递给服务客户端构造函数的选项(这是较旧的 csproj 添加服务引用选项中的一个选项),因此它将在 web.config 文件中执行查找以配置服务(终结点和行为 e.d)。

看起来配置都是在生成的服务代码文件 (servicereference.cs) 中硬编码的。我知道它是一个分部类,可以添加一个额外的构造函数,接受端点名称作为字符串,但我很懒惰,相信它应该能够开箱即用。ctor(string enpointname):base(endpointname){}

C# 绑定 WCF 客户端 服务引用

评论

0赞 Ding Peng 9/3/2020
“Microsoft WCF Web 服务引用提供程序”是核心中的工具,它不会生成 web.config。
0赞 P. Zantinge 9/4/2020
它不是一个 .Net 核心项目,但相同的工具也可能用于完整的框架项目(sdk 版本)。然而,这并不能向我解释为什么所有内容(主要是端点地址、客户端证书)都是硬编码的,并且没有生成可配置的代码。但另一方面,应该使用什么,因为核心提供了多个选项,并且我猜证书以不同的方式存储在不同的系统上。

答:

0赞 P. Zantinge 9/4/2020 #1

我认为问题(和评论)已经包含答案。使用配置文件的唯一方法是在新文件的分部类中添加构造函数。