# Excluded Features and Restrictions

This section summarizes features that are not available in the .NET library.

Feature | Framework | Core
--- | --- | ---
Distributed transactions | Yes | No
XA protocols for external transactions managers | No | No
`ConnectionConsumer`, `ServerSession`, `ServerSessionPool` | No | No
LDAP JNDI Lookups | Yes | Windows only

## Character Encoding

.NET programs represent strings within messages as byte arrays. Before sending an outbound message, EMS programs translate strings to their byte representation using an encoding, which the program specifies. Conversely, when EMS programs receive inbound messages, they reconstruct strings from byte arrays using the same encoding.

When a program specifies an encoding, it applies to all strings in message bodies (names and values), and properties (names and values). It does not apply to header names nor values. The method `BytesMessage.WriteUTF` always uses UTF-8 as its encoding.

- Outbound Messages

  Programs can determine the encoding of strings in outbound messages in three ways:

  - Use the default global encoding, UTF-8.
  - Set a non-default global encoding (for all outbound messages) using `Tibems.SetEncoding`.
  - Set the encoding for an individual message using `Tibems.SetMessageEncoding`.
- Inbound Messages

  An inbound message from another EMS client explicitly announces its encoding. A receiving client decodes the message using the proper encoding.

For more information about character encoding, see Character Encoding in Messages.

Copyright © Cloud Software Group, Inc. All rights reserved.