1. 程式人生 > >Nancy之結合tinyfox給我們的應用提供簡單的數據服務

Nancy之結合tinyfox給我們的應用提供簡單的數據服務

roo query jquery sta PE www. uil dem 。。

原文: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也是正常的!

Nancy之結合tinyfox給我們的應用提供簡單的數據服務