WCF と SQL データベースはどちらも検討する価値のあるソリューションですが、あなたが説明していることは、リモート プロシージャ コール(RPC) とより密接に関連しています。RPC を使用すると、クライアントがローカル オブジェクトであるかのように対話できる単一のオブジェクトをサーバー上に作成できます (したがって、ソケットを処理する必要は完全に回避されます)。または、各クライアントは、対話する独自の一意のサーバー オブジェクトを作成することもできます。
RPC の完全な実装は、ネットワーク ライブラリnetworkcomms.netにあります。次のコード スニペットは、RPC の例から抜粋したものです。
サーバ側:
//Register a single object server side called "Calculator"
RemoteProcedureCalls.Server.RegisterInstanceForPublicRemoteCall<MathClass, IMath>(new MathClass(), "Calculator");
クライアント側:
//Get a reference to the remote object named "Calculator"
IMath calc = RemoteProcedureCalls.Client.CreateProxyToPublicNamedInstance<IMath>(connection, "Calculator", out instanceId);
//We can now use the calculator object as if it were local
//The following WriteLine outputs '12' where the calculation was performed on the server
Console.WriteLine(calc.Multiply(4, 3));
免責事項: 私はこのライブラリの開発者です。