当前位置:雨林木风下载站 > 办公软件教程 > 详细页面

SharePoint 管理中心TimerJob”计时器作业定义”页面报错

SharePoint 管理中心TimerJob”计时器作业定义”页面报错

更新时间:2024-02-08 文章作者:未知 信息来源:网络 阅读次数:

SharePoint发行版本有SharePoint2003、SharePoint2007、Sharepoint 2010、SharePoint2013和SharePoint2016。SharePoint提供了功能强大的团队协作环境,使得组织能够在整个组织内部实现整合、组织、查找和提供 SharePoint站点。

部署完成自己开发的TimerJob,发现“计时器作业定义”页面报错,进不去了,但是TimerJob可以正常运行,这样,肯定不行的,估计还是代码有问题,把这个脆弱的sharepoint页面搞死了。

如下图,http://URL/_admin/ServiceJobDefinitions.aspx未知错误,最烦人了,而且改了web.config也不抛

clip_image002

冷静下来,想了一下,可能有问题的几个点:

1、配置文件格式问题,删了配置文件,依然报错,而且格式有问题,基本上Timer服务起不来。

2、读取配置文件有问题,但是程序是控制台调好的,不应该。

3、本身有问题,这个先不靠谱,因为没改过,不应该。

4、代码本身有问题。

所以,查看日志,sharepoint日志和windows应用程序日志

查看windows应用程序日志,发现:

clip_image003

很明显,代码有问题,造成的问题。

注释掉excute函数里面的所有东西,重新部署TimerJob,居然依然报错;所以,一狠心,把所有我写的代码,都注释掉了,OK了;一部分一部分注释,看看哪部分出问题了。最后,发现

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 修饰符声明属于类型本身而不是属于特定对象的静态成员。static 修饰符可用于类、字段、方法、属性、运算符、事件和构造函数,但不能用于索引器、析构函数或类以外的类型,可能TimerJob不支持这样的声明,造成错误了,不像控制台程序。因为TimerJob调试起来不十分方便,所以基本都是从控制台中调试OK了,才改成TimerJob的,好吧,问题解决了,OK。挺简单的问题,挺简单的思路,记录一下,也给大家多个参考。

clip_image005

修改OK以后截图。


Sharepoint 可以帮助企业用户轻松完成日常工作。

温馨提示:喜欢本站的话,请收藏一下本站!

本类教程下载

系统下载排行