【发布时间】:2011-03-07 05:45:44
【问题描述】:
背景:
我正在创建一个 Web 服务站点,它将通过 SOAP 和可能的其他协议提供多种类型的简单服务。目标是让转换、RSS 解析、垃圾邮件检查和许多其他类型的工作变得容易。该网站主要面向初学者开发者。
我的问题:
我从未为此开发过任何 C# 或 .NET。多年前我确实破解了一些 VB6,但仅此而已。现在我需要一些在 C# 中通过 SOAP 进行 RPC 调用的示例。我曾尝试搜索网络和 Stack Overflow 以找到此内容,但没有找到很多资源,而且我不知道如何对资源进行排名(哪些是旧的?哪些是不正确的?等等)。
我创建了一个简单的示例服务,在 PHP 中是这样调用的:
<?php
$client = new SoapClient('http://webservi.se/year'); //URL to the WSDL
echo $client->getCurrentYear(); //This method returns an integer, called "year"
?>
我现在想在 C# 中尽可能轻松地调用此方法。非常欢迎所有参考资料和示例。我该从哪里开始?我可以使用哪些类/模块/什么?
如果有更好的通信框架(后端是可扩展的),该解决方案根本不必涉及 SOAP,但请注意,服务器端是在 Unix 上用 PHP 实现的,因此微软的专有解决方案已被淘汰服务器端的问题。
请注意,我需要这个,所以我可以为 J. Random Web Developer 编写可能的文档(即使他们在共享网络托管上)。因此,我认为最好的方法应该是仅在代码中执行此操作,但当然也欢迎使用其他方法。
【问题讨论】:
-
是否有什么东西阻止您在项目中创建对 WSDL 的 URL 的服务引用?
-
Frédéric,我的主要问题是我不知道 ASP.NET 如何处理这个问题。什么是“服务参考”?是否可以仅对代码进行操作,或者我必须以某种方式点击?请注意,我需要这个,所以我可以为 J. Random Web Developer 编写可能的文档(即使他们在共享网络托管上)。
-
@Emil,为了生成 WSDL 文档中描述的类的 C# 代码,涉及到指向和单击。在那之后,如果服务的 URL 永远不会改变,就不会涉及太多代码。见this article on MSDN。
标签: c# wcf soap soap-client