Nancy之结合tinyfox给我们的应用提供简单的数据服务

简介: 原文:Nancy之结合tinyfox给我们的应用提供简单的数据服务说到提供数据服务给我们的一些应用,估计用的最多的也就是json和xml这两种数据格式 实现的方法也是多种多样,web api,mvc的jsonresult和contentresult.
原文: Nancy之结合tinyfox给我们的应用提供简单的数据服务

说到提供数据服务给我们的一些应用,估计用的最多的也就是json和xml这两种数据格式

实现的方法也是多种多样,web api,mvc的jsonresult和contentresult...等等

本文是结合Nancy、TInyFox、Owin等来实现的

一、前提工作

新建一个空的web应用程序

添加相应的程序集,配置本地调试的TinyFox等等

具体参见 Nancy之基于Nancy.Owin的小Demo

二、编写我们的Startup.cs

 1 using Microsoft.Owin;
 2 using Owin;
 3 [assembly: OwinStartup(typeof(NancyAPIDemo.Startup))]
 4 namespace NancyAPIDemo
 5 {
 6     public class Startup
 7     {
 8         public void Configuration(IAppBuilder app)
 9         {
10             app.UseNancy();
11         }
12     }
13 }

 

三、编写我们的Module

随便起个名字就好,具体如下 

 1 using Nancy;
 2 namespace NancyAPIDemo
 3 {
 4     public class HomeModule : NancyModule
 5     {
 6         private static User user = new User { UName = "catcher", UGender = "m" };
 7         public HomeModule()
 8         {            
 9             Get["/getdata"] = _ => 
10             {
11                 return Response.AsJson(user);
12             };          
13         }
14     }
15     public class User
16     {
17         public string  UName { get; set; }
18         public string UGender { get; set; }
19     }
20 }  

 

这里是演示,所以直接写死一条数据,User类也是直接放在。。

 

这里是返回json数据的,如果要返回xml可以用Response.AsXml

 

四、搬东西(Adapter和SiteRootPath)

TinyFox里面的Demo有,就不贴上来了

下面是项目截图

 

五、本地测试

在放到centos之前,还是要试试正常与否!

我配置的端口是12345

测试通过

六、部署到centos中

把刚才的项目发布,将发布的文件传到centos中

然后就是发挥TinyFox的作用了

./fox.sh -root /var/www/NancyAPIDemo -p 1234

 

 

好了,数据服务OK了。

下面就建个程序来访问试试

 

七、建立访问程序

用的是MVC4(VS2013建的)

主要贴页面的代码

 1 @{
 2     ViewBag.Title = "Index";
 3     Layout = null;
 4 }
 5 <h1>这是访问数据服务的测试</h1>
 6 <div class="col-md-12">
 7     <label>name:</label>
 8     <span id="uName"></span><br />
 9     <label>gender:</label>
10     <span id="uGender"></span>
11 </div>
12 <script src="~/Scripts/jquery-1.8.2.min.js"></script>
13 <script type="text/javascript">
14     $(function () {
15         $.ajax({
16             url: 'http://192.168.1.2:1234/getdata',
17             dataType: 'jsonp',
18             success: function (json) {
19                 $("#uName").text(json.uName);
20                 $("#uGender").text(json.uGender);
21             }
22         });
23     })    
24 </script>  

 

八、运行我们发布过后的访问程序

 

 

是不是也很简单很轻松呢!!

 

注:最开始我用的是vs2015 update2建的mvc项目,不过发布后一直是同一个错误提示

暂时还没有找到解决方法,之前没用update2貌似是正常的。

所以就换了2013建了个项目,在2015,不选高版本的.net framework也是正常的!

 

目录
相关文章
|
1天前
|
JavaScript 数据管理 API
从壹开始 [ Ids4实战 ] 之五 ║ 多项目集成统一认证中心的思考
从壹开始 [ Ids4实战 ] 之五 ║ 多项目集成统一认证中心的思考
|
1月前
formdesigner支持jeecgboot的部门与人员组件
formdesigner支持jeecgboot的部门与人员组件
15 1
|
9月前
|
API 开发工具 微服务
SAP BTP MTA 应用解决的架构痛点
SAP BTP MTA 应用解决的架构痛点
|
9月前
|
Web App开发 安全 API
SAP 电商云 Spartacus UI 的 checkout 场景中的串行请求设计分析
SAP 电商云 Spartacus UI 的 checkout 场景中的串行请求设计分析
|
数据采集 存储 数据管理
[ 数据架构 ]MIKE2.0方法 : 一种信息开发的开源方法
[ 数据架构 ]MIKE2.0方法 : 一种信息开发的开源方法
|
前端开发 JavaScript 数据库
使用 DB3 Network 构建一款去中心化社交应用数据模型,帮助 Firebase 开发者快速切入 Web3
目前社交应用的去中心化的需求日渐凸显,相关的应用和开发工具掀起了一波波的浪潮,DB3 Network作为一款去中心化数据库,可以帮助前端开发者以及firebase开发者快速构建一个简单的社交应用数据模型。文中附CLI工具使用方法。
212 0
使用 DB3 Network 构建一款去中心化社交应用数据模型,帮助 Firebase 开发者快速切入 Web3
|
Web App开发 开发者
SAP 电商云 Spartacus UI 的 checkout 场景中的串行请求设计分析(一)
SAP 电商云 Spartacus UI 的 checkout 场景中的串行请求设计分析
99 0
SAP 电商云 Spartacus UI 的 checkout 场景中的串行请求设计分析(一)
|
安全 API
SAP 电商云 Spartacus UI 的 checkout 场景中的串行请求设计分析(二)
SAP 电商云 Spartacus UI 的 checkout 场景中的串行请求设计分析
121 0
SAP 电商云 Spartacus UI 的 checkout 场景中的串行请求设计分析(二)
|
Unix atlas 数据安全/隐私保护
Atlas 2.1.0 实践(4)—— 权限控制
Atlas的权限控制非常的丰富,本文将进行其支持的各种权限控制的介绍。
505 0