如何使用Kestrel复制并运行简单的Web服务?

时间:2019-12-23 20:23:27

标签: c# asp.net-core .net-core kestrel-http-server

我们正在做一个项目,其中涉及到编写一个客户端来调用客户将要实现的REST Web服务。

所说的Web服务将由客户根据我们将设计的规范进行开发。目的是创建一个将来可供多个客户使用的标准,而无需我们以任何方式修改客户。

现在,在我与这家公司合作的30年中,我们从未有过一个客户根据预定义的规范成功构建Web服务并没有改变需求的情况。即使在进行SOAP接口时(我们会向客户提供.wsdl),他们仍然永远无法正确实现服务器。

但是我们承诺,所以我正在尝试进行尽可能多的操作。

我们正在写一个客户。为了测试它是否有效,我们需要测试服务器的实现。我的意图是创建一个测试服务器,一个测试客户端以及我们的实际客户端,并为客户提供测试服务器和测试客户端,并告诉他们开发自己的服务器以供测试客户端使用。

那么,我需要的是一个易于安装和运行的客户测试Web服务器,以及一个也可以轻松安装和运行的测试客户端。

理想的情况是可以在命令行中运行每个exe,而不必运行安装程序。

我们曾经是.NET Framework商店,但是我们打算在明年左右迁移到.NET Core。

我当时的想法是,如果我们可以在.NET核心中构建测试服务器和客户端,那么它将为未来的客户提供更多运行它的选择。

因此,问题是,如何在.NET Core中创建一个简单的Web服务,以便可以从命令行运行它,而不必配置Web服务器,防火墙等?

这不是作为后台服务运行,不需要配置为与数据库对话,不需要在任何特定端口上运行,等等。它只是在指定端口上启动并侦听直到它关闭。

例如;

$ mytestserver --port 5432
$ mytestclient http://localhost:5432

想法?

1 个答案:

答案 0 :(得分:0)

Here是基本的hello world应用程序,但这是.net core的旧版本,即1.1。新的基本逻辑没有什么不同。

对于端口和配置,您必须在文档中查找如何指定端口。您基本上将使用AppSettings.json。 Here是有关个人资料和应用设置的更多信息。