2017-07-26 46 views
0

我有一個似乎適用於大多數人的一些非常基本的代碼,但是有一個拋出當它運行的代碼,這些幾行此HRESULT碼的至少一個工作站:的Outlook互操作異常HRESULT:0xCA140115

Outlook.Application _OutlookInstance = new Outlook.Application(); 
Outlook.Stores stores = _OutlookInstance.Session.Stores; 

任何想法什麼是HRESULT代碼0xCA140115是什麼意思?我找不到它的任何地方MSDN ...

遇到該問題是在遠程呼叫中心位置的工作站,所以我不能做任何直接的測試/調試,或容易看到的是一個專門爲不同這臺工作站與其他工作站。我可以想象在同一個呼叫中心可能會有更多的工作站可能出現這個錯誤,但是這個代碼仍然處於測試階段。

+0

什麼屬性或方法準確地引發異常?何時何地運行上面列出的代碼? –

+0

這是一個測試應用程序 - 一個啓動並立即運行這兩行代碼的Winforms應用程序(其餘代碼因爲拋出異常而未命中)。目前很難說哪個特定的屬性或方法會觸發它,因爲我無法很容易地進行測試(只有遠程用戶可以複製到目前爲止,所以我必須要測試它的可用性) – jhilgeman

+0

Outlook版本的安裝在機器上?它是否是Click2Run版本? –

回答

0

對不起慢了,但我可以通過測試的幾個迭代來獲得並找出問題了。首先,我原來的帖子是不正確的。碼流使它看起來像在那些2個初始行錯誤是怎麼回事,但它實際上是發生了一點後,當我是通過商店循環,就像這樣:

Outlook.Stores stores = _OutlookInstance.Session.Stores; 
foreach(Outlook.Store store in stores) // <----- THIS LINE 
{ 
    ... 
} 

每次用戶運行此,他會得到不同的HRESULT錯誤代碼:

0xCA140115

0xAF64011D

0xC1F4011D

0xC8340 11D

唯一一致的因素是中間的「4011」。

當我調升日誌,我可以看到,用戶有18個郵箱和foreach()循環漸漸通過前3,但未能在第4位。第4個郵箱是與另一個郵箱關聯的「公共文件夾」存儲,與另一個郵箱以不同方式添加(與它是需要不同身份驗證的Outlook 365郵箱有關)。

所以基本上它結束了,任何企圖連碰特定的郵箱/店(包括「存儲」變量被設置)會導致在COM例外。

我能解決它由通過數字索引通過存儲循環,這樣的「存儲」設置爲我的try/catch塊中,像這樣:

for(int i = 0; i < stores.Count; i++) 
{ 
    try 
    { 
    Outlook.Store store = stores[i]; 
    ... 
    } 
    catch(Exception) 
    { 
    ... 
    } 
} 

現在,當循環打的特別的商店,我可以告訴它是Outlook說服務器不可用,並且該商店是一個在線商店,所以商店無法訪問。

我還不能確定,爲什麼錯誤代碼的每一次改變,但你有它。

相關問題