Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

⏱️ Call to action: Help shape the future for ASP.NET Core #26625

Closed
mkArtakMSFT opened this issue Oct 5, 2020 · 89 comments
Closed

⏱️ Call to action: Help shape the future for ASP.NET Core #26625

mkArtakMSFT opened this issue Oct 5, 2020 · 89 comments

Comments

@mkArtakMSFT
Copy link
Contributor

@mkArtakMSFT mkArtakMSFT commented Oct 5, 2020

Hi. Thanks for stopping by.

We're actively working on .NET 6 planning and we would like your help with this.
In the next few weeks we are going to scan through all the issues in our backlog and identify candidates for .NET 6. To make a decision whether an issue is a good candidate or not for the upcoming release, we also look into the number of upvotes 👍 (and other reactions). To help us prioritize the issues the community feels are most important, please find the issues you want to see resolved and upvote 👍 them.

⚠️ Please don't add descriptions of what you want to see as comments in this issue. Simply find an existing of file a new issue and upvote it

@mkArtakMSFT mkArtakMSFT added this to the Discussions milestone Oct 5, 2020
@mkArtakMSFT mkArtakMSFT pinned this issue Oct 5, 2020
@mkArtakMSFT mkArtakMSFT changed the title Call to action: Help shape the future for ASP.NET Core ⏱️ Call to action: Help shape the future for ASP.NET Core Oct 5, 2020
@boukenka
Copy link

@boukenka boukenka commented Oct 6, 2020

AoT compilation #5466

@boukenka
Copy link

@boukenka boukenka commented Oct 6, 2020

SVG Support in Blazor #18271

@JulienM28
Copy link

@JulienM28 JulienM28 commented Oct 6, 2020

HTML Autofocus supprt in Blazor WASM

@JulienM28
Copy link

@JulienM28 JulienM28 commented Oct 6, 2020

Projet Reload on save with Kestrel like IIS Express does.

@glararan
Copy link

@glararan glararan commented Oct 6, 2020

#26091 Download compressed resources by default

@199621616
Copy link

@199621616 199621616 commented Oct 6, 2020

MobileBlazorbindings in the experiment has got a good response. We hope that it can become a formal project of Microsoft as soon as possible, and can provide complete functions, so that users can focus on their own business logic, especially the hybrid applications. It seems to have a chance to surpass electron, more streamlined but more powerful.

@rogihee
Copy link

@rogihee rogihee commented Oct 6, 2020

Editor & debugger improvements and Hot Reload (Edit & Continue) : #5456

@expcat
Copy link

@expcat expcat commented Oct 6, 2020

#11558
Streaming API support to MVC
Example: #4833 (comment)

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

@mkArtakMSFT
Copy link
Contributor Author

@mkArtakMSFT mkArtakMSFT commented Oct 6, 2020

All this is great, folks. Please make sure to upvote on the related issues, rather than linking issues here. That's what we're going to look at after all.

@expcat
Copy link

@expcat expcat commented Oct 6, 2020

@mkArtakMSFT #11558 is locked, we can't to upvote.

@papyr
Copy link

@papyr papyr commented Oct 6, 2020

Feature Request: Drop-in component for ASP Identity Administration, Portals, UI, SSO, Claims, AD-Sync, Token, Multi.Tenant Management so that the Visual Studio templates don't require commercial licensed 3rd party components.

I have been watching/waiting few yrs. patiently, however some recent changes have forced me to request -- Microsoft revisit this for their developer community, keeping in mind some of the pricing out there compares to the salaries of 10 to 15 developers in Bangladesh, Vietnam, India, Philippines etc.

Core & Basic need, yet very complex and critical.

There's a void in .NET native drop-in solution, unlike the Java, PHP Stacks etc, where there are many native drop in Identity Administration & Management Frameworks options that are leveraged across all their platforms seamlessly by developers, for e.g. the J2EE Pluggable Identity Management Framework or JSR 168 or JSR 286 or JSR-351 or JSR-375.

