【问题标题】:What happened to 'nice' generated class names in .NET for web services?在 .NET 中用于 Web 服务的“好”生成的类名发生了什么?
【发布时间】:2008-12-05 22:48:51
【问题描述】:

我正在使用 .NET 3.5 调用 FedEx 网络服务。

在 Fedex 的示例代码 (VS2005) 中,它有如下内容:

AddressValidationService addressValidationService = new AddressValidationService();
AddressValidationReply reply = addressValidationService.addressValidation(request);

这很好。我喜欢。我正在调用“服务”上的方法。

但在 .NET 3.5 中,我是从相同的 WSDL 生成的:

AddressValidationPortTypeClient addressValidationService = new AddressValidationPortTypeClient();
AddressValidationReply reply = addressValidationService.addressValidation(request);

这是什么'PortTypeClient' *#&$。我对进步很满意,但这似乎有点疯狂。我不知道这意味着什么。

是否有任何文档告诉我发生了什么变化以及为什么?

【问题讨论】:

    标签: .net web-services generated-code porttype


    【解决方案1】:

    你用的是什么工具? wsdl.exe?或svcutil.exe?如果您要添加“服务引用”,那就是 WCF,因此使用 svcutil.exe - 这会将事物命名为客户端。但是,仍然可以选择使用旧的 wsdl.exe 工具。在 IDE 中,您可以通过“Advanced...”->“Add Web Reference...”执行此操作 - 这将生成 2.0 样式的服务代理。

    重新命名; WCF 是正确的 - 代理类是客户端,而不是服务。

    【讨论】:

    • 我想我使用的是 WSDL.EXE。我以前看过“高级”,但错过了“添加 Web 参考”。是的,你当然是对的。这是我不喜欢的“PortTypeClient”部分。只是“客户”有什么问题:-)
    • 即使我不知道自己在使用 WCF,但将 WCF 添加到我的简历中在道德上是否有害 :-)?
    猜你喜欢
    • 1970-01-01
    • 2010-12-15
    • 1970-01-01
    • 1970-01-01
    • 2019-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多