ASP.NET5 Beta8可用性

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文件:

<configuration>
  <system.webServer>
    <handlers>
      <add
        name="httpPlatformHandler"
        path="*"
        verb="*"
        modules="httpPlatformHandler"
        resourceType="Unspecified"/>
    </handlers>
    <httpPlatform
      processPath="%DNX_PATH%"
      arguments="%DNX_ARGS%"
      stdoutLogEnabled="false"
      startupTimeLimit="3600"/>
  </system.webServer>
</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服务则提供了访问基于当前区域性本地化的内容。启用这些本地化服务,像这样的支持:

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

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

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

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

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

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

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

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

private IHtmlLocalizer<HomeController> SR;

private IHtmlLocalizer<HomeController> SR;

public HomeController(IHtmlLocalizer<HomeController> localizer)
{
    _localizer = localizer;
}

public ActionResult Index()
{
    ViewData.Message = SR["Localize me!"];
    return View();
}

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

@inject IViewLocalizer SR

<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。

时间: 2024-08-26 16:04:35

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

ASP.NET5 Web默认的项目结构浅析(学习笔记)

1.说明 通常一些错误的知识见解发表出来,有可能误导部分读者, 势必造成一定程度伤害. 说实话,试问那个人没有被别人坑过?理解万岁吧!所以本人的博文,如有误人子弟的地方,还望大侠们扶正! 如题,本章的知识点介绍只能算浅析了.理解得对不对?不好说.同样算是我的学习笔记就够了. ASP.NET5 beta7已经发布一个多月了,预计近几天内该发布beta8了. 按照官方产品路线图公布来说,beta8该是所有功能开发大体上盖棺定论(不会大变动了)了. 然后再到RC版,就可用于生产环境中了,这是正式版前,

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

asp.net5中提供了性能强大的日志框架,本身也提供了几种日志记录方法,比如记录到控制台或者事件中等,但是,对大部分程序员来说,更喜欢使用类似log4net或者Nlog这种日志记录方式,灵活而强大.asp.net5中也包括NLog的实现,下面把最简单的使用方法写出来,抛砖引玉,让更多对此不熟悉的同学们能借此入门. 1.在project.json中添加对Microsoft.Framework.Logging.NLog的引用,目前最新是beta8版本: 2.然后添加NLog.config配置文件到

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

本文转自:http://www.cnblogs.com/sguozeng/articles/4861303.html asp.net5中使用NLog进行日志记录 asp.net5中提供了性能强大的日志框架,本身也提供了几种日志记录方法,比如记录到控制台或者事件中等,但是,对大部分程序员来说,更喜欢使用类似log4net或者Nlog这种日志记录方式,灵活而强大.asp.net5中也包括NLog的实现,下面把最简单的使用方法写出来,抛砖引玉,让更多对此不熟悉的同学们能借此入门. 1.在project

ASP.NET5中间件

小的应用组件可以包含到Http请求管道当中,ASP.NET5 集成了中间件,被包在了应用程序的Configure方法当中. 1. 什么是中间件 中间件是一组被装到应用程序管道的请求和响应中的组件.每一个组件可以选择地是否把当前的请求传到下一个组件当中,可以执行一些特定的动作在下一个组件之前或者之后执行.请求委托被用来创建这样的请求管道,用来处理你应用程序的请求. 请求的委托用IApplicationBuilder的run, map, use扩展方法来配置. 在Starup的configure里面

ASP.NET5

ASP.NET5 2015年11月30日, ASP.NET 5 RC1 已经发布,本文尝试了一下ASP.NET5项目的创见一发布到IIS.开发环境,win10 64位,visual studio2015(已更新update1).安装了 ASP.NET 5 RC1 一. 创建项目 创建项目很简单..NET Framework 版本选的最新的4.6.1.选择模板 二. 选择模板: 因为只是尝试一下,模板选的最简单的 Empty.看一下创建完的工程目录结构 果然很简单,只有“Startup.cs” 一

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

所谓静态文件,包含HTML文件,css文件.图片文件和js文件等,他们是服务器直接读取到客户端的一些资源,在这篇文章中,我们将解释关于ASP.NET5和静态文件的一些内容. 服务端的静态文件 默认情况下,静态文件被存放在项目的wwwroot目录下,而wwwroot的地址被定义在project.json文件中: { "webroot": "wwwroot", ... } 静态文件被存储在wwwroot下的任何目录中,它被客户端以相对路径的方式访问,例如,当你在Visu

让ASP.NET5在Jexus上飞呀飞

就在最近一段时间,“Visual Studio 2015 CTP 5”(以下简称CTP5)发布了,CTP5的发布不仅标志着新一代的VisualStudio正式发布又向前迈出了一步,还标志着距离ASP.NET5(vNext)的正式发布不远.跟随者CTP5,KRE也从Kre beta-1.0升级到了Kre beta-2.0. 与众多.NET开发者一样,我们也一直在密切的关注ASP.NET5的发展,而作为领先的Linux.NET WebServer服务器更是如此,早在Kre beta-2.0发布前后,

ASP.NET5配置

ASP.NET5支持各种各样的配置,应用程序配置数据可以来自JSON, XML或者INI格式的文件,也能来自环境变量,你也可以自定义你自己的Configuration Provider. 1. 获取和设置配置文件 简单地,Configuration类是一个源的集合,它可以提供读或写键值对,你至少配置一个源,如下例所示: var builder = new ConfigurationBuilder(); builder.Add(new MemoryCOnfigurationSource()); v

asp.net5开发中DNX SDK版本的影响

某次asp.net5开发中遇到了一个很奇怪的问题,引用部分的nuget包没有显示任何错误,如下图: 但是编译时出现了几百个错误: 错误基本都是形如“CS0246 The type or namespace name 'Key' could not be found (are you missing a using directive or an assembly reference?) ”这种错误, 给人的第一感觉就是nuget包引用出了问题,但是不管你怎么检查就是查不出来哪里错了. 更离奇的是