Не удалось подключиться после добавления Kentico в проект ASP. NET MVC - PullRequest
0 голосов
/ 07 мая 2020

Мой ASP. NET MVC находился в стадии разработки, поэтому я исследовал, как добавить мультимедиа в проект, и наткнулся на библиотеки Kentico.

И я попытался добавить Kentico.Content.Web.Mvc, Kentico.LanguagePack.English, Kentico.Libraries, Kentico.MediaLibrary и Kentico.Web.Mvc.

Раньше веб-сайт работал гладко, но после добавления этих пакетов он вызывает следующую ошибку в браузере:

Ошибка, связанная с сетью или спецификацией экземпляра c, при установке соединения с SQL сервером. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра правильное и что SQL Сервер настроен на разрешение удаленных подключений. (поставщик: поставщик именованных каналов, ошибка: 40 - не удалось открыть соединение с SQL сервером)

Описание: во время выполнения текущего веб-запроса возникло необработанное исключение. Просмотрите трассировку стека для получения дополнительной информации об ошибке и ее происхождении в коде.

Сведения об исключении: CMS.DataEngine.ApplicationInitException: ошибка c, связанная с сетью или спецификацией экземпляра, при установке подключение к SQL Серверу. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра правильное и что сервер SQL настроен на разрешение удаленных подключений. (поставщик: поставщик именованных каналов, ошибка: 40 - не удалось открыть соединение с SQL сервером)

Ошибка источника:

Во время выполнения текущего веб-запроса было создано необработанное исключение . Информацию о происхождении и местонахождении исключения можно определить с помощью трассировки стека исключений, приведенной ниже.

Трассировка стека:

[ApplicationInitException: произошла ошибка c, связанная с сетью или конкретным экземпляром при установке соединения с Сервером SQL. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра правильное и что сервер SQL настроен на разрешение удаленных подключений. (поставщик: поставщик именованных каналов, ошибка: 40 - не удалось открыть соединение с SQL сервером)]

CMS.DataEngine.CMSApplication.ReportApplicationInitError (строковое сообщение) + 193
CMS.DataEngine.CMSApplication .Init () + 895
Kentico.Web. Mvc .ApplicationHttpModule.HandleBeginRequest (отправитель объекта, EventArgs e) + 5
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep 144
System.Web.HttpApplication.ExecuteStepImpl (шаг IExecutionStep) + 50
System.Web.HttpApplication.ExecuteStep (шаг IExecutionStep, логическое и завершенное синхронно) + 73

попытался добавить к 1034 * строку подключения в web.config:
<configuration>
    <connectionStrings>
        ...
        <add name="CMSConnectionString" 
             connectionString="Persist Security Info=False;database=Kentico;server=myserver;user id=username;password=mypassword;Current Language=English;Connection Timeout=120;" />
    </connectionStrings>

Отредактировано Global.asax.cs:

protected void Application_Start()
{
     AreaRegistration.RegisterAllAreas();
     FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
     RouteConfig.RegisterRoutes(RouteTable.Routes);
     BundleConfig.RegisterBundles(BundleTable.Bundles);
     // Enables and configures the selected Kentico ASP.NET MVC integration features
     ApplicationConfig.RegisterFeatures(ApplicationBuilder.Current);
}

Отредактировано App_Start\RouteConfig.cs:

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        // Maps routes to Kentico HTTP handlers.
        // Must be first, since some Kentico URLs may be matched by the default ASP.NET MVC routes,
        // which can result in pages being displayed without images.
        routes.Kentico().MapRoutes();

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );
    }

И создан новый класс с именем WebAssemblyInfo.cs в Properties:

using CMS;

[assembly: AssemblyDiscoverable]
namespace WebApplication1.Properties
{
    public class WebAssemblyInfo
    {
    }
}

1 Ответ

0 голосов
/ 07 мая 2020

Добавление этих библиотек вносит несколько изменений в ваш проект, как вы заметили. Я бы посоветовал заглянуть в файл web.config вашего проекта Kentico, чтобы найти строку подключения и сопоставить ее. Вы должны убедиться, что ваш сайт MVC по-прежнему строится с изменениями, но копирование строки подключения из проекта Kentico должно решить вашу проблему (при условии, что ваш проект Kentico все еще загружается).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...