我有一個MSMQ觸發器,它打開一個獨立的可執行文件。規則操作將消息ID(作爲變體)作爲調用參數傳遞。然後我使用消息ID通過Queue.ReceiveById()接收消息。MSMQ消息ID(作爲變體)
一切工作正常,但有一點抓住。消息ID發送這樣的:
{5EADA58F-C733-48C3-A52A-A9FA749E7ADF}\2063
但Queue.ReceiveById()函數需要消息ID看起來像這樣(不帶括號)
5EADA58F-C733-48C3-A52A-A9FA749E7ADF\2063
有人能向我解釋什麼花括號是什麼意思?有沒有適當的方式來轉換(除去括號)?
編輯:我要明確的是,消息ID被作爲字符串傳遞,因爲它是被作爲命令行參數的EXE
消息ID是一個GUID。這是一個GUID格式。一種方法是使用.ToString()方法,給它一個值,用於返回沒有大括號的值。在這種情況下,它將是「D」:http://msdn.microsoft.com/en-us/library/97af8hh4(v=vs.110).aspx –
@Ahmedilyas消息ID是字符串類型,所以我應該先將其解析爲Guid,對嗎?當我嘗試Guid.Parse(...)時,會引發FormatException。我會繞過更多 - 你的評論絕對有幫助! – brudert