2017-08-16 84 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);

現在工作。

相關問題