asp网站源码分享修改工具 asp开源网站源码

各位老铁们,大家好,今天由我来为大家分享asp网站源码分享修改工具,以及asp开源网站源码的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

原文:bit.ly/2Qb56NP作者:DanielRoth译者:精致码农-王亮

.NET6预览版3现已推出,其中包括许多对新的ASP.NETCore改进。以下是本次预览版的新内容:

更小的SignalR、BlazorServer、MessagePack脚本文件启用Redis分析会话HTTP/3端点TLS配置初步.NET热重载支持Razor编译器不再生成单独的视图AssemblyIIS中的浅拷贝支持适用于SignalRC++客户端的Vcpkg端口减少闲置TLS连接的内存占用量从SlabMemoryPool中移除板块用于WPF和Windows窗体的BlazorWebView控件

1.开始

要在.NET6Preview3中开始使用ASP.NETCore,请安装.NET6SDK[1]。

如果你在Windows上使用VisualStudio,我们建议安装VisualStudio201916.10的最新预览版。如果你在macOS上,我们建议安装VisualStudio2019forMac8.10的最新预览版。

2.升级现有项目

要将现有的ASP.NETCore应用程序从.NET6Preview2升级到.NET6Preview3:

更新所有Microsoft.AspNetCore.*包引用至6.0.0-preview.3.*。更新所有Microsoft.Extensions.*包引用至6.0.0-preview.3.*。

查看ASP.NETCorefor.NET6中的完整中断性更改列表[2]。

3.更小的脚本文件

得益于BenAdams的社区贡献,SignalR、MessagePack和BlazorServer脚本现在明显变小了,下载体积减少,浏览器解析和编译JavaScript的次数减少,启动速度加快。

这项工作带来的下载体积减少是非常惊人的:

现在你也只需要为MessagePack提供@microsoft/signalr-protocol-msgpack包,而不需要包含msgpack5。这意味着你只需要额外的29KB而不是之前的140KB来使用MessagePack而不是JSON。

下面说下我们是如何减少体积的:

更新TypeScript和依赖关系到最新版本.将uglify-js换成了terser,这是webpack的默认版本,支持新的JavaScript语言特性(比如class)。将SignalR模块标记为&34;:false,这样tree-shaking就更有效了。丢弃了&34;的多边填充。更改TypeScript为输出es2019而不是es5,并放弃了es2015.promise和es2015.iterable的polyfill。从@msgpack/msgpack移到msgpack5,因为它需要更少的polyfills,并且是TypeScript和模块感知的。

你可以在GitHub上Ben的PR[3]中找到更多关于这些变化的细节。

4.启用Redis分析会话

我们接受了GabrielLucaci的社区贡献,在此预览版中使用Microsoft.Extensions.Caching.StackExchangeRedis启用Redis分析会话。关于Redis分析的更多细节,请参见官方文档[4]。该API的使用方法如下:

services.AddStackExchangeRedisCache(options=>\n{\noptions.ProfilingSession=()=>newProfilingSession();\n})

5.HTTP/3端点TLS配置

HTTP/3与现有的HTTP协议相比具有许多优势,包括更快的连接设置,以及在低质量网络上的性能改进。

在此预览版中,新增了使用UseHttps在单个HTTP/3端口上配置TLS证书的功能。这使得Kestrel的HTTP/3端点配置与HTTP/1.1和HTTP/2一致。

.ConfigureKestrel((context,options)=>\n{\noptions.EnableAltSvc=true;\noptions.Listen(IPAddress.Any,5001,listenOptions=>\n{\nlistenOptions.Protocols=HttpProtocols.Http3;\nlistenOptions.UseHttps(httpsOptions=>\n{\nhttpsOptions.ServerCertificate=LoadCertificate();\n});\n});\n})

6.初步.NET热重载支持

现在,使用dotnetwatch的ASP.NETCore和Blazor项目可以获得对.NET热重载的早期支持。.NET热重载可以在不重新启动应用程序和不丢失应用程序状态的情况下将代码更改应用到你正在运行的应用程序中。

要在现有的基于.NET6的ASP.NETCore项目中试用热重载,请将&34;:&34;属性添加到你的launchSettings.json文件中。对于BlazorWebAssembly项目,使用&34;热重载配置文件。

使用dotnetwatch运行项目。下面的输出表明热重载已经启用:

watch:Hotreloadenabled.Foralistofsupportededits,seehttps://aka.ms/dotnet/hot-reload.Press&34;torestart.

在任何时候你想强制应用程序重新构建和重启,你可以在控制台输入Ctrl+R来实现。

现在你可以开始对你的代码进行编辑了。当你保存代码更改时,相应的更改几乎会在瞬间自动热重载到运行中的应用程序中。运行中的应用程序中的任何状态都会被保留。

你也可以对你的CSS文件进行热重载更改,而不需要刷新浏览器:

有一些代码更改不支持.NET执重载。你可以在文档[5]中找到支持的代码编辑列表。在BlazorWebAssembly中,目前只支持方法体替换。我们正在努力扩展.NET6中支持的编辑集。当dotnetwatch检测到无法使用热重载应用的更改时,它就会退回重新构建和重新启动应用程序。

这只是.NET6中热重载支持的开始。桌面和移动应用程序的热重载支持将很快在即将到来的预览版中提供,以及在VisualStudio中集成热重载。

7.IIS中的浅拷贝支持

