У меня есть два отдельных проекта, один из которых является службой Windows, на другую есть ссылка.
Я хочу, чтобы моя служба вызывала метод из ссылочного проекта, что-то вроде этого:
protected override void OnStart(string[] args) {
MessageSystem msg_system = new MessageSystem();
IQueryable<MensagemGrupo> mensagens =
msg_system.GetScheduledMensagensGrupo();
foreach (var msg in mensagens) {
msg_system.ConfirmaEnvio(DateTime.Now, msg.id);
}
Код, который я вызываю, для службы:
public class MessageSystem {
private StorageModelDataContext db = new StorageModelDataContext();
public IQueryable<MensagemGrupo> GetScheduledMensagensGrupo() {
IQueryable<MensagemGrupo> mensagens = db.GetMensagensGrupoAgendadas();
return mensagens;
}
}
Я получаю исключение System.NullReferenceException, начиная с db.GetMensagensGrupoAgendadas (). Может ли это быть потому, что БД находится на удаленном сервере?
Могу ли я вызывать методы таким способом из службы?
PS: Служба является локальной системой. Я пробовал Сетевую службу, но я получаю «Ошибка 5: Доступ запрещен» при запуске службы.