Bug 33468 - Incorrect actions are selected in ASP .NET MVC vNext when used with mono 4.3.0
Summary: Incorrect actions are selected in ASP .NET MVC vNext when used with mono 4.3.0
Status: NEW
Alias: None
Product: Class Libraries
Classification: Mono
Component: System.Web (show other bugs)
Version: unspecified
Hardware: Macintosh Mac OS
: --- normal
Target Milestone: Untriaged
Assignee: Bugzilla
URL:
Depends on:
Blocks:
 
Reported: 2015-08-28 12:21 UTC by sornakumar
Modified: 2017-09-01 11:34 UTC (History)
2 users (show)

See Also:
Tags:
Is this bug a regression?: ---
Last known good build:


Attachments

Description sornakumar 2015-08-28 12:21:21 UTC
When a URL like "http://localhost/Travel/Flight" is requested in a controller like:
    [Area("Travel")]
    public class FlightController
    {
        private readonly TestResponseGenerator _generator;

        public FlightController(TestResponseGenerator generator)
        {
            _generator = generator;
        }

        public IActionResult Index()
        {
            return _generator.Generate("/Travel/Flight", "/Travel/Flight/Index");
        }

        [HttpPost]
        public IActionResult BuyTickets()
        {
            return _generator.Generate("/Travel/Flight/BuyTickets");
        }
    }

incorrect action/controller are selected. There is no exception thrown but a wrong action/controller is selected. The exact same scenario worked fine in 4.0.2.5 but fails in 4.3.0 (master/88d2b9d Wed May 27 15:09:54 PDT 2015).

I am not able to corner down on a particular area where things are going wrong but I am guessing something changed in "System.Reflection" which is causing this problem. Here is some code to help you debug further:

Generate method: https://github.com/aspnet/Mvc/blob/dev/test/WebSites/RoutingWebSite/TestResponseGenerator.cs#L26
Flight controller: https://github.com/aspnet/Mvc/blob/dev/test/WebSites/RoutingWebSite/Areas/Travel/FlightController.cs

Note You need to log in before you can comment on or make changes to this bug.