向控制台应用程序添加 Web 服务引用

问题描述 投票:0回答:6

我正在控制台应用程序中创建一个简单的 Web 服务。 (人员服务) 这是我的 Program.cs 下面

我尝试将服务引用添加到不同的控制台应用程序(PersonClient) 我怎样才能做到这一点? 我尝试通过右键单击、添加服务引用、指向引用等来添加它... 但它不会起作用。

        [DataContract]
        public class Person
        {
            [DataMember]
            public string FirstName { get; set; }

            [DataMember]
            public string LastName { get; set; }

        }

        [ServiceContract]
        public interface IPersonLookup
        {
            [OperationContract]
            Person GetPerson(int identifier);
        }

        public class PersonService : IPersonLookup
        {
            public PersonService()
            {
            }
            public Person GetPerson(int identifier)
            {
                Person p = new Person();
                p.FirstName="Jane";
                p.LastName="Doe";
                return p;
            }



        }


        class Program
        {
            static void Main(string[] args)
            {
                using (ServiceHost host = new ServiceHost(typeof(PersonService)))
                {
                    WSHttpBinding binding = new WSHttpBinding();
                    host.AddServiceEndpoint(typeof(IPersonLookup), binding, "http://localhost:9090/PersonService");
                    host.Open();
                    Console.WriteLine("Listening....");
                    Console.ReadLine();
                }


            }
        }
c# visual-studio wcf web-services console
6个回答
19
投票

解决方案:

  1. 使用 Visual Studio 创建控制台应用程序。
  2. 右键单击该项目,然后单击“添加服务引用...”。
  3. 在窗口中,您将在底部找到“高级”按钮。
  4. 单击按钮,将打开服务参考设置窗口。它的底部有一个名为“添加 Web 引用”的按钮。

1
投票

您需要阅读有关 WCF MEX 端点的信息。这是一篇博客文章可能会有所帮助存档版本)。


0
投票

你有两个控制台执行程序,其中一个运行

ServiceHost
- 这是正确的吗?运行服务器控制台,无需调试;然后在 IDE 中添加对 url 的 WCF 引用。它应该可以工作,但是当您查询 mex 时,它需要服务器(您的第二个控制台 exe)运行。


0
投票

添加 Web 服务引用时,您定义了服务的命名空间和“类名称”。您必须添加命名空间引用(“using FooNameSpace;”)或使用服务的完全限定类名(“FooNameSpace.BarClass ws = new FooNameSapce.BarClass()”);


0
投票

还没有人提到您需要做一些事情才能使用“添加服务引用”。

  1. 使用 Visual Studio 2019 安装程序工具修改现有安装。
  2. 勾选“.NET 桌面开发工作负载”。 (这将添加第二种类型的控制台应用程序。)
  3. 现在启动 VS 2019,然后使用以下命令创建一个项目:控制台应用程序 (.NET Framework) 重要提示:不要选择 .NET Core 的项目,否则它将没有“添加服务引用”选项!
  4. 现在转到主菜单栏并选择“项目”->“添加服务引用”。现在您可以添加您的参考。

编码快乐!


-1
投票
  • 创建控制台应用程序。
  • 右键单击“参考”,然后单击“添加服务” 参考。
  • 单击底部的高级按钮。
  • 在新窗口中单击“添加 Web 引用”。

© www.soinside.com 2019 - 2024. All rights reserved.