Why is this important? because using Java or PHP, it has allowed easy, clear, core and basic functionalities in those native stacks. As a result if you look JSR 168 or JSR 286 or JSR-351 or JSR-375 Multi-tenants, Group to roles, or to claims vice versa is so easy vs. NET , mobile devices, portals, they all work seamlessly and cohesively with security fixes managed by either IBM or SalesForce or Oracle or Red Hat etc. This is enables developer to be productive right out of the gate.

In .Net there is void/very limited support, always requiring a combination of 3rd parties as a barrier to entry & adoption of ASP app. This is non-trivial for developers and security vulnerability that requires the attention of Microsoft Experts.

Example: We have private information sharing site non OSS for the community almost free (pay if you want), and when we started with web forms, then Simple Membership, the Identity, Identity 2 ASP MVC we had implement much of it on top of these from scratch, when we moved to .NET Core it was another effort. Besides the development there was a lot of confusion on the internal concepts and how they now meant new things. Roles, Claims, Federation, SAML then SAML 2.0 and then Open ID 2.

Describe the solution you'd like

  • A drop-in is extensible solution that supports ASP Identity eco-system, Administration, UI, SSO, Token, Multi-tenant Management
  • A configuration section to turn on-off the various features.
  • Embedded into VS Templates (remove Identity Server, use native MS option etc.)
  • Allow-Easy AD Active Directory Integration
  • User Defined/Created Fields UDF from the Admin level Support.
  • The current options and the pricing eliminate many of the existing applications from continuing usage on the .NET stack without extensive retooling or completely abandoning the MS framework.
  • SAML2/CAS per @tbonham
  • Allow template option Configuration.MultiTenancy.IsEnabled = true; Global DataFilter for Tenant entities

Its high time MS address this core gate-keeping feature!!

@papyr
Copy link

@papyr papyr commented Oct 6, 2020

  • Controller/API DDOS throttling support
  • Login Controller/API Captcha Anti Spambot support
  • Timeouts are easily by passed using Singal-R and there's no way to force anonymous connections to disconnect
  • No way to handle anonymous chats on public website. For e.g. if Web User is Surfing/browsing for help or FAQ on product/chat on ASP website with SignalR, we have to create a duct-taped solution for this, there is no way to identify them uniquely to create a chat stream/session unless they login.

@mkArtakMSFT
Copy link
Contributor Author

@mkArtakMSFT mkArtakMSFT commented Oct 6, 2020

@mkArtakMSFT #11558 is locked, we can't to upvote.

@expcat I've reopened it!

@mkArtakMSFT
Copy link
Contributor Author

@mkArtakMSFT mkArtakMSFT commented Oct 6, 2020

@papyr please upvote to the related issues and if you can't find such, create new issues for each one separately. That way we can actually track these requests. Otherwise many asks will be lost / forgotten.

@gulshan
Copy link

@gulshan gulshan commented Oct 6, 2020

Built-in admin panel template and Vue integration.

@papyr
Copy link

@papyr papyr commented Oct 6, 2020

@mrkarMSFT thanks for the idea 👍 but they keep closing my feature requests and locking them, so its not able to upvote!

Can you please unlock 26594 to allow voting on the feature please!

@papyr
Copy link

@papyr papyr commented Oct 6, 2020

Built-in admin panel template and Vue integration.

Do you mean Like Skoruba.Admin then upvote #26594

@mnmr
Copy link

@mnmr mnmr commented Oct 6, 2020

RFC 7692 (WebSocket per-message compression) for SignalR. It seems this depends on runtime#20004 but it seems relevant in this context. There was an old issue referencing this, but it is now closed and I could find no equivalent open issue here, so I am recommending that people upvote on the runtime issue.

@3GDXC
Copy link

@3GDXC 3GDXC commented Oct 6, 2020

