Snapshot Isolation Level

we configured Allwayson configuration. Read /write Primary and Read secondary. Using Microsoft dynamics the users are connecting to database through listener.
Through citrix when users are connecting to primary and listener No issue. But when users are connecting to secondary through citrix the below error is coming.

Microsoft Dynamics Nav Classic

The following SQL Server error occured

3961,42000,[Microsoft],[ODBC SQL Server Driver][sql server] snapshot isolation transaction failed in the database 'abc' because the object accessed by the statement has been modified by a DDL statement in another concurrent transaction since the start of this transaction.It is disalowed because the metadata is not versioned. A concurrent update to metadata can lead to inconsistency if mixed with snapshot isolation.

Please help me to resolve.

Thanks in advance.

Just to confirm, you are connecting the Dynamics application directly to a readable secondary?

Yes. The user is trying to connect secondary using dynamics.

I would be very, very surprised if this works. Very few applications support connecting directly to a secondary. For packaged applications, people who use the secondaries for reading often are using their own custom written reports.

Sorry for the wrong update. User is trying to connect using citrix GUI.
So you mean it is difficult to connect Seconadry replica using citrix or any other tool?

If the secondaries are configured to be readable, it is very easy to connect. As long as the application only reads data it should be fine. However, I would guess that most vendors haven't tested this and don't support it.

Based on my reading of the original error, it sounds like it was trying to modify data. And that won't work on a secondary node.

But I'm still not sure I understand. Is citrix connecting? Or is Dynamics that is hosted inside Cirtix connecting?