2012-08-10 18 views
0

。我已經實施了所有的CRUD操作,沒有問題。外部列表和外部CONTENTTYPES通過持續的錯誤回到我在SharePoint 2010中安裝,通過WCF服務從遠程數據庫獲取數據創建外部內容類型的用戶

我已經在Visual Studio 2010中創建一個列表實例,我添加了一個自定義newform的實例,以便當用戶選擇新項目,一邊瀏覽列表我的自定義窗體是所使用的一個。這很好。但是,當用戶輸入新項目的數據並按下保存時,我需要能夠將任何可能由外部系統引起的錯誤返回給用戶。

我無法弄清楚如何獲得一個事件或處理我的自定義窗體的代碼中的BDCModel,這將允許我回發一個錯誤,例如WCF服務超時或遠程數據庫是由於某種原因不可用。

治理已經宣佈,我們是不允許使用SharePoint設計或InfoPath表單我不得不這樣做在Visual Studio。

任何人都可以指出攔截從BDCModel返回的錯誤的教程創建和更新方法,並通過我的自定義窗體背後的代碼發回給用戶,或者我必須自己實現完全自定義窗體那會覆蓋Save?

我寧可不要這樣做。我也被告知,我不能使用自定義web部件來實現這與客戶端對象模型,除非絕對沒有辦法使用OOTB外部列表和自定義窗體解決此問題。

回答

0

它的權限(它總是權限) - 後端用戶(可能是應用程序池帳戶)沒有權限 - 檢查系統應用程序事件日誌,然後檢查安全日誌。 SharePoint ULS日誌可能也有幫助。

+0

權限似乎不是問題。我無法在後面的代碼或bdcmodel代碼中找到一個地方,我可以將持久性錯誤反饋給用戶。所有的CRUD操作都能正常工作,但是當我將WCF服務置於離線狀態時引入錯誤時,我無法回覆給用戶,表示在聯繫服務時出現問題。我所能做的就是拋出一個異常並獲得一個醜陋的錯誤窗口。我正在尋找一條適合處理來自外部系統的異常的途徑。 – Maxmanzero 2012-08-13 11:11:20

+0

不幸的是,這可能是事實 - BDC並沒有給我們帶來很多陷阱。但是,您可以添加代碼來將消息推送到ULS日誌 - 至少應該爲您提供一些追溯的方法。 – 2012-08-13 12:50:01

+0

有趣的是,通過Web門戶,他們可以添加此BCS技術,但不會讓開發人員對生命週期有任何洞察力,因此您可以點擊並密切關注正在發生的事情。這是我期望的答案,因爲我似乎無處不在,我發現除非您願意構建自定義WebPart,否則您無法真正「處理」錯誤。我正在努力收集足夠的信息,以便我可以將其呈現給管理層,並向他們證明它不能真正做到這是一種痛苦=)。 – Maxmanzero 2012-08-13 13:22:16