Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Программирование WCF

54K
07 декабря 2009 года
-Skiff-
3 / / 07.12.2009
Имеется сервис и клиент, при настройке localhost все работает прекрасно, при попытке доступа к сервису с удаленного компа, клиент его может установить соединение и вылетает с ошибкой истечение времени... Подскажите, пожалуйста, чайнику как настроить сервис и клиент?
279
15 декабря 2009 года
bave
456 / / 07.03.2004
А как подсказывать то? В вопросе ни сорва не сказано о конфигурации endpoint-а,
какая привязка используется?
54K
19 декабря 2009 года
-Skiff-
3 / / 07.12.2009
Цитата: bave
А как подсказывать то? В вопросе ни сорва не сказано о конфигурации endpoint-а,
какая привязка используется?



Вот простой пример сервиса и клиента:

Сервис:

Код:
using System;
using System.ServiceModel;

namespace TestService
{
  [ServiceContract]
  public interface IService
  {
    [OperationContract]
    string TestConnect();
  }

  public class Service : IService
  {
    public string TestConnect()
    {
      return "It's Ok!";
    }
  }

  class Program
  {
    static void Main(string[] args)
    {
      ServiceHost host = new ServiceHost(typeof(Service), new Uri("http://localhost:8732/TestService"));
      host.AddServiceEndpoint(typeof(IService), new BasicHttpBinding(), "");
      host.Open();
      Console.WriteLine("Start service...");
      Console.ReadLine();
      host.Close();
    }
  }
}


Клиент:
Код:
using System;
using System.ServiceModel;

namespace TestClient
{
  [ServiceContract]
  public interface IService
  {
    [OperationContract]
    string TestConnect();
  }

  class Program
  {
    static void Main(string[] args)
    {
      string server = ""; // соответственно здесь IP, где находится сервис
      string port = "8732";
      Uri tcpUri = new Uri(string.Format("http://{0}:{1}/TestService", server, port));
      EndpointAddress address = new EndpointAddress(tcpUri, EndpointIdentity.CreateSpnIdentity("TestService"));
      BasicHttpBinding binding = new BasicHttpBinding();
      ChannelFactory<IService> factory = new ChannelFactory<IService>(binding, address);
      IService service = factory.CreateChannel();
      Console.WriteLine("Call service method...");
      Console.WriteLine(service.TestConnect());
      Console.ReadLine();
    }
  }
}


P.S.: если имеет значение вдруг, то у меня стоит Win 7
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог