我有客户端和服务器应用程序。 服务器计算从客户端接收的命令数。 我希望与客户分享这个号码。
客户端没有服务器实例......
我有一个dll,它包含服务功能,并且正由服务器和客户端使用。
因此,我尝试使用set
属性在服务器端保存该数字,然后使用客户端的get
属性来获取该数字。
我总是得到0 ......
这是我的代码:
服务器端:
private void clientReceived(Client sender, byte[] data)
{
try
{
Invoke((MethodInvoker)delegate
{
SharedDll.NumOfSentTests = 5;
}
}
}
客户端:
private void clientReceived(Client sender, byte[] dataReceived)
{
try
{
Invoke((MethodInvoker)delegate
{
m_numOfSentTests = SharedDll.NumOfSentTests;
}
}
}
的SharedDLL
public static int NumOfSentTests
{
get { return SharedDll.m_numOfSentTests; }
set { SharedDll.m_numOfSentTests = value; }
}
有什么想法吗?
答案 0 :(得分:0)
使用相同DLL的两个不同进程 不共享任何状态。每个进程都有自己的DLL对象副本。
您需要向服务器添加另一个命令 - 一个返回命令数的命令。客户端可以像使用其他命令一样使用它。