Я пытаюсь вызвать службу WCF из хранимой процедуры SQL, написанной на C #.
Я видел различные посты или вопросы на одну и ту же тему:
Вызов службы WCF из хранимой процедуры SQL CLR
Хранимая процедура и веб-служба SQL CLR
Но есть кое-что, чего я не понимаю.
Чтобы иметь возможность вызывать мою службу WCF из хранимой процедуры, я создаю клиента WCF в коде C # процедуры:
//Create an endpoint addresss for our service
public static EndpointAddress endpoint =
new EndpointAddress(new Uri("http://localhost:32226/ServiceName.svc"));
//Create a binding method for our service
public static WSHttpBinding HttpBinding = new WSHttpBinding();
//Create an instance of the service proxy
public static ChannelFactory<IServiceName> MyChannelFactory = new ChannelFactory<IRecursosHumanos>(HttpBinding, endpoint);
// Create a channel.
public static IRecursosHumanos ServicioRrhh = MyChannelFactory.CreateChannel();
Я компилирую проект как .NET 3.0+, чтобы иметь возможность его скомпилировать (Ссылка на Sytem.ServiceModel). Когда я пытаюсь развернуть его на SQL Server, я получаю следующее сообщение:
Msg 10301, Level 16, State 1, Line 2
Assembly 'MyAssembly' references assembly 'system.runtime.serialization, version=3.0.0.0, culture=neutral, publickeytoken=b77a5c561934e089.', which is not present in the current database. SQL Server attempted to locate and automatically load the referenced assembly from the same location where referring assembly came from, but that operation has failed (reason: 2(failed to retrieve text for this error. Reason: 15105)). Please load the referenced assembly into the current database and retry your request.
Должен ли я зарегистрировать эту сборку также на сервере? как нужны сборки для WCF?
Разве я не повредил бы сервер, добавив столько сборок?
Спасибо за вашу помощь.