![](/img/trans.png)
[英]System.Net.Sockets.SocketException in Visual Studio while using Azure
[英]Microsoft.Graph.ServiceException---> System.Net.Sockets.SocketException. while getting TransitiveMemberOf
我看到System.Net.Sockets.SocketException: Connection reset by peer error执行调用以使用 Microsoft.Graph.dll 中的 TransitiveMemberOf 方法检索组。
public async Task<List<AdGroup>> GetAllGroupsByUserId(string userId, CancellationToken token)
{
_client = GraphConnection.GetGraphClient(_config);
var memberships = new List<AdGroup>();
try
{
IUserTransitiveMemberOfCollectionWithReferencesRequest? next = null;
do
{
IUserTransitiveMemberOfCollectionWithReferencesPage data;
if (next == null)
{
var id = Guid.NewGuid().ToString();
var options = new List<Option>()
{
new QueryOption("$top", "999"),
new HeaderOption("client-request-id", id)
};
data = await _client.Users[userId].TransitiveMemberOf.Request(options).Select("id,displayName").GetAsync(token);
}
else
{
data = await next.GetAsync(token);
}
next = data.NextPageRequest;
if (data.CurrentPage.Count == 0)
break;
var foundGroups = data.CurrentPage
.Select(i =>
{
if (i is Group group)
return new AdGroup()
{
Id = group.Id,
Name = string.IsNullOrWhiteSpace(group.DisplayName) ? group.AdditionalData?["displayName"].ToString() ?? "" : group.DisplayName
};
if (i is DirectoryRole role)
return new AdGroup()
{
Id = role.Id,
Name = string.IsNullOrWhiteSpace(role.DisplayName) ? role.AdditionalData?["displayName"].ToString() ?? "" : role.DisplayName
};
return null;
})
.Where(g => g != null && Constants.CONTAINS_LIST.Any(c => g.Name.Contains(c, StringComparison.InvariantCultureIgnoreCase)));
if (foundGroups != null)
memberships.AddRange(foundGroups);
} while (next != null);
}
catch (Exception e)
{
_logger.LogError(e, "GetAllGroupsByUserId error");
}
return memberships;
}
我尝试从 Azure VM(那里有 Linux 操作系统)以及本地计算机(Windows 操作系统)运行代码。 现在我正在检查 VM 的负载,因为代码在线程中运行并考虑可能出现的问题。
我还在 Azure 门户中创建了一个报价单,我得到了 Microsoft 的以下回答:
此错误不是来自 Microsoft Graph,而是来自您的客户端套接字(否则意味着网络错误)
对于这些错误,您必须从您的网络团队开始进行调查。 可能有许多网络原因,例如您的防火墙、代理、负载平衡器、网络带宽限制。
这个答案对我没有多大帮助,但我正在尝试进一步调查。
我将不胜感激任何帮助,谢谢
如果有人遇到类似问题,我发布了帮助我解决问题的信息:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.