Nancy之开篇

NancyFx是一个轻量级的web开发框架(基于.net),我使用它,主要是它可以不依赖IIS(因为我当前的项目都是轻量级的BS框架),可以selfhost。

Nancy的网址为:http://nancyfx.org/

为了在VS中快速开发,可以下载它的项目模板,下载地址:http://sidewaffle.com/

我使用的是VS2015,下载安装后,就可以创建Nancy的selfhost项目了,如下图:

创建完项目后

可看的地方有四个

1、Program.cs

using System;
using Nancy.Hosting.Self;
namespace TestSelfHostWeb
{
    class Program
    {
        static void Main(string[] args)
        {
            var uri =
                new Uri("http://localhost:3579");
             using (var host = new NancyHost(uri))
            {
                host.Start();
                Console.WriteLine("Your application is running on " + uri);
                Console.WriteLine("Press any [Enter] to close the host.");
                Console.ReadLine();
            }
        }
    }
}

很明显,是selfhost的主要代码,很简单,就是开启了一个本机的3579端口,用来接收Browser的请求,注意的是启动时要以管理员身份启动。

2、IndexModule.cs

using Nancy;
namespace TestSelfHostWeb.Modules
{
    public class IndexModule : NancyModule
    {
        public IndexModule()
        {
            Get["/"] = parameters =>
            {
                return View["index"];
            };
        }
    }
}

也是Nancy比较爽的地方,只要继承NancyModule就可以自动挂载在host中,Browser输入正确的Url就可以访问了。当前Get对应的是get请求,自然有post等其他请求了。

3、index.cshtml

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <title>TestSelfHostWeb</title>
        <style type="text/css">
                 body {
                         text-align: center;
                 }
        </style>
</head>
<body>
        <img src="~/Content/nancy-logo.png" alt="Nancy logo" /><br />
        This view was rendered using the Nancy Razor view engine
</body>
</html>

这是个标准Razor页面,与asp.netmvc中的Razor是一样的,不多说了。

4、Bootstrapper.cs

using Nancy;
namespace TestSelfHostWeb
{
    public class Bootstrapper : DefaultNancyBootstrapper
        {
        // The bootstrapper enables you to reconfigure the composition of the framework,
        // by overriding the various methods and properties.
        // For more information https://github.com/NancyFx/Nancy/wiki/Bootstrapper
    }
}
是web的启动入口,有点像asp.net中的Global文件,可以重写一些类成员。

接下来可以跑一下了,可以以管理员身份运行VS,直接F5启动程序,也可以找到执行程序,以管理员运行,然后在Browser中输入本地ID和端口,效果如下:

时间: 2024-10-14 17:10:55

Nancy之开篇的相关文章

Nancy之基于Self Hosting的补充小Demo

前面把Hosting Nancy with ASP.NET.Self Hosting Nancy和Hosting Nancy with OWIN 以demo的形式简单描述了一下. 这篇是为Self Hosting Nancy.和Owin 下面的Self Hosting作个补充. 首先是Self Hosting Nancy的补充: 这里主要是介绍一下Topshelf 官网:http://topshelf-project.com/ GitHub地址:https://github.com/Topshe

2016年开篇 - 敏捷与成果经济

Manifesto for Agile Software Development 敏捷软件开发宣言 Individuals and interactions over processes and tools 个体和互动 高于 流程和工具 Working software over comprehensive documentation 工作的软件 高于 详尽的文档 Customer collaboration over contract negotiation 客户合作 高于 合同谈判 Resp

Nancy

Nancy Nancy 是一个轻量级的,简单粗暴的framework用来构建基于HTTP的各种服务,兼容.Net和Mono.Nancy的整套设计理念是基于"super-duper-happy-path",这是一个作者杜撰的单词,个人觉得翻译过来基本就是简单粗暴,行之有效的意思. 简单的例子: public class Module : NancyModule { public Module() { Get["/greet/{name}"] = x => { r

2015黑帽大会开篇:“互联网自由和开放正走向消亡”

2015年黑帽大会于上周三在拉斯维加斯正式拉开帷幕,本次大会新增关注互联网文化中的法律角色极其暗淡前景的话题. 当天开讲人Jennifer Granick,系斯坦福大学社交网络中心公民自由系主任,因其在合法防御黑客方面的建树而知名,以理想主义的口吻开篇. "我一直坚信自由和开放的互联网终将到来.且我一直相信我们需要一个信息可免费获取的世界,"Granick这样说道,"我认为人们可以自由获取tinker--这样的手动命令人们应该能够研究.操控乃至对定义着世界的设备和软件进行反向

Android异步加载全解析之开篇瞎扯淡

Android异步加载 概述 Android异步加载在Android中使用的非常广泛,除了是因为避免在主线程中做网络操作,更是为了避免在显示时由于时间太长而造成ANR,增加显示的流畅性,特别是像ListView.GridView这样的控件,如果getView的时间太长,就会造成非常严重的卡顿,非常影响性能. 本系列将展示在Android中如何进行异步加载操作,并使用ListView来作为演示的对象. 如何下载图像 下载自然是需要使用网络,使用网络就不能在主线程,在主线程就会爆炸.所以我们必须要在

OPC学习开发记录(C#):OPC客户端【开篇】

OPC客户端 1.前言 思前想后,还是写下来实在一点,一来可以对自己的学习开发结果进行总结,二来可以锻炼自己表达能力,如何能够将意思表达清楚.博客园真的没有认真做做记录,也不会排版,丑的一比.关于OPC开发的,从零慢慢开始学习(谁不是呢),从简单的开始,OPC客户端是怎么使用的问题,站在用户(相对)的角度,也是比较简单的一部分,易从这一部分入手.根据网上的源码,我很快就自己开发了一个将就能用的OPC客户端,主要目的还是掌握OPC的结构和用法,为以后OPC服务器开发做铺垫.本篇为记录开篇,新手上路

webService(一)开篇

Webservice技术在web开发中算是一个比较常见技术.这个对于大多数的web开发者,别管是Java程序员还是.NET程序员应该都不是很陌生.今天我就和大家一起来学习一下webservice的基本内容.此篇文章作为webservice的开篇,首先我们来看一下什么是webservice.他能干什么用呢? 什么是webservice Web Services是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务. 用简单点的话说,就是系

Nancy之实现API

Nancy之实现API的功能 0x01.前言 现阶段,用来实现API的可能大部分用的是ASP.NET Web API或者是ASP.NET MVC,毕竟是微软官方出产的,用的人也多. 但是呢,NancyFx也是一个很不错的选择.毕竟人家的官方文档都是这样写的:framework for building HTTP based services. 本文主要是通过一个简单的场景和简单的实现来说明. 0x02.场景假设与分析 现在A公司与B公司有一些业务上的合作,B公司要得到一些关于A公司产品的信息 所

Nancy之基于Nancy.Owin的小Demo

前面做了基于Nancy.Hosting.Aspnet和Nancy.Hosting.Self的小Demo 今天我们来做个基于Nancy.Owin的小Demo 开始之前我们来说说什么是Owin和Katana 什么是Owin呢? 官网地址:http://owin.org OWIN在.NET Web Servers与Web Application之间定义了一套标准接口,OWIN的目标是用于解耦Web Server和Web Application. 什么是Katana呢? 官网地址:http://kata