将方法公开为winform中的Web服务操作

时间:2009-07-05 05:07:07

标签: winforms wcf blackberry

我不能将我的方法作为webmethods暴露在winform中并让其他客户端将它们称为webservice吗? Basicall我试图让我的winform应用程序托管没有asp.net或iis的web服务。

我正在尝试使用^%& ^& 黑莓与我的winform应用程序进行通信....尝试了几个小时寻找其他方式让两个人在没有http的情况下进行交谈web服务。

我在看UDP但是& & BB除了webservice之外没有为Visual Studio开发提供任何文档。

2 个答案:

答案 0 :(得分:1)

许多人遇到问题的一件事是,他们忘记了他们需要添加防火墙规则或前言,以便在尝试从使用运营商的互联网连接的手持设备进行通信时允许外部连接到端点(而不是wifi)。可能完全错过了,因为黑莓正坐在你旁边,你不认为它是外面的来电者。

如果不是这种情况,请尝试使用WCF托管应用

您可以使用WCF端点公开您的服务。

来自http://msdn.microsoft.com/en-us/library/ms731758.aspx

   // Host the service within this EXE console application.
    public static void Main()
    {
      // Create a ServiceHost for the CalculatorService type and use
      // the base address from config.
      ServiceHost hostDefault = new ServiceHost(typeof(CalculatorService));

      int manualFlowControlLimit =  hostDefault.ManualFlowControlLimit;


      basicHttpBinding portsharingBinding = new basicHttpBinding();
      hostDefault.AddServiceEndpoint(typeof( CalculatorService ),portsharingBinding,"http://localhost/MyService" );

      using (ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService)))
      {
                  // Open the ServiceHost to start listening for messages.
          serviceHost.Open();
          // The service can now be accessed.
          Console.WriteLine("The service is ready.");
          Console.WriteLine("Press <ENTER> to terminate service.");
          Console.ReadLine();

          // Close the ServiceHost.
          serviceHost.Close();
      }
    }

答案 1 :(得分:0)

排序。您可以使用WCF托管SOAP服务,但我不确定这是否是一个很棒的架构。