小编csn*_*910的帖子

将GETDATE()与SQL Server中存储的GETDATE()进行比较的结果错误

我希望结果总是1:

DECLARE @x datetime2
SELECT @x=GETDATE()
SELECT CASE WHEN @x>GETDATE() THEN 0 ELSE 1 END
Run Code Online (Sandbox Code Playgroud)

但它有时是1,有时是0.这怎么可能?

sql sql-server

7
推荐指数
1
解决办法
158
查看次数

Android:使用带Socket的Closeable接口的异常

当我尝试通过其Closeable接口关闭套接字时,我得到一个异常:

new java.net.Socket().close();
// no error

((java.io.Closeable) new java.net.Socket()).close();
// Throws: java.lang.IncompatibleClassChangeError: interface not implemented
Run Code Online (Sandbox Code Playgroud)

这是为什么?问题仅出在Android设备上,而不是桌面上运行的Java程序.

java sockets android interface

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

锁定异步任务C#

public class MyDbContext : DbContext
{
    ....

    static readonly object lockObject = new object();

    public override int SaveChanges()
    {
        lock (lockObject)
            return base.SaveChanges();
    }

    public override Task<int> SaveChangesAsync(CancellationToken cancellationToken = default)
    {
        lock (lockObject)
            return base.SaveChangesAsync(cancellationToken);
    }       
}
Run Code Online (Sandbox Code Playgroud)

我想在多个线程中使用DbContext,但是如果两个线程同时写入,则基础数据库有问题。所以我使用lockObject来防止同时出现两个SaveChanges()。

在SaveChanges()中可以正常工作,但是我不知道如何在SaveChangesAsync()中执行相同的操作。我认为上述解决方案是错误的。如何将锁应用于SaveChangesAsync?

谢谢!

c# asynchronous locking

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

标签 统计

android ×1

asynchronous ×1

c# ×1

interface ×1

java ×1

locking ×1

sockets ×1

sql ×1

sql-server ×1