提出请求时,Google API客户端库在IIS中冻结

我一直在使用Google API的Google API客户端库将Google Analytics数据加载到我的应用程序中:

最近虽然我发现它已经开始冻结。 Execute()命令建立到Google服务器的连接。

它成功地要求:

 https://accounts.google.com/o/oauth2/token

它返回如下所示:

{
  "access_token" : "ya30.HAKlQSGZo2GnK5wxlxx9TLTQUyD9Xkt7AZxuQnDY-KhJuCyrCtN_xHIP",
  "token_type" : "Bearer",
  "expires_in" : 3600
} 

但之后永远不会从Execute调用中返回。

控制台应用程序中的相同代码会立即返回,但在IIS中它现在不会返回。

在以前的版本中,它工作得很好(我不确定它更改了哪个版本)。

我有Load User Profile设置为true。

什么可能导致这个?

   var SERVICE_ACCOUNT_PKCS12_FILE_PATH = @"C:TEMPGoogleAnalytics-privatekey.p12";
   X509Certificate2 certificate = new X509Certificate2(SERVICE_ACCOUNT_PKCS12_FILE_PATH, "notasecret", X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable);


   // Create credentials (not my real login here)
   ServiceAccountCredential credential = new ServiceAccountCredential(
      new ServiceAccountCredential.Initializer("86987278011-ctegcus4og7kn6oigkrv8po5pf67bbgj@developer.gserviceaccount.com")
      {
          Scopes = new[] { AnalyticsService.Scope.AnalyticsReadonly }
      }.FromCertificate(certificate));

   // Create the service
   var service = new AnalyticsService(new BaseClientService.Initializer()
   {
       HttpClientInitializer = credential,
       ApplicationName = "Google Analytics Application",

   });

   // get accounts
   accounts = service.Management.Accounts.List();
   var items = accounts.Execute();

正如Google日历API中所解释的 - 不是从Execute()C#返回,我们目前在最新版本的Google.Apis.Auth v 1.9.3中存在一个错误。

我们已经在我们的存储库(https://github.com/google/google-api-dotnet-client)中修复了它,因此您可以使用Analytics API(https://developers.google。 COM /资源/ API函数库/下载/分析/ V3 / CSHARP)。

计划在未来几周内推出新版本的图书馆,敬请期待 - http://google-api-dotnet-client.blogspot.com/


更新(12月15日):1.10.0的新NuGet包可用,请参阅http://google-api-dotnet-client.blogspot.com/2015/12/announcing-release-of-1100。 HTML

链接地址: http://www.djcxy.com/p/30157.html

上一篇: Google API Client Library freezing up in IIS when making request

下一篇: SLF4J varargs interprets first string as marker