У меня есть вопрос, как наилучшим образом построить свое решение с использованием Entity Framework в службе Windows.
Я хочу предоставить онлайн (веб-) службу, которая позволяет пользователям выполнять, возможно, долго выполняющиеся задачи, посмотретьход выполнения задач, отмена их и т. д.
До сих пор я использую службу Windows для фактического выполнения задач, которые выставляют конечные точки WCF для постановки новой работы в очередь и управления существующими задачами.
Яиспользуя Entity Framework для хранения истории всех заданий.Однако я не совсем уверен, как мне следует смоделировать взаимодействие между фоновым процессом выполнения заданий (с текущей информацией о ходе выполнения) и службами wcf, отображающими этот статус.
Должен ли я полностью разделить обе части, позволяя фонупроцесс периодически записывает текущее состояние в базу данных, и службы WCF опрашивают информацию оттуда?
Или имеет ли смысл, что служба WCF напрямую получает информацию из фонового процесса, обращающегося к статическому члену или к чему-то подобному?Должны ли они совместно использовать DataContext?
Мне бы хотелось, чтобы информация была актуальной, и кажется немного странным, что и фоновая обработка, и служба WCF выполняются в одном процессе, но затем обмениваются данными через базу данных, но нас другой стороны, архитектура кажется более приятной ...
Большое спасибо!