VS2017中.NET WEB应用的认知服务 [英] Cognitive Service with .NET WEB Application in VS2017
问题描述
我正在尝试使用授权令牌异步进行连续识别。但是它涉及访问令牌访问。它卡住了。它适用于控制台应用程序。但不适用于.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屋!