Некоторые привязки, такие как Wshttpbinding
, Netnamedbinding
, не совместимы с Do tNet Core framework. Следовательно, мы не могли его настроить. Однако это не означает, что мы не можем настроить Basichttpbinding
, Nettcpbinding
.
. В настоящее время службу WCF нельзя создать с помощью Do tNet Core без использования сторонней библиотеки. Более того, клиент WCF на основе Do tNet Core - просто совместимый обходной путь.
https://github.com/dotnet/wcf
Как и проект Do tNet Framework, корпорация Майкрософт предоставляет инструмент справочного провайдера веб-служб Microsoft WCF для создания клиентского прокси.
https://docs.microsoft.com/en-us/dotnet/core/additional-tools/wcf-web-service-reference-guide
После добавления подключенной службы он должен сгенерировать новое пространство имен, содержащее класс клиентского прокси. Большая часть конфигурации клиента находится в Reference.cs
.
Также мы можем вручную запрограммировать код для вызова службы WCF.
class Program
{
static void Main(string[] args)
{
//using the automatically generated client proxy lcoated in the Reference.cs file to call the service.
//ServiceReference1.ServiceClient client = new ServiceReference1.ServiceClient();
//var result = client.TestAsync();
//Console.WriteLine(result.Result);
//using the Channel Factory to call the service.
Uri uri = new Uri("http://10.157.13.69:21012");
BasicHttpBinding binding = new BasicHttpBinding();
ChannelFactory<IService> factory = new ChannelFactory<IService>(binding, new EndpointAddress(uri));
IService service = factory.CreateChannel();
var result = service.Test();
Console.WriteLine(result);
}
}
[ServiceContract]
public interface IService
{
[OperationContract]
string Test();
}
https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/how-to-use-the-channelfactory
Не стесняйтесь, дайте мне знать, если есть что-то, с чем я могу помочь.