私はこのWCFサービスにまったく慣れていないので、ガイドラインをいただければ幸いです。
特定のデバイスのネットワークステータスをチェックするコードを含む大規模なプロジェクトを受け取りました。上司から、TCPSocketの作成を検索し、ソケットの特定のオプションを変更するように言われました。
ネットワークの状態をチェックする関数はReqDDCNetworkStatusです。当然、私はコードの出所を検索し、サービスリファレンスの下にこのインターフェイスを見つけました。
public interface LGeDDC
{
[System.ServiceModel]
[System.ServiceModel.XmlSerializerFormatAttribute()]
[return: System.ServiceModel.MessageParameterAttribute(Name="result")]
string ReqDDCNetworkStatus(out string status);
}
このファイルはReferences.csと呼ばれ、プログラムと問題のデバイス間の通信に使用されるWSDL(SOAP)ファイルでsvcutil.exeを実行して生成されたと思います。
これは、呼び出される実際の関数を持つクラスです。
namespace XrayEngines.DDCService
{
public partial class LGeDDCClient : System.ServiceModel.ClientBase<LGeDDC>, LGeDDC
{
public LGeDDCClient(string endpointConfigurationName, string remoteAddress) :
base(endpointConfigurationName, remoteAddress)
{
}
public string ReqDDCNetworkStatus(out string status)
{
return base.Channel.ReqDDCNetworkStatus(out status);
}
}
}
したがって、関数は次のように呼び出されます。
try
{
for (int i = 0; i < p.Length; i++)
{
v = ddc.ReqDDCNetworkStatus(out r);
writeMessage("v:" + v + " , r:" + r);
}
}
catch (Exception e)
{
writeMessage("Network Exception Occurred: ."+e.ToString());
}
そして、私は道に迷っています。文字通り、クライアントとサーバー間の接続を確立するものは何も表示されませんが、プログラムは機能します。このように接続が確立された経緯を誰かに説明していただければ幸いです。