ServiceStack 项目实例 001 建立项目结构
ServiceStack 项目实例 001 建立项目结构
鼎六智能 发表于1年前
ServiceStack 项目实例 001 建立项目结构
  • 发表于 1年前
  • 阅读 27
  • 收藏 1
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

     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

标签: ServiceStack
共有 人打赏支持
粉丝 4
博文 49
码字总数 2780
×
鼎六智能
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: