Буду признателен за некоторые взгляды на следующий дизайн:
У меня есть сервер, который постоянно отправляет сообщения, на которые я написал сборку C #, чтобы подписаться на нее.В настоящее время, когда бы ни отправлялись какие-либо сообщения, я буду записывать их асинхронно в MS Excel 2007. Поскольку это трудоемкий процесс, я использовал поток фонового рабочего для обработки соединения с сервером и получения сообщений перед записью в Excel.
public static void bw_DoWork(object sender, DoWorkEventArgs e)
{
//This method will establish conn to server, and subscribe to the messages sent asynchrously.
//After which, createSpreadsheet(String msg) will be called to write the message to excel
runMsgServerConsumer();
}
Вопрос: Это хороший дизайн?В качестве альтернативы у меня есть возможность позволить основному потоку установить соединение с сервером и позволить фоновому потоку обработать запись, чтобы преуспеть через createSpreadsheet (String msg).