文档章节

ServiceStack 项目实例 001 建立项目结构

丁川
 丁川
发布于 2016/10/02 11:34
字数 630
阅读 28
收藏 2
点赞 0
评论 0

     ServiceStack 用于服务开发,可以为各种形式的网站、软件、APP等提供数据服务,可以提供REST,WebService以及二级制数据形式的服务。

 

    下面根据我们具体项目要求,说一下建立项目的方式:

 

    建立项目

 

    首先需要建立两个项目,一个为ServiceStack的项目,一个是MVC的项目。

    1 建立空站点,用于放置SS项目:

     选Web项目   ——→    ASP.net Web Application  ——→  空站点。

    打开包管理器控制台,如果没有显示,可以在“查看-其它窗口”下找到这个窗口,输入命令:

     Install-Package ServiceStack -Version 3.9.71 

    在同一解决方案下,添加新的MVC项目 注意在MVC站点取消权限验证

    4 在解决方案上,点右键,选择包管理器找到 ServiceStack webservice framework:...... 的项,点管理按钮

选中MVC项目上的对勾,组件包管理器会自动导入SS组件包到项目中。

     或者在包管理控制台中,选中MVC项目,再执行一次 

     Install-Package ServiceStack -Version 3.9.71 

 

       配置框架服务

       

      1 在SS项目的web.config 中 添加

     

<system.webServer>

    <validation validateIntegratedModeConfiguration ="false" />

    <handlers >

      <add path ="*" name= "ServiceStack.Factory" type ="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" verb ="*" preCondition ="integratedMode" resourceType ="Unspecified" allowPathInfo ="true" />

    </handlers >

  </system.webServer>

 

 

添加完成后的web.config

 

<configuration>

  <system.web>

    <compilation debug="true" targetFramework="4.5" />

    <httpRuntime targetFramework="4.5" />

  </system.web>

 

  <system.webServer>

    <validation validateIntegratedModeConfiguration ="false" />

    <handlers >

      <add path ="*" name= "ServiceStack.Factory" type ="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" verb ="*" preCondition ="integratedMode" resourceType ="Unspecified" allowPathInfo ="true" />

    </handlers >

  </system.webServer>

</configuration>

 

 

   2  在SS项目中添加新项 --- 全局配置文件(Global.asax)

 

   3  在全局配置文件中加入一个服务配置类,位于

public class Global : System.Web.HttpApplication 类中,  

和 protected void Application_Start(object sender, EventArgs e) 类同级。

 

 

public class WebSiteAppHost : AppHostBase

        {

            public WebSiteAppHost()

                : base("WebSite", typeof(SubmissionService).Assembly)

            { }

            public override void Configure(Container container)

            {

 

                // 数据库配置  (使用数据处理工厂)

                var DbFactory = new OrmLiteConnectionFactory(

    "Data Source=.;Initial Catalog=RobotsMaster; Integrated Security=SSPI",  SqlServerDialect.Provider);  

 

                OrmLiteConfig.DialectProvider = new SqlServerOrmLiteDialectProvider();

 

                //DbFactory.Run(db => db.CreateTable<MasterRecord>(overwrite: false));

 

                container.Register<IDbConnectionFactory>(DbFactory);

 

                container.RegisterAutoWired<DataRepository>();

 

                //Plugins.Add(new CorsFeature());

 

                ///等价于:Plugins.Add(new CorsFeature(allowedOrigins: "*", allowedMethods: "GET, POST, PUT, DELETE, OPTIONS",

                ///allowedHeaders: "Content-Type",   allowCredentials: false));

            }

        }

 

   其中SubmissionService 是自定义的REST服务(API模式),可以改成自己需要的名称

 

DataRepository是数据服务(数据仓库),名称用默认即可

 

 

数据库连接配置修改var DbFactory = new OrmLiteConnectionFactory(

"Data Source=.;Initial Catalog=RobotsMaster; Integrated Security=SSPI", SqlServerDialect.Provider); 中的连接串

 

 

 

OrmLiteConfig.DialectProvider = new SqlServerOrmLiteDialectProvider()  指定数据库类型,SS支持多种数据库

 

 

   4 在protected void Application_Start(object sender, EventArgs e) 类中加入

 

new WebSiteAppHost().Init();

 

5  把SS项目设为启动项,现在就可以启动服务,查看服务说明界面。

 

wKioL1R91VjhtVKQAAL40Pc2bpw563.jpg

 

 

——————————————————————————————————————————————————————

主要参考资料 :  Getting Started with ASP.NET MVC, ServiceStack and Bootstrap

© 著作权归作者所有

共有 人打赏支持
丁川
粉丝 4
博文 52
码字总数 4829
作品 0
南宁
程序员
ServiceStack 项目实例 006 通过官方示例总结的项目结构方案

研读了官方示例的ServiceStack.Examples 和 ServiceStack.Northwind,总结如下的项目方案结构,这种方式比较适合较大的项目,并且规范化很好,易于扩展和对接。 项目结构规范要求 根据Servi...

鼎六智能 ⋅ 2016/10/02 ⋅ 0

Redis 安装及配置 (转整理)

Redis 安装及配置 (转整理) Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合...

rootliu ⋅ 05/28 ⋅ 0

ServiceStack 项目实例 005 使用第一个服务功能 (在MVC项目中)

建立好服务后,我们就可以在MVC项目中使用这个服务,在使用这个服务之前,需要先确定一下它所在端口,只需要在SS项目上点右键,将其设置为启动项目,然后运行一下SS项目,在浏览器地址栏,就...

