VS2019 ASP.NET添加Connected Service仅生成Reference.cs问题排查
选错服务引用工具:你大概率误选了WCF Web Service Reference Provider以外的Connected Service模板,导致生成的是基于HttpClient的异步代理,而非ASMX传统的同步/异步混合代理。重新添加时,务必选WCF Web Service Reference Provider,输入ASMX的完整URL(比如
http://localhost/YourService.asmx)。命名空间不匹配:教程里的
localhost.Service1是默认命名空间,你可能在配置引用时改了命名空间,或者生成的reference.cs里的命名空间是updatelogger。打开reference.cs看顶部的namespace声明,要是是updatelogger,就得用updatelogger.Service1来实例化,而不是localhost.Service1。没开同步方法生成:新版WCF工具默认只生成异步方法,你可以在添加服务引用的Advanced设置里,勾选Generate synchronous operations,这样就能生成和教程一致的同步实例化、调用方法。
服务URL输入错误:如果输入的不是ASMX的正确URL(比如输了静态页面或其他服务地址),工具解析不了WSDL,就会生成不完整的代理。先确认URL在浏览器里能打开,加上
?wsdl能看到完整的WSDL内容。Connected Service模板选错:生成
updatelogger文件夹说明你选了非标准的Connected Service模板(比如和更新日志相关的工具),不是ASMX对应的WCF引用模板。重新添加时仔细看模板名称,选对针对ASMX的选项。
内容的提问来源于stack exchange,提问作者Thomas