blazor wasm-to-wasm interop without javascript (WASI) [https://github.com/WebAssembly/interface-types/blob/master/proposals/interface-types/Explainer.md]

@3GDXC
Copy link

@3GDXC 3GDXC commented Oct 6, 2020

please provide a way to improve the user experience for blazor wasm load progress, progress bar and/or filename currently downloading.

@3GDXC
Copy link

@3GDXC 3GDXC commented Oct 6, 2020

project template blazor server/wasm using fast (components) as a user interface as quick start/example

@3GDXC
Copy link

@3GDXC 3GDXC commented Oct 6, 2020

please add support for sftp

@seangwright
Copy link
Contributor

@seangwright seangwright commented Oct 7, 2020

"Proposal: View Component Slots" is locked

Provide a built-in or otherwise framework supplied mechanism for View Components, when rendered via a tag helper, to render user-supplied child content that can be injected into the View Component's view template in pre-defined locations

#4901

@saint4eva
Copy link

@saint4eva saint4eva commented Oct 7, 2020

In-house (Microsoft made) identity server and other security modules

@valeriob
Copy link

@valeriob valeriob commented Oct 7, 2020

I can't find an issue regarding fast dev loop in general that is not mentioning blazor, I would like the whole dev experience would be much faster

@mrpmorris
Copy link

@mrpmorris mrpmorris commented Oct 7, 2020

Might it be a good idea to create a new call to action with comments disabled?
@mkArtakMSFT

@ElderJames
Copy link

@ElderJames ElderJames commented Oct 15, 2020

Static site generator #26929

@danroth27
Copy link
Member

@danroth27 danroth27 commented Oct 15, 2020

@mrpmorris If you're in an environment where files with "dll" extensions are simply blocked, then we've provided manual steps for changing the extension. We haven't identified any additional work in this area currently. If you think we need to do more, please file an issue with your suggestion and we'll take a look.

@perleon-dev
Copy link

@perleon-dev perleon-dev commented Oct 16, 2020

Good morning, I hope I am not mistaken but I have noticed that the Timer () is
slows down when you switch tabs in the browser.
Make a basic example of the possible problems and this is my repository link (https://github.com/PercyLeon123/Cronometro).
To detail what happened, carry out some tests and record it.

Basic and simple example, slows down 10 minutes https://youtu.be/jHLVCSGXPMs
Example with more code, it slows down 1 minute and 50 seconds https://youtu.be/YhEVTVB2ai0
if you do not change the tab the timer does not slow down https://youtu.be/2NI0NhRLdFY

In the description I detail what happened. I'm Percy León from Lima-Peru
Contact me Linkedin
Greetings!

@mkArtakMSFT
Copy link
Contributor Author

@mkArtakMSFT mkArtakMSFT commented Oct 16, 2020

Thanks for reporting this, @PercyLeon123.
Can you please file a new issue to track this separately.

@RehanSaeed
Copy link
Contributor

@RehanSaeed RehanSaeed commented Oct 17, 2020

Most of the feature requests seem to be Blazor related. While this is understandable due to it being a new technology, with respect to my fellow Blazor devs there are still those of us who don't use Blazor for various reasons that are not important. I hope that development time is not biased too much in favour of that technology to the detriment of core ASP.NET features that would help everyone due to their being core features. Here are the top features according to upvotes:

  • Add support for LetsEncrypt (LettuceEncrypt still needs DNS renewal) #4712
  • Add HTTP/3 Support #15271
  • Add Streaming API Support to MVC #11558
  • Add HTTP/2: Server Push Support #4249
  • Define a JSON schema for appsettings.json #2867
  • Async suffix for controller action names will be trimmed by default #8998
  • ProblemDetails is not returned for 404 NotFound and 500 #4953
  • Update ASP.NET Core to use C# 8's nullable reference types #5680
  • Add IAsyncStartup and IAsyncStartupFilter to support async startup classes and filters #5897
  • ConfigureTestContainer not working with GenericHost #14907
  • Bedrock Endgame #15005
  • Add support for content security policy #6001
  • Support the new Forwarded header (RFC 7239) #5978
  • Make it easy to configure a host/scheme for absolute URLs with LinkGenerator #14192
  • New WebHostFactory option to directly call a specific testing startup class when working with integration tests #26487
  • JsonPatchDocument should use System.Text.Json in ASP.NET vNext #24333
  • Separate type/parsing validation error handling from business logic validation (400 vs 422) #25732

You can see a full list of non-Blazor issues here.

@tbonham
Copy link

@tbonham tbonham commented Oct 17, 2020

Feature Request: Drop-in component for ASP Identity Administration, Portals, UI, SSO, Claims, AD-Sync, Token, Multi.Tenant Management so that the Visual Studio templates don't require commercial licensed 3rd party components.

I have been watching/waiting few yrs. patiently, however some recent changes have forced me to request -- Microsoft revisit this for their developer community, keeping in mind some of the pricing out there compares to the salaries of 10 to 15 developers in Bangladesh, Vietnam, India, Philippines etc.

Core & Basic need, yet very complex and critical.

There's a void in .NET native drop-in solution, unlike the Java, PHP Stacks etc, where there are many native drop in Identity Administration & Management Frameworks options that are leveraged across all their platforms seamlessly by developers, for e.g. the J2EE Pluggable Identity Management Framework or JSR 168 or JSR 286 or JSR-351 or JSR-375.

Why is this important? because using Java or PHP, it has allowed easy, clear, core and basic functionalities in those native stacks. As a result if you look JSR 168 or JSR 286 or JSR-351 or JSR-375 Multi-tenants, Group to roles, or to claims vice versa is so easy vs. NET , mobile devices, portals, they all work seamlessly and cohesively with security fixes managed by either IBM or SalesForce or Oracle or Red Hat etc. This is enables developer to be productive right out of the gate.

In .Net there is void/very limited support, always requiring a combination of 3rd parties as a barrier to entry & adoption of ASP app. This is non-trivial for developers and security vulnerability that requires the attention of Microsoft Experts.

Example: We have private information sharing site non OSS for the community almost free (pay if you want), and when we started with web forms, then Simple Membership, the Identity, Identity 2 ASP MVC we had implement much of it on top of these from scratch, when we moved to .NET Core it was another effort. Besides the development there was a lot of confusion on the internal concepts and how they now meant new things. Roles, Claims, Federation, SAML then SAML 2.0 and then Open ID 2.

Describe the solution you'd like

  • A drop-in is extensible solution that supports ASP Identity eco-system, Administration, UI, SSO, Token, Multi-tenant Management
  • A configuration section to turn on-off the various features.
  • Embedded into VS Templates (remove Identity Server, use native MS option etc.)
  • Allow-Easy AD Active Directory Integration
  • User Defined/Created Fields UDF from the Admin level Support.
  • The current options and the pricing eliminate many of the existing applications from continuing usage on the .NET stack without extensive retooling or completely abandoning the MS framework.

Its high time MS address this core gate-keeping feature!!

We need SAML2 and CAS add to.

@papyr
Copy link

@papyr papyr commented Oct 17, 2020

Auto Upgrade option PartialViews to ViewComponents Lots of legacy code is hung in the partials, we need to port that to the new ViewComponents or TagHelpers apps

@YohanSciubukgian
Copy link

@YohanSciubukgian YohanSciubukgian commented Oct 18, 2020

Concurrent frameworks can support a wider range of architectures (this list might not be exhaustive):

  • NodeJs support : x86 / x64 / arm32 / arm64 / ppc64le / ppc64be / x390x
  • OpenJDK support : x86 / x64 / arm32 / arm64 / ppc32 / ppc64le / s390x / sparcv9
  • AspNet core support : x86 / x64 / arm32 / arm64

please add support to more architectures.

@richlander
Copy link
Member

@richlander richlander commented Oct 19, 2020

Thanks for the feedback @YohanSciubukgian. Our plan is to support most/all mainline OSes and chip combinations. We now have that. At present, the only one we're really missing is Linux x86 (32-bit). That comes up quite seldom. The additional ones that you've mentioned come up even less. The community is free to add the more niche configurations that you'd mention, but I'm doubtful that will happen. They don't, AFAICT, have any practical commercial value.

Personally, I'd much rather we added support for FreeBSD (on x64) than PPC. I suspect that would benefit an order of magnitude more users (if not much more).

Also note that we're currently putting a fair bit of effort into supporting Apple Silicon and Arm64 (generally). Just supporting new chips takes a lot of investment. Context: dotnet/runtime#43313 and https://devblogs.microsoft.com/dotnet/arm64-performance-in-net-5/. It is much better to focus on doing a great job for mainline chips and leave the legacy/hobbyist chips for other platforms to support.

There is a company working on MIPS support for .NET Core currently: dotnet/runtime#38069.

This HN post is super related: https://news.ycombinator.com/item?id=24640545.

@YohanSciubukgian
Copy link

@YohanSciubukgian YohanSciubukgian commented Oct 19, 2020

Thanks for the feedback @YohanSciubukgian. Our plan is to support most/all mainline OSes and chip combinations. We now have that. At present, the only one we're really missing is Linux x86 (32-bit). That comes up quite seldom. The additional ones that you've mentioned come up even less. The community is free to add the more niche configurations that you'd mention, but I'm doubtful that will happen. They don't, AFAICT, have any practical commercial value.

Personally, I'd much rather we added support for FreeBSD (on x64) than PPC. I suspect that would benefit an order of magnitude more users (if not much more).

Also note that we're currently putting a fair bit of effort into supporting Apple Silicon and Arm64 (generally). Just supporting new chips takes a lot of investment. Context: dotnet/runtime#43313 and https://devblogs.microsoft.com/dotnet/arm64-performance-in-net-5/. It is much better to focus on doing a great job for mainline chips and leave the legacy/hobbyist chips for other platforms to support.

There is a company working on MIPS support for .NET Core currently: dotnet/runtime#38069.

This HN post is super related: https://news.ycombinator.com/item?id=24640545.

Thanks for your answer. I don't know if it's possible but as you had merged mono in dotnet/runtime repo for .net 5, I had in mind to expose existing architectures initially developped for mono but with official Microsoft support.

@richlander
Copy link
Member

@richlander richlander commented Oct 19, 2020

Great question. The Mono in dotnet/runtime is targeted at Android, iOS, and wasm.

@JulienM28
Copy link

@JulienM28 JulienM28 commented Oct 20, 2020

Built in Identity Server #27053

@kursatarslan
Copy link

@kursatarslan kursatarslan commented Oct 20, 2020

IdentityServer Token Manager

@mahdisml
Copy link

@mahdisml mahdisml commented Oct 21, 2020

WebSocket performance improvement

@ivanivanyuk1993
Copy link

@ivanivanyuk1993 ivanivanyuk1993 commented Oct 22, 2020

Multithreading in web assembly
dotnet/runtime#40619

@daniel-p-tech
Copy link

@daniel-p-tech daniel-p-tech commented Oct 23, 2020

JS isolation improvement - Colocate CS, CSS and JS files

#26145

@davidfowl
Copy link
Contributor

@davidfowl davidfowl commented Oct 23, 2020

@mahdisml please file an issue with relevant details.

@saifxx
Copy link

@saifxx saifxx commented Oct 25, 2020

Enterprise UI Components for Blazor

@mrlife
Copy link

@mrlife mrlife commented Oct 27, 2020

Publish Blazor Server or WASM to iOS/Android #27252

@mkArtakMSFT
Copy link
Contributor Author

@mkArtakMSFT mkArtakMSFT commented Oct 27, 2020

I can't find an issue regarding fast dev loop in general that is not mentioning blazor, I would like the whole dev experience would be much faster

@valeriob, here you go: #18486

@VenkateshSrini
Copy link

@VenkateshSrini VenkateshSrini commented Oct 28, 2020

Compensating transactions are a very tricky part of micro services development. Can we come up with some sort of high level framework that will facilitate it. The lower level implementation say for example an implementation with redis or RabbitMQ can then be provided my community to augment it.

@Asyvix
Copy link

@Asyvix Asyvix commented Oct 30, 2020

better startup structure. now "ConfigureServices" and "Configure" is complicate for new asp.net developer.

@mrlife
Copy link

@mrlife mrlife commented Oct 30, 2020

Blazor InputSelect support for multiple attribute. #5519

@mikeandersun
Copy link

@mikeandersun mikeandersun commented Nov 2, 2020

Decuple the SignInManager and UserManager in Identity.
#22597

@osintsevvladimir
Copy link

@osintsevvladimir osintsevvladimir commented Nov 3, 2020

Dynamically creating and adding components.
Angular ComponentFactoryResolver alternative.

@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);
 }
}

@dotnet dotnet locked as too heated and limited conversation to collaborators Nov 4, 2020
@mkArtakMSFT mkArtakMSFT unpinned this issue Nov 16, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet