Download PDF
Download page WCF Entry Points.
WCF Entry Points
Related pages:
- Configure Business Transaction Detection for .NET
- Windows Communication Foundation (Microsoft Windows Reference)
AppDynamics automatically detects entry points for client requests to Windows Communication Foundation (WCF) services. If the request occurs on an originating tier, the method or operation marks the beginning of a business transaction and defines the transaction name. For information on originating tiers, see Business Transactions.
The .NET Agent detects async entry points for the following patterns:
- Task-based asynchronous operations
- IAsyncResult Begin-End Asynchronous pattern
Controlling Correlation Header Location
In 4.4 and earlier, when WCF calls execute on a downstream tier, AppDynamics includes them as part of the business transaction from the originating tier. If the downstream WCF service uses the NetTcpBinding in WCF, you must register the app agent node property enable-soap-header-correlation
with a value of true
. See 'enable-soap-header-correlation' on App Agent Node Properties Reference. Otherwise, the .NET Agent will detect the WCF call as the entry point for a new business transaction.
In the following table, when the node property is set to the default (false), the correlation message with header will only successfully deliver when sent over HTTP, not over SOAP with an HTTP wrapper or other protocol. When the node property is set to true, the correlation message with header will succeed in all scenarios.
enable-soap-header-correlation | HTTP | SOAP (HTTP) | SOAP (other) | |
---|---|---|---|---|
4.4 default | false | X | - | - |
4.4 | true | X | X | X |
In 4.4.1 and later, the enable-soap-header-correlation
node property and the default behavior for SOAP calls over non-HTTP protocols in WCF have changed. In addition, a new property, disable-soap-header-correlation-non-htt
p, has been added. See disable-soap-header-correlation-non-http
on App Agent Node Properties Reference. With the new default AppDynamics will, by default, include downstream WCF services using NetTcpBinding as part of business transactions.
The following table captures the changes and additions of the correlation data for the following use cases:
- When the node properties for both
enable-soap-header-correlation
anddisable-soap-header-correlation-non-http
are set to the default (false), the correlation message with header will only successfully deliver when sent over HTTP or SOAP wrapped in a protocol other than HTTP. - When the node property for
enable-soap-header-correlation
is set totrue
, and thedisable-soap-header-correlation-non-http
node property is set to the default (false
), the correlation message with header will succeed in all scenarios. - When the node property for
enable-soap-header-correlation
is set to the default (false
), and thedisable-soap-header-correlation-non-http
node property is set totrue
, the correlation message with header will only successfully deliver when sent over HTTP, not over SOAP with an HTTP wrapper or other protocol. - When the node properties for both
enable-soap-header-correlatio
n anddisable-soap-header-correlation-non-http
are set totrue
, the correlation message with header will only successfully deliver when sent over HTTP or SOAP with an HTTP wrapper, not over SOAP with another protocol.
When upgrading from 4.4.0 to 4.4.1 or later, the enable-soap-header-correlation
property retains its previous value and disable-soap-header-correlation-non-http
defaults to false
.
enable-soap-header-correlation | disable-soap-header-correlation-non-http | HTTP | SOAP (HTTP) | SOAP (other) | |
---|---|---|---|---|---|
4.5 default | false | false | X | - | X |
4.5 | true | false | X | X | X |
4.5 | false | true | X | - | - |
4.5 | true | true | X | X | - |
By default, the .NET Agent does not correlate EUM transactions for WCF entry points. You can enable EUM correlation for WCF using the wcf-enable-eum node property. This feature is useful when an instrumented mobile application calls directly into a WCF entry point. See 'wcf-enable-eum' on App Agent Node Properties Reference.
Automatic Naming for WCF Transactions
By default, the AppDynamics auto-detection naming scheme identifies all WCF transactions using the service name and operation name:
ServiceName.OperationName
For example, a web service for a travel website books reservations from client front ends: TravelService.BookTravel
. You can rename or exclude automatically discovered transactions from the Business Transactions List.
Custom Match Rules for WCF Transactions
Custom match rules provide flexibility for WCF transaction naming. When you define a match rule, AppDynamics uses the rule name for the business transaction name. See Custom Match Rules for more information.
When AppDynamics detects a request matching your specified criteria, it identifies the request using your custom name. You can match based upon:
Web Service Name
- For rules on regular expressions for .NET, see .NET Framework Regular Expressions.
- Optionally use the gear dropdown to set a NOT condition.
Operation Name
- For rules on regular expressions for .NET, see .NET Framework Regular Expressions.
- Optionally use the gear dropdown to set a NOT condition.
For example, you could report all operations for a TravelService, such as SearchTravel
and BookTravel
, as one business transaction.