鼎六智能 ⋅ 2016/10/02 ⋅ 0

redis windows 安装

笔记 redis下载地址:https://github.com/ServiceStack/redis-windows Ⅰ.git clone完成, 进入downloads文件夹,找一份你喜欢的版本,解压. 如果有文件洁癖的同学可以解压到自定义文件夹中去....

___大侠 ⋅ 05/22 ⋅ 0

ServiceStack 项目实例 007 ServiceStack.Examples - 1

ServiceStack的官网提供了不少的项目案例下载,不过有的示例不能拿来即用,而且案例中还有用的是用VS2010开发的,SS的版本也比较旧,要调整一下才可以运行。 官方示例项目下载地址 https://...

鼎六智能 ⋅ 2016/10/02 ⋅ 0

ServiceStack 项目实例 000 简介

ServiceStack 是一个功能齐全的服务开发套件,接近Java下的SSH的结构和思路,整体类似轻量级的SSH,主要是用于REST模式的接口服务的开发,后文中简称SS。 和SS功能相似的框架有WCF、WebAPI,...

鼎六智能 ⋅ 2016/10/02 ⋅ 0

综合应用WPF/WCF/WF/LINQ之三十四:在XBAP项目中模拟弹出一个自定义的“模态窗口”

在实际应用中,我们有时候的确需要弹出一个自定义的模态窗口。为此,我们可以采用Popup控件的方法来接近这个需求,当然,这里的“模态窗口”并不是真的窗口。   为了方便大家学习,请单击此...

余二五 ⋅ 2017/11/14 ⋅ 0

Redis总结(二)C#中如何使用redis

  上一篇讲述了安装redis《Redis总结(一)Redis安装》,同时也大致介绍了redis的优势和应用场景。本篇着重讲解.NET中如何使用redis和C#。   Redis官网提供了很多开源的C#客户端。例如,...

章为忠 ⋅ 2015/11/17 ⋅ 0

C#客户端Redis服务器的分布式缓存

介绍 在这篇文章中,我想介绍我知道的一种最紧凑的安装和配置Redis服务器的方式。另外,我想简短地概述一下在.NET / C#客户端下Redis hash(哈希类型)和list(链表)的使用。 在这篇文章主要...

鱼煎 ⋅ 2016/07/14 ⋅ 0

人工智能自动代码生成3---数据库获取代码实现1

我们先从最简单的自动代码生成场景开始,先用不怎么智能的方法来实现这些基本功能。我们在这一节中,将使用Java中的JDBC技术,实现对数据库内容的增删改查操作,同时使用PHP中的Mysqli技术,...

yt7589 ⋅ 2017/03/09 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

熊掌号收录比例对于网站原创数据排名的影响[图]

从去年下半年开始,我在写博客了,因为我觉得业余写写博客也还是很不错的,但是从2017年下半年开始,百度已经推出了原创保护功能和熊掌号平台,为此,我也提交了不少以前的老数据,而这些历史...

原创小博客 ⋅ 55分钟前 ⋅ 0

LVM讲解、磁盘故障小案例

LVM LVM就是动态卷管理,可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理。 1.新建分区,更改类型为8e 即L...

蛋黄Yolks ⋅ 今天 ⋅ 0

Hadoop Yarn调度器的选择和使用

一、引言 Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色。在讨论其构造器之前先简单了解一下Yarn的架构。 上图是Yarn的基本架构,其中ResourceManager是整个架构的核心组件,它负...

p柯西 ⋅ 今天 ⋅ 0

uWSGI + Django @ Ubuntu

创建 Django App Project 创建后, 可以看到路径下有一个wsgi.py的问题 uWSGI运行 直接命令行运行 利用如下命令, 可直接访问 uwsgi --http :8080 --wsgi-file dj/wsgi.py 配置文件 & 运行 [u...

袁祾 ⋅ 今天 ⋅ 0

JVM堆的理解

在JVM中,我们经常提到的就是堆了,堆确实很重要,其实,除了堆之外,还有几个重要的模块,看下图: 大 多数情况下,我们并不需要关心JVM的底层,但是如果了解它的话,对于我们系统调优是非常...

不羁之后 ⋅ 昨天 ⋅ 0

推荐:并发情况下:Java HashMap 形成死循环的原因

在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历...

码代码的小司机 ⋅ 昨天 ⋅ 1

聊聊spring cloud gateway的RetryGatewayFilter

序 本文主要研究一下spring cloud gateway的RetryGatewayFilter GatewayAutoConfiguration spring-cloud-gateway-core-2.0.0.RC2-sources.jar!/org/springframework/cloud/gateway/config/G......

go4it ⋅ 昨天 ⋅ 0

创建新用户和授予MySQL中的权限教程

导读 MySQL是一个开源数据库管理软件,可帮助用户存储,组织和以后检索数据。 它有多种选项来授予特定用户在表和数据库中的细微的权限 - 本教程将简要介绍一些选项。 如何创建新用户 在MySQL...

问题终结者 ⋅ 昨天 ⋅ 0

android -------- 颜色的半透明效果配置

最近有朋友问我 Android 背景颜色的半透明效果配置,我网上看资料,总结了一下, 开发中也是常常遇到的,所以来写篇博客 常用的颜色值格式有: RGB ARGB RRGGBB AARRGGBB 这4种 透明度 透明度...

切切歆语 ⋅ 昨天 ⋅ 0

CentOS开机启动subversion

建立自启动脚本: vim /etc/init.d/subversion 输入如下内容: #!/bin/bash## subversion startup script for the server## chkconfig: 2345 90 10# description: start the subve......

随风而飘 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部