Я думаю, что "синхронизирующий", о котором говорит Майкл, - это данные в базе данных и представление, представленное приложением Winform.
У нас была похожая проблема, и решение, которое мы придумали, заключается в создании веб-службы, которая предоставляет данные через XML и использует службу как из веб-приложения, так и из приложения Winform. Каждый раз, когда вы обновляете данные, отправляйте их в веб-службу, и каждый раз, когда вы выполняете запрос, получите последние данные из службы. Не рассматривайте кэширование данных в приложении Winform, если у вас нет данных профиля, указывающих на то, что это узкое место, или если вы хотите работать без подключения к сети.
Это вполне возможно в .Net 2, вам не нужен 3.0 или WCF.