WCF Service in Console app throwing error

你。 提交于 2019-12-11 17:41:01

问题


BasicHttp and NetTcp Binding hosted in Console App

I have the below web.config file

<?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>

The Interface

namespace HelloService
{
    [ServiceContract]
    public interface IHelloService
    {
        [OperationContract]
        String GetMessage(String Name);
    }
}

Class that extends Interface

 using System.ServiceModel;
    namespace HelloService
    {
        public class HelloService : IHelloService
        {
            public string GetMessage(string Name)
            {
                return "Hello " + Name;
            }
        }
    }

and Console App code for hosting

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();
            }
        }
    }
}

I am getting below error when i try to run the Console app

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).
  • I tried other port number like 53895, thinking port 8080 might be pre occupied. No Luck!!
  • When i browsed for this error, i came to know this problem due to my account being non admin. Now my doubt is WCFTest Client also execued under my account itself. How can it run the similar code and i can't?

    Also, any suggestions to make this work would be appriciated. May be something to do with Webconfig again??

Thanks for your help in advance!!


回答1:


Your code looks alright. I tried it and it works. Try the solution here: HTTP could not register URL http://+:8000/HelloWCF/. Your process does not have access rights to this namespace

It basically tells you to close your Visual Studio IDE and open it by doing a right-click "Run as administrator"



来源:https://stackoverflow.com/questions/24162530/wcf-service-in-console-app-throwing-error

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!