ServiceStack 项目实例 009 ServiceStack.Northwind - 1
这个示例是基于经典的微软官方北风数据库基础上实现的,北风的数据是一个网店管理和产品销售管理的案例。在这个案例中主要是演示了客户、订单以及缓存方式数据处理,还有VCard自定义输出格式。
此解决方案中包含有三个项目,
对外服务的主项目,发布时只用这个项目即可。
提供服务的项目,此处为类库形式。
模型类定义,其中包含有入口类出口类的定义,以及实体类,路由可定义在入口类出口类上。
示例中使用了轻量级的Sqlite数据库
在Global.asax文件的public class AppHost : AppHostBase 类中的Configure函数中定义数据库连接:
container.Register<IDbConnectionFactory>(newOrmLiteConnectionFactory("~/Northwind.sqlite".MapHostAbsolutePath(),SqliteOrmLiteDialectProvider.Instance));
下面这句注册MemoryCahce 内存缓存,注意这个不是大名鼎鼎的memcahced,是SS内置的内存式缓存,
container.Register<ICacheClient>(newMemoryCacheClient());
如果已经安装了Redis,也可以使用Redis缓存:
container.Register<ICacheClient>(newPooledRedisClientManager());
下面这段并不是原示例中的,提供一些配置选项:
SetConfig(newEndpointHostConfig{DebugMode=true,//用在开发过程中,显示服务器响应数据WriteErrorsToResponse=false,//禁止写操作异常处理DefaultContentType=ContentType.Json,//默认输出类型AllowJsonpRequests=true//允许JsonP模式请求});
注册VCard格式支持,是一种用于名片交换等的数据格式,
VCardFormat.Register(this);
VCard的详细转换和处理见ServiceStack.Northwind.ServiceInterface项目下的VCardFormat.cs,自定义输出格式和结构可以参考这个文件的实现方法,自定义生成的数据也可以用来提供给用户下载。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。