To extend a Microsoft Dynamics NAV object by using .NET Framework interoperability, you define a C/AL variable that calls members of a .NET Framework type in an assembly. When the variable is called from the C/AL code of the Microsoft Dynamics NAV object, it creates an instance of the .NET Framework type. You can set the type instance to target the Microsoft Dynamics NAV Windows client (client-side object) or Microsoft Dynamics NAV Server (server-side object). By default, a type is set to target Microsoft Dynamics NAV Server. However, you can set the type to target the RoleTailored client.
Microsoft Dynamics NAV Web Client Support
For the Microsoft Dynamics NAV Web client, you can only implement Microsoft .NET Framework interoperability objects that target Microsoft Dynamics NAV Server. Microsoft .NET Framework interoperability objects that target the client are not supported.
Best Practices
Use the following best practices when you extend Microsoft Dynamics NAV objects:
-
To optimize performance, you should limit the calls between client-side and server-side objects. If possible, you should run objects server-side, especially for advanced operations.
-
If the client-side and server-side objects will share data, such as return values and parameters, then the .NET Framework types that define the objects must be capable of being serialized.