您的位置:首页 > 编程语言 > VB

客户端调用第三方remoting 服务程序的n中方式,VB.NET 晚期邦定还真方便

2004-11-12 14:56 573 查看

写一个简单的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。常规的方式,忽略。。。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: