Aspnetcore: Call️号召行动:帮助塑造ASP.NET Core的未来

创建于 2020-10-06  ·  89评论  ·  资料来源: dotnet/aspnetcore

你好感谢您的光临。

我们正在积极地进行.N​​ET 6计划,希望得到您的帮助。
在接下来的几周中,我们将浏览积压中的所有问题,并确定.NET 6的候选对象。为了确定某个问题是否适合即将发布的版本,我们还调查了支持👍(和其他反应)。 为了帮助我们确定社区认为最重要的问题的优先级,请找到您想解决的问题并予以支持。

Please️请不要在本期中添加要查看的内容的描述。

call to action

最有用的评论

编辑器和调试器的改进和热重载(编辑并继续): https :

所有89条评论

Blazor WASM中的HTML自动对焦支持

与IIS Express一样,使用Kestrel保存Projet Reload。

26091默认情况下下载压缩资源

MobileBlazorbindings在实验中得到了很好的回应。 我们希望它可以尽快成为Microsoft的正式项目,并可以提供完整的功能,以便用户可以专注于自己的业务逻辑,尤其是混合应用程序。 它似乎有机会超越电子,变得更精简但更强大。

编辑器和调试器的改进和热重载(编辑并继续): https :

11558

流API支持MVC
示例: https

public class MyStreamingApi : Controller
{
     [HttpGet("/tweets")]
     [Streaming]
     public async IAsyncEnumerable<Tweet> Get()
     {
         while (var tweet = await GetOneTweet())
         { 
             yield return tweet;
         }
     }
}

所有人,这一切都很棒。 请确保对相关问题进行投票,而不是在此处链接问题。 毕竟,这就是我们要研究的内容。

@mkArtakMSFT #11558已锁定,我们无法投票。

功能请求: Drop-in component for ASP Identity Administration, Portals, UI, SSO, Claims, AD-Sync, Token, Multi.Tenant Management以便Visual Studio模板不需要商业许可的第三方组件。

我一直在看/等待几年。 耐心地,但是最近的一些变化迫使我提出要求-微软针对他们的开发人员社区重新考虑了这一点,请牢记那里的一些价格与孟加拉国,越南,印度,菲律宾等地的10到15名开发人员的薪水相比。

核心和基本需求,但非常复杂和关键。

与Java,PHP Stacks等不同,.NET本机嵌入式解决方案中存在空白,Identity Administration&Management Frameworks选项中有许多本机下降,开发人员可以在所有平台上无缝利用这些选项,例如J2EE可插拔身份管理框架或JSR 168或JSR 286或JSR-351或JSR-375。

为什么这很重要? 因为使用Java或PHP,它允许在这些本机堆栈中使用简单,清晰,核心和基本的功能。 结果,如果您看起来JSR 168JSR 286JSR-351JSR-375多租户,按角色分组或反之则很容易NET,移动设备,门户,它们都可以与IBM或SalesForce或Oracle或Red Hat等管理的安全修补程序无缝且紧密地结合在一起使用。这使开发人员可以立即提高生产力。

在.Net中,无效/非常有限的支持,总是需要第三方的结合才能阻止ASP应用程序的进入和采用。 对于需要Microsoft专家注意的开发人员和安全漏洞而言,这并非易事。

示例:我们有一个面向社区的私有信息共享站点非OSS,几乎是免费的(如果需要,可以付费),当我们开始使用Web表单时,然后是简单成员身份,Identity,Identity 2 ASP MVC,我们已经在其中实现了很多功能这些都是从零开始的,当我们转向.NET Core时,这是另一项努力。 除了开发之外,内部概念以及它们现在对新事物的含义还有很多困惑。 角色,声明,联盟,SAML,然后是SAML 2.0,然后是Open ID 2。

描述您想要的解决方案

  • 一个可扩展的嵌入式解决方案,支持ASP身份生态系统,管理,UI,SSO,令牌,多租户管理
  • 配置部分以关闭各种功能。
  • 嵌入到VS模板中(删除Identity Server,使用本机MS选项等)
  • 允许轻松的AD Active Directory集成
  • 管理员级别支持的User Defined/Created Fields UDF
  • 当前的选择和定价使许多现有应用程序无法在.NET堆栈上继续使用,而无需进行大量重新配置或完全放弃MS框架。
  • SAML2 / CAS@tbonham
  • 租户实体的允许模板选项Configuration.MultiTenancy.IsEnabled = true; Global DataFilter

它的高时间MS解决了这一核心关守功能!!

  • []控制器/ API DDOS throttling支持
  • []登录控制器/ API Captcha Anti Spambot支持
  • []使用Singal-R可以轻松传递超时,并且无法强制断开匿名连接
  • []无法处理公共网站上的匿名聊天。 例如,如果_Web用户正在使用SignalR在ASP网站上浏览/浏览以获取帮助或产品/聊天_上的FAQ,我们必须为此创建一个简洁的解决方案,无法唯一地标识他们以创建聊天流/会话除非他们登录。

@mkArtakMSFT #11558已锁定,我们无法投票。

@expcat我已经重新打开它!

@papyr

内置管理面板模板和Vue集成。

@mrkarMSFT感谢您的想法👍,但他们一直关闭我的功能请求并锁定它们,因此无法投票!

您能否解锁26594,以允许对该功能进行投票!

内置管理面板模板和Vue集成。

您是说像Skoruba.Admin一样赞一下https://github.com/dotnet/aspnetcore/issues/26594

用于SignalR的RFC 7692(每消息WebSocket压缩)。 看来这取决于runtime#20004,但在此情况下似乎很重要。 有一个老问题引用此

没有javascript(WASI)的blazor wasm-to-wasm互操作[https://github.com/WebAssembly/interface-types/blob/master/proposals/interface-types/Explainer.md]

请提供一种改善blazor wasm加载进度,进度栏和/或当前下载文件名的用户体验的方法。

使用快速(组件)作为用户界面的项目模板blazor服务器/ wasm,作为快速入门/示例

请添加对sftp的支持

“建议:查看组件插槽”已锁定

当通过标签助手进行渲染时,为View组件提供内置的或由框架提供的机制,以渲染用户提供的子内容,这些内容可以在预定义的位置注入到View组件的视图模板中

https://github.com/dotnet/aspnetcore/issues/4901

内部(Microsoft制造)身份服务器和其他安全模块

我找不到关于快速开发循环的总体问题,更不用说辉煌了,我希望整个开发经验会更快

创建禁用评论的新号召性用语是个好主意吗?
@mkArtakMSFT

@mrpmorris @mkArtakMSFT您应该认真考虑放弃整个号召性

我的建议是选择项目可以进入的主题/一般方向,让人们从中选择,并指导整体工作的一部分,而不必对特定问题做出特定承诺。

这是不具约束力的咨询投票:)

@mrkarMSFT感谢您的想法👍,但他们一直关闭我的功能请求并锁定它们,因此无法投票!

您能否解锁26594,以允许对该功能进行投票!

@papyr调查此问题,我认为这与我们的长期愿景不符。 这就是@blowdart解决该问题的原因。 鉴于此,似乎我们无法确定对.NET 6的优先级。

@ 3GDXC您已在上面列出了多个功能请求。 请确保您分别为每个问题提交问题,以便我们更好地跟踪这些问题。

创建禁用评论的新号召性用语是个好主意吗?
@mkArtakMSFT

我本来是在考虑这一点,但不想使人静音。 如果这种情况继续下去,我可能会锁定此对话。

@mrpmorris @mkArtakMSFT您应该认真考虑放弃整个号召性

我的建议是选择项目可以进入的主题/一般方向,让人们从中选择,并指导整体工作的一部分,而不必对特定问题做出特定承诺。

