Привязка BasicHttp и NetTcp, размещенная в консольном приложении
У меня есть файл web.config ниже
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<services>
<service name="HelloService.HelloService" behaviorConfiguration="mexBehaviour">
<endpoint address="HelloService" binding="basicHttpBinding" contract="HelloService.IHelloService"></endpoint>
<endpoint address="HelloService" binding="netTcpBinding" contract="HelloService.IHelloService"></endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"></endpoint>
<host>
<baseAddresses>
<add baseAddress="http://localhost:59084/"/>
<add baseAddress="net.tcp://localhost:59076/"/>
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="mexBehaviour">
<serviceMetadata httpGetEnabled="True"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
Интерфейс
namespace HelloService
{
[ServiceContract]
public interface IHelloService
{
[OperationContract]
String GetMessage(String Name);
}
}
Класс, расширяющий интерфейс
using System.ServiceModel;
namespace HelloService
{
public class HelloService : IHelloService
{
public string GetMessage(string Name)
{
return "Hello " + Name;
}
}
}
и код консольного приложения для хостинга
using System.ServiceModel;
namespace HelloServiceHost
{
class Program
{
static void Main()
{
using(ServiceHost host = new ServiceHost(typeof(HelloService.HelloService)))
{
host.Open();
Console.WriteLine("Host Started");
Console.ReadLine();
}
}
}
}
Я получаю сообщение об ошибке ниже, когда пытаюсь запустить консольное приложение
HTTP could not register URL http://+:8080/. Your process does not have
access rights to this namespace (see
http://go.microsoft.com/fwlink/?LinkId=70353 for details).
- Я попробовал другой номер порта, например 53895, думая, что порт 8080 может быть занят. Не повезло!!
Когда я просмотрел эту ошибку, я узнал об этой проблеме из-за того, что моя учетная запись не является администратором. Теперь я сомневаюсь, что клиент WCFTest также выполняется под моей учетной записью. Как он может запустить аналогичный код, а я не могу?
Также будут приняты любые предложения по выполнению этой работы. Может быть опять что то делать с Webconfig ??
Заранее спасибо за помощь!!