Esempio n. 1
0
        public static async Task Main(string[] args)
        {
            if (!args.Any())
            {
                Console.WriteLine("Nothing to search for.");
                return;
            }

            RegisterServices();
            var scope = _serviceProvider.CreateScope();

            MicrosoftDocsSearch searchResults = await scope.ServiceProvider.GetService <Commands>()
                                                .RunMicrosoftSearchAsync(
                string.Join("%20", args).Replace("\"", string.Empty),
                3);

            foreach (var result in searchResults.Results)
            {
                Console.WriteLine(result.Title);
                Console.WriteLine(result.Description);
                Console.WriteLine($"{result.Url}\n");
            }

            Console.WriteLine($"Do not see what you are looking for? More search results here: {searchResults.NextLink}");
        }
        public async Task <MicrosoftDocsSearch> GetTopSearchResultsAsync(string terms, int numOfResults = 10)
        {
            var queryStrings = new Dictionary <string, string>();

            queryStrings.Add("search", terms);
            queryStrings.Add("locale", "en-us");
            queryStrings.Add("$skip", "0");
            queryStrings.Add("$top", $"{numOfResults}");

            var httpResponse = await _client.GetAsync(
                new Uri(QueryHelpers.AddQueryString(_client.BaseAddress.ToString(), queryStrings)),
                HttpCompletionOption.ResponseHeadersRead);

            try
            {
                httpResponse.EnsureSuccessStatusCode();
            }
            catch (Exception)
            {
                Console.WriteLine("Uh oh something happened with your search. Try again later.");
                return(null);
            }

            var content = await httpResponse.Content.ReadAsStringAsync();

            return(MicrosoftDocsSearch.FromJson(content));
        }