我们在IIS的ASP.NETCore模块中添加了一个新功能,以增加对浅拷贝应用程序程序集的支持。目前,.NET在Windows上运行时锁定了应用程序的二进制文件,使得在应用程序仍在运行时无法替换二进制文件。虽然我们的建议仍然是使用应用程序脱机文件,但我们认识到在某些情况下(例如FTP部署)不可能这样做。

在这种情况下,你可以通过自定义ASP.NETCore模块处理程序设置来启用浅拷贝。在大多数情况下,ASP.NETCore应用程序的web.config不在源代码版本控制中,你可以修改它(它们通常是由SDK生成的)。你可以添加这个web.config示例来开始。

<?xmlversion=&34;encoding=&34;?>\n<configuration>\n<!–Tocustomizetheasp.netcoremoduleuncommentandeditthefollowingsection.\nFormoreinfoseehttps://go.microsoft.com/fwlink/?linkid=838655–>\n\n<system.webServer>\n<handlers>\n<removename=&34;/>\n<addname=&34;path=&34;verb=&34;modules=&34;resourceType=&34;/>\n</handlers>\n<aspNetCoreprocessPath=&34;arguments=&34;stdoutLogEnabled=&34;stdoutLogFile=&34;>\n<handlerSettings>\n<handlerSettingname=&34;value=&34;/>\n<handlerSettingname=&34;value=&34;/>\n<!–Onlyenablehandlerloggingifyouencounterissues–>\n<!–<handlerSettingname=&34;value=&34;/>–>\n<!–<handlerSettingname=&34;value=&34;/>–>\n</handlerSettings>\n</aspNetCore>\n</system.webServer>\n</configuration>

你需要一个新版本的ASP.NETCore模块来尝试这个功能。在自托管的IIS服务器上,这需要新版本的托管捆绑包。在AzureAppServices上,你需要安装新的ASP.NETCore站点运行时扩展。

8.适用于SignalRC++客户端的Vcpkg端口

Vcpkg是一个跨平台的C和C++库的命令行包管理器。最近,我们为vcpkg添加了一个移植版本,为SignalRC++客户端添加了CMake本地支持(也适用于MSBuild项目)。

你可以用下面的代码来添加SignalR客户端到你的CMake项目中(假设你已经包含了vcpkg工具链文件)。

find_package(microsoft-signalrCONFIGREQUIRED)\nlink_libraries(microsoft-signalr::microsoft-signalr)

在这之后,SignalRC++客户端就可以被34;utf-8&34;viewport&34;width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no&34;/&34;{PROJECTNAME}.styles.css&34;stylesheet&34;app.css&34;stylesheet&34;app&34;blazor-error-ui&34;&34;reload&34;dismiss&34;_framework/blazor.webview.js&39;HelveticaNeue&39;checkbox&26b050;\n}\n\n.invalid{\noutline:1pxsolidred;\n}\n\n.validation-message{\ncolor:red;\n}\n\nblazor-error-ui.dismiss{\ncursor:pointer;\nposition:absolute;\nright:0.75rem;\ntop:0.5rem;\n}

对于wwwroot文件夹中的所有文件,将CopytoOutputDirectory属性设置为Copyifnewer。在项目中添加一个Blazor根组件Counter.razor:

@usingMicrosoft.AspNetCore.Components.Web\n\n<h1>Counter</h1>\n\n<p>Thecurrentcountis:@currentCount</p>\n<button@onclick=&34;>Count</button>\n\n@code{\nintcurrentCount=0;\n\nvoidIncrementCount()\n{\ncurrentCount++;\n}\n}

将BlazorWebView控件添加到所需的表单中,以渲染Blazor根组件:

varserviceCollection=newServiceCollection();\nserviceCollection.AddBlazorWebView();\nvarblazor=newBlazorWebView()\n{\nDock=DockStyle.Fill,\nHostPage=&34;,\nServices=serviceCollection.BuildServiceProvider(),\n};\nblazor.RootComponents.Add<Counter>(&app&34;WpfApp1.MainWindow&34;http://schemas.microsoft.com/winfx/2006/xaml/presentation&34;http://schemas.microsoft.com/winfx/2006/xaml&34;http://schemas.microsoft.com/expression/blend/2008&34;http://schemas.openxmlformats.org/markup-compatibility/2006&34;clr-namespace:WpfApp1&34;clr-namespace:Microsoft.AspNetCore.Components.WebView.Wpf;assembly=Microsoft.AspNetCore.Components.WebView.Wpf&34;d&34;MainWindow&34;450&34;800&34;wwwroot/index.html&34;{StaticResourceservices}&34;34;ComponentType=&34;/>\n</blazor:BlazorWebView.RootComponents>\n</blazor:BlazorWebView>\n</Grid>\n</Window>

将服务提供者设置为静态资源:

varserviceCollection=newServiceCollection();\nserviceCollection.AddBlazorWebView();\nResources.Add(&34;,serviceCollection.BuildServiceProvider());

为了解决WPF运行时构建时找不到Razor组件类型的问题,在Counter.razor.cs中为组件添加一个空的局部类:publicpartialclassCounter{}构建并运行基于Blazor的WPF应用:

12.提供反馈

我们希望你喜欢这个.NET6预览版中的ASP.NETCore部分。我们渴望听到你对这个版本的体验。请在GitHub上提交Issue,让我们知道你的想法。

谢谢你试用ASP.NETCore!

文中链接:

https://dotnet.microsoft.com/download/dotnet/6.0\nhttps://docs.microsoft.com/zh-cn/dotnet/core/compatibility/6.0download-section

关于asp网站源码分享修改工具,asp开源网站源码的介绍到此结束,希望对大家有所帮助。

站内搜索