我们最近将项目中的ServiceStack DLL从版本4.0.38升级到版本4.0.52。我们正在打这样的电话:
test_q
在版本4.0.38中,此调用正确地导致了DB 3(select 3
)中Dim oNS As Object
Dim oRDOSess As Object
Dim oRDOItem As Object
Debug.Print "Creating Redemption Object ..."
' This requires: http://www.dimastr.com/redemption/download.htm
Set oRDOSess = CreateObject("Redemption.RDOSession")
Set oNS = Nothing
Set oNS = Outlook.GetNamespace("MAPI")
oNS.Logon
oRDOSess.MAPIOBJECT = oNS.MAPIOBJECT
Set oRDOItem = oRDOSess.GetMessageFromID(incomingMail.EntryID, incomingMail.Parent.StoreID)
Debug.Print "Trying to change conversation topic ..."
oRDOItem.ConversationTopic = incomingMail.Subject
Debug.Print "Trying to change conversation index ..."
oRDOItem.Fields("http://schemas.microsoft.com/mapi/proptag/0x00710102") = Null
Debug.Print "Saving modified mail item ..."
oRDOItem.Save
列表中的项目。但是,当我们升级到版本4.0.52时,DB到3的设置不再有效,并且该项目最终在默认的DB 0中。
这是一个错误还是API有变化?
答案 0 :(得分:3)
这是现在解决的行为更改in this commit,这是因为GetClient()
现在已经返回已连接的客户端。此更改可从v4.0.53获得,现在为available on MyGet。
强制数据库更改为已连接客户端的一种方法是使用显式ChangeDb()
API,例如:
((RedisClient)client).ChangeDb(3);
另一种选择是在连接字符串中指定Db,例如:
var clientManager = new BasicRedisClientManager("127.0.0.1?db=3");