Web开发

首页 » 常识 » 常识 » 基于轻量型Web服务器Raspkate的
TUhjnbcbe - 2021/2/20 2:09:00

在上一篇文章《Raspkate-基于.NET的可运行于树莓派的轻量型Web服务器》中,我们已经了解了Raspkate这一轻量型Web服务器,今天,我们再一起了解下如何基于Raspkate实现简单的RESTfulAPI。

模块

首先让我们了解一下“模块”的概念。Raspkate的模块包含了一组能够提供完整业务功能的HTTP处理器(Handler),例如,在Raspkate的源代码库中,默认提供了两个模块:Default和RaspberryPi,它们分别位于两个不同的C#项目中:

Raspkate.Modules.Default

Raspkate.Modules.RaspberryPi

Default模块包含了一个标准的静态文件访问服务/处理器,以及一个能够读取并返回服务器信息的RESTfulAPI控制器;而RaspberryPi模块则提供了一个访问树莓派信息页静态文件的处理器,以及一个读取树莓派信息的RESTfulAPI控制器。当然,在这里静态文件访问处理都是由FileHandler负责,而RESTfulAPI的处理则由ControllerHandler完成。虽然这两个模块使用了相同类型的Handler,但它们所专注的业务功能完全不同,而且它们是相互隔离,独立执行的。

Raspkate中每个模块都被存放于modules目录下的某个子目录中,在Raspkate服务启动时,会扫描modules目录下的所有程序集,定位所有继承于RaspkateModule类的子类,并根据类型定义对Handler进行初始化然后注册到Raspkate服务中,以便这些Handler能够为HTTP请求提供服务。当然,这些模块也可以放在其它目录下,但这就需要修改Raspkate服务的配置文件RaspkateService.exe.config,把模块所在的目录添加到modules节点下,例如:

?xmlversion=.0encoding=utf-8?configurationconfigSectionssectionname=raspkateConfigurationtype=Raspkate.Config.RaspkateConfiguration,Raspkate//configSectionsraspkateConfigurationxmlns=urn:Raspkate.Configprefix=
1
查看完整版本: 基于轻量型Web服务器Raspkate的