У меня есть веб-приложение, работающее на одной машине и службах на другом компьютере (то есть в разных доменах приложений). У меня есть служба рабочего процесса на моем уровне сервиса, который получает Синхронизационный Контекст из SynchronizationContext.Current. Я получаю SynchronizationContext.Current всегда как null. Но если я запустил оба уровня приложений и сервисов на одном компьютере (т. Е. Тот же appdomain), SynchronizationContext.Current - это AspNetSynchronizationContext, и он отлично работает. Может ли кто-нибудь помочь мне решить эту проблему для запуска разных доменов приложений.SynchronizationContext.Current имеет значение null при запуске в разных доменах приложений
0
A
ответ
0
Я решил ее overiding контекст синхронизации
if (syncContext == null)
{
SynchronousSynchronizationContext sync = new SynchronousSynchronizationContext();
syncContext = sync;
}
class SynchronousSynchronizationContext : SynchronizationContext
{
public override void Post(SendOrPostCallback d, object state)
{
this.Send(d, state);
}
}
0
Контекст синхронизации обычно создается с помощью какой-либо структуры, такой как ASP.NET, WPF, WinForms и т. Д. Похоже, что когда вы используете свои службы в своем собственном процессе, вы не используете какие-либо которые сделают это.
Следует также упомянуть, что SynchronizationContext.Current обычно возвращает только контекст синхронизации текущего потока, поэтому, если вы вызываете его из неправильного потока, он почти наверняка вернет значение null.
Если у вас нет контекста синхронизации, вы всегда можете создать свой собственный. В этой статье объясняется, как:
Смежные вопросы
- 1. SynchronizationContext.Current имеет значение null для разрешения с Unity в WPF
- 2. Ajax Post Form в разных доменах приложений
- 3. Почему SynchronizationContext.Current null?
- 4. SSO в разных доменах
- 5. TestContext имеет значение null при запуске теста из формы Windows
- 6. Android: Firebase token имеет значение null при первом запуске
- 7. IllegalArgumentException: соединение имеет значение null, при запуске службы фона
- 8. WebApplicationContext всегда имеет значение null при запуске теста интеграции Geb
- 9. Почему шаблон управления при запуске имеет значение null?
- 10. Аутентификация в разных доменах
- 11. Почему SynchronizationContext.Current null в приложении Winforms?
- 12. HttpContext.Current имеет значение null только при отладке
- 13. Могу ли я безопасно использовать Task.Wait, когда SynchronizationContext.Current имеет значение NULL?
- 14. Запрос [] имеет значение null, но имеет значение
- 15. Идентификация пользователя в разных доменах
- 16. Loggin пользователь в разных доменах
- 17. Маршрутизация сетевых данных в доменах приложений
- 18. HttpContext.Current имеет значение null в Application_PreSendRequestHeaders
- 19. GooglePlayServicesUtil.getErrorDialog имеет значение null
- 20. Обновление iframe, которые находятся в разных доменах
- 21. BindingContext имеет значение null при создании MvxAdapter
- 22. NSString имеет значение null при объединении
- 23. Окружающая среда имеет значение null при введении
- 24. PictureBox.Image имеет значение null при использовании стилуса
- 25. HttpContext.Current.Session имеет значение null при запросах маршрутизации
- 26. ApplicationUser имеет значение null при возврате PartialView
- 27. Ошибка приложений при запуске
- 28. Отладка приложений при запуске
- 29. Тег имеет значение null при использовании Timber
- 30. getElementById имеет значение null?