【问题标题】:Microsft Graph Helper fails in the responseMicrosoft Graph Helper 在响应中失败
【发布时间】:2020-06-26 21:02:04
【问题描述】:

我有一个 ASP.Net 应用程序,我最近添加了使用 Graph Api 的 office 365 登录。它在我的本地机器上运行良好,我从 Graph Api 获取令牌和用户信息。但是当我在生产服务器中部署解决方案时,我在 API 的响应中收到错误。生产服务器是一个虚拟的 windows server 2016

var graphClient = new GraphServiceClient(
            new DelegateAuthenticationProvider(
                async (requestMessage) =>
                {
                    requestMessage.Headers.Authorization =
                        new AuthenticationHeaderValue("Bearer", accessToken);
                }));



        var user = await graphClient.Me.Request()
            .Select(u => new {
                u.DisplayName,
                u.Mail,
                u.UserPrincipalName
            })
            .GetAsync();

这是从用户那里获取信息的代码,在调用此方法后,我得到一个带有下一个错误的异常:

找不到方法:'System.Threading.Tasks.Task`1Microsoft.Graph.BaseRequest.SendAsyc(System.Object, System.Threading.CancellationToken, System.Net.Http.HttpCompletionOption)'。

最罕见的是这种情况只发生在生产服务器、测试服务器和本地机器上,它工作正常。提前致谢!

【问题讨论】:

    标签: asp.net microsoft-graph-api office365 azure-ad-graph-api


    【解决方案1】:

    您可能缺少一些依赖项。确保在生产中的应用程序的 bin 文件夹中看到 Microsoft.Graph.Core.dll 文件,有时在部署时它不会出于任何原因更新包。你应该在你的测试服务器和本地机器上看到这样的文件。如果不存在,请将其复制过来。如果存在,请检查您在 prod 中安装的 .net 版本是否与在其他环境中安装的相同。还要确保在您的开发环境中使用最新的图形 api sdk。

    【讨论】:

      【解决方案2】:

      最后解决这个问题的方法是更新服务器中的.Net框架版本。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-05-15
        • 1970-01-01
        • 2016-10-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-20
        相关资源
        最近更新 更多