我们更新到 NSB 7,现在使用 Sql Server 进行传输和持久化。
(旁注:这在更新大量消息后有效,因为不知何故它们变得不兼容,因为序列化程序从 Newtonsoft.Json 更改为 NServicebus.NewtonsoftSerializer。必须从消息类构造函数中删除所有验证逻辑。)
好的,所以在 SSMS 17.8.1(最新)中,当我打开端点表时,BodyString列显示中文字符。文字不是垃圾,只是中文。
所以我的问题是:为什么计算列显示汉字?数据库中的排序规则是默认值。
var transport = endpointConfiguration.UseTransport<SqlServerTransport>();
transport.ConnectionString( connectionString );
transport.DefaultSchema( "dbo" );
transport.UseSchemaForQueue( "error", "dbo" );
transport.UseSchemaForQueue( "audit", "dbo" );
//this shows Chinese text
transport.CreateMessageBodyComputedColumn();
为什么会这样,我在这里错过了什么? 这是 .NET 4.72,传输是 Azure Sql 数据库。