General ASP.NET

Announcement: This forum has been replaced by Visual Studio Developer Community to provide you one convenient and responsive system for all feedback. You can now suggest new ideas, browse and vote on existing ideas in the Visual Studio Developer Community.

We’d like your suggestions and ideas to help us continuously improve future releases of ASP.NET, so we’ve partnered with UserVoice, a third-party service, to collect your feedback. Please do not send any novel or patentable ideas, copyrighted materials, samples or demos for which you do not want to grant a license to Microsoft.

This site is for feature suggestions; if you need to file a bug, you can visit our Developer Community website to get started.

Note: your use of the portal and your submission is subject to the UserVoice Terms of Service & Privacy Policy and license terms.

We look forward to hearing from you!
- The ASP.NET Team

I suggest you ...

You've used all your votes and won't be able to post a new idea, but you can still search and comment on existing ideas.

There are two ways to get more votes:

  • When an admin closes an idea you've voted on, you'll get your votes back from that idea.
  • You can remove your votes from an open idea you support.
  • To see ideas you have already voted on, select the "My feedback" filter and select "My open ideas".
(thinking…)

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can support and comment on it.

If it doesn't exist, you can post your idea so others can support it.

Enter your idea and we'll search to see if someone has already suggested it.

  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. ASP.NET Identity membership DB Tool to mangage users, roles needed

    A simple user interface tool is needed to create and manage Users and Roles with ASP.NET Identity. Please port the ASP.NET Web Site Administration Tool ( http://www.asp.net/web-forms/tutorials/deployment/deploying-web-site-projects/users-and-roles-on-the-production-website-cs ) to work with the new ASP.NET Identity membership DB

    542 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    7 comments  ·  General ASP.NET  ·  Flag idea as inappropriate…  ·  Admin →
    under review  ·  Pranav Rastogi responded

    We are looking into how can we provide this functionality. we want to provide it in such a way so that it is easy to customize and use it in your app.

  2. Remove SignalR's dependency on jQuery

    jQuery is great and all, but with a growing acceptance of two way binding from KnockoutJs, AngularJs, etc, sometimes it is just an overhead to add jQuery in order to use SignalR. Moreover, this brings a lot of problems when using ExtJs or other pure javascript UI libraries.

    249 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    4 comments  ·  General ASP.NET  ·  Flag idea as inappropriate…  ·  Admin →
  3. Support for Asp.Net Core running on UWP as Windows IoT Core Background Task

    Currently there is no support for Kestrel on UWP as Windows IoT Core Background Task. As Microsoft is trying to push Windows IoT Core, getting Asp.Net Core to run on that platform would be ideal. It is a real showstopper that there isn't any support for it.

    205 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    10 comments  ·  General ASP.NET  ·  Flag idea as inappropriate…  ·  Admin →
  4. Better error handling

    When trying to handle errors in ASP.NET, you have to jump through a series of unintuitive and often poorly documented hoops to catch an exception and handle it in a sensible way. The non-senisble and default way to handle exceptions would be to redirect to a static HTML file that responds with an HTTP 200 Status Code, which is so wrong it's crazy that it's even available as an option, nonetheless set as the default.

    It's also extremely confusing that IIS and ASP.NET each tries to handle errors on their own way, with their own corresponding, diverging and confusing configuration…

    141 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  7 comments  ·  General ASP.NET  ·  Flag idea as inappropriate…  ·  Admin →
  5. Out of the box video sharing with SignalR.

    Something that lets users take camera input and send data through in real time. http/2 can help in that. No more ASCII limitations. Performance too will increase. Therefore making video chatting, conferencing, webinars more easily accessible.

    43 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  General ASP.NET  ·  Flag idea as inappropriate…  ·  Admin →
  6. Redesign ASP.NET providers to be asynchronous

    All providers (except InProc) work with external data sources (SQL Server, Redis, etc.). For example, when processing single HTTP request a session state store provider can make several requests to an external data source. Each request to an external data source from session state store provider blocks an ASP.NET thread, becuase System.Web.SessionStateStoreProviderBase has no async methods.
    The same is true for other providers (Output Cache Provider, Membership Provider, Profile Provider, Roles Provider). There is not much advantage in asynchronous code inside web forms or MVC controllers, if the whole ASP.NET pipeline is not asynchronous.
    Since ASP.NET supports asynchronous httpmodules, it…

    30 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  1 comment  ·  General ASP.NET  ·  Flag idea as inappropriate…  ·  Admin →
  7. Nice way to define properties with StateContainer Attribute

    StateContainer(ViewState)]

    string FirstName
    {
    get;
    set;
    }

    [StateContainer(Session)]
    List<string> myList
    {
    get;set;
    }

    [StateContainer(Cache)]
    List<string> myList2
    {
    get;set;
    }

    Just a random thought: I think it would be nice, with the help of an attribute, to be able to define where a given property would be stored.

    I guess it also be applied at the class level, if you want all of your properties to inherti the same StateContainer Attribute.

    A change probably best fit for an upcoming Framework release.

    Just a thought.

    27 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  2 comments  ·  General ASP.NET  ·  Flag idea as inappropriate…  ·  Admin →
  8. ConfigureAwait(false) by default

    When you don't need to have full control over your thread pool context while using the async/await pattern, it is recommended that we always use ConfigureAwait(false) for various reasons (see article: https://msdn.microsoft.com/en-us/magazine/jj991977.aspx).

    I find that the cases when you need control over the context are very rare.

    I want to suggest that ConfigureAwait(false) is used by default when doing async/await to simplify the coding process.

    18 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  General ASP.NET  ·  Flag idea as inappropriate…  ·  Admin →
  9. WebApplicationLibrary

    Now you can not create a reference to another project (webApplication or ClassLibrary) that has non compiled files (aspx, ascx, cshtml, js, css, config, etc.), which are usually published on the server as is.

    More precisely, you can create a reference, but when you start the application, these files will not be found, because located in a different directory.

    For example, if the project A and project B (WebApplication) contains same cshtml-files, they could be placed in a separate project (WebApplicationLibrary?).

    Usually it is necessary to separate one large project into several smaller projects (modules).
    Something similar is used in…

    14 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  General ASP.NET  ·  Flag idea as inappropriate…  ·  Admin →
  10. Add support for Redis Sentinel to RedisSessionStateProvider

    RedisSessionStateProvider configuration allows only a single redis host name to be configured; this host is a single point of failure in non-azure installations. To allow use of the distributed high-availability features of redis it is necessary for this provider to support redis sentinel.

    Background:

    RedisSessionStateProvider is in use in the Azure platform where redis is provided as a guaranteed service at a given host name (or IP address?), presumably via some form of load balancer that can redirect traffic in the event of server failures.

    In a non-azure installation the standard approach for high-availability redis is to use redis sentinel,…

    14 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  General ASP.NET  ·  Flag idea as inappropriate…  ·  Admin →
  11. Enable scheduled tasks

    It would be great to have a way to do scheduled tasks/jobs. If I want some job to run regularly I know I can always create a separate console that can be called by Windows Task Scheduler. However it would be much neater in term of deployment for this feature to be available within the asp.net project, without having to change the system configuration. The asp.net project would be self-contained and when deployed, IIS would run the background task based on some settings defined in web.config.

    Azure added WebJobs, which is effectively doing that. So this doesn't look like an…

    13 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  General ASP.NET  ·  Flag idea as inappropriate…  ·  Admin →
    under review  ·  Rick Anderson responded

    Take a look at HostingEnvironment.QueueBackgroundWorkItem which lets you do background tasks. It’s a start.

  12. ASP.net Textbox onKeyPress / onKeyDown / onKeyUp del key not working

    ASP.net Texbox event not fired onKeyDown / onKeyUp. Delete key (keyboard code 46) not working.

    Having set the onKeyDown attribute to the textbox, pressing the del key does not delete text from the textbox. Have tried the same using onKeyUp.

    Backspace works, but not the Delete button keycode 46.

    Please fix in future versions of ASP.NET

    9 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  General ASP.NET  ·  Flag idea as inappropriate…  ·  Admin →
  13. Asp.Net Core with database first

    It was very easy to work with existing databases in Asp.Net MVC 5, by just adding an Ado.Net Data Entity. Now we don't have this luxury anymore! We must add the models of an existing database by writing commands in the Visual Studio package console, and not having the option to choose with what tables, views, etc from the database we want to work (to get in out projects). Give us this luxury back on visual studio.

    7 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  General ASP.NET  ·  Flag idea as inappropriate…  ·  Admin →
  14. Productivity - Move Type To Its Own File

    When VS detects that a type exists in a file that is named for another type in the same file, present a glyph (ctrl+.) that can be used to move the type to a new file named for that type.

    7 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  General ASP.NET  ·  Flag idea as inappropriate…  ·  Admin →
  15. Provide a secure ajax framework

    Currently there is no universal way to provide json / ajax application with authentication without using session or ssl , This means using web api is difficult

    7 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  General ASP.NET  ·  Flag idea as inappropriate…  ·  Admin →
    planned  ·  Daniel Roth responded

    We are working to improve the security story for ASP.NET Web API in a future release.

  16. Rename current component naming convention

    I suggest to rename [SELECTED_NAME]ViewComponent naming convention to basically [SELECTED_NAME]Component to follow the same naming convention in MVC controller in ASP.NET Core. The current naming add confusing with ViewModel structure and it looks we are defining a data structure rather than a controller or component. Thanks,

    6 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  General ASP.NET  ·  Flag idea as inappropriate…  ·  Admin →
  17. MVC must have a design view like ASP.net

    If we can have a layout designer view for .chtml files it will be great and time saving. A designer with properties windows and for automatically generating placeholder code to implement actions corresponding to the events. e.g. submit button action, or onClick() events. etc.

    6 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  General ASP.NET  ·  Flag idea as inappropriate…  ·  Admin →
  18. Return the Single Startup and IIS Express Continue Functionality

    VS 2015 E Upd 2, seems all web projects in a solution start in IIS Express now regardless of the 'Single startup project' setting. If the selected 'Single startup project' is a web app it gets stopped in IIS Express when debugging session is over and others continue to run.

    I have always relied on having my IIS Express web site to run after a code debugging session so that I can say test an API via PostMan or view\test site in others browsers. I don't need all web app starting up to waste resources.

    Can we bring back (fix)…

    4 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  General ASP.NET  ·  Flag idea as inappropriate…  ·  Admin →
  19. Make SecUtility and other utility classes public rather than internal sealed

    I'm trying to build my own role provider for ASP.NET that supports nested hierarchies for roles - like Active Directory, but SQL-based (as an LDAP server is somewhat overkill for my needs, and yes I've seen the new stuff about Windows Azure AD services).

    Having reflected (using ILSpy) the deault SqlRoleProvider to keep my code almost identical, I find that most of the classes utilised in there, such as System.Web.Util.SecUtility for parameter checking, System.Web.DataAccess.SqlConnectionHolder for attaching a SQL connection to an HttpContext for application re-use, and System.Web.SR for string resources, are all marked as internal (and in some instances sealed),…

    4 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  2 comments  ·  General ASP.NET  ·  Flag idea as inappropriate…  ·  Admin →
  20. Add better support for ConfigurationManager's ability to modify web.config

    WebConfigurationManager (and ConfigurationManager) throw exceptions when trying to load a web.config in anything less than High Trust environments. The sole reason for this being that the local web.config is merged all the way down from the machine-level web.configs, via any parent applications in IIS.

    Better idea: put all inherited configs into a read-only dictionary at runtime (rather than putting the ConfigurationManager settings into a dictionary, which is what actually happens, therefore preventing writing back of a .config file to disk after modifying a setting). When the web.config is loaded at runtime, take the inherited settings dictionaries, apply them to the…

    4 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  0 comments  ·  General ASP.NET  ·  Flag idea as inappropriate…  ·  Admin →
← Previous 1 3

General ASP.NET

Feedback and Knowledge Base