2017-08-16 52 views
0

我已经能够使Microsoft Translator API与创建控制台项目一起工作。我只能找到使用控制台项目的例子。Microsoft Translator API使用控制台但不能在MVC内工作

当试图让控制器内的Translator API工作时,我没有任何运气。我使用相同的代码。

是否需要添加一些其他类型的引用才能让译者在MVC中使用?

public async Task<string> GetAuthenticationToken(string key) 

{ 
    string endpoint = "https://api.cognitive.microsoft.com/sts/v1.0/issueToken"; 

using (var client = new HttpClient()) 
{ 
    client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", "xxxxxxxxxxxxxxx501b7b1ce"); 
    var response = await client.PostAsync(endpoint, null); 
    var token = await response.Content.ReadAsStringAsync(); 
    return token; 
    } 
} 

Error Message

回答

0

是否有您必须首先创建控制台应用程序,然后运行它看作什么特别的原因?

而不是从您的MVC项目运行可执行文件,我建议改为调用TranslatorAsync()函数。

我的猜测是process.Start()和process.Close()调用在它有机会做任何事情之前就会终止进程。然而,没有关于功能如何失败的更多细节,很难给出更好的答案。

+0

我附上了错误信息。我尝试在MVC项目中使用Microsoft Translator API,但我无法获得token = await authTokenSource.GetAccessTokenAsync();上班。另外我找不到任何使用MVC的例子。 –

+0

嗯。我想知道它是否可能与你的参数有关。如果您对起始参数进行硬编码而不是从命令行传入,结果是否相同? –

+0

是的。测试写入File.WriteAllText(“C:\\ TEST \\ Start.txt”,productNumber.ToString());正在执行 –

0

我不得不改变

TranslateAsync(productTest,getUserName).Wait;

await TranslateAsync(productTest,getUserName);

现在工作。

相关问题