2010-11-28 8 views
0

MessageQueueExceptionに-2147024891エラーコードがあります。タイプMessageQueueErrorCode。ここで発生したエラーはどのようにして見つけることができますか?C#(MessageQueueErrorCode)のビットフィールド列挙の文字列表現を取得するには?

メモ:System.Enum.GetValuesを使用してこの列挙型の値を抽出し、LINQクエリを使用して、このエラーに適合するものを確認しました。&(および); System.Enum.GetNameでその名前を取得し、それらを '、'区切り記号で結合します...とにかく:失敗しました!

答えて

2

エラーコードは0x80070005です。 7は「施設コード」、Windowsです。つまり、メッセージキューイングエラーが発生しなかったため、Windowsエラーが発生しました。エラーコード5は「アクセス拒否」です。

ユーザーアカウントに問題があり、通常は十分な特権がありません。

+0

ありがとうございます。それはそれであるはずです。もしそうなら、私はチェックします。 –

2

あなたが列挙型にあなたのエラーコードをキャストし、ToStringメソッドを使用することができます():

列挙値の名前を返す必要があります
string error = ((MessageQueueErrorCode)ex.ErrorCode).ToString(); 

実際には、enumにこの特定の値が含まれていないと(おそらくInvalidCastExceptionがスローされる)何が起こるのかわかりませんが、あなた自身で試してみることができます。

+0

enumに 'int'が含まれていなくても' Intvalid'を安全に 'EnvalidCastException'なしでenumにキャストできます。 – digEmAll

関連する問題