私はVB.Netで作業しており、コードの一部をより一般的にしようとしています。
実際、パラメーター(文字列)で渡された値に基づいてProxyServerを構築する大きなSelectCaseステートメントがあります。
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」などのオブジェクトは、VisualStudioのGUIを介して追加されたサービス参照です。
私が知りたいのは、基本的に、コントロールコンテナー内のコントロールを呼び出したい場合と同様に、サービス参照を含む特定のプールからこのコンストラクターを呼び出すことができるかどうかです。
例えば:
objWsHL7 = new wcfServicesContainer( "serviceNameHere"、paramArray())
または同様のものなので、同じことを30回繰り返す大きなスイッチケースをすべて削除できます。
objWsHL7はオブジェクトであるか、コンパイル時に「object」と入力します。
十分な詳細について言及しなかった場合は申し訳ありませんが、さらに必要な場合はお気軽にお知らせください。このために提供する必要のある情報がわかりません。
編集:私はここで同様の呼び出しを使用する別のコードを見つけました、多分それは理解に役立つでしょう...
繰り返しますが、別のswitch caseステートメントでは、
objMsgHL7Out = _objWsHL7.ProviderDetailsQuery(_objMsgIn)
objMsgHL7OutはSystem.ServiceModel.Channels.Message_objMsgInはSystem.ServiceModel.Channels.Message_objWsHL7はオブジェクトです