Попытка запустить автономное приложение в моей системе Win 7, но без особого успеха.Приложение запускается, но я не могу получить к нему доступ из WCF Test Client или путем добавления ссылки в VS.Я прочитал примерно 1000 сообщений о похожих проблемах, но ни одно из решений не подходит.
Я сделал это:
netsh http add urlacl url=http://+:9090/hello user=LocalPC\UserName
А потом это:
netsh http add iplisten ipaddress=0.0.0.0:9090
Вот код для
void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
Uri baseAddress = new Uri("http://localhost:9090/hello");
// Create the ServiceHost.
using (ServiceHost host = new ServiceHost(typeof(HelloWorldService), baseAddress))
{
// Enable metadata publishing.
ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
smb.HttpGetEnabled = true;
smb.MetadataExporter.PolicyVersion = PolicyVersion.Policy15;
host.Description.Behaviors.Add(smb);
// Add MEX endpoint
host.AddServiceEndpoint(
ServiceMetadataBehavior.MexContractName,
MetadataExchangeBindings.CreateMexHttpBinding(),
"mex");
// Add application endpoint
host.AddServiceEndpoint(typeof(IHelloWorldService), new WSHttpBinding(), "");
// Open the ServiceHost to start listening for messages. Since
// no endpoints are explicitly configured, the runtime will create
// one endpoint per base address for each service contract implemented
// by the service.
try
{
host.Open();
}
catch (Exception excep)
{
string s = excep.Message;
}
}
}
Когда я пытаюсь получить доступ из WCF Test Client, я получаю:
Ошибка: невозможно получить метаданные из http://localhost:9090/hello Если это служба Windows (R) Communication Foundation, к которой у вас есть доступ, убедитесь, что вы включили публикацию метаданных по указанному адресу.Для получения справки о включении публикации метаданных см. Документацию MSDN по адресу http://go.microsoft.com/fwlink/?LinkId=65455.
URI ошибки обмена метаданными WS: http://localhost:9090/hello
Метаданные содержат ссылку, которая не может быть разрешена: 'http://localhost:9090/hello'.
Не было прослушивания конечной точкив http://localhost:9090/hello, который может принять сообщение.Это часто вызвано неправильным адресом или действием SOAP.См. InnerException, если имеется, для получения дополнительной информации.
Невозможно подключиться к удаленному серверу. Невозможно установить соединение, поскольку целевая машина активно отказала ему в этом. 127.0.0.1:9090
HTTP URI ошибки GET: http://localhost:9090/hello Произошла ошибка при загрузке 'http://localhost:9090/hello'. Невозможно подключиться к удаленному серверу. Невозможно установить соединение, поскольку целевая машина активно отказывала в этом 127.0.0.1:9090
Когда я пытаюсь добавить службуссылка, которую я получаю:
Произошла ошибка при загрузке 'http://localhost:9090/hello'.
Невозможно подключиться к удаленному серверу
Невозможно установить соединение, поскольку целевая машина активно отказала ему
127.0.0.1: 9090
Метаданные содержат ссылку, которая не может быть разрешена: 'http://localhost:9090/hello'.
Не было прослушивания конечной точки на http://localhost:9090/hello, которая могла бы принять сообщение
.Это часто вызвано неправильным адресом или действием SOAP.См. InnerException, если имеется, для получения дополнительной информации.
Невозможно подключиться к удаленному серверу
Невозможно установить соединение, поскольку целевая машина активно отказала ему в этом 127.0.0.1:9090
Если служба определена втекущее решение, попробуйте создать решение и снова добавить ссылку на сервис.