net 4.0 regex 怎么asp.net设置超时时间

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
第一章 ASP.NET 教程 (基础)
第二章 ASP.NET 教程(高级).NET Framework 中的新增功能
要查看英语原文,请勾选“英语”复选框。也可将鼠标指针移到文本上,在弹出窗口中显示英语原文。
.NET Framework 中的新增功能
.NET Framework (current version)
本文总结了以下版本的 .NET Framework 中的主要新功能和改进:注意.NET Framework 4.6.1 在 .NET Framework 4.6 的基础上构建而成,添加了许多新的修补程序和多项新功能,同时很好地保持了产品的稳定性。可以从以下位置下载 .NET Framework 4.6.1: .NET Framework 4.6.1 可以安装在 Windows 10、Windows 8.1、Windows 8、Windows 7 和所有对应的服务器平台上(版本不低于 Windows Server 2008 R2 SP1)。 可以使用 Web 安装程序或脱机安装程序来安装 .NET Framework 4.6.1。 适用于大多数用户的建议方法是使用 Web 安装程序。.NET Framework 4.6.1 包括以下几个方面的新功能: .NET Framework 4.6 添加了针对 X509 证书的 RSACng 支持。.NET Framework 4.6.1 添加了针对 ECDSA(椭圆曲线数字签名算法)X509 证书的支持。ECDSA 可提供更好的性能,是一种比 RSA 更安全的加密算法,从而可在传输层安全性 (TLS) 性能和可伸缩性十分重要的情况下提供极佳选择。 .NET Framework 实现可将调用包装到现有 Windows 功能中。下面的代码示例演示使用 .NET Framework 4.6.1 中包含的针对 ECDSA X509 证书的新支持来为字节流生成签名是多么容易。
using System.Security.C
using System.Security.Cryptography.X509C
public class Net461Code
public static byte[] SignECDsaSha512(byte[] data, X509Certificate2 cert)
using (ECDsa privateKey = cert.GetECDsaPrivateKey())
return privateKey.SignData(data, HashAlgorithmName.SHA512);
public static byte[] SignECDsaSha512(byte[] data, ECDsa privateKey)
return privateKey.SignData(data, HashAlgorithmName.SHA512);
这与在 .NET Framework 4.6 中生成签名所需的代码形成了鲜明对比。
using System.Security.C
using System.Security.Cryptography.X509C
public class Net46Code
public static byte[] SignECDsaSha512(byte[] data, X509Certificate2 cert)
// This would require using cert.Handle and a series of p/invokes to get at the
// underlying key, then passing that to a CngKey object, and passing that to
// new ECDsa(CngKey).
It's a lot of work.
throw new Exception("That's a lot of work...");
public static byte[] SignECDsaSha512(byte[] data, ECDsa privateKey)
// This way works, but SignData probably better matches what you want.
using (SHA512 hasher = SHA512.Create())
byte[] signature1 = privateKey.puteHash(data));
// This might not be the ECDsa you got!
ECDsaCng ecDsaCng = (ECDsaCng)privateK
ecDsaCng.HashAlgorithm = CngAlgorithm.Sha512;
return ecDsaCng.SignData(data);
以下内容已添加到 ADO.NET 中:针对硬件保护密钥的始终加密支持ADO.NET 现在支持以本机方式在硬件安全模块 (HSM) 中存储始终加密列主密钥。 借助此支持,客户可以利用存储在 HSM 中的非对称密钥,而不必编写自定义列主密钥存储提供程序并在应用程序中注册它们。客户需要在应用服务器或客户端计算机上安装 HSM 供应商提供的 CSP 提供程序或 CNG 密钥存储提供程序,才能访问使用存储在 HSM 中的列主密钥保护的始终加密数据。 连接行为SqlClient 现在可自动提供与 AlwaysOn 可用性组 (AG) 之间的更快连接。 它以透明方式检测应用程序是否连接到不同子网上的 AlwaysOn 可用性组 (AG),快速发现当前的活动服务器并提供与服务器之间的连接。 在此版本之前,应用程序必须将连接字符串设置为包括 “MultisubnetFailover=true”,以指示它已连接到 AlwaysOn 可用性组。 设置为 true。Windows Presentation Foundation 包括一些改进和更改。提高的性能在 .NET Framework 4.6.1 中修复了触发触摸事件时的延迟。拼写检查改进
在 Windows 8.1 之前的 Windows 版本上,功能方面没有更改。
xml:lang(如果存在)。当前输入语言。当前线程区域性。针对每用户自定义词典的附加支持在 .NET Framework 4.6.1 中,WPF 可识别在全局注册的自定义词典。 除了能够针对每个控件注册它们,还提供了此功能。在以前版本的 WPF 中,自定义词典无法识别已排除的单词和自动更正列表。 以下规则适用于这些文件:这些文件应具有扩展名 .dic(用于已添加的单词)、.exc(用于已排除的单词)或 .acl(用于自动更正)。这些文件应是以字节顺序标记 (BOM) 开头的 UTF-16 LE 纯文本。每行应包含一个单词(位于已添加和已排除的单词列表中),或是其中用竖线(“|”)分隔单词的自动更正对(位于自动更正单词列表中)。注意WPF 拼写检查 API 不直接支持这些新文件格式,在应用程序中向 WPF 提供自定义词典应继续使用 .lex 文件。示例DirectX 扩展EnlistPromotableSinglePhase 方法现在可以使用 MSDTC 以外的分布式事务管理器来提升事务。EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid) 重载来实现此目的。 如果此操作成功,则会对事务的功能施加一些限制。非 MSDTC 事务提升程序登记之后,它必须使用它定义的协议来用于将来的持久登记。 属性来获取。EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid) 重载的用户必须遵循特定调用序列,才能使提升操作成功完成。 这些规则记录在该方法的文档中。非托管分析 API 在以下方面得到了增强:在 ASP.Net 5 中,由 Roslyn 在内存中编译程序集正变得更加常见。 对于创建分析工具的开发人员而言,这意味着过去在磁盘上进行序列化的 PDB 可能会不再存在。 对于代码覆盖率或逐行性能分析这类任务,分析器工具通常使用 PDB 将代码映射回源行。使用 ICorProfiler 接口可更好地检测使用 ICorProfiler API 的 ReJit 功能进行动态检测的分析器现在可以修改某些元数据。 因为 IL 引用元数据,所以这会限制可以进行的检测的种类。 通过此更改可以进行范围广得多的动态检测。跨计算机事件跟踪允许客户在计算机 A 上分析一个程序,并在计算机 B 上查看具有源行映射的分析数据。通过使用以前版本的 .NET Framework,用户会将所有模块和本机映像从分析计算机复制到包含 IL PDB 的分析计算机来创建源到本机映射。借助 Ngen PDB,NGen 可以创建包含 IL 到本机映射的 PDB,而无需依赖于 IL PDB。 组合这两个映射可提供源到本机映射。 由于本机映像 PDB 远小于所有模块和本机映像,因此从计算机 A 复制到计算机 B 的过程要快得多。.NET 2015 引入了 .NET Framework 4.6 和 .NET 核心。 一些新功能两者都适用,其他功能特定于 .NET Framework 4.6 或 .NET 核心。ASP.NET 5.NET 2015 包括 ASP.NET 5,是一个用于生成基于云的现代应用的精益 .NET 平台。 这是一个模块化的平台,你可以仅包含应用程序所需的那些功能。 其可承载于 IIS 上或自承载于自定义过程中,并且你可以在同一服务器上运行具有不同版本 .NET Framework 的应用。 它包括为云部署而设计的新环境配置系统。MVC、Web API 和 Web Pages 统一至称为 MVC 6 的单个 Framework。 通过 Visual Studio 2015 中的新工具生成 ASP.NET 5 应用。 现有应用程序将在新 .NET Framework 上工作;但是,若要生成使用 MVC 6 或 SignalR 3 的应用,你必须使用 Visual Studio 2015 中的项目系统。
基于任务的 API,用于异步响应刷新FlushAsync 用于异步响应刷新,它允许通过使用你的语言的 async/await 支持来异步刷新响应。Model binding supports task-returning methods在 .NET Framework 4.5 中,ASP.NET 增加了模型绑定功能,针对在 Web 窗体页面和用户控件中进行的基于 CRUD 的数据操作,该功能启用了一种以代码为中心的可扩展方法。 此功能使得 Web 窗体开发人员在使用较新版本的 ORM(包括实体框架)时,能获得异步的可伸缩性优点以及数据绑定系统的易用性。异步模型绑定由 aspnet:EnableAsyncModelBinding 配置设置控制。
&appSettings&
&add key=" aspnet:EnableAsyncModelBinding" value="true|false" /&
&/appSettings&
在面向 .NET Framework 4.6 的应用中,它默认为 true。 在面向早期版本的 .NET Framework 的 .NET Framework 4.6 上运行的应用中,它默认为 false。 可以通过将配置设置设置为 true 来启用它。HTTP/2 支持 (Windows 10)
网页(而不是服务)从 HTTP/2 中获益最多,因为该协议优化多个作为单个体验的一部分进行请求的项目。 已向 .NET Framework 4.6 中的 ASP.NET 添加了 HTTP/2 支持。 因为网络功能存在于多个层,所以 Windows、IIS 和 ASP.NET 中均需要新功能以启用 HTTP/2。 必须在 Windows 10 上运行,以便将 HTTP/2 与 ASP.NET 搭配使用。HttpClient API 的 Windows 10 通用 Windows 平台 (UWP) 上使用。 和 )的新方法。注意尽管 ASP.NET 5 支持 HTTP/2,不过尚未添加针对 PUSH PROMISE 功能的支持。浏览器和 Web 服务器(Windows 上的 IIS)执行所有工作。 无需为用户执行任何繁重任务。支持令牌绑定协议 前提是罪犯可以盗取并使用身份验证令牌(在你的浏览器缓存中)以访问本应安全的资源(例如你的银行帐户),而无需知道密码或任何其他特权。 新协议旨在缓解此问题。令牌绑定协议将在 Windows 10 中作为浏览器功能实现。 客户端和服务器实现建立由协议指定的端到端的保护。随机字符串哈希算法 但是,由于某些 ASP.NET 功能依赖于稳定的哈希代码,因此 ASP.NET 不支持该算法。 在 .NET Framework 4.6 中,现在支持随机字符串哈希算法。 若要启用此功能,请使用 aspnet:UseRandomizedStringHashAlgorithm 配置设置。
&appSettings&
&add key="aspnet:UseRandomizedStringHashAlgorithm" value="true|false" /&
&/appSettings&
ADO.NETADO.NET 现在支持 SQL Server 2016 社区技术预览版 2 (CTP2) 中提供的 Always Encrypted 功能。 Always Encrypted 可确保客户数据的安全,因此 DBA 没有纯文本数据的访问权限。 数据的加密和解密都在驱动程序级别以透明方式执行,从而将现有应用程序必须做出的更改减至最少。
64 位托管代码的 JIT 编译器.NET Framework 4.6 采用新版 64 位 JIT 编译器(最初代码名为 RyuJIT)。 新的 64 位编译器相较旧的 64 位 JIT 编译器具有显著的性能提升。 新的 64 位编译器针对 .NET Framework 4.6 上运行的 64 位进程而启用。 如果你的应用被编译为 64 位或 AnyCPU 并在 64 位操作系统上运行,则它将在 64 位进程中运行。 虽然已采取谨慎的措施来使到新编译器的转换尽可能透明,但行为也可能发生变化。 我们希望能够直接了解有关使用新的 JIT 编译器时遇到的任何问题。
程序集加载程序改进通过在加载相应的 NGEN 映像后卸载 IL 程序集,程序集加载程序现在能更有效地利用内存。 此更改会降低虚拟内存(这对诸如 Visual Studio 等的大型 32 位应用特别有益),还会节省物理内存。
基类库的更改将许多新 API 添加到 .NET Framework 4.6 以启用关键方案。 这些包括以下更改和添加:IReadOnlyCollection&T& 实现,例如
属性现在是读写而不是只读。
增强垃圾回收 (GC) 功能Collect(Int32, GCCollectionMode, Boolean, Boolean) 方法的新重载允许你控制小型对象堆和大型对象堆是否均扫频和压缩或仅扫频。
启用了 SIMD 的类型由于新的 64 位 JIT 编译器还包括硬件 SIMD 加速功能,将支持 SIMD 的类型与新的 64 位 JIT 编译器一起使用时,会带来特别显著的性能提升。
.NET Framework 4.6 包括以下新的增强功能以支持 Windows CNG 加密 API: X509 证书(System.Security.Cryptography.X509Certificates.RSACertificateExtensions.GetRSAPublicKey(System.Security.Cryptography.X509Certificates.X509Certificate2) 和 System.Security.Cryptography.X509Certificates.RSACertificateExtensions.GetRSAPrivateKey(System.Security.Cryptography.X509Certificates.X509Certificate2))的一组扩展方法,如果可能,它们将返回基于 CNG 的实现,而不返回基于 CAPI 的实现。 (一些智能卡等仍需要 CAPI,并由 API 处理回退)。RSACng 类,该类提供 RSA 算法的 CNG 实现。RSA API 的增强功能,常见操作不再需要转换。
RSACryptoServiceProvider rsa = (RSACryptoServiceProvider)cert.PrivateK
byte[] oaepEncrypted = rsa.Encrypt(data, true);
byte[] pkcs1Encrypted = rsa.Encrypt(data, false);
可采用如下方式重写在 .NET Framework 4.6 中使用新加密 API 的代码以避免转换。
RSA rsa = cert.GetRSAPrivateKey();
if (rsa == null)
throw new InvalidOperationException("An RSA certificate was expected");
byte[] oaepEncrypted = rsa.Encrypt(data, RSAEncryptionPadding.OaepSHA1);
byte[] pkcs1Encrypted = rsa.Encrypt(data, RSAEncryptionPadding.Pkcs1);
兼容性开关 它在组件之间建立松耦合的协定,以便与选择退出请求进行通信。 对现有功能进行更改时,此功能通常很重要。 相反,已有新功能隐式选择加入。 默认情况下,库提供新功能;如果设置了开关,则只更改新功能(即,它们提供以前的功能)。 该开关始终隐式 false。 将此开关设置为 true 将启用它。 将此开关显式设置为 false 将提供新行为。
AppContext.SetSwitch("Switch.AmazingLib.ThrowOnException", true);
库必须检查使用者是否已声明该开关的值,并且相应地作用于它。
if (!AppContext.TryGetSwitch("Switch.AmazingLib.ThrowOnException", out shouldThrow))
// This is the case where the switch value was not set by the application.
// The library can choose to get the value of shouldThrow by other means.
// If no overrides nor default values are specified, the value should be 'false'.
// A false value implies the latest behavior.
// The library can use the value of shouldThrow to throw exceptions or not.
if (shouldThrow)
// old code
// new code
使用一致的开关格式是有益的,因为它们是由库公开的正式协定。 以下是两种明显的格式。
开关.命名空间.开关名称
开关.库.开关名称更改为基于任务的异步模式 (TAP) 对象的应用,请继承调用线程的区域性和 UI 区域性。 面向早期 .NET Framework 版本或不面向特定版本的 .NET Framework 的应用的行为不受影响。
AsyncLocal&T& 类允许你表示对于给定异步控制流(如 async 方法)来说是本地数据的环境数据。 它可用于跨线程保存数据。 属性显式更改还是线程遇到上下文转换。、 和 )已添加到基于任务的异步模式 (TAP),以返回处于特定状态的已完成任务。 方法。
EventSource 现在支持写入事件日志 在过去,你必须使用 Microsoft.Diagnostics.Tracing.EventSource NuGet 包才能实现此功能。 此功能现在内置于 .NET Framework 4.6 中。动态事件允许在不创建事件方法的情况下“在运行过程中”定义事件。丰富的负载允许将专门特性化的类和数组以及基元类型作为负载传递活动跟踪Windows Presentation Foundation (WPF)HDPI 改进在 .NET Framework 4.6 中,WPF 中的 HDPI 支持现在更好。 已对布局舍入进行了更改,以减少带边框的控件中的剪切实例。
&AppContextSwitchOverrides
value="Switch.MS.Internal.DoNotApplyLayoutRoundingToMarginsAndBorderThickness=false"
跨越具有不同 DPI 设置(多 DPI 设置)的多个监视器的 WPF 窗口现在完全呈现,且没有涂黑区域。 可以通过将下面的行添加到 app.config 文件的 &appSettings& 部分来选择退出此行为,以禁用此新行为:
&add key="EnableMultiMonitorDisplayClipping" value="true"/&
Cursor 添加了对基于 DPI 设置自动加载右侧光标的支持。触摸更好 Windows 应用商店应用程序和 WPF 应用程序的双击阈值现在与 Windows 8.1 及更高版本中的相同。透明子窗口支持.NET Framework 4.6 中的 WPF 支持 Windows 8.1 及更高版本中的透明子窗口。 这使得你可以在顶层窗口中创建非矩形的透明子窗口。 属性设置为 true 启用此功能。
Windows Communication Foundation (WCF)SSL 支持将 NetTcp 用于传输安全和客户端身份验证时,除了 SSL 3.0 和 TLS 1.0,WCF 现在还支持 SSL 版本 TLS 1.1 和 TLS 1.2。 现在可选择要使用的协议,或禁用旧的次要安全协议。 属性或通过将以下内容添加到配置文件来完成此操作。
&netTcpBinding&
&security mode= "None|Transport|Message|TransportWithMessageCredential" &
&transport clientCredentialType="None|Windows|Certificate"
protectionLevel="None|Sign|EncryptAndSign"
sslProtocols="Ssl3|Tls1|Tls11|Tls12"&
&/transport&
&/security&
&/binding&
&/netTcpBinding&
使用不同的 HTTP 连接发送消息WCF 现在允许用户确保使用不同的基础 HTTP 连接发送特定消息。 有两种方法可以实现此目的:使用连接组名称前缀用户可以指定 WCF 将用作连接组名称前缀的字符串。 使用不同的基础 HTTP 连接发送具有不同前缀的两个消息。 属性来设置前缀。 键为 "HttpTransportConnectionGroupNamePrefix",值是所需的前缀。使用不同的通道工厂用户还可以启用一种功能,以确保使用由不同通道工厂所创建通道发送的消息将使用不同的基础 HTTP 连接。 若要启用此功能,用户必须将以下 appSetting 设置为 true:
&appSettings&
&add key="wcf:httpTransportBinding:useUniqueConnectionPoolPerFactory" value="true" /&
&/appSettings&
Windows Workflow Foundation (WWF)现在可以指定当请求超时之前存在某个未完成的“非协议”书签时,工作流服务针对无序操作请求将保持的秒数。 “非协议”书签是不与未完成的“接收”活动相关的书签。 某些活动会在其实现内创建非协议书签,因此非协议书签的存在可能不太明显。 此类书签包括“状态”和“选取”。 因此,如果你拥有使用状态机实现的工作流服务,或包含“选取”活动的工作流服务,你将很可能具有非协议书签。 通过将如下所示的行添加到 app.config 文件的 appSettings 部分来指定时间间隔:
&add key="microsoft:WorkflowServices:FilterResumeTimeoutInSeconds" value="60"/&
默认值为 60 秒。 如果 value 设置为 0,则会立即拒绝无序请求并出现错误,错误文本如下所示:Operation 'Request3|{http://tempuri.org/}IService' on service instance with identifier '2bc8--f6c67d534292' cannot be performed at this time. Please ensure that the operations are performed in the correct order and that the binding in use provides ordered delivery guarantees.当收到无序操作消息且没有非协议书签时,你将收到同一条消息。
事务 通过将以下键添加到 app.config 文件的 appSettings 部分来完成此操作:
&add key="Transactions:IncludeDistributedTransactionIdInExceptionMessage" value="true"/&
默认值为 false。网络套接字重用Windows 10 包括一个新的高可伸缩性网络算法,它能通过重用出站 TCP 连接的本地端口来更好地利用计算机资源。 在以前版本的 Windows 中,有人工并发连接限制(通常为 16,384,即动态端口范围的默认大小),这可能导致负载下的端口耗尽,从而限制了服务的可伸缩性。在 .NET Framework 4.6 中,添加了两个新的 API 来启用端口重用,从而有效删除了并发连接方面的 64K 限制:ReuseUnicastPort 枚举值。 属性。 属性为 false,除非 HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 注册表项的 HWRPortReuseOnSocketBind 值设置为 0x1。 属性设置为 true。SetSocketOption 等方法时,编写仅限套接字的应用程序的开发人员可以指定
选项,以便出站套接字在绑定期间重用本地端口。国际域名和 PunyCode 支持 已添加到了
类,以更好地支持国际域名和 PunyCode。
在 Windows 窗体控件中调整大小。 属性所指定的 、、、 和
类型和矩形。这是一项可以选择使用的功能。 若要启用它,在应用程序配置 (app.config) 文件中将 EnableWindowsFormsHighDpiAutoResizing 元素设置为 true:
&appSettings&
&add key="EnableWindowsFormsHighDpiAutoResizing" value="true" /&
&/appSettings&
支持代码页编码.NET 核心 主要支持 Unicode 编码,在默认情况下为代码页编码提供有限支持。RegisterProvider 方法注册代码页编码的 .NET 核心 中不受支持。
.NET Native使用 Visual Studio 2015 进行编译时,默认将应用程序编译为本机代码。为了支持调试 .NET Native 应用,已向非托管调试 API 添加大量新的接口和枚举。
开源 .NET Framework 包新的
方法使你可以在响应刷新到客户端应用时检查并修改响应标头和状态代码。QueueBackgroundWorkItem 方法使你可以规划小型后台工作项目。 ASP.NET 跟踪这些项目,并防止 IIS 在所有后台工作项目完成之前突然中止辅助进程。 和
属性返回用于指示是否已编写响应标头的布尔值。(如果已编写标头,它将引发异常)等 API 的调用将成功。
在 Windows 窗体控件中调整大小。此功能已扩展。 你现在可以使用系统 DPI 设置调整下面其他控件的组件大小(例如,组合框中的下拉箭头):这是一项可以选择使用的功能。 若要启用它,在应用程序配置 (app.config) 文件中将 EnableWindowsFormsHighDpiAutoResizing 元素设置为 true:
&appSettings&
&add key="EnableWindowsFormsHighDpiAutoResizing" value="true" /&
&/appSettings&
方法(并且因此实现
接口)的资源管理器可以使用新的
方法来请求以下内容: 将该事物提升为 Microsoft 分布式事务处理协调器 (MSDTC) 事物。此操作可以在相同的应用域内执行,而且不需要任何用于与 MSDTC 交互的额外非托管代码即可执行提升。
分析改进。以下新的非托管分析 API 提供更强大的分析功能:之前的 ICorProfiler 实现支持依赖程序集的延迟加载。 新的分析 API 需要立即加载由探查器注入的依赖程序集,而不是在应用完全初始化后加载。 此更改不会影响现有 ICorProfiler API 的用户。
调试改进。以下新的未托管调试 API 提供与探查器更好的集成。 你现在可以访问由探查器插入的元数据,以及转储调试时编译器 ReJIT 请求所生成的本地变量和代码。
事件跟踪更改。.NET Framework 4.5.2 为较大的表面区域启用进程外的基于 Windows 事件跟踪 (ETW) 的活动跟踪。 这将使高级电源管理 (APM) 供应商提供轻型工具,这些工具可精确跟踪跨线程单个请求和活动的成本。
仅当 ETW 控制器启用它们时,才会引发这些事件;因此,这些更改不会影响之前编写的 ETW 代码或在禁用 ETW 的情况下运行的代码。升级事务并将其转换为持久登记PromoteAndEnlistDurable 是 .NET Framework 4.5.2 和 4.6 中新增的 API:
[System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.LinkDemand, Name = "FullTrust")]
public Enlistment PromoteAndEnlistDurable(Guid resourceManagerIdentifier,
IPromotableSinglePhaseNotification promotableNotification,
ISinglePhaseNotification enlistmentNotification,
EnlistmentOptions enlistmentOptions)
EnlistPromotableSinglePhase 创建以响应
方法。 它要求 System.Transactions 将事务提升为 MSDTC 事务,并将可提升的登记“转换”为持久登记。 相关登记必须作为持久登记,以支持事务日志记录和恢复。EnlistDurable 了解详细信息。Promote 调用时调用。:在面向 Windows 8.1 或 Windows Phone 8.1 时,你可以在可移植库中包含 XAML(Windows.UI.XAML 类型)。 支持以下 XAML 模板:空白页、资源字典、模板控件和用户控件。你可以重定 Windows 应用商店或 Windows Phone 应用商店类库(例如可移植类库)的目标。.NET Framework 内容集现在包括用于 .NET Native(它是用于生成和部署 Windows 应用的预编译技术)的文档。.NET Native 将应用直接编译为本机代码而不是中间语言 (IL),以提高性能。.NET Framework 4.5.1 中的核心新功能和增强包括:程序集的自动绑定重定向。 从 Visual Studio 2013 开始,当你编译面向 .NET Framework 4.5.1 的应用时,如果你的应用程序或其组件引用同一程序集的多个版本,则绑定重定向可能被添加到应用配置文件中。 你也可以对面向 .NET framework 的早期版本的项目启用此功能。可以在垃圾回收过程中显式压缩大对象堆 (LOH)。 属性。Windows 窗体的改进包括:在 Windows 窗体控件中调整大小。 你可以使用系统 DPI 设置调整控件(例如,显示在属性网格中的图标)组件的大小,方法是使用应用的应用程序配置文件 (app.config) 中的条目选择使用该功能。 此功能当前在以下 Windows 窗体控件中受支持:若要启用此功能,请将新 &appSettings& 元素添加到配置文件 (app.config) 并将 EnableWindowsFormsHighDpiAutoResizing 元素设置为 true:
&appSettings&
&add key="EnableWindowsFormsHighDpiAutoResizing" value="true" /&
&/appSettings&
在 Visual Studio 2013 中调试 .NET Framework 应用程序时的改进包括:返回 Visual Studio 调试器中的值。 在 Visual Studio 2013 中调试托管应用程序时,“自动”窗口会显示方法的返回类型和值。针对 64 位应用程序的“编辑并继续”。Visual Studio 2013 支持桌面、Windows 应用商店和 Windows Phone 的 64 位托管应用程序的“编辑并继续”功能。异步识别调试。 为了更易于在 Visual Studio 2013 中调试异步应用程序,调用堆栈会隐藏编译器提供的基础结构代码以支持异步编程,并且链入逻辑父级框架,以便你可以更清楚地了解逻辑程序执行。 “任务”窗口将替换“并行任务”窗口,并显示与特定断点相关的任务,还会显示应用程序中当前处于活动状态或计划状态的任何其他任务。能够在部署期间通过检测并关闭 .NET Framework 4 应用程序来减少系统重启。
在64位平台下支持大于2GB的数组
此功能可在应用程序配置文件中启用。
通过服务器后台垃圾回收提高性能
当你使用 .NET Framework 4.5 中的服务器垃圾回收功能时,将自动启用后台垃圾回收。 属性。定义应用程序域的默认区域性的能力。Unicode (UTF-16) 编码的控制台支持。支持对区域性字符串排序和比较数据进行版本控制。
在检索资源时的更佳性能。
Zip 压缩改进,可减少压缩文件的大小。IdnMapping 上使用 Windows 8 类时)。可以在 Windows 8 使用 .NET Framework 时,将字符串比较委托给操作系统(这将实现 Unicode 6.0)。 在其他平台上运行时,.NET Framework 包括其自己的字符串比较数据,这将实现 Unicode 5.x。能够为每个应用程序域计算字符串的哈希代码。在 .NET Framework 4.5 中,Managed Extensibility Framework (MEF) 提供了以下新功能:对泛型类型的支持。利用基于约定的编程模型,你可以基于命名约定而非特性创建各个部分。多个范围。创建 Windows 8.x 应用商店应用程序时可使用的 MEF 子集。在 .NET Framework 4.5 中,已将新的异步功能添加到 C# 和 Visual Basic 语言中。 这些功能将添加用于执行异步操作的基于任务的模型。 若要使用此新模型,请使用 I/O 类中的异步方法。在 .NET Framework 4.5 中,资源文件生成器 (Resgen.exe) 使你可以从嵌入 .NET Framework 程序集中的 .resources 文件中创建用于 Windows 8.x 应用商店应用程序的 .resw 文件。 该命令行工具会针对本机映像应用程序程序集生成配置文件数据。 从 Visual Studio 2013 开始,可以使用 Mpgo.exe 优化 Windows 8.x 应用商店应用程序以及桌面应用程序。.NET Framework 4.5 提供了针对并行计算的多项新功能和改进功能。 其中包括改进的性能、增强的控件、对异步编程的增强支持、新的数据流库以及对并行调试和性能分析的增强支持。ASP.NET 4.5 和 4.5.1 为 Web 窗体、WebSocket 支持、异步处理程序、性能增强和许多其他功能添加了模型绑定。.NET Framework 4.5 提供了一个用于 HTTP 应用程序的新编程接口。此外,.NET Framework 4.5 包括以下网络改进: 与 RFC 兼容的 URI 支持。对国际域名 (IDN) 分析的支持。对电子邮件地址国际化 (EAI) 的支持。
改进对 IPv6 的支持。
双重模式套接字支持。在 .NET Framework 4.5 中,Windows Presentation Foundation (WPF) 包含以下方面的更改和改进:通过在非 UI 线程上访问集合,改进了在显示大型分组数据集时的性能。在值发生更改时重新定位数据(实时数据整理)。能够检查项目容器的数据上下文是否已断开连接。改进了对实现弱事件模式的支持。 此外,事件现在可以接受标记扩展。在 .NET Framework 4.5 中,已添加以下功能,以便更轻松地编写和维护 Windows Communication Foundation (WCF) 应用程序:简化生成的配置文件。对协定优先开发的支持。能够更轻松地配置 ASP.NET 兼容模式。对默认传输属性值的更改,可减小你必须设置这些值的可能性。作为生成过程的一部分,由 Visual Studio 验证 WCF 配置文件,以便你可以在运行应用程序之前检测配置错误。新的异步流支持。能够通过将 ?singleWSDL 追加到服务 URL,来在单个 WSDL 文档中生成元数据。WebSockets 支持,通过端口 80 和 443 启用真正的双向通信,其性能特性与 TCP 传输类似。对在代码中配置服务的支持。XML 编辑器工具提示。二进制文件编码器压缩支持。对 UDP 传输的支持,这可使开发人员编写使用“发后不理”消息的服务。 客户端向服务发送消息,且不希望从该服务获得响应。能够在使用 HTTP 传输和传输安全性时,支持单个 WCF 终结点上的多个身份验证模式。对使用国际域名 (IDN) 的 WCF 服务的支持。在 .NET Framework 4.5 中,已将几项新功能添加到 Windows Workflow Foundation (WF) 中,包括:
可以在状态上设置断点。
可以在工作流设计器中对转换进行复制和粘贴。
为创建共享触发器转换提供的设计器支持。
增强的工作流设计器功能如下:将第二个子活动添加到容器活动中时自动创建“序列”活动以及在“序列”活动中包括这两个活动的能力。平移支持,可让工作流的可见部分发生更改,而无需使用滚动条。新“文档大纲”视图,它在树样式的大纲视图中显示工作流组件并可让你在“文档大纲”视图中选择组件。向活动中添加批注的能力。通过使用工作流设计器定义和使用活动委托的能力。状态机和流程图工作流中活动和转换的自动连接和自动插入。可防止子活动持久化的 NoPersistScope 容器活动。对 C# 表达式的支持:使用 Visual Basic 的工作流项目将使用 Visual Basic 表达式,C# 工作流项目将使用 C# 表达式。在 Visual Studio 2010 中创建并具有 Visual Basic 表达式的 C# 工作流项目与使用 C# 表达式的 C# 工作流项目兼容。版本控制增强功能:协定优先工作流服务开发,它为自动生成活动以匹配现有服务协定提供支持。Windows 8.x 应用商店应用程序为特定窗体因素而设计,并利用 Windows 操作系统的功能。 通过使用 C# 或 Visual Basic,.NET Framework 4.5 或 4.5.1 的子集可用于生成面向 Windows 的 Windows 8.x 应用商店应用。利用 Visual Studio 2012(和更高版本)中的可移植类库项目,你可以编写和生成在多个 .NET Framework 平台上运行的托管程序集。 使用可移植类库项目,你可以选择要作为目标的平台(如 Windows Phone 和适用于 Windows 8.x 应用商店应用的 .NET)。 项目中的可用类型和成员自动限制为这些平台中的公共类型和成员。
此页面有帮助吗?
更多反馈?
1500 个剩余字符
我们非常感谢您的反馈。
开发人员中心

我要回帖

更多关于 .net regex.replace 的文章

 

随机推荐