在my previous post about my game server之后,我决定要创建一个基于Web的服务器,而不是WPF服务器。
目前,服务器是一个控制台应用程序。我运行服务器,它有一个TcpListener,我与TcpClients交互,我唯一真正的控制台,是我想要摆脱的一堆Console.WriteLine
。服务器本身是类库的一部分,它包含所有服务器逻辑,因此它可以很容易地将它包装在我需要的任何平台中。
假设我有一个包含所有server-side
逻辑的库,我希望服务器的GUI
为web client
,同时仍然有一台在后台运行的服务器保持游戏运行 - 我如何使用ASP.NET做到这一点?
由于我的所有代码都是C#
,我自然会选择ASP.NET,并将MVC
与Razor
一起使用,这样我就可以使用我原来的类了网站上的数据。
我可以处理ASP.NET的网站部分,但我需要建议的是如何创建一个像我之前的(runs in the background, has some sort of GUI, for input, commands and etc)
一样的服务器,并且还有一个网站作为GUI。
提前致谢!
作为参考,我的所有ConsoleApplication
代码都是here,显示了运行服务器的平台必须做的事情。
无论如何this is the link to my game code,如果有人有兴趣的话。我总是对意见和建设性的批评感兴趣!
答案 0 :(得分:0)
This是一篇关于使用Owin在控制台应用程序中自托管webapi和静态文件的文章,不支持MVC。 Asp.Net Core有类似的工作流程(虽然它不再称为Owin),并且MVC可用。 Asp.Net Core应用程序实际上是使用Kestrel在控制台应用程序中自托管的。当您在IIS中托管asp.net核心时,所有IIS都可以充当代理。