对于我最新的 Windows 应用程序,我想使用 Web 浏览器控件创建一个基于 Web 的界面,并且我想让 Ajax 在它上面工作。由于所有内容都将由网络浏览器控件本身加载,因此我想创建一个可以在 localhost 端口上工作的网络服务器,并在网络浏览器访问特殊 url 时将我的内容提供给网络浏览器,例如:
如何创建 Windows 将请求路由到的 Web 服务器?我只需要了解正确的 API/WinInet 命令即可开始接收请求。
对于我最新的 Windows 应用程序,我想使用 Web 浏览器控件创建一个基于 Web 的界面,并且我想让 Ajax 在它上面工作。由于所有内容都将由网络浏览器控件本身加载,因此我想创建一个可以在 localhost 端口上工作的网络服务器,并在网络浏览器访问特殊 url 时将我的内容提供给网络浏览器,例如:
如何创建 Windows 将请求路由到的 Web 服务器?我只需要了解正确的 API/WinInet 命令即可开始接收请求。
幸运的是,.NET 在框架中内置了一个相当不错的 Web 服务器。
查看HttpListener类。
它支持同步和异步模式:
如果您的应用程序在等待客户端请求时应阻塞,并且您一次只想处理一个请求,则同步模型是合适的。使用同步模型,调用 GetContext 方法,等待客户端发送请求。该方法在发生时返回一个 HttpListenerContext 对象给您进行处理。
在更复杂的异步模型中,您的应用程序在等待请求时不会阻塞,并且每个请求都在其自己的执行线程中处理。使用 BeginGetContext 方法来指定要为每个传入请求调用的应用程序定义的方法。在该方法中,调用 EndGetContext 方法来获取请求、处理它并做出响应。
这家伙很棒,因为它使用内置于现代版本 Windows(XP SP2+ 和 Server 2003+)中的本机 Web 服务器。