C#中Using里使用单例的问题

2021-05-02 12:30

阅读:499

标签:获取   pos   soft   测试的   word   mic   使用   microsoft   anr   

又给自己挖了一个坑跳进去。

KafkaManager使用单例模型获取到一个producer,然而自己代码里用的时候加了一个using

1 using (var producer = KafkaManager.Instance.GetProducer(Configs.Kafka_ScanResend))
2 {
3 //code goes here
4 }

 

然后自己在做测试的时候,for循环加10条数据发送到kafka,结果发现每次都只有第一条可以发送成功,之后都失败了。

debug之后发现 xxx.cs:4 处报错,错误消息是:object reference not set to an instance of object.细查可发现调用了dispose方法,将这个producer释放了。

然后就能知道是这个using里使用单例的方式,会导致这样的问题。

using使用方式可查看官方文档

https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/using-statement

C#中Using里使用单例的问题

标签:获取   pos   soft   测试的   word   mic   使用   microsoft   anr   

原文地址:http://www.cnblogs.com/sylvialucy/p/7765895.html


评论


亲,登录后才可以留言!