#c# #azure #azure-service-fabric #service-fabric-stateful #service-fabric-stateless
#c# #azure #azure-service-fabric #service-fabric-с сохранением состояния #service-fabric-без состояния
Вопрос:
Я работаю над Service Fabric (мой первый проект service fabric). И я получаю эту странную ошибку с надписью Microsoft.ServiceFabric.Data.Impl.pdb не загружен. Я уверен, что в моем коде нет ошибки, потому что я пытался прокомментировать части своего кода, и эта ошибка всегда появляется. Насколько я понял, проблема заключается не в какой-то части моего кода, а в том, что в определенный момент времени это происходит в каком-то фоновом потоке, который не является моей работой, а в потоке Service Fabric. Это всего лишь мой текущий вывод, он может быть совершенно неправильным.
Но когда я отлаживаю свой проект без точек останова, мое приложение просто завершает работу (тот же эффект, что и при нажатии кнопки остановки отладки).
В окне диагностических событий есть это
Кто-нибудь знает, почему это происходит или что это значит. Или как я могу получить дополнительную информацию об ошибке, которую я получаю.
Редактировать
Program.cs
try
{
// The ServiceManifest.XML file defines one or more service type names.
// Registering a service maps a service type name to a .NET type.
// When Service Fabric creates an instance of this service type,
// an instance of the class is created in this host process.
ServiceRuntime.RegisterServiceAsync("CECacheMicroserviceType",
context => new CECacheMicroservice(context)).GetAwaiter().GetResult();
ServiceEventSource.Current.ServiceTypeRegistered(Process.GetCurrentProcess().Id, typeof(CECacheMicroservice).Name);
// Prevents this host process from terminating so services keep running.
Thread.Sleep(Timeout.Infinite);
}
catch (Exception e)
{
ServiceEventSource.Current.ServiceHostInitializationFailed(e.ToString());
throw;
}
Комментарии:
1. Можете ли вы предоставить общий доступ к содержимому вашего
Program.cs
файла?2. Я добавил содержимое Program.cs. Я ничего в нем не менял.
3. Что произойдет, если вы добавите точку останова в
catch
из Program.cs? Получаете ли вы дополнительную информацию, тип исключения, трассировку стека?4. Хм, ничего не произошло, он никогда не достигает этой точки останова, приложение просто перестает работать.
5. Это означает, что ошибка поступает откуда-то извне блока try.
Ответ №1:
Можете ли вы запустить Install-Package Microsoft.ServiceFabric.Data.Impl -Version 0.10.0-preview-01
в консоли диспетчера пакетов свое решение и проверить, сохраняется ли эта проблема?
Комментарии:
1. Можете ли вы проверить, ссылается ли какой-либо пакет Nuget
Microsoft.ServiceFabric.Data.Impl.pdb
, и если да, то какая версия требуется в Nuget Explorer?2. Я не вижу Microsoft. ServiceFabric.Data.Impl.pdb, но у меня есть Microsoft. ServiceFabric. Данные и Microsoft. ServiceFabric.Data.Extensions в версии 4.1.428
3. Отлично, можете ли вы зайти в Nuget Explorer и посмотреть, есть ли ссылка на
Microsoft.ServiceFabric.Data.Impl.pdb
в любом из этих nugets? Я ожидаю, что есть какой-то nuget, который ожидает другую версиюMicrosoft.ServiceFabric.Data.Impl.pdb
, и у вас установлена какая-то другая версия, поэтому, пожалуйста, проверьте и дайте мне знать.4. Я удалил все пакеты Nuget, которые я установил до сих пор, и установил их снова после того, как он начал работать. Так что, вероятно, это была другая версия в одном из моих микросервисов.