文档章节

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

丁川
 丁川
发布于 2016/10/02 11:34
字数 630
阅读 29
收藏 2

     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

本文转载自:http://soaop.blog.51cto.com/6164600/1585725

共有 人打赏支持
丁川
粉丝 4
博文 52
码字总数 4829
作品 0
南宁
程序员
私信 提问
ServiceStack 简单使用

提到构建WebService服务,大家肯定第一个想到的是使用WCF,因为简单快捷嘛。首先要说明的是,本人对WCF不太了解,但是想快速建立一个WebService,于是看到了MSDN上的这一篇文章 Building Cro...

麦田守望者LEO
07/23
0
0
安装window下的redis,redis可视化管理工具(Redis Desktop Manager)安装,基础使用,实例化项目

以下包括内容: 一、redis下载安装,启动 二、Redis可视化管理工具(Redis Desktop Manager)安装 三、实例化项目 一、redis下载安装,启动 1,redis官方下载地址:https://redis.io/downlo...

saucxs
08/11
0
0
安装redis服务器 jedis分片存放数据到redis服务器

redis windows 下载地址:https://github.com/ServiceStack/redis-windows 一、下载的安装包解压到盘符的指定位置,如下结构:(纯手敲,如果有缺失,见谅) Redis.doc redis-benchmark.exe r...

薄暮凉年
2015/08/07
0
0
(译)在ASP.NET Web API中使用Redis

本文将介绍如何在ASP.NET Web API应用程序中使用Redis作为数据存储。利用ServiceStack.Redis库以及它强类型的Redis 客户端,实现如何建模和存储一对多的关系,以及使用Autofac的Web API依赖注...

jieqiuming
2014/05/01
0
0
A Fast, Simple, Typed ORM for .NET

Join the ServiceStack Google+ group or follow @servicestack for updates. A Fast, Simple, Typed ORM for .NET OrmLite's goal is to provide a convenient, DRY, config-free, RDBMS-ag......

postdep
2014/09/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

nuc970 uboot nand-boot,kernel, filesystem 烧录位置

一 烧写到Nand Flash **1.1 **相关文件说明 l BSP版本:nuc970bsp-release-20150519.zip l NuWriter版本:2015/04/28-V01,nuvoTon Nu-Writer V1.0 l 烧写文件: u-boot-spl.bin:负责将u-b......

CookieDemo
今天
1
0
python中sort和sorted函数小结

L.sort(cmp=None, key=None, reverse=False) sorted(iterable, cmp=None, key=None, reverse=False) 这样看,sorted函数只比sort函数多一个iterable参数,其余没什么不同,iterable是一个迭代......

上官夏洛特
今天
4
0
thinkphp 常用SQL执行语句总结

第一条:Db::tablera('vr_panomas')->where(['delete_time'=>0,'id'=>['in',$pids]])->field(['id'=>'id','post_thumb'=>'thumb','post_title'=>'title','post_tags'=>'tags','post_price'=>......

koothon
今天
6
0
支付宝返回状态resultStatus意思

上一篇集成支付宝的时候,会有一些支付宝返回的resultStatus,具体意思是: 9000 订单支付成功 8000 正在处理中 4000 订单支付失败 6001 用户中途取消 6002 网络连接出错 还有memo,意思就是...

RainOrz
今天
4
0
electron webview 页面加载事件顺序

1.did-start-loading 页面开始加载 2.load-commit 主页面文档加载 3.page-title-updated title 4.dom-ready 主页面 dom 加载完成 5.load-commit frame文档加载 6.did-frame-finish-load fram......

dubox
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部