На данный момент у меня есть служба Windows, написанная на C #, которая ожидает сообщения в SQL Server Service Broker, и при получении вызывает метод веб-службы с подробностями, передаваемыми в сообщении.
Я хочу заменить это хранимой процедурой SQLCLR, которая напрямую вызывает веб-сервис, что я считаю довольно простым.Затем я могу вызвать это с помощью внутренней активации.
Однако для каждого метода необходимо создать новый экземпляр веб-службы, и, как я обнаружил, на это уходит некоторое время.В службе Windows я создаю его с ленивым созданием экземпляра в статическом классе, но я понимаю, что статические поля нельзя использовать для хранения информации в SQLCLR.
Есть ли способ сохранить эту ссылку на веб-сервис?
Редактировать: Вот ленивый код инстанции, ссылающийся на синглтон, который я хотел бы сохранить:
static class WsSingleton
{
static MWs.MWS mWS = null;
public static MWs.MWS GetMWS()
{
if (mWS == null)
{
mWS = new MWs.MWS();
mWS.Credentials = new System.Net.NetworkCredential("user", "password", "domain");
}
return mWS;
}
}