Mozi.HttpEmbedded是一个基于.Net构建的嵌入式Web服务器,为.Net App提供web服务功能。
嵌入式的目标不是单片机,而是.Net应用程序。
此项目并不会实现非常丰富的大型Web服务器功能
项目基于.Net Framework 4.0开发,也可转换为.Net Core/.Net Standard项目
HttpEmbedded在Socket之上使用异步单线程模型,构建了一个HTTP服务器。
本项目可作为.Net应用的内嵌Web服务器,亦可作为单独Web服务器
项目编译结果小,部署程序占用系统资源少
开箱即用,配置少,可控性高。同时遵从.Net平台Web项目开发的典型规范。
不改变现有业务逻辑,无需对现有代码进行改造,即可实现现有功能面向HTTP提供服务器
宿主程序对Web服务高度可控
业务体系或功能已开发完成,期望在项目中加入一个Web服务器功能,同时不能对现有代码进行大规模改动。
在经典的Asp.Net开发中,Web服务的部署高度依赖于IIS,.Net Core项目则可基于Kestrel/IIS部署。 基于KESTREL或IIS部署的WEB项目,都基于Asp.Net体系。
HTTP协议 实现HTTP/1.1
通讯认证 实现基本认证(Basic)
Cookie管理 支持标准Cookie
HTTP请求方法 GET POST
路由 实现了URL管理,参见Router模块
引用与依赖关系 依赖于.Net Framework
Payload压缩 使用GZip压缩
字符编码 字符编码部分使用UTF-8
不定期对HttpEmbedded的功能进行完善,解决各种BUG。HTTP标准功能繁多,需要一步步实现。
本项目采用MIT开源协议,欢迎复制,引用和修改。
HttpServer hs = new HttpServer(); //配置端口并启动服务器 hs.SetPort(9000).Start(); //开启认证 hs.UseAuth(AuthorizationType.Basic).SetUser("admin", "admin"); //开启静态文件支持 hs.UseStaticFiles(""); //路由映射 Router router = Router.Default; router.Map("services/{controller}/{id}"); Console.ReadLine();
每个Spring Boot Web应用程序都包含一个嵌入式Web服务器。 此功能会导致许多操作方法问题,包括如何更改嵌入式服务器以及如何配置嵌入式服务器。 本节回答了这些问题。 9.3.1 使用其他Web服务器 许多Spring Boot启动器都包含默认的嵌入式容器。 对于servlet堆栈应用程序,spring-boot-starter-web包括tomcat,包括spring-boot-sta
neo4j数据库应在哪种模式下使用嵌入式或rest服务器? 我主要关注的是: > 性能 水平扩展(HA,集群)-因为应用程序非常大,所以非常重要。 事务支持(在SDN、Grails插件、结构等框架中) 部署服务器支持,如amazon、GrapheneDB等。 易于从一个切换到另一个 缩放(数据库大小)
25.1.1. 嵌入式MySQL服务器库概述 25.1.2. 使用libmysqld编译程序 25.1.3. 使用嵌入式MySQL服务器时的限制 25.1.4. 与嵌入式服务器一起使用的选项 25.1.5. 嵌入式服务器中尚需完成的事项(TODO) 25.1.6. 嵌入式服务器示例 25.1.7. 嵌入式服务器的许可 25.1.1. 嵌入式MySQL服务器库概述 使用嵌入式MySQL服务器库,能够
我试图在HA模式下使用带有spring数据的neo4j嵌入式服务器。我得到类加载错误。我把所有的罐子都放好了。我试图在HA模式下使用带有spring数据的neo4j嵌入式服务器。我得到类加载错误。我把所有的罐子都放好了。
我制作了一个非常基本的web应用程序,它只有一个html页面。我把它当作战争输出。 现在我创建了一个嵌入式jetty服务器。 } 我为这个嵌入式服务器创建了一个jar。但是当我试图通过嵌入式服务器运行我的web应用程序时,我得到以下错误。 C:\users\user>Java-jar C:\users\user\desktop\jetty\webserver.jar null 我使用过jetty
基本上,我想在Tomcat 8嵌入式中运行一些Rest类。我不确定如何将它们添加到我正在创建的tomcat嵌入式实例中。所以这就是我所做的。这里只有泽西班: 下面是我创建Tomcat的类: 正如你看到的,带问号的部分给我制造麻烦。还有一个lats问题,这就是我应该添加这些类以在服务器上运行的方式,对吗? 更新我添加了Michal Gajdos建议的行,但在启动时我得到: 线程“main”java中