博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NancyFx 2.0的开源框架的使用-AspnetBootstrapping
阅读量:6239 次
发布时间:2019-06-22

本文共 2896 字,大约阅读时间需要 9 分钟。

新建一个空的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;        ///         /// 初始化 RequestDependencyClass 类的新实例        ///         public ApplicationDependency()        {            this.currentDateTime = DateTime.Now;        }        public string GetContent()        {            return "这是一个应用程序级依赖项, 构建在:" + this.currentDateTime.ToLongTimeString();        }

继续往Models文件夹里面添加RequestDependency类

 private readonly DateTime currentDateTime;        ///         /// 初始化 RequestDependency 类的新实例        ///         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
().AsSingleton();            //将每个请求的依赖项注册为每个请求的单一实例            container.Register
().AsPerRequestSingleton();        }

然后往Views文件夹里面添加razor-dependency页面

    
    剃刀视图引擎Demo    
    

你好,@Model.FirstName

        

这是一个剃刀的页面

        

@Model.ApplicationDependencyText

        

@Model.RequestDependencyText

    

最后修改Web.config文件

      
      
    
      
    
    
    
      
    
  

运行看看界面如何

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

你可能感兴趣的文章
animationFromTop
查看>>
SEM如何做数据分析?
查看>>
语音转文字如何在线转换的?
查看>>
PXE批量实现自动化安装系统
查看>>
tomcat内存溢出的解决方法(java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError:)...
查看>>
为域用户创建漫游用户配置文件
查看>>
sql server 第二讲
查看>>
什么是壳 - 脱壳篇01
查看>>
数据库基础
查看>>
python里面 循环明细对比 相同人员明细,生成同一订单里面
查看>>
linux top 命令的一些解释
查看>>
前端之HTML内容
查看>>
关于Datagridview控件用法的一些总结
查看>>
Mac 常用设置
查看>>
linux常用命令(22)gzip命令
查看>>
找出一个字符串中第一个只出现一次的字符
查看>>
CSS学习笔记(一)深入理解position属性和float属性
查看>>
xml入门
查看>>
python Flask框架mysql数据库配置
查看>>
[20150529]用户与用户组管理
查看>>