Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Azure EventGridClient线程安全吗?_C#_Multithreading_Azure_Azure Eventgrid - Fatal编程技术网

C# Azure EventGridClient线程安全吗?

C# Azure EventGridClient线程安全吗?,c#,multithreading,azure,azure-eventgrid,C#,Multithreading,Azure,Azure Eventgrid,许多Azure客户端库似乎都是线程安全的,我几乎可以肯定我在哪里读到过EventGridClient也是线程安全的,但我一生都找不到它的位置。这两种方式都没有提及,但我知道,在某些情况下,文档是不正确的 有谁能证实或否认这一点,并提供一个来源,因为要么是我的谷歌fu现在很弱,要么就是根本没有在任何地方声明过。干杯。据我所知,在.NET库中的经验法则是,实例方法不应该是线程安全的,而静态方法应该是线程安全的。因此,如果没有记录,我认为这是我们必须考虑的。此外,实例方法可能是线程安全的,但由于没有文

许多Azure客户端库似乎都是线程安全的,我几乎可以肯定我在哪里读到过EventGridClient也是线程安全的,但我一生都找不到它的位置。这两种方式都没有提及,但我知道,在某些情况下,文档是不正确的


有谁能证实或否认这一点,并提供一个来源,因为要么是我的谷歌fu现在很弱,要么就是根本没有在任何地方声明过。干杯。

据我所知,在.NET库中的经验法则是,实例方法不应该是线程安全的,而静态方法应该是线程安全的。因此,如果没有记录,我认为这是我们必须考虑的。此外,实例方法可能是线程安全的,但由于没有文档记录,它可能会在将来的版本中改变行为,因此您不应该相信这种情况

这也是我的理解,但是这里还有关于EventHubClient的其他线程,请查看哪个线程确认库是线程安全的,但是文档是错误的&不久之后就更新了。有时候微软的Azure人员会回答这些问题,这正是我所希望的。我以为我读到Azure库大多是线程安全的,但我就是找不到我读到的地方。我假设他们不是现在,但这需要我使用锁在客户工厂,我宁愿不。我认为,如果它不是真的在某个地方说它是线程安全的,我们必须考虑它不是。我认为,不管怎样,为线程提供一个客户端不应该是一个问题?我们为每个EG域提供一个客户端,工厂只为每个域提供一个客户端,就像您为HttpClient提供的一样。有多个线程可以访问该工厂,我不认为这会造成任何问题,但我在谨慎方面犯了错误-如果我不保护它,那么我想我的PR将被拒绝,我必须证明这一点,因为我的同事非常热衷于发现潜在问题。我真的希望能够合理地证明我的决定,在没有线程安全性确认的情况下,我谨慎行事似乎是正确的。