The VuGen.NET protocol is used to create scripts that emulate users of Microsoft .NET client applications created in .NET Framework.
Note: If you are working with .NET 6, use the .NET+ protocol. For details, see .NET+ protocol.
.NET protocol overview
Microsoft .NET Framework provides a foundation for developers to build various types of applications such as ASP.NET, Windows Forms, Web Services, distributed applications, and applications that combine several of these models.
VuGen supports .NET as an application level protocol. VuGen records all of the client actions through methods and classes, and creates Vuser scripts in C# or VB .NET.
By default, the VuGen environment is configured for .NET Remoting, ADO.NET, Enterprise Services, and WCF (Windows Communication Foundation) applications. Contact Customer Support for information on how to configure VuGen to record applications created with other client-server activity.
Although .NET-based and Java protocols support creating threads, we recommend that you do not use background threads in real load testing scenarios because:
Threads can degrade tests scalability.
Threads can affect performance measurements.
The utility functions' behavior is undetermined if called from any thread except the Vuser main thread which runs the vuser_init, Action, and vuser_end actions. This applies to all functions named lr*.
Considerations for working with the .NET protocol
The .NET protocol enables you to load test by replaying the application’s method calls.
You can write a load test script manually, or you can generate a load test script by recording a business process.
Unlike other transport based protocols, the .NET protocol records the application method calls that are specified in the filter. Method calls that are not defined in the filter are not included in the generated script during the recording of the application.
Typically, a user is able to generate a script that can be used for load test using the default environment filter. However, for certain complex applications it may be difficult to generate a working script because the wrong method has been specified in the filter. The most difficult task of creating a load test script with the .NET protocol is resolving recording or code generation errors.
The following requirements enable you to define the correct filter for the recording process and generate a working load test script:
You should be familiar with .NET framework.
You should be able to code using C# or VB.NET.
You should be familiar with XML.
A supported version of Visual Studio must be installed.
For details, on supported versions, see the Support Matrix.
You should have an understanding of the architecture and communication techniques of the application so as to determine what functions or classes are relevant for the load test script.
The following can streamline the process of creating the correct filter:
You should have access to the application code or have some .NET reflector tools to enable you to view the decompiled code.
You should have access to the developers of the application who can help you identify the methods that are required for the load test.
For more information about .NET and the above environments, see the MSDN website.