By default, the AppDynamics .NET Agent names ASP.NET transactions based upon the URI.

For ASP.NET Core on the full framework, the agent uses MVC area, Controller, and action naming by default, and can also be configured to use the URI.

This topic describes the MVC transaction naming configuration options for both ASP.NET and ASP.NET Core on the full framework.

For transactions using the MVC naming conventions, the automatic transaction detection configuration settings apply to the MVC segments, not to the URI.

MVC Transaction Naming Overview

For some MVC applications, URI-based naming may not produce meaningful business transaction names. Depending on the URI scheme, it might create many business transactions, pushing you quickly over your business transaction limit and causing most traffic to fall into the All other traffic business transaction.

For example, consider an MVC application that indicates store locations in the URL as the result of a city location search, such as the following sample URL: 

http://myapp.mycompany.com/Bellevue

Based on this URL, AppDynamics registers a business transaction named /Bellevue. Each search result with a unique city would similarly generate a unique business transaction.  

Alternatively, you can configure the agent to identify transactions by the area, Controller, or action name. After you configure the agent to name transactions by Controller and action, the agent identifies the business transaction based on the Controller and action name, in this case, Search/Results.

In this example, the new business transaction combines search requests for all cities into one transaction, resulting in a more logical unit for measuring application performance.

Similarly, if your application uses areas to logically group Controllers, you can configure the use of area name in the business transaction.

For background information on ASP.NET Routing, see the following Microsoft Developer Network article: msdn.microsoft.com/en-us/library/cc668201.aspx

Configure Area, Controller, Action Naming and URI for ASP.NET

Configure custom MVC transaction naming using node properties, as follows. The node property works for MVC 3, MVC 4 and WebAPI transactions.

  • To name business transactions using the Controller/Action values, register the aspdotnet-mvc-naming-controlleraction node property with a value of true.  
  • To name business transactions using the Area/Controller values, register the aspdotnet-mvc-naming-controllerarea node property with a value of true.
  • To have all three component values used in business transaction names, register both properties and configure the ASP.NET transaction naming configuration to use three URI segments instead of the default, which is two. For general information on configuration transaction naming, see Automatic Transaction Discovery Rules.  
  • To name business transactions using the URI, register the aspdotnet-core-naming-controllerarea and aspdotnet-core-naming-controlleraction node properties with a value of false

For instructions on how to register a new node property, see App Agent Node Properties.

After changing any transaction naming configuration, and once traffic to the previously registered business transactions terminates, you can delete the old business transactions.

Configure Transaction Naming for ASP.NET Core on the Full Framework

If you do not want to use the area value in your transaction names, you can omit it. Register the aspdotnet-core-naming-controllerarea node property with a value of false.

Configure Transaction Naming for .NET Agent for Linux

The .NET Agent for Linux can use MVC area, Controller, URI, and action naming. Register the aspdotnet-mvc-naming-controlleraction node property with a value of true.