Включить трассировку событий в EF CoreC#

Место общения программистов C#
Ответить
Anonymous
 Включить трассировку событий в EF Core

Сообщение Anonymous »


Я использую Entity Framework Core в своем приложении ASP.NET Core 6, и у него возникла проблема с запуском при установке в качестве службы Windows. Опубликованный исполняемый файл работает, когда я запускаю его из командной строки, но не запускается при установке в качестве службы.

Я пытался настроить его для запуска под всеми типами учетных записей, таких как SYSTEM, NETWORK и даже под моей учетной записью Windows AD, но безуспешно. Каждая попытка сопровождается этой ошибкой:

Microsoft.Data.SqlClient.SqlException (0x80131904): при установке соединения с SQL Server произошла ошибка, связанная с сетью или конкретным экземпляром. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра правильное и что SQL Server настроен на разрешение удаленных подключений. (поставщик: поставщик именованных каналов, ошибка: 40 — не удалось открыть соединение с SQL Server)
System.ComponentModel.Win32Exception (2): системе не удается найти указанный файл.

Чтобы увидеть, как далеко он продвигается в DbConnectionPool.TryGetConnection, мне нужно включить трассировку событий для кода SqlClient, чтобы получать доступные события трассировки.

Проблема в том, что в этом примере класс SqlClientListener создается вручную и используется при доступе к данным для сбора трассировок. Можно ли сделать что-то подобное для EF Core, поскольку EF Core использует Microsoft.Data.SqlClient внутри себя?

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

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»