Nancy之结合tinyfox给我们的应用提供简单的数据服务
说到提供数据服务给我们的一些应用,估计用的最多的也就是json和xml这两种数据格式
实现的方法也是多种多样,web api,mvc的jsonresult和contentresult...等等
本文是结合Nancy、TInyFox、Owin等来实现的
一、前提工作
新建一个空的web应用程序
添加相应的程序集,配置本地调试的TinyFox等等
二、编写我们的Startup.cs
using Microsoft.Owin;
using Owin;
[assembly: OwinStartup(typeof(NancyAPIDemo.Startup))]
namespace NancyAPIDemo
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.UseNancy();
}
}
}
三、编写我们的Module
随便起个名字就好,具体如下
using Nancy;
namespace NancyAPIDemo
{
public class HomeModule : NancyModule
{
private static User user = new User { UName = "catcher", UGender = "m" };
public HomeModule()
{
Get["/getdata"] = _ =>
{
return Response.AsJson(user);
};
}
}
public class User
{
public string UName { get; set; }
public string UGender { get; set; }
}
}
这里是演示,所以直接写死一条数据,User类也是直接放在。。
这里是返回json数据的,如果要返回xml可以用Response.AsXml
四、搬东西(Adapter和SiteRootPath)
TinyFox里面的Demo有,就不贴上来了
下面是项目截图

五、本地测试
在放到centos之前,还是要试试正常与否!

测试通过
六、部署到centos中
把刚才的项目发布,将发布的文件传到centos中
然后就是发挥TinyFox的作用了
./fox.sh -root /var/www/NancyAPIDemo -p 1234

好了,数据服务OK了。
下面就建个程序来访问试试
七、建立访问程序
用的是MVC4(VS2013建的)
主要贴页面的代码
@{
ViewBag.Title = "Index";
Layout = null;
}
<h1>这是访问数据服务的测试</h1>
<div class="col-md-12">
<label>name:</label>
<span id="uName"></span><br />
<label>gender:</label>
<span id="uGender"></span>
</div>
<script src="~/Scripts/jquery-1.8.2.min.js"></script>
<script type="text/javascript">
$(function () {
$.ajax({
url: 'http://192.168.1.2:1234/getdata',
dataType: 'jsonp',
success: function (json) {
$("#uName").text(json.uName);
$("#uGender").text(json.uGender);
}
});
})
</script>
八、运行我们发布过后的访问程序

是不是也很简单很轻松呢!!
注:最开始我用的是vs2015 update2建的mvc项目,不过发布后一直是同一个错误提示

