客户端调用第三方remoting 服务程序的n中方式,VB.NET 晚期邦定还真方便 - 中国WEB开发者网络 (http://www.webasp.net) -- 技术教程 (http://www.webasp.net/article/) --- 客户端调用第三方remoting 服务程序的n中方式,VB.NET 晚期邦定还真方便 (http://www.webasp.net/article/15/14897.htm) |
| -- 作者:未知 -- 发布日期: 2004-11-17 |
| 写一个简单的Remoting 服务程序,HelloWorld:)
类函数: Public Class SimpleObjectClass SimpleObject Inherits System.MarshalByRefObject Public Function HelloWorld()Function HelloWorld(ByVal message As String) As String Return "Hello World" & message End Function End Class host 程序代码 Imports System.Runtime.Remoting.Channels Imports System.Runtime.Remoting.RemotingConfiguration Public Class HostClass Host Public Shared Sub Main()Sub Main() Dim channel As New Http.HttpServerChannel(6363) ChannelServices.RegisterChannel(channel) RegisterWellKnownServiceType(GetType(ObjectLib.SimpleObject), "simpleobject", Runtime.Remoting.WellKnownObjectMode.SingleCall) Console.WriteLine("started ok") Console.ReadLine() End Sub End Class 下面讨论几种调用方式 1.可客户端不支持或者没有安装.NET Framework 的情况。 本质上remoting 服务端和客户端走的是Soap协议,对于简单的方法。只要客户端能支持Soap就可以了。微软提供了一个soaptoolkit ,比如在vb6 中调用我的remoting 服务。 Dim o As New SoapClient30 o.MSSoapInit "http://Server:6363/simpleobject?wsdl" MsgBox o.HelloWorld("montaque") 2. 在vb.net 中调用remoting 服务。通过bindingtomoniker Dim o As Object = System.Runtime.InteropServices.Marshal.BindToMoniker("soap:wsdl=http://localhost:6363/simpleobject?wsdl") MsgBox(o.helloworld("asdf")) 当然要设置option explicit off 上述代码好像无法翻译成C# 3。常规的方式,忽略。。。 |
| webasp.net |