NancyFx 2.0的开源框架的使用-AspnetBootstrapping
新建一个空的Web项目AspnetBootstrappingDemo
然后添加NuGet组件
- Nancy
- Nancy.Hosting.Aspnet
- Nancy.ViewEngines.Razor
继续往项目里面添加Module,Views,Models文件夹,然而先写Models文件夹里面的类,往Models文件夹添加 RatPack类
public string FirstName { get; set; }
再往Models文件夹里面添加RatPackWithDependencyText类,并让它继承RatPack
public string ApplicationDependencyText { get; set; }
public string RequestDependencyText { get; set; }
再往Models文件夹里添加IApplicationDependency类
string GetContent();
再往Models文件夹里面添加IRequestDependency类
string GetContent();
再往Models文件夹里面添加ApplicationDependency类
private readonly DateTime currentDateTime;
/// <summary>
/// 初始化 RequestDependencyClass 类的新实例
/// </summary>
public ApplicationDependency()
{
this.currentDateTime = DateTime.Now;
}
public string GetContent()
{
return "这是一个应用程序级依赖项, 构建在:" + this.currentDateTime.ToLongTimeString();
}
继续往Models文件夹里面添加RequestDependency类
private readonly DateTime currentDateTime;
/// <summary>
/// 初始化 RequestDependency 类的新实例
/// </summary>
public RequestDependency()
{
this.currentDateTime = DateTime.Now;
}
public string GetContent()
{
return "这是按请求的依赖项, 构造于:" + this.currentDateTime.ToLongTimeString();
}
然后往Module文件夹里面添加DependencyModule类
private readonly IApplicationDependency applicationDependency;
private readonly IRequestDependency requestDependency;
public DependencyModule(IApplicationDependency applicationDependency,IRequestDependency requestDependency)
{
this.applicationDependency = applicationDependency;
this.requestDependency = requestDependency;
Get("/",Lexan=>
{
var model = new RatPackWithDependencyText
{
FirstName="Lexan",
ApplicationDependencyText=this.applicationDependency.GetContent(),
RequestDependencyText=this.requestDependency.GetContent()
};
return View["razor-dependency",model];
});
}
继续往根目录下添加Bootstrapper类
protected override void ConfigureApplicationContainer(TinyIoCContainer container)
{
//base.ConfigureApplicationContainer(container); //将应用程序依赖项注册为普通的单一实例
container.Register<IApplicationDependency,ApplicationDependency>().AsSingleton();
//将每个请求的依赖项注册为每个请求的单一实例
container.Register<IRequestDependency,RequestDependency>().AsPerRequestSingleton();
}
然后往Views文件夹里面添加razor-dependency页面
<!DOCTYPE html> <html>
<head>
<meta name="viewport" content="width=device-width" />
<title>剃刀视图引擎Demo</title>
</head>
<body>
<div>
<h1>你好,@Model.FirstName</h1>
<p>这是一个剃刀的页面</p>
<p>@Model.ApplicationDependencyText</p>
<p>@Model.RequestDependencyText</p>
</div>
</body>
</html>
最后修改Web.config文件
<httpHandlers>
<add verb="*" type="Nancy.Hosting.Aspnet.NancyHttpRequestHandler" path="*" />
</httpHandlers>
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<add name="Nancy" verb="*" type="Nancy.Hosting.Aspnet.NancyHttpRequestHandler" path="*" />
</handlers>
</system.webServer>
运行看看界面如何
好了,今天的博文到此结束,明天同一时间更新博文,期待你的关注,谢谢!
NancyFx 2.0的开源框架的使用-AspnetBootstrapping的更多相关文章
- NancyFx 2.0的开源框架的使用-Basic
这是NancyFx开源框架中的Basic认证,学习一下! 首先当然是新建一个空的Web,BasicDemo 继续在项目中添加Nuget包,记得安装的Nuget包是最新的预发行版 Nancy Nancy ...
- NancyFx 2.0的开源框架的使用-CustomModule(自定义模块)
NancyFx框架的自定义模块 新建一个空的Web项目 然后通过NuGet库安装下面的包 Nancy Nancy.Hosting.Aspnet 然后添加Models,Module,Views三个文件夹 ...
- NancyFx 2.0的开源框架的使用-ModelBinding(实现绑定)
NancyFx框架中使用绑定模型 新建一个空的Web程序 然后安装Nuget库里面的包 Nancy Nancy.Hosting.Aspnet Nancy.ViewEnglines.Spark 并在We ...
- NancyFx 2.0的开源框架的使用-HosingOwin
Nancy框架的Owin使用 先建一个空的Web项目 然后往Nuget库里面添加Nancy包 Nancy Nancy.Owin Nancy.ViewEnglines.Spark 然后添加Models, ...
- NancyFx 2.0的开源框架的使用-Authentication
新建一个空的项目 新建好了空的项目以后,接着通过NuGet安装一下三个包 Nancy Nancy.Hosting.Aspnet Nancy.ViewEnglines.Razor 然后在项目中添加Mod ...
- NancyFx 2.0的开源框架的使用-Forms
同样的像前面2篇博文一样,每个项目的开始基本都是建个空的Web项目 在NuGet库中安装以下几个NuGet包 Nancy Nancy.Authentication.Forms Nancy.Hostin ...
- NancyFx 2.0的开源框架的使用-Stateless
同样和前面一样新建一个空的Web项目,都在根目录添加Module,Models,Views文件夹 添加Nuget包 在Models文件夹里面添加UserModel类 public string Use ...
- NancyFx 2.0的开源框架的使用-Stateless(二)
继续上一篇Stateless的博文,在上一篇的博文的基础上稍微加点东西 接下来右键解决方案添加新项目,一样建一个空的Web项目 然后在StatelessDemoWeb项目里面添加Views文件夹,Sc ...
- NancyFx 2.0的开源框架的使用-Caching
新建一个空的Web项目,命名CachingDemo 然后添加三个Nuget安装包 Nancy Nancy.Hosting.Aspnet Nancy.ViewsEngines.Razor 然后往项目里面 ...
随机推荐
- Struts(五)之OGNL、contextMap
一.OGNL 1.1.定义 OGNL是Object-Graph Navigation Language的缩写,它是一个单独的开源项目. Struts2框架使用OGNL作为默认的表达式语言.它是一种功能 ...
- 数字千分位处理,number.js,js保留两位,整数强制保留两位小数
杨龙飞 杨龙飞 杨龙飞 杨龙飞 杨龙飞 杨龙飞 官方文档:https://www.customd.com/articles/14/jquery-number-format-redux 1.千分位 $. ...
- React-Native 之 项目实战(三)
前言 本文有配套视频,可以酌情观看. 文中内容因各人理解不同,可能会有所偏差,欢迎朋友们联系我. 文中所有内容仅供学习交流之用,不可用于商业用途,如因此引起的相关法律法规责任,与我无关. 如文中内容对 ...
- xml转义符
今天在看项目的UrlRewriteFilter(动态url静态化,有利于搜索引擎搜索)的配置文件urlrewrite.xml时,看到了“&”字符,查询之后才知道xml文件中的转义比html中的 ...
- HTML5 WebSocket和后端C#通信
1.使用 HTML5 开发离线应用 http://www.ibm.com/developerworks/cn/web/1011_guozb_html5off/ 2.利用html 5 websocket ...
- TCP/IP笔记(四)IP协议
前言 IP相当于OSI参考模型的第3层--网络层:主要作用是"实现终端节点之间的通信"又称"点对点通信". IP作为整个TCP/IP中至关重要的协议,主要负责将 ...
- 老李分享:https协议
老李分享:https协议 最近我们看到很多站点使用 HTTPS 协议提供网页服务.通常情况下我们都是在一些包含机密信息的站点像银行看到 HTTPS 协议. 如果你访问 google,查看一下地址栏 ...
- Asp.NetCore之组件写法
本章内容和大家分享的是Asp.NetCore组件写法,在netcore中很多东西都以提供组件的方式来使用,比如MVC架构,Session,Cache,数据库引用等: 这里我也通过调用验证码接口来自定义 ...
- android开发之-Android 开发之4.0界面设计原则-整理
设计原则: 一.让人着迷: 1.给人惊喜:使用漂亮的界面.精心的动画.适时的音乐. 2.真实的对象比按钮和菜单更有趣 这句话的意思是:使用描述描述性的图标作为快捷方式,界面美观 当然这个快捷方 ...
- 腾讯云上PhantomJS用法示例
崔庆才 前言 大家有没有发现之前我们写的爬虫都有一个共性,就是只能爬取单纯的html代码,如果页面是JS渲染的该怎么办呢?如果我们单纯去分析一个个后台的请求,手动去摸索JS渲染的到的一些结果,那简直没 ...