クライアントとの接続を確立するために.NETRemotingを使用するサーバー側のコードがあります。通常、クライアントとサーバー間で渡されるオブジェクトでインターフェイスを使用するのが標準であり、より安全な代替手段であることを理解していますが、私が確立している単純な通信では、必要なクラスを定義する手間をかける必要はないと思います。インターフェイス。
したがって、次のコードでは、クライアントに文字列を返すだけなので、必要性は感じませんが、別の言い方をする人もいるので、ここに質問を投稿します。私は一般的な慣習に従うべきですか、それとも私がしている方法に固執するべきですか?また、以下に示すコードは、リモーティングを使用してサーバーを確立する正しい方法ですか?
(WCFの代わりにリモーティングを使用している理由を聞かないでください。上司がリモーティングを特に要求しましたが、理由はわかりません。)
class HttpServer
{
[STAThread]
public static Boolean startService()
{
HttpChannel channel = new HttpChannel(80);
ChannelServices.RegisterChannel(channel);
Type ddcServerType = Type.GetType("DDCEngine.DDCServer");
RemotingConfiguration.RegisterWellKnownServiceType(ddcServerType, "DDCServer", WellKnownObjectMode.Singleton);
return true;
}
}
public class DDCServer : MarshalByRefObject
{
public string Hello()
{
string r = "hello";
return r;
}
[Description("Sets a new IO Point List in the DDC.")]
public string SetIOPointList(string host, DDCService.pointInformation[] pointList)
{
string result;
DDCService.LGeDDCClient ddc = new DDCService.LGeDDCClient("LGeDDC", host);
try
{
result = ddc.SetIOPoint(pointList);
}
catch (Exception ex)
{
result = ex.ToString();
}
return result;
}