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

王朝vb·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航