-
Notifications
You must be signed in to change notification settings - Fork 623
Open
Description
if (!endpoints.ContainsKey(key)) |
上面代码中 endpoints
使用了非线程安全字典 Dictionary<string, ProductDomain>
。在字典中查询key过程中其他线程对字典进行修改会导致InvalidOperationException
,异常堆栈信息如下:
System.InvalidOperationException: Operations that change non-concurrent collections must have exclusive access. A concurrent update was performed on this collection and corrupted its state. The collection's state is no longer correct.
at System.Collections.Generic.Dictionary`2.FindEntry(TKey key)
at Aliyun.Acs.Core.Regions.EndpointUserConfig.AddEndpoint(String product, String regionId, String domain)
建议将 endpoints
类型修改为线程安全的 ConcurrentDictionary<string, ProductDomain>
修复此问题 @AxiosCros
xcx573
Metadata
Metadata
Assignees
Labels
No labels