@mnmr我们正在努力让社区表达他们想要的东西。 这与您的建议并不矛盾,而是彼此延伸。 最终,在完成计划的第一阶段之后,我们将汇总一个有关.NET 6的高级清单。这是我们在最后几个主要发行版中为Blazor所做的工作(包括5.0(即将完成)。

AoT汇编#5466

AOT与基于浏览器任务的并行性相结合会破坏JS。

.NET WebAssembly支持基于任务的并行性。
https://github.com/dotnet/runtime/issues/40619

调试Blazor Server应用程序会引发电路错误,指出仅打开详细的异常,使调试变得愚蠢简单,但是完成后,在此之后不要提供任何更好的信息。 #26705

调试Blazor Server应用程序会引发电路错误,指出仅打开详细的异常,使调试变得愚蠢简单,但是完成后,在此之后不要提供任何更好的信息。

@anthcool请为此提交一个问题。 我们将对其进行分类,并将其纳入我们的计划中。

调试Blazor Server应用程序会引发电路错误,指出仅打开详细的异常,使调试变得愚蠢简单,但是完成后,在此之后不要提供任何更好的信息。

@anthcool请为此提交一个问题。 我们将对其进行分类,并将其纳入我们的计划中。

刚刚添加了一个。 谢谢!

我认为内置支持Pub / Sub或至少与.NET事件类似的东西真的很有用。 如今,诸如具有组件B(子组件)和组件A(父组件),通知组件C ... N(不是组件A的子组件)的场景并不那么容易。 从技术上讲,您需要提出一些建议。

此问题已关闭,仍然没有解决方案#26450。 它在这里这里也被提及。 自.NET 5 RC1发布以来,Blazor WASM停止使用Azure。

我认为内置支持Pub / Sub或至少与.NET事件类似的东西真的很有用。 如今,诸如具有组件B(子组件)和组件A(父组件),通知组件C ... N(不是组件A的子组件)的场景并不那么容易。 从技术上讲,您需要提出一些建议。

@ ylr-research,请另外提出一个问题,以继续在那里的对话。

自动模块分离和延迟加载。

呈现条件关闭和打开标签https://github.com/dotnet/aspnetcore/issues/26368。 由于没有大多数出色的布局,因此无法在Blazor中进行渲染

在客户端添加HttpMessageHandler的所有属性。 目前,它缺少很多代码,我们无法使用其中的许多代码

26487:新的WebHostFactory选项可在使用集成测试时直接调用特定的测试启动类

在Blazor wasm中使用InMemoryCache

开箱即用或在nuget中支持功能文件夹。 而不是典型的凌乱:

按类型排列:

Controllers
    CustomerController
    InvoiceController
    SmsController
    ...hundreds of files
Views
    CustomerUpdate.cshtml
    CustomerDelete.cshtml
    InvoiceView.cshtml
    SmsSend.cshtml
    ...hundreds of files

按功能排列:

Features
    Sms
        ...relevant files here
    Customers
        ...relevant files here
    Invoice
        ...relevant files here

无论使用ASP.NET Core,.NET Core,还是任何完全不同的方式,这都是一种更合理的方法来构造任何类型的应用程序。 在此处了解更多信息: https :

这将适用于MVC,Razor页面,Rest API。

ASP.NET Core MVC-Razor-嵌套的部分和简单的部分子内容

https://github.com/dotnet/aspnetcore/issues/24470

支持较旧的Edge(具有polyfill?)
https://github.com/dotnet/aspnetcore/issues/26475

你好父级子级组件的级联状态。

SASS是工具链中的一流公民(变量识别,所有导入的智能感知和编译)

直接支持在桌面上托管Blazor应用程序,并可以在客户端上访问本地外围设备和.NET Core。 WASM很棒,但是如果我们有完整的台式机,它将使销售点功能到本地设备的操作变得更加容易

不确定何时将其修复为.Net core
https://github.com/dotnet/runtime/issues/29935

拖放。 很高兴完成麦金农的工作: https :

基岩期货:15005

级联组件-自动检测父组件

对HTTP / 3(QUIC)的官方支持,理想情况下对Azure服务的支持;)

