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

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

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

建立项目

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

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

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

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

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项目设为启动项,现在就可以启动服务,查看服务说明界面。

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

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

时间: 2024-09-29 22:32:18

ServiceStack 项目实例 001 建立项目结构的相关文章

ServiceStack 项目实例 006 通过官方示例总结的项目结构方案

研读了官方示例的ServiceStack.Examples 和 ServiceStack.Northwind,总结如下的项目方案结构,这种方式比较适合较大的项目,并且规范化很好,易于扩展和对接. 项目结构规范要求 根据ServiceStack官方示例项目,总结出如下项目规范: 项目目录结构,以产品管理模块示例: 需要建立三个项目: >> Product.Web >> Product.ServiceInterface >> Product.ServiceModel 1 对

【Flask】 项目结构说明

项目结构 Flask的一大优势就是其极其轻量化.但是也需要注意到,如果我们要用Flask做一个大项目的话,把所有代码写在一个文件里肯定是不合适的.非常难以维护.但是和Django这种框架又不一样,Flask并没有规定项目一定要遵从某种必须遵守的目录结构.最终,人们在长期的实践中得到一些比较好用因此约定俗成的目录结构. 一个典型的flask项目的目录结构是这样的(再次明确,不是强制的,而是约定俗成的一种结构): 这种结构有四个顶级文件夹,主体的程序代码都放在app包中:migrations文件夹中

Android项目结构 以及体系结构

学习Android平台的人一般对Android的平台的应该有点认识 其它的就不多讲了 Android项目一般由以下几个部分构成 以上是一个简单的Android项目结构目录图 1. src  主要是 源文件目录 放置业务逻辑代码以及相应的UI代码 2. gen 下面有个R.java文件夹 该文件是建立Android项目自动生成的  该文件是只读文件 不可以更改 里面有很多静态 类名字与res的中资源文件一一对应 一般有attr ,drawable id raw layout string xml

Android零基础入门第15节:掌握Android Studio项目结构,扬帆起航

经过前面的学习,Android Studio开发环境已准备OK,运行Android应用程序的原生模拟器和Genymotion模拟器都准备妥当.在之前简单讲过Eclipse中Android工程的项目结构和运行原理,那么本期就来一起来了解一下Android Studio的项目结构. 一.项目查看模式 前面在熟悉Android Studio界面中提到了Project项目工具窗口,一共支持10种查看模式: 1.project模式: 展示全部文件信息,文件的位置是真实的物理结构,因此在查看文件的时候建议切

Maven创建EJB项目结构

可以用maven创建EJB项目的结构. 1.打开cmd 2.输入一下内容 mvn archetype:generate -DarchetypeGroupId=org.codehaus.mojo.archetypes -DarchetypeArtifactId=pom-root -DarchetypeVersion=1.1 -DarchetypeRepository=http://repo.maven.apache.org/maven2 -DgroupId=com.XXX -DartifactId

vue项目结构总结

vue项目结构 ├── build # webpack文件,配置参数,打包的代码存放在这里. ├── config # vue项目的基本配置文件(配置端口等信息) ├──dist #打包好后的文件(打包对文件进行混淆) └── static └──js └──css └──img └──fonts ├── node_modules # 项目中安装的依赖模块 ├── src # 源代码文件夹 └── assets # 资源文件夹,里面放一些静态资源 └── components # 放置各个vue

云笔记开发记录一:node-webkit 项目结构?

node-webkit 项目结构? 一般用过nodejs写过点小东西的人,都应该知道nodejs项目一般都有一个package.json文件,这个package.json文件,该文件定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称.版本.许可证等元数据). 为什么要提 nodejs 的 package.json文件 呢,因为, node-webkit 项目它也有自己的 package.json文件 . 但是这两者是不同的! node-webkit的package.json是用来配置n

java创建运行以及项目结构

一 创建java project 再src下添加class,选择一个class添加main方法作为程序的入口 二.项目结构: src下添加不同的包,命名方法为com.jikexueyuan.hello.main/model/view.此时硬盘中会有项目名称文件夹下有bin和src,全部对应包的一级级目录,src中存放java文件,bin存放class二进制文件.此时还可以创建lib文件夹,用于存放第三方的库.将库文件add to path即可被引用. 三.eclipse代码自动补全 Window

ThinkPHP - 配置项目结构

配置项目结构: 项目如果分为前后台使用. 那么最关键的就是,使用公共部分文件的划分,其中最为核心的就是公共配置文件的使用. 下面介绍的就是怎么将前后台项目的公共部分提起出来. 首先是其他公共的文件夹: 这是最顶层的文件配置. 详细的目录说明,看下面: E:\PHP\WWW\THINKPHP │ admin.php //后台主入口文件 │ index.php //前台主入口文件 ├─Admin //后台文件夹 │ ├─Common │ ├─Conf //后台配置文件夹 │ │ config.php