VS2017中.NET WEB应用的认知服务 [英] Cognitive Service with .NET WEB Application in VS2017

查看:110
本文介绍了VS2017中.NET WEB应用的认知服务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用授权令牌异步进行连续识别。但是它涉及访问令牌访问。它卡住了。它适用于控制台应用程序。但不适用于.NET Web表单应用程序。你能帮我解决这个问题。

I am trying to use Continuous Recognition With Authorization Token Async. But wen it comes to access token access. it get stuck. It work with console application. but not with .NET Web form application. Can you help me with this issue.

//通过向令牌服务发送POST请求来获取授权令牌。

&NBSP; &NBSP; &NBSP; &NBSP; public static async Task< string> GetToken(字符串subscriptionKey,字符串区域)

  &NBSP; &NBSP; &NBSP; {

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;使用(var client = new HttpClient())

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; {

// ******一旦采用这种方法,它就会被卡住了。
  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; client.DefaultRequestHeaders.Add(" Ocp-Apim-Subscription-Key",subscriptionKey);

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; UriBuilder uriBuilder =新的UriBuilder(" https://" + region +" .api.cognitive.microsoft.com / sts / v1.0 / issueToken");



  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; using(var result = await client.PostAsync(uriBuilder.Uri.AbsoluteUri,null))

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; {

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; Console.WriteLine(" Token Uri:{0}",uriBuilder.Uri.AbsoluteUri);

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; if(result.IsSuccessStatusCode)

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; {

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; return await result.Content.ReadAsStringAsync();

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; }

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;否则

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; {

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;抛出新的HttpRequestException($"无法从{uriBuilder.ToString()}获取令牌。错误:{result.StatusCode}");

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; }

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; }

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; }

  &NBSP; &NBSP; &NBSP; }

//******Onceit come to this method, it got stuck
                client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", subscriptionKey);
                UriBuilder uriBuilder = new UriBuilder("https://" + region + ".api.cognitive.microsoft.com/sts/v1.0/issueToken");

                using (var result = await client.PostAsync(uriBuilder.Uri.AbsoluteUri, null))
                {
                    Console.WriteLine("Token Uri: {0}", uriBuilder.Uri.AbsoluteUri);
                    if (result.IsSuccessStatusCode)
                    {
                        return await result.Content.ReadAsStringAsync();
                    }
                    else
                    {
                        throw new HttpRequestException($"Cannot get token from {uriBuilder.ToString()}. Error: {result.StatusCode}");
                    }
                }
            }
        }

谢谢

推荐答案

您好,

我认为示例代码
在这里
可以提供帮助。

I think the sample code here can help.


这篇关于VS2017中.NET WEB应用的认知服务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