减少DLL大小/删除依赖项。

最近困扰我的一件事是减小下载大小,请参阅#26780
只是一件小事,但是删除依赖关系会带来所有不同😉

将来也许您可以将AOT DLL文件编译成WASM文件?

改善预渲染#26794 _(避免绝对经典的FOOC效果)_

这里需要的概念称为SSR客户端液压化。 js SSR中的示例在以下链接的第一段中进行了说明:

问题#26802应该合并到上述问题中。

Blazor的官方Microsoft Design组件:#11229
它已经是积压案中投票最多的功能,拥有122票赞成票

在Blazor中获取子组件或父组件引用的内置方法: https :

SSRS支持:#362,#1528,#1764,#12666,#22304

所有问题均已关闭并锁定,因此无法进行投票。

目前在反馈网站上有1005票,自2018年以来没有更新:
为ASP.NET Core开发SSRS ReportViewer – ACE社区工具的客户反馈

NET 6中Blazor的响应式菜单控件#26917

NET 6的MAUI(UI设计)Studio#26918

我想要对渲染https://github.com/dotnet/aspnetcore/issues/26016进行更多应用级控制

@ danroth27 Blazor问题被某些类型的路由器阻止了怎么办? 除了提供手动解决方法以外,是否还需要采取其他措施来解决此问题? 门票不允许有新评论。

https://github.com/dotnet/aspnetcore/issues/19511

https://github.com/dotnet/aspnetcore/issues/19552

静态网站生成器#26929

@mrpmorris如果您所在的环境中只是简单地阻止了具有“ dll”扩展名的文件,则我们提供了手动步骤来更改扩展名。 目前,我们尚未在此领域找到任何其他工作。 如果您认为我们需要做更多事情,请提出您的建议问题,我们将进行调查。

