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();
}
}
}
Программирование WCF
Имеется сервис и клиент, при настройке localhost все работает прекрасно, при попытке доступа к сервису с удаленного компа, клиент его может установить соединение и вылетает с ошибкой истечение времени... Подскажите, пожалуйста, чайнику как настроить сервис и клиент?
какая привязка используется?
Цитата: bave
А как подсказывать то? В вопросе ни сорва не сказано о конфигурации endpoint-а,
какая привязка используется?
какая привязка используется?
Вот простой пример сервиса и клиента:
Сервис:
Код:
Клиент:
Код:
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();
}
}
}
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