这两天调试ABP项目,一个很简单外部接口,外部应用调用Web Api,然后写入数据,为了模拟外部应用,写了一个简单的客户端程序发送数据,在调试时发现Web Api可以接收到数据,可是总是写不到数据库中,查看日志只是说操作取消,也不知道是什么原因。接收到的数据写入文件没有问题,所有总是以为是仓储出了问题,后来发现模拟的客户端总是出现超时错误,是不是客户端超时导致的呢,查看一下超时时间,设置的1s,可能过短了,修改为100s后,问题解决。原来ABP的Web Api是一个工作单元,如果操作因为异常取消,数据就不会写入数据库,当客户端向Web Api发送数据后,如果因为异常导致中断,操作会取消,数据会回滚到操作前的状态。
网友评论