SharePoint發(fā)行版本有SharePoint2003、SharePoint2007、Sharepoint 2010、SharePoint2013和SharePoint2016。SharePoint提供了功能強大的團隊協(xié)作環(huán)境,使得組織能夠在整個組織內(nèi)部實現(xiàn)整合、組織、查找和提供 SharePoint站點。 部署完成自己開發(fā)的TimerJob,發(fā)現(xiàn)“計時器作業(yè)定義”頁面報錯,進(jìn)不去了,但是TimerJob可以正常運行,這樣,肯定不行的,估計還是代碼有問題,把這個脆弱的sharepoint頁面搞死了。 如下圖,http://URL/_admin/ServiceJobDefinitions.aspx未知錯誤,最煩人了,而且改了web.config也不拋 冷靜下來,想了一下,可能有問題的幾個點: 1、配置文件格式問題,刪了配置文件,依然報錯,而且格式有問題,基本上Timer服務(wù)起不來。 2、讀取配置文件有問題,但是程序是控制臺調(diào)好的,不應(yīng)該。 3、本身有問題,這個先不靠譜,因為沒改過,不應(yīng)該。 4、代碼本身有問題。 所以,查看日志,sharepoint日志和windows應(yīng)用程序日志 查看windows應(yīng)用程序日志,發(fā)現(xiàn): 很明顯,代碼有問題,造成的問題。 注釋掉excute函數(shù)里面的所有東西,重新部署TimerJob,居然依然報錯;所以,一狠心,把所有我寫的代碼,都注釋掉了,OK了;一部分一部分注釋,看看哪部分出問題了。最后,發(fā)現(xiàn) public static string SubHttpUrl = ConfigurationManager.AppSettings["SubHttpUrl"].ToString(); public static string WebService = ConfigurationManager.AppSettings["WebService"].ToString(); 這兩個變量聲明有問題,放到方法里面,不用public static就可以了。如下: string SubHttpUrl = ConfigurationManager.AppSettings["SubHttpUrl"].ToString(); string WebService = ConfigurationManager.AppSettings["WebService"].ToString(); 查看一下:使用 static 修飾符聲明屬于類型本身而不是屬于特定對象的靜態(tài)成員。static 修飾符可用于類、字段、方法、屬性、運算符、事件和構(gòu)造函數(shù),但不能用于索引器、析構(gòu)函數(shù)或類以外的類型,可能TimerJob不支持這樣的聲明,造成錯誤了,不像控制臺程序。因為TimerJob調(diào)試起來不十分方便,所以基本都是從控制臺中調(diào)試OK了,才改成TimerJob的,好吧,問題解決了,OK。挺簡單的問題,挺簡單的思路,記錄一下,也給大家多個參考。 修改OK以后截圖。 Sharepoint 可以幫助企業(yè)用戶輕松完成日常工作。 |
溫馨提示:喜歡本站的話,請收藏一下本站!