ASP.NET5 beta8现已上都的NuGet作为一个工具升级到Visual Studio2015!此版本极大地扩展.NET核心对OS X和Linux所支持的范围。您现在可以使用网络,加密和全球化特点的跨平台!本新闻稿也包括ASP.NET5,DNX和Web工具的一些不错的改进。让我们来看看我们如何开始使用ASP.NET5 beta8。

新功能

下面是一些在ASP.NET5 beta8新功能的摘要。对于什么是新的完整列表在此版本中,请参阅beta8发行说明。

更改IIS托管模式

我们已经取得了重大更新,以beta8托管模式ASP.NET 5 IIS。直至并包括β7整联蛋白,在IIS运行ASP.NET 5应用已经举办了一个名为“太阳神”组成,包含在Microsoft.AspNet.Server.IIS包。使用现有的System.Web托管模式钩子该组件促进DNX和CLR的引导。这个钩子取代了运行应用程序已经开始(但从IIS的角度)之后。这实际上提出了“太阳神”第二DNX主机,这意味着它包含在它自己的逻辑有关定位,启动,并加载运行。这也意味着第二组逻辑来使像运行时服务,以及某些DNX级设置的配置。

具有用于ASP.NET 5两种不同宿主模型引入了许多复杂性和矛盾的难以或不可能解决的。为了解决这个问题,我们正在中止“太阳神”IIS主机。托管ASP.NET 5应用程序在IIS现在将使用配置为通过转发到ASP.NET 5红隼服务器的IIS HttpPlatformHandler实现。该HttpPlatformHandler是一个需要通过在运行的服务器IIS(安装:86,64)的管理员安装了一个本地IIS模块。它也已经包含在IIS上快速地方发展beta8网络工具的更新。此本机的IIS模块管理的外部应用程序的主机过程的发起(在此情况下dnx.exe)和从IIS请求到托管进程的路由。

简化模型到一个托管选项(但仍支持在同一场景)用于开发人员的代码和测试更少的东西。新模式的其他好处包括:

在IIS程序池不需要运行任何托管代码(你可以从字面上将其配置为不加载CLR的话)
    现有的ASP.NET Windows组件并不需要安装在Windows服务器上运行
    现有的ASP.NET 4.x的模块可以在IIS旁边的HttpPlatformHandler运行以来,ASP.NET 5的过程是独立的
    您可以按进程设置环境变量,因为HttpPlatformHandler支持。这将使设置的东西像ASP.NET 5环境配置可能在本地IIS服务器。
    统一的错误处理在所有服务器启动错误
    守则和行为统一
        在.NET框架(全CLR)是否运行时,支持的app.config自托管或在IIS中(即使是用于.NET Framework的兼容性没有更多的web.config)
        统一服务的故事
        统一启动时的故事(无奇AspNetLoader.dll在bin文件夹)

你会发现,在Visual Studio中的ASP.NET 5项目模板已被更新,包括在应用程序中的wwwroot文件夹下面的web.config文件:

  1. <configuration>
  2. <system.webServer>
  3. <handlers>
  4. <add
  5. name="httpPlatformHandler"
  6. path="*"
  7. verb="*"
  8. modules="httpPlatformHandler"
  9. resourceType="Unspecified"/>
  10. </handlers>
  11. <httpPlatform
  12. processPath="%DNX_PATH%"
  13. arguments="%DNX_ARGS%"
  14. stdoutLogEnabled="false"
  15. startupTimeLimit=""/>
  16. </system.webServer>
  17. </configuration>

这个web.config文件添加HttpPlatformHandler到您的应用程序和配置的处理程序将请求转发给一个DNX的过程。 Visual Studio的手柄设置的DNX_PATH环境变量指向适当的DNX版本为您的应用程序。

当您发布的应用程序在web.config中的流程路径更新为指向您的应用程序中定义的“网络”命令。您可以选择使用不同的命令运行DNU发布时使用,而不是--iis命令选项。

有关这些更改IIS托管模式的详细信息,请参见相应的公告。
本地化

ASP.NET 5现在已经内置了对本地化支持。新的本地化支持提供中间件,用于指定根据请求,也机制,根据当前文化访问本地化的内容正确的文化和UI文化的线程上。

启用定位在应用程序中加入要求的定位中间件在你的启动类的请求管道:

app.UseRequestLocalization(选项)

请求定位中间件使用一组已配置IRequestCultureProvider实现的,以确定培养的请求。内置的提供者可以从请求使用Accept-Language头,一个查询字符串值,或从cookie确定培养。您也可以建立并指定自己的IRequestCultureProvider。

一旦请求国产化中间件来确定当前的文化它设置它的线程上。该IStringLocalizer服务则提供了访问基于当前区域性本地化的内容。启用这些本地化服务,像这样的支持:

  1. services.AddLocalization(options => options.ResourcesPath = "resources");

该ResourcePath指定了本地化资源位于相对于应用程序根目录的路径。您可以使用IStringLocalizerFactory服务,创建一个IStringLocalizer特定资源或者干脆<T>直接请求IStringLocalizer。

这些服务的默认实现是基于System.Resources.ResourceManager,它支持访问的基础上RESX文件附属程序本地化内容。您也可以提供自己的实现从不同来源获取本地化的内容,比如形成一个数据库。

你可以看到,在本地化回购这些本地化功能完整的工作样本。
本地化和MVC

MVC建立在ASP.NET 5新的本地化支持,使本地化的控制器和视图。 MVC引入一小本地化建立在核心本地化服务的附加服务。

为了使MVC特定的本地化功能,您可以添加配置MVC服务时以下几点:

  1. services
  2. .AddMvc()
  3. .AddViewLocalization(options => options.ResourcesPath = "Resources");

