2017-04-19 68 views
1

我已通过wcf创建了端点,并通过控制台应用程序托管了wcf。无法呼叫我的wcf端点

我已经把调试器放在那个我试图从浏览器调用的方法上,但是这个方法没有被调用。

我采取参考从以下网站:

https://msdn.microsoft.com/en-us/library/ms731080(v=vs.110).aspx

http://www.infoworld.com/article/3034606/application-development/how-to-work-with-a-wcf-service-programmatically.html

WCF服务:

public class CalculatorService : ICalculator 
    { 
     public double Add(double n1, double n2) 
     { 
      return n1 + n2; 
     } 
     public double Subtract(double n1, double n2) 
     { 
      return n1 - n2; 
     } 
    } 

[ServiceContract] 
    public interface ICalculator 
    { 

     [OperationContract] 
     double Add(double n1, double n2); 
     [OperationContract] 
     double Subtract(double n1, double n2); 
    } 

控制台,它承载WCF应用App:

class Program 
    { 
     static void Main(string[] args) 
     { 
      var serviceUrl = "http://localhost:56264/CalculatorService.svc"; 
      var uri = new Uri(serviceUrl); 
      ServiceHost selfHost = new ServiceHost(typeof(CalculatorService), uri); 
      try 
      { 
       BasicHttpBinding binding1 = new BasicHttpBinding(); 
       selfHost.AddServiceEndpoint(typeof(ICalculator), binding1, "CalculatorService"); 
       selfHost.Open(); 
       Console.WriteLine("Service started... " + serviceUrl); 
       Console.ReadKey(); 
      } 
      catch (Exception ex) 
      { 

      } 
      finally 
      { 

      } 
     } 
    } 

enter image description here

当我尝试调用我的WCF服务端点像下面然后我得到如下结果:

enter image description here

回答

1

经营合同应具备WebGet()属性。

[WebGet()] 
[OperationContract] 
double Add(double n1, double n2);