2017-08-16 25 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を使用しようとしましたが、トークンを取得できませんでした= authTokenSource.GetAccessTokenAsync();働く私はMVCを使用して任意の例を見つけることができませんでした。 –

+0

Hmm。私はそれがあなたのパラメータと何か関係があるのだろうかと思います。開始パラメータをコマンドラインから渡すのではなくハードコードすると、結果は同じですか? –

+0

はい。テスト書込みFile.WriteAllText( "C:\\ TEST \\ Start.txt"、productNumber.ToString());実行中です –

0

私は

TranslateAsync(productTest、getUserName).WAITを変更する必要がありました。

はTranslateAsync(productTest、getUserName)を待ちます。

これで動作します。

関連する問題