RAPI做法:1个整个WinForms应用程序VS创建,连接,配置静态实例
-
27-09-2019 - |
题
在我们的应用程序的许多地方,我们有这样的代码:
using(RAPI rapi = new RAPI())
{
bool connected = TryToConnectWithTimeout(rapi);
if(connected)
DoSomethingWithRapi(rapi);
}
此至今运作良好。 同时,我们从来没有超过1个RAPI实例。直到现在:
但是现在我们要听上RAPI connect事件。 我们正在做这样的:
void StartMonitoringRapiConnection()
{
_rapi = new RAPI();
_rapi.RAPIConnected += new RAPIConnectedHandler(_rapi_RAPIConnected);
_rapi.RAPIDisconnected += new RAPIConnectedHandler(_rapi_RAPIDisconnected);
_rapi.Connect(false,-1);
}
private void _rapi_RAPIConnected()
{
DoWorkWhenRapiConnects();
}
private void _rapi_RAPIDisconnected()
{
//Listen for the next time that rapi connects
_rapi.Connect(false,-1);
DoWorkWhenRapiDisconnects();
}
“StartMonitoringRapiConnection”只要我不开始新的并连接其它RAPI物体非常有效。但是,一旦我开始newing了其他RAPI对象时,连接/断开事件似乎火的顺序进行。
会更好工作刚刚1 RAPI的静态实例整个应用程序?你有什么其他的建议?感谢。
解决方案
从逻辑上讲,RAPI是PC和设备之间的单个连接。它不为你的应用程序是有意义的,甚至支持多个连接。我会做一个 Singleton类它包装起来RAPI调用和让所有来电的你,让每个人都需要与设备对话,经过一个类。
不隶属于 StackOverflow