暂时还没有找到解决方法,之前没用update2貌似是正常的。
所以就换了2013建了个项目,在2015,不选高版本的.net framework也是正常的!
Nancy之结合tinyfox给我们的应用提供简单的数据服务的更多相关文章
- 使用Nancy搭建简单的Http服务的示例demo
刚刚接触Nancy没几天,暂时还不会使用Nancy来做web开发,只是使用Nancy实现了一个简单的Http服务的Demo程序,实现对Post和Get请求的处理. Demo的示例代码地址如下:http ...
- Nancy之结合TinyFox调试备忘
最近把一个小项目的数据库换成MongoDB,同时用了MongoRepository 这个开源组件来对数据进行操作. 通过NuGet安装之后,它会自动在web.config文件生成一个连接字符串.但是却 ...
- Nancy之大杂烩
Nancy关于Hosting的简单介绍 一. Nancy之基于Nancy.Hosting.Aspnet的小Demo 二.Nancy之基于Nancy.Hosting.Self的小Demo 三.Nancy ...
- Nancy之实现API的功能
0x01.前言 现阶段,用来实现API的可能大部分用的是ASP.NET Web API或者是ASP.NET MVC,毕竟是微软官方出产的,用的人也多. 但是呢,NancyFx也是一个很不错的选择.毕竟 ...
- Nancy之实现API
Nancy之实现API的功能 0x01.前言 现阶段,用来实现API的可能大部分用的是ASP.NET Web API或者是ASP.NET MVC,毕竟是微软官方出产的,用的人也多. 但是呢,Nancy ...
- 第二章 Rest框架 Nancy
正如你看到的,Nancy有两个主要用途. 其中第一项是作为一种通用的基于 REST 框架,可替代 ASP.NET Web API 或其他Rest工具包. 默认情况下,Nancy提供一流的路由和内容协商 ...
- Nancy之区域和分部视图的使用
一.前言 在MVC中,区域(Area)和分部视图(PartialView)应该是我们用的十分频繁的两个东西 今天我们就在Nancy中,把这两个东西简单的用起来! 二.简单使用之区域 区域,无论是对 ...
- 轻量级MVC框架:Nancy学习
一.认识Nancy 今天听讲关于Nancy框架的培训,被Nancy的易用性所吸引.故晚上回来梳理了一下知识. 什么是Nancy呢?如标题所述,Nancy是一个轻量级的独立的框架: Nancy 是一个轻 ...
- .NET轻量级MVC框架:Nancy入门教程(二)——Nancy和MVC的简单对比
在上一篇的.NET轻量级MVC框架:Nancy入门教程(一)——初识Nancy中,简单介绍了Nancy,并写了一个Hello,world.看到大家的评论,都在问Nancy的优势在哪里?和微软的MVC比 ...
随机推荐
- PowerDesigner PDM生成sql脚本时:表的名称和表里面的字段名称都有引号解决。。。
PowerDesigner PDM生成sql脚本时:表的名称和表里面的字段名称都有引号解决... 1.当你的PowerDesigner 是新安装时,你得设置可能就会出现一些问题,在这里比如:PDM生成 ...
- 如何识别一个字符串是否Json格式
前言: 距离上一篇文章,又过去一个多月了,近些时间,工作依旧很忙碌,除了管理方面的事,代码方面主要折腾三个事: 1:开发框架(一整套基于配置型的开发体系框架) 2:CYQ.Data 数据层框架(持续的 ...
- Mac OS X上IntelliJ IDEA 13与Tomcat 8的Java Web开发环境搭建
这标题实在有点拗口,不知道怎么写好,但看了标题也就明白文本的内容.最近几天在折腾这些玩意儿,所以写写总结.除了环境搭建,本文还是一篇入门级的上手教程. 去下载一些东西 JDK安装 Tomcat安装 T ...
- Java批处理ExecutorService/CompletionService
服务端接收一个请求,常常需要同时进行几个计算或者向其他服务发送请求,最后拼装结果返回上游.本文就来看下JDK提供几个并行处理方案,牵涉到ExcecutorService/CompletionServi ...
- Spring学习记录(十)---使用FactoryBean配置Bean
之前学了,配置bean可以用普通全类名配置.用工厂方法配置,FactoryBean又是什么呢 有时候配置bean要用到,IOC其他Bean,这时,用FactoryBean配置最合适. FactoryB ...
- KnockoutJS 3.X API 第七章 其他技术(3) 延迟更新
.example { display: inline-block; padding: 1em; margin-right: 2em; background: #F6F6EF; } 注意:本文档适用于K ...
- MongoDB 分片管理
在MongoDB(版本 3.2.9)中,分片集群(sharded cluster)是一种水平扩展数据库系统性能的方法,能够将数据集分布式存储在不同的分片(shard)上,每个分片只保存数据集的一部分, ...
- Security2:Create User
User 用于访问DB Users based on logins in master (This is the most common type of user.) User based on a ...
- 没有Hyper-V服务,WP Emulator无法启动
解决: 打开管理工具
- Divshot —— 在线的可视化网页设计
Divshot 是一个在线网站,通过可视化方式进行 Web 界面的设计,并直接生成 HTML 和 CSS 代码.该工具提供常用的 Web UI 组件.界面基于 Twitter 的 Bootstrap ...