Managed and unmanaged operations in .NET

Managed code is executed exclusively within the .NET common language runtime environment and is wholly dependent on the services provided by that runtime. An application is classed as unmanaged if any part of the application runs or calls services outside of the .NET common language runtime environment.

Certain advanced functionality cannot currently be supported within the managed .NET environment.

If the application requires some functionality that is not currently supported in the fully managed environment, then we can change your application to use the unmanaged environment without requiring substantial change to the application. However, we should note that the XMS stack makes use of unmanaged code when this selection is made.


Connections to an IBM MQ queue manager

Managed connections to WMQ_CM_CLIENT will not support non-TCP communications, and channel compression. However, these connections might be supported by using an unmanaged connection (WMQ_CM_CLIENT_UNMANAGED). For more information, see Developing .NET applications.

If you create a connection factory from an administered object in an unmanaged environment, we must manually change the value for the connection mode to XMSC_WMQ_CM_CLIENT_UNMANAGED.


Connections to a WebSphere Application Server service integration bus messaging engine

Connections to a WebSphere Application Server service integration bus messaging engine that require the use of the SSL protocol (including HTTPS) are not currently supported as managed code.

Parent topic: Writing XMS .NET applications