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>

运行看看界面如何

本文转自帅气的头头博客51CTO博客,原文链接http://blog.51cto.com/12902932/1926510如需转载请自行联系原作者

sshpp
相关文章
|
6月前
|
数据采集 机器学习/深度学习 编解码
视频生成框架EasyAnimate正式开源!
EasyAnimate是人工智能平台PAI自主研发的DiT-based视频生成框架,它提供了完整的高清长视频生成解决方案,包括视频数据预处理、VAE训练、DiT训练、模型推理和模型评测等。可以使用EasyAnimate进行任意风格视频模型的训练和推理,还可以在预训练模型的基础上,通过少量图片的LoRA微调来改变生成视频的风格。
|
5月前
|
JavaScript 前端开发 IDE
|
7月前
|
开发框架 Java 数据安全/隐私保护
SpringBlade、若依框架和人人开源框架对比
SpringBlade、若依框架和人人开源框架对比
|
小程序 JavaScript 前端开发
kbone 是什么?这可能是最好的小程序开源框架
kbone 是什么?这可能是最好的小程序开源框架
131 0
kbone 是什么?这可能是最好的小程序开源框架
|
Java API Apache
阿里巴巴开源框架JarsLink
JarsLink是一个基于JAVA的模块化开发框架,它提供在运行时动态加载模块(JAR包)、卸载模块和模块间调用的API,它能够帮助你进行模块化开发,也能帮助你的系统在运行时动态添加新功能,减少编译、打包和部署带来的发布耗时,同时它也是阿里巴巴的开源项目之一 https://github.com/alibaba/jarslink,目前在微贷事业群各团队广泛使用。
14369 0
|
设计模式 数据可视化 JavaScript
dlvm-netcore 开源框架
DLVM 是一个集数据库、逻辑、视图及模型为一体的并涵盖了常用基础套件,以 NetCore 为主的底层框架。具备安全性、可扩展性、可配置性及可视化操作等优点,并且具有一键创建模块的功能。
173 0
dlvm-netcore 开源框架
|
XML Java Maven
阿里开源框架Jarslink1.6.1新特性
阿里开源框架Jarslink1.6.1新特性
213 0
|
SQL JSON C#
C#开源框架
原文:C#开源框架 Json.NET  http://json.codeplex.com/ Json.Net 是一个读写Json效率比较高的.Net框架.Json.Net 使得在.Net环境下使用Json更加简单。
1727 0
|
Android开发
框架及开源项目推荐
25类Android常用开源框架 Android开源项目-微Yue电子书阅读(MD设计)
881 0