早上好,希望我没记错,但是我注意到Timer()
在浏览器中切换标签时速度变慢。
给出可能问题的基本示例,这是我的存储库链接(https://github.com/PercyLeon123/Cronometro)。
要详细说明发生的情况,请进行一些测试并记录下来。

基本而简单的示例,速度减慢了10分钟https://youtu.be/jHLVCSGXPMs
包含更多代码的示例,它会使速度降低1分50秒https://youtu.be/YhEVTVB2ai0
如果不更改选项卡,计时器不会降低速度https://youtu.be/2NI0NhRLdFY

在描述中,我详细说明了发生了什么。 我是Lima-Peru的PercyLeón
与我联系Linkedin
问候!

感谢您举报@ PercyLeon123。
您能否提出一个新问题来单独跟踪。

大多数功能请求似乎与Blazor有关。 尽管这是一项新技术,这是可以理解的,但对于我的Blazor开发人员而言,仍然有些人出于各种不重要的原因不使用Blazor。 我希望开发时间不要偏向于该技术而损害ASP.NET的核心功能,这些功能由于每个人的核心功能而对每个人都有帮助。 以下是根据赞誉的主要功能:

  • 添加对LetsEncrypt的支持( LettuceEncrypt仍然需要续订DNS)#4712
  • 添加HTTP / 3支持#15271
  • 将Streaming API支持添加到MVC#11558
  • 添加HTTP / 2:服务器推送支持#4249
  • 为appsettings.json#2867定义JSON模式
  • 默认情况下,将修剪控制器动作名称的Async后缀#8998
  • 404 NotFound和500#4953不返回ProblemDetails
  • 更新ASP.NET Core以使用C#8的可为空的引用类型#5680
  • 添加IAsyncStartup和IAsyncStartupFilter以支持异步启动类和过滤器#5897
  • ConfigureTestContainer无法与GenericHost配合使用#14907
  • 基岩残局#15005
  • 添加对内容安全策略#6001的支持
  • 支持新的Forwarded标头(RFC 7239)#5978
  • 使用LinkGenerator#14192轻松配置绝对URL的主机/方案
  • 使用集成测试时,新的WebHostFactory选项可直接调用特定的测试启动类#26487
  • JsonPatchDocument应该在ASP.NET vNext#24333中使用System.Text.Json
  • 将类型/解析验证错误处理与业务逻辑验证分开(400 vs 422)#25732

您可以在此处查看非Blazor问题的完整列表。

功能请求: Drop-in component for ASP Identity Administration, Portals, UI, SSO, Claims, AD-Sync, Token, Multi.Tenant Management以便Visual Studio模板不需要商业许可的第三方组件。

我一直在看/等待几年。 耐心地,但是最近的一些变化迫使我提出要求-微软针对他们的开发人员社区重新考虑了这一点,请牢记那里的一些价格与孟加拉国,越南,印度,菲律宾等地的10到15名开发人员的薪水相比。

核心和基本需求,但非常复杂和关键。

与Java,PHP Stacks等不同,.NET本机嵌入式解决方案中存在空白,Identity Administration&Management Frameworks选项中有许多本机下降,开发人员可以在所有平台上无缝利用这些选项,例如J2EE可插拔身份管理框架或JSR 168或JSR 286或JSR-351或JSR-375。

为什么这很重要? 因为使用Java或PHP,它允许在这些本机堆栈中使用简单,清晰,核心和基本的功能。 结果,如果您看起来JSR 168JSR 286JSR-351JSR-375多租户,按角色分组或反之则很容易NET,移动设备,门户,它们都可以与IBM或SalesForce或Oracle或Red Hat等管理的安全修补程序无缝且紧密地结合在一起使用。这使开发人员可以立即提高生产力。

在.Net中,无效/非常有限的支持,总是需要第三方的结合才能阻止ASP应用程序的进入和采用。 对于需要Microsoft专家注意的开发人员和安全漏洞而言,这并非易事。

示例:我们有一个面向社区的私有信息共享站点非OSS,几乎是免费的(如果需要,可以付费),当我们开始使用Web表单时,然后是简单成员身份,Identity,Identity 2 ASP MVC,我们已经在其中实现了很多功能这些都是从零开始的,当我们转向.NET Core时,这是另一项努力。 除了开发之外,内部概念以及它们现在对新事物的含义还有很多困惑。 角色,声明,联盟,SAML,然后是SAML 2.0,然后是Open ID 2。

描述您想要的解决方案

  • 一个可扩展的嵌入式解决方案,支持ASP身份生态系统,管理,UI,SSO,令牌,多租户管理
  • 配置部分以关闭各种功能。
  • 嵌入到VS模板中(删除Identity Server,使用本机MS选项等)
  • 允许轻松的AD Active Directory集成
  • 管理员级别支持的User Defined/Created Fields UDF
  • 当前的选择和定价使许多现有应用程序无法在.NET堆栈上继续使用,而无需进行大量重新配置或完全放弃MS框架。

它的高时间MS解决了这一核心关守功能!!

我们需要添加SAML2和CAS。

自动升级选项PartialViews到ViewComponents大量的遗留代码挂在部分中,我们需要将其移植到新的ViewComponentsTagHelpers应用程序中

并发框架可以支持更广泛的体系结构(此列表可能并不详尽):

  • NodeJs支持:x86 / x64 / arm32 / arm64 / ppc64le / ppc64be / x390x
  • OpenJDK支持:x86 / x64 / arm32 / arm64 / ppc32 / ppc64le / s390x / sparcv9
  • AspNet核心支持:x86 / x64 / arm32 / arm64

请为更多架构添加支持。

感谢您的反馈@YohanSciubukgian。 我们的计划是支持大多数/所有主线操作系统和芯片组合。 现在我们有了。 目前,我们唯一真正缺少的是Linux x86(32位)。 很少出现。 您提到的其他内容更少。 社区可以自由添加您提到的更多细分市场配置,但是我怀疑这种情况是否会发生。 它们,AFAICT没有任何实际的商业价值。

就个人而言,我宁愿我们添加了对FreeBSD(在x64上)的支持,而不是PPC。 我怀疑这将使更多的用户受益(如果不是更多的话)。

另请注意,我们目前在投入大量精力来支持Apple Silicon和Arm64(通常)。 仅支持新芯片需要大量投资。 上下文: https : https://devblogs.microsoft.com/dotnet/arm64-performance-in-net-5/。 最好集中精力做好主线芯片,而将遗留/爱好者芯片留给其他平台来支持。

当前有一家公司致力于对.NET Core的MIPS支持: https

这篇HN帖子与超级相关: https

感谢您的反馈@YohanSciubukgian。 我们的计划是支持大多数/所有主线操作系统和芯片组合。 现在我们有了。 目前,我们唯一真正缺少的是Linux x86(32位)。 很少出现。 您提到的其他内容更少。 社区可以自由添加您提到的更多细分市场配置,但是我怀疑这种情况是否会发生。 它们,AFAICT没有任何实际的商业价值。

就个人而言,我宁愿我们添加了对FreeBSD(在x64上)的支持,而不是PPC。 我怀疑这将使更多的用户受益(如果不是更多的话)。

另请注意,我们目前在投入大量精力来支持Apple Silicon和Arm64(通常)。 仅支持新芯片需要大量投资。 上下文: dotnet / runtime#43313https://devblogs.microsoft.com/dotnet/arm64-performance-in-net-5/。 最好集中精力做好主线芯片,而将遗留/爱好者芯片留给其他平台来支持。

目前有一家公司致力于.NET Core的MIPS支持: dotnet / runtime#38069

这篇HN帖子与超级相关: https

感谢您的回答。 我不知道是否可能,但是由于您已经在.net 5的dotnet /运行时回购中合并了mono,因此我想公开最初为mono而开发的现有体系结构,但要得到Microsoft的官方支持。

好问题。 dotnet /运行时中的Mono适用于Android,iOS和wasm。

内置身份服务器#27053

IdentityServer令牌管理器

WebSocket性能提升

JS隔离改进-并置CS,CSS和JS文件

https://github.com/dotnet/aspnetcore/issues/26145

@mahdisml,请提出相关细节问题。

Blazor的企业用户界面组件

将Blazor服务器或WASM发布到iOS / Android#27252

我找不到关于快速开发循环的总体问题,更不用说辉煌了,我希望整个开发经验会更快

@valeriob ,在这里你去: https :

补偿交易是微服务开发中非常棘手的部分。 我们能否提出某种有助于它的高级框架。 较低级别的实现,例如,可以为我的社区提供带有Redis或RabbitMQ的实现,以增强它。

更好的启动结构。 现在,对于新的asp.net开发人员来说,“ ConfigureServices”和“ Configure”变得很复杂。

Blazor InputSelect支持multiple属性。 https://github.com/dotnet/aspnetcore/issues/5519

将Identity中的SignInManagerUserManager十倍。
#22597

动态创建和添加组件。
角度ComponentFactoryResolver替代。

@Component({
 selector: 'app-root',
 template: `
 <template #parent></template>
 <button (click)="createChild()">Create Child</button> 
 `,
})
export class ParentComponent {
 @ViewChild('parent', { read: ViewContainerRef }) container;

 constructor(private resolver: ComponentFactoryResolver) {}

 createChild() {
 this.container.clear();
 const factory: ComponentFactory = this.resolver.resolveComponentFactory(ChildComponent);
 this.componentRef: ComponentRef = this.container.createComponent(factory);
 }
}
此页面是否有帮助?
0 / 5 - 0 等级