该IHtmlLocalizer服务(附有IHtmlLocalizerFactory)增加了对获得本地化的HTML字符串和属性编码的论据支持。您可以使用IHtmlLocalizer从你的控制器是这样的:

private IHtmlLocalizer<HomeController> SR;

  1. private IHtmlLocalizer<HomeController> SR;
  2.  
  3. public HomeController(IHtmlLocalizer<HomeController> localizer)
  4. {
  5. _localizer = localizer;
  6. }
  7.  
  8. public ActionResult Index()
  9. {
  10. ViewData.Message = SR["Localize me!"];
  11. return View();
  12. }

所述IViewLocalizer是一个IHtmlLocalizer服务,查找基于当前视图名称的资源。您可以使用@注入指令,这样注入的IViewLocalizer到您的看法:

  1. @inject IViewLocalizer SR
  2.  
  3. <h1> @SR["Localized header"]</h1>

除了以上这些还有可以查看被隐藏的文件等:

这在Beta8版本之前是不可以的。

想了解更多beta8的朋友可以在微软的.NET Web开发工具博客上查看纤细说明文章:

http://blogs.msdn.com/b/webdev/archive/2015/10/15/announcing-availability-of-asp-net-5-beta8.aspx。

ASP.NET5 Beta8可用性的更多相关文章

  1. ASP.NET5 Beta8

    ASP.NET5 Beta8 ASP.NET5 beta8现已上都的NuGet作为一个工具升级到Visual Studio2015!此版本极大地扩展.NET核心对OS X和Linux所支持的范围.您现 ...

  2. 从ASP.NET 升级到ASP.NET5(RC1) - 翻译

    前言 ASP.NET 5 是一次令人惊叹的对于ASP.NET的创新革命. 他将构建目标瞄准了 .NET Core CLR, 同时ASP.NET又是对于云服务进行优化,并且是跨平台的框架.很多文章已经称 ...

  3. [转]asp.net5中使用NLog进行日志记录

    本文转自:http://www.cnblogs.com/sguozeng/articles/4861303.html asp.net5中使用NLog进行日志记录 asp.net5中提供了性能强大的日志 ...

  4. asp.net5中使用NLog进行日志记录

    asp.net5中提供了性能强大的日志框架,本身也提供了几种日志记录方法,比如记录到控制台或者事件中等,但是,对大部分程序员来说,更喜欢使用类似log4net或者Nlog这种日志记录方式,灵活而强大. ...

  5. 让ASP.NET5在Jexus上飞呀飞

    就在最近一段时间,“Visual Studio 2015 CTP 5”(以下简称CTP5)发布了,CTP5的发布不仅标志着新一代的VisualStudio正式发布又向前迈出了一步,还标志着距离ASP. ...

  6. 为支持ASP.NET5跨平台,Jexus再添新举措

    Jexus作为一款运行于Linux/FreeBSD平台上,以支持ASP.NET著称的高性能HTTP服务器和反向代理服务器,继5.6版完成对OWIN标准应用的支持后,就把着力点放到了对ASP.NET5的 ...

  7. ASP.NET5,MVC 6,Beta 7与VS 2015 RTM的兼容问题

    温馨提示:本文杂而乱,最终不知所云. Visual Studio 2015 RTM已经于2015年7月20号正式发布,我也在第一时间下载安装了起来. 虽然在5月份就开始使用RC版本,但是还是很期待正式 ...

  8. ASP.NET5 MVC6入门教学之一(自己动手)

    等待微软开源大动作已经好几年了,终于ASP.NET 5发布了.今天给新手们写一个简单地教程,教你认识一下ASP.NET5 MVC6 1.安装kvm 首先,你需要以管理员权限打开cmd,执行如下的脚本: ...

  9. ASP.NET5 中静态文件的各种使用方式

    所谓静态文件,包含HTML文件,css文件.图片文件和js文件等,他们是服务器直接读取到客户端的一些资源,在这篇文章中,我们将解释关于ASP.NET5和静态文件的一些内容. 服务端的静态文件 默认情况 ...

随机推荐

  1. log level

    ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF

  2. Android自动化学习笔记:获取APK包名的几种方法

    ---------------------------------------------------------------------------------------------------- ...

  3. 剑指offer-二叉树的深度

    题目: 输入一棵二叉树,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度. 链接: http://www.nowcoder.com/practic ...

  4. 15.linux 中无法输入指令

    怎么可以回到倒数第五行的输入状态啊……

  5. Lua面向对象----类、继承、多继承、单例的实现

    (本文转载)学习之用,侵权立删! 原文地址   http://blog.csdn.net/y_23k_bug/article/details/19965877?utm_source=tuicool&a ...

  6. R12将银行和分行都使用TCA管理

    R12将银行和分行都使用TCA管理,后台保存在HZ_PARTIES . 银行帐号:如果是付款或者是收款(本公司的帐号,内部帐号),都保存在ce_bank_accounts,ce_bank_acct_u ...

  7. Matrix QR Decomposition using OpenCV

    Matrix QR decomposition is very useful in least square fitting model. But there is no function avail ...

  8. DHCP snooping

    DHCP snooping 技术介绍   DHCP监听(DHCP Snooping)是一种DHCP安全特性.Cisco交换机支持在每个VLAN基础上启用DHCP监听特性.通过这种特性,交换机能够拦截第 ...

  9. ---Linux 10 年的硕果累累啊!

    http://mt.sohu.com/20160128/n436204298.shtml

  10. 并发编程中.net与java的一些对比

    Java在并发编程中进行使用java.util.concurrent.atomic来处理一些轻量级变量 如AtomicInteger AtomicBoolean等 .Net中则使用Interlocke ...