我在VB.Net工作,我试图让一段代码更通用。
事实上,有这么建立基于参数(字符串)传递值的访问代理服务器大的选择case语句。
Select Case _strNteraHL7
Case Constantes.NomPRPMIN306010
strUrl = ObtenirUrl("ProviderDetailsQuery", _strVersion, _strEnvir, True, _blnSimulCAIS, _blnSimulPDS, _blnSimulPDSSIIR, _blnSimulPDSInteg)
objWsHL7 = New wsProviderDetailsQuery.ProviderDetailsQueryClient(objBinding, New EndpointAddress(strUrl))
Case Constantes.NomPRPMIN301010
strUrl = ObtenirUrl("AddProvider", _strVersion, _strEnvir, True, _blnSimulCAIS, _blnSimulPDS, _blnSimulPDSSIIR, _blnSimulPDSInteg)
objWsHL7 = New wsAddProvider.AddProviderClient(objBinding, New EndpointAddress(strUrl))
像“wsAddProvider”和前面的例子中的“wsProviderDetailsQuery”的对象是已通过Visual Studio的GUI添加服务引用...
我想知道的,基本上是,如果我可以从包含服务引用,当我想打电话给在控制容器的控件类似某种池调用此构造...
例如:
objWsHL7 =新wcfServicesContainer( “serviceNameHere” 的ParamArray())
或类似的东西,这样我就可以删除所有这些大的开关的情况下,也重复同样的事情30倍。
objWsHL7作为一个对象类型或“对象”在编译。
很抱歉,如果我没有提到足够的细节,随时让我知道如果你需要更多的,我真的不知道我有什么样的信息,以提供这一点。
编辑:我发现了另一块的代码在这里使用类似的电话,也许它会帮助理解...
同样,在另一个开关case语句,
objMsgHL7Out = _objWsHL7.ProviderDetailsQuery(_objMsgIn)
objMsgHL7Out是System.ServiceModel.Channels.Message _objMsgIn是System.ServiceModel.Channels.Message _objWsHL7是一个对象