这说明服务已经成功发布了。接下来我们就可以用Hprose客户端来调用它了。
Hprose提供了专业的服务调试工具——Nepenthes(忘忧草),通过它,你不需要编写一行代码,就可以直接调试服务器。
只需要输入服务器网址,然后点击Get Functions就可以得到所有的服务方法。
每个方法都可以直接输入参数进行调用,多个参数之间使用逗号分隔,参数格式以JSON方式输入。
另外,该工具是多国语言的,目前支持英文、简体中文和繁体中文。
下面是使用该工具调试刚刚发布的服务的截图,如图7、图8和图9所示。
图7
图8
图9
这里的Hprose服务是使用C#编写的,但是你可以在任何Hprose支持的语言中进行调用,因为本文重点是介绍Hprose服务在微软云平台上的开发与部署,因此这里就不再为客户端举例了,如果读者有兴趣,可以参考Hprose手册。
Hprose服务在ASP.NET Web Role下发布从灵活性上来说比较强大,虽然上面我们的例子是按照请求模式发布的服务,但实际上你还可以按照全局模式或者会话模式来发布服务,对服务的发布也可以细化到每一个方法,甚至可以在发布的方法中存取ASP.NET的上下文对象。但是从性能上来说,这种方式不够高效,性能仅仅跟WCF Service Role的BasicHttpBinding的性能相当,比WSHttpBinding的性能高1倍。难道还可以比WCF Service Role更高效吗?是的。完全可以。下面要介绍的Worker Role方式下的Hprose服务可以比的WCF Service Role的BasicHttpBinding的性能高3-5倍,比WSHttpBinding的性能高出7-9倍,几乎可以高出一个数量级。
