2017-01-18 11 views
2

Я пытаюсь проверить Microsoft Linguistic Analysis API, базовый пример, так что я подписался и addad мой Key 1 в Ocp-Apim-Subscription-Key и Key 2 в subscription key здесь client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", "{subscription key}");.Microsoft Лингвистический анализ API пример HttpUtility не существует

Затем я добавляю Newtonsoft.Json в Manage NuGet Packages в ссылки на приложение, даже если оно не указано в использовании конкретного примера. using Newtonsoft.Json; using bNewtonsoft.Json.Serialization; не уверен, что я новичок в этом инструменте.

Я пытаюсь проверить этот пример Linguistics API на C#, чтобы получить результаты обработки естественного языка для текстового анализа в основном из значений вербальных и именных слов в соответствии с this example results Поэтому я не уверен, что я на правильном пути с этим например, или возможно, я пропустил что-то для установки, возможно, мне нужны некоторые дополнения. Я нашел это Analyze Method не уверен, как и если я должен использовать его для этой конкретной цели.

Но, похоже, что-то не так с var queryString = HttpUtility.ParseQueryString(string.Empty); и HttpUtility не существует.

using System; 
using System.Net.Http.Headers; 
using System.Text; 
using System.Net.Http; 
using System.Web; 

namespace CSHttpClientSample 
{ 
    static class Program 
    { 
     static void Main() 
     { 
      MakeRequest(); 
      Console.WriteLine("Hit ENTER to exit..."); 
      Console.ReadLine(); 
     } 

     static async void MakeRequest() 
     { 
      var client = new HttpClient(); 
      var queryString = HttpUtility.ParseQueryString(string.Empty); 

      // Request headers 
      client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", "{subscription key}"); 

      var uri = "https://westus.api.cognitive.microsoft.com/linguistics/v1.0/analyze?" + queryString; 

      HttpResponseMessage response; 

      // Request body 
      byte[] byteData = Encoding.UTF8.GetBytes("{body}"); 

      using (var content = new ByteArrayContent(byteData)) 
      { 
       content.Headers.ContentType = new MediaTypeHeaderValue("< your content type, i.e. application/json >"); 
       response = await client.PostAsync(uri, content); 
      }  
     } 
    } 
} 
+1

@Ken White Привет, надеюсь, теперь лучше – nikorio

ответ

2

Вы можете создать новый записываемый экземпляр HttpValueCollection по телефону System.Web.HttpUtility.ParseQueryString (string.Empty), а затем использовать его как любой NameValueCollection, как это:

NameValueCollection queryString = System.Web.HttpUtility.ParseQueryString(string.Empty); 
+0

Здравствуйте, я попробовал, но он говорит, что метод или операция не реализованы. – nikorio

+0

Я думаю, вы не использовали пространство имен для этого класса. Вы должны использовать System.Collections.Specialized Namespace для доступа к классу NameValueCollection. –

0

Try добавив ссылку на System.Web и, возможно, на System.Runtime.Serialization.

+0

Здравствуйте, нет, ничего, ничего не существует – nikorio