小编Omn*_*mni的帖子

自动推进状态机与无状态

我最近一直在试验Stateless(C#中的HSM)(https://code.google.com/p/stateless/),而且我遇到了一些我不确定如何实现的东西.

假设我有以下状态:

  • 开始.

我想要实现的是:当TCP连接(处于Connect状态)建立时,进入Read状态.或者,如果失败,则进入"完成"状态(它可能会返回"连接"状态并在超时后尝试新连接).

如何使用Stateless实现此自动推进功能,因为从状态内触发触发器会导致堆栈溢出异常?

干杯

c# state-machine stateless-state-machine

8
推荐指数
1
解决办法
1685
查看次数

在ADO中使用"最大数据库大小"选项会导致"打开"命令抛出

我有一个SQLCompact数据库,我试图使用ADO和访问C++.但是由于数据库的大小(300MB,超过默认的256MB限制),我必须Max Database Size在连接字符串中指定.但是这样做会导致.Open(...)函数抛出.

我正在使用的代码:

HRESULT hr = conn.CreateInstance(__uuidof(Connection), NULL);
conn->Open(L"Provider=Microsoft.SQLSERVER.CE.OLEDB.4.0;Data Source=test.sdf;Max Database Size=512", L"", L"",adConnectUnspecified);  
Run Code Online (Sandbox Code Playgroud)

错误:

HR:DB_E_ERRORSOCCURRED

说明:"多步OLE DB操作生成错误.检查每个OLE DB状态值,如果可用.没有工作."

消息:"IDispatch错误#3105"

注意:

我尝试使用相同的代码,使用较小的数据库并Max Database Size从连接字符串中删除它,它按预期工作.Max Database Size再次添加会导致问题再次出现,因此我假设它是导致错误的问题.

有什么想法吗?如何使用Provider默认大小的数据库?

c++ ado sql-server-ce

5
推荐指数
1
解决办法
171
查看次数