使用自定义的FirstAzureSearchApp版本在处理您的请求时出现错误要求编号:1

问题描述

每当我尝试在“ FirstAzureSearchApp”上进行任何搜索时,都会发生错误。错误页面如下所示:“'处理您的请求时发生错误。''请求ID:1''开发模式''交换至开发环境将显示有关所发生错误的更多详细信息。 “不应在已部署的应用程序中启用开发环境,因为它可能导致异常显示的敏感信息显示给最终用户。对于本地调试,可以通过将ASPNETCORE_ENVIRONMENT环境变量设置为Development并重新启动应用程序来启用开发环境。 / p>

我尝试从“开发”更改为“生产”(如其他主题所建议),但我仍然得到相同的结果。使用Visual Studio Breakpoints,我在特定行的文件HomeController.cs上收到错误:model.resultList = await _indexClient.Documents.SearchAsync(model.searchText,parameters);当我将异步方法更改为顺序方法时,没有得到该错误,但在一行上显示了错误:await RunQueryAsync(model);第一次运行该行,它可以正常运行,但是在搜索时会循环返回,而第二次则给出上面出现的相同错误。

using System;
using System.Diagnostics;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using VideoGame.Models;
using Microsoft.Extensions.Configuration;
using Microsoft.Azure.Search;
using Microsoft.Azure.Search.Models;

namespace VideoGame.Controllers
{
    public class HomeController : Controller
    {
        public IActionResult Index()
        {
            return View();
        }

        [HttpPost]
        public async Task<ActionResult> Index(SearchData model)
        {
            try
            {
                // Ensure the search string is valid.
                if (model.searchText == null)
                {
                    model.searchText = "";
                }

                // Make the Azure Cognitive Search call.
                await RunQueryAsync(model);
            }

            catch
            {
                return View("Error",new ErrorViewModel { RequestId = "1" });
            }
            return View(model);
        }

        [ResponseCache(Duration = 0,Location = ResponseCacheLocation.None,NoStore = true)]
        public IActionResult Error()
        {
            return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
        }

        private static SearchServiceClient _serviceClient;
        private static ISearchIndexClient _indexClient;
        private static IConfigurationBuilder _builder;
        private static IConfigurationRoot _configuration;

        private void InitSearch()
        {
            // Create a configuration using the appsettings file.
            _builder = new ConfigurationBuilder().AddJsonFile("appsettings.json");
            _configuration = _builder.Build();

            // Pull the values from the appsettings.json file.
            string searchServiceName = _configuration["SearchServiceName"];
            string queryApiKey = _configuration["SearchServiceAdminApiKey"];

            // Create a service and index client.
            _serviceClient = new SearchServiceClient(searchServiceName,new SearchCredentials(queryApiKey));
            _indexClient = _serviceClient.Indexes.GetClient("games");
        }

        private async Task<ActionResult> RunQueryAsync(SearchData model)
        {
            InitSearch();

            var parameters = new SearchParameters
            {
                // If Select is empty,all values will be returned,which can be inefficient.
                Select = new[] { "GameName","Description" }
            };

            // For efficiency,the search call should be asynchronous,so use SearchAsync rather than Search.
            model.resultList = await _indexClient.Documents.SearchAsync<Game>(model.searchText,parameters);

            // Display the results.
            return View("Index",model);
        }
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...