09 2019 档案
摘要:组件在新版本中支持使用.NET Core的DependencyInjection组件注入控制器,这样极大方便地对控器一些功能类型通过DI注入到控器中。 引用组件 定义Host服务 var builder = new HostBuilder() .ConfigureServices((hostCont
阅读全文
摘要:组件并不提供控制器注入的支持,但提供控制器创建事件来支持用户自定义控制器创建;在这个事件里用户可以引入第三方的注入组件来实现控制器相关注入功能。以下是一个技术友人针对Autofac注入的一个扩展。 控制器创建事件定义 apiServer.ActionFactory.ControllerInstanc
阅读全文
摘要:相信大家针对WepApi调用编写JavaScript都感觉非常麻烦,组件提供一个插件可以自动生成相关控制器调用脚本,从而让页面调用接口更简便(插件暂只支持VS2017)。 安装插件 下载 https://github.com/IKende/FastHttpApi/blob/master/Extend
阅读全文
摘要:组件提供了一个简单的服务管理插件,它可以在线查看服务基础资源使用情况,并发数据,设置配置,在线查看日志和文件管理等功能。服务加载这个插件非常简单,只需要引用相关DLL加载它即可访问管理。 安装插件 加载插件 mApiServer.Register(typeof(BeetleX.FastHttpApi
阅读全文
摘要:使用HTML和CSS来做界面的确是比较方便,即做一些很好的效果也相对比较容易,特别现有的HTML5技术;但如果传统的UI技术来做就比较麻烦和工作量大了。对于.NET来说通过webBrowser再结合HTML和CSS就非常容易制作应用界面了,但前提是需要在应用中集成HTTP服务。组件提供netstan
阅读全文
摘要:组件在1.5.6开始引入了控制器线程队列设置功能,这个功能的主要作用是对每个控制器方法设置不同的线程队列模式。组件提供三种线程模式来处理请求方法分别如下 Single 所有请求都由一个队列里有序执行,这个配置的主要作用是让这方法的所有并发请求都进行一个排队处理执行,同一时间只处理一个请求。 Mult
阅读全文
摘要:很多时候需要对控制器返回的数据进行缓存,这样的好处就是在二次获取的时候不再需要重新处理相关加载逻辑从而提供现好的输出性能。组件可以通过过虑器功能把缓存引入到控制器处理层面,从而让使用者在不修改逻辑的情况即可实现这功能的调整。 缓存过虑器实现 public class ActionCacheFilte
阅读全文
摘要:组件对控制器方法访问路径是Controller.BaseUrl+方法名;当BaseUrl不配置的情况下默认值是/ [Controller] public class Home { [Post] public bool Login(string name, string value) { return
阅读全文
摘要:组件默认是使用Newtonsoft.Json 毕竟它的功能完善,但也面对一个问题就是性能相对没这么好;而SpanJson则有着非常不错的性能,如果你在输出Json内容里需要提高更好的输出性能,可以在组件中引入SpanJson组件,为了方便使用组件已经构建了相关扩展Result. 引用组件 使用 pu
阅读全文
摘要:组件不紧支持Webapi,它对静态资源的支持也非常友好;主要支持功能有:静态资源热更新,gzip和版本变更缓存等。 添加资源 组件对静态资源的存储放有一定的要求,所有静态资源都必须存放在项目的views目录下 这个目录作为组件对静态资源处理的根路径;默认情况下所有静态资源都不支持输出,在不配置的情况
阅读全文
摘要:组件默认支持WebSocket,因此并不需要再做专门的配置;默认情况所有控制器都支持WebSocket请求处理,但WebSocket所发送的数据包必须符合特定的规则。以下讲解一下组件WebSocket服务在不同情况下的使用。 定义Websocket控制器 [BeetleX.FastHttpApi.C
阅读全文
摘要:在API数据交互过程中往往需要安全验证,但组件并不直接提供这方向面的支持;由于组件是基于标准HTTP协议的实现,所有基于这协议的验证规则都可以根据实际情况来扩展。以下是针对JWT验证的一个扩展,并添加的服务应用中。为了实现这一验证功能需要添加一个相关组件System.IdentityModel.To
阅读全文
摘要:在前后端分离的应用中,跨域访问WebApi是比较常见的行为,组件对跨域访问支持也非常方便,只需要在相关控制器或方法上标记一个Options属性即可。 标记授权跨域访问 [Options(AllowOrigin = "*")] [Controller] class DataService { publ
阅读全文
摘要:当存在大量方法的时候,如果每一个都单独处理异常,那是一件相当繁琐的工作。组件可以基于过虑器来实现统一异常处理和响应,实现起来也非常简单。 制定异常过虑器 public class CatchException : FilterAttribute { public override void Exec
阅读全文
摘要:很多时候需要在API的外层添中一些处理,如果验证、错误和逻辑缓存处理等;组件提供过虑器来完成这一功能,过虑器是基于Attribute实现可以标记在控制器或方法之上。所有逻辑过虑器必须继承FilterAttribute并产现相关方法,具体规则如下: FilterAttribute [Attribute
阅读全文
摘要:在数据接口中需要做大量的数据请求验证,而这些工作又相当繁琐和比较大的工作量。组件对WebApi集成了控制器参数验证功能,只需要简单地在参数上标记相关属性即可完成验证。 登陆参数验证 public bool Login( [StringRegion(Min = 6)]string name, [Str
阅读全文
摘要:在HTTP应用中Cookies和Header处理是非常普遍的事情,一般情况下用于记录用户的持久化信息和验证等功能。组件都是通过控制器方法的行为来处理请求,但组件并没有提供相静态属性来区取,那访问这些信息需要怎样做呢?其实组件是支持直接在方法上定义一些请求上下文参数,只要定义了相关类型组件会自动传入。
阅读全文
摘要:在接口通讯时往往需要响应不同格式的内容,组件虽然默认集成了JSON格式输出;但实际情况不同情况输出的格式都可能存在差异,这个时候针对API提供不同格式输出就非常重要.组件支持使用者自定API输出的数据格式,只需要实现IResult接口即可。 IResult public interface IRes
阅读全文
摘要:数据绑定作为WebApi的核心数据处理功能,如果应用上支持不够好的情况下,那会大大增加了使用的难度。组件针对数据绑定进行特别的优化,默认提供支持的请求数据有multipart/form-data,x-www-form-urlencoded,Json和流解释器。如有特别的需要的还可以扩展符合应用需要的
阅读全文
摘要:组件提供以下几种请求类型的支持,分别是:GET,POST,PUT和DELETE.可以针对情况的需要给方法标记上相应的Attribute,当方法没有标记的情况是GET(注意:组件暂不支持一个方法支持多种请求).具体配置如下 组件提供以下几种请求类型的支持,分别是:GET,POST,PUT和DELETE
阅读全文
摘要:组件定义控制器没有特别的规则,只需在类上添加[Controller]描述,组件在加载的时候就会解释相关方法 定义 [Controller] public class Home { /// <summary> /// Hello Word /// </summary> /// <param name=
阅读全文
摘要:组件提供两种配置方式,分别是 HttpConfig.json和代码,组件默认会检测程序目录下是否存在配置,如果存则加载配置信息。 配置项描述 { "HttpConfig": { "BufferPoolMaxMemory": 500,//最大缓存区大小,以MB为单 "SessionTimeOut":
阅读全文
摘要:新建控制台应用 引用组件 实现控制器方法 [Controller] public class Home { /// <summary> /// Hello Word /// </summary> /// <param name="name">string: you name</param> ///
阅读全文