как использовать созданный сервис WCF из svcutil.exe - PullRequest
0 голосов
/ 25 сентября 2019

Я новичок в WCF, у меня есть служба, которую я хочу использовать в консольном приложении, я запускаю svcutil.exe htt: // localhost: 58221 / myservice.svc / mex идал мне два вывода, один из них - файл CS, а другой - XML, я скопировал и вставил конфигурацию в настройках своего приложения, но я не знаю, должен ли я использовать также файл CS?и как? Это дало мне пример как:

   class Test
  {
    static void Main()
    {
   MyServiceServiceClient client = new MyServiceServiceClient ();

    // Use the 'client' variable to call operations on the service.

    // Always close the client.
    client.Close();
}

1 Ответ

1 голос
/ 26 сентября 2019

SVCUtil.exe создает клиентский прокси-класс и адрес конечной точки службы.Если мы просто хотим позвонить в службу с помощью этих файлов.нам нужно только добавить клиентский прокси-класс (testService.cs) в консольное приложение и скопировать раздел System.servicemode в файле output.config в файл app.config в консольном приложении.

    <system.serviceModel>
    <bindings>
        <basicHttpBinding>
            <binding name="BasicHttpBinding_ITestService" />
        </basicHttpBinding>
    </bindings>
    <client>
        <endpoint address="http://localhost:4386/" binding="basicHttpBinding"
            bindingConfiguration="BasicHttpBinding_ITestService" contract="ITestService"
            name="BasicHttpBinding_ITestService" />
    </client>
</system.serviceModel>

Затем создайте экземпляр клиентского прокси, используя интеллектуальную подсказку, и мы сможем получить методы обслуживания, содержащиеся в классе прокси.Точно так же, как мы вызываем локальные методы.

Service1Client client = new Service1Client("BasicHttpsBinding_IService1");
            try
            {
                var result = client.GetData(34);
                Console.WriteLine(result);
            }
            catch (Exception)
            {

                throw;
            }

Еще одна вещь, на которую мы должны обратить внимание, это обеспечение того, что служба находится в рабочем состоянии при вызове.
Не стесняйтесь, дайте мне знатьесли проблема все еще существует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...