SilverLight 1.0 并不支持使用 .NET 语言来编程,从 2.0 开始,SilverLight 才支持使用 .NET 语言编程。因此,你无法使用 Hprose for .NET 来编写 SilverLight 1.0 应用。
不过您可以在 SilverLight 1.0 中使用 Hprose for JavaScript。但 SilverLight 1.0 已经被微软完全淘汰,所以你可能没有机会来尝试使用 Hprose for JavaScript 编写 SilverLight 1.0 应用程序了。
目前的 Hprose for .NET 还不支持 .NET Micro Framework,但我们已经在这方面进行了许多积极的尝试,并且取得了一定的成果。相信在不久的后续版本中,你就会看到 Hprose for .NET Micro Framework 的身影了。
Hprose for .NET 支持所有可以运行 ASP.NET 的服务器,例如:IIS、XSP Server、Apache + mono_mod 等。另外,如果您使用的是 .NET Framework 2.0 或者更高版本,您还可以使用独立服务器运行模式,独立服务器模式下,服务更加高效。
Hprose for .NET 速度非常快,其效率甚至可以高出 .NET 内置通讯方式(.NET Remoting、WebService、WCF 等)的 1-2 个数量级(一个数量级为 10 倍)。
Hprose for .NET 支持对发布的参数个数不同的方法支持重载,如果方法名相同、参数个数也相同,需要使用别名来进行区别。
支持!而且不但在 .NET 4.0 中支持,在所有版本的 .NET 中都支持,Hprose 已经将 BigInteger 移植到了 .NET 的所有版本中,您可以在所有版本的 Hprose for .NET 中无差别的使用 BigInteger。
字典类型是一种非常常用的类型,.NET 中提供了非泛型的 Hashtable,以及泛型的 Dictionary,但这两种类型都不支持以 null 作为键值。
为此,Hprose 为 Hashtable 提供了一个允许键值为 null 的子类实现。当接收其它语言传来的字典数据类型时,如果指定使用 Hashtable 来接收数据,实际上是以它的子类对象返回的,因此你不但可以接收键值为 null 的字典类型数据,还可以像使用普通的 Hashtable 那样来使用它。
Hprose 的一个贴心设计就是为 SilverLight 提供了与 .NET Framework 兼容的常用非泛型类型实现,例如:ArrayList、Hashtable 等。你可以把使用这些类型的 .NET 程序直接移植到 SilverLight 中,而不需要任何的转换工作。
Hprose for SilverLight 支持标准的 SilverLight 跨域访问机制,只要在服务器端部署好 crossdomain.xml 或 clientaccesspolicy.xml 即可满足跨域访问的需要。
是的。不但支持,而且异步调用是我们推荐您使用的方式,因为它会让您的用户界面更加友好。另外,异步调用在 SilverLight 环境下是强制性的,因为在 SilverLight 环境下不支持同步调用方式。
不需要。Hprose for .NET 已经帮您把复杂的线程同步工作完成了,因此不论是在控制台、WinForm、WebForm、Windows Mobile 应用、WPF 还是 SilverLight 中,你都可以在异步调用的回调方法中直接操作界面元素,而无需进行复杂的线程同步处理。
支持,而且跨语言,跨平台。
Hprose for .NET 提供了两种自定义可序列化对象的序列化方式,一种叫字段模式,另一种叫属性模式。字段模式下,除了被标示为[NotSerialized]的字段以外,所有字段都会被序列化。而属性模式下,只有public的可读写属性会被序列化。默认是字段序列化方式传递,这种方式对于 .NET 内置的一些可序列化类型支持较好,但是不利于跨语言跨平台传输。我们推荐您使用属性模式,这种模式非常方便跨语言,跨平台的应用。
Hprose 是商业开源软件,在取得 Hprose 商业使用授权后,您可以将它用于您所拥有所有权的商业项目的开发当中,Hprose 商业使用授权没有开发者人数、服务器CPU数量、授权年限等限制,但对二次分发有一定的特别要求。如果您所开发的项目或产品涉及到对 Hprose 的二次分发,还需要取得相应的二次分发授权。
如果您需要了解更多关于授权许可方面的信息,请致信到 sales@hprfc.com 与我们联系。