zoukankan      html  css  js  c++  java
  • Sharepoint Timer job问题汇总

    1. 解决方案发布最好发布到GAC中,使用WebApplication很多时候会有问题。TimerJob并非是在IIS下运行,所以发布到wss目录下的dll不能使用。
    2. 如果解决方案中只有一个Timer Job的Feature,会导致只能全局部署,无法只部署在某个web application中。笨解决办法是添加一个可视web part的Feature,完全不用它即可。
    3. Timer Job不可以发布在web级别,至少应该是Site级别的。推荐Site级别,这样在该站点下就可以看到了。另:如是Web Application级别的,则需要在"应用程序管理"---"管理Web应用程序"---选中---"管理功能"中管理。
    4. 使用Site级别的Feature创建Timer Job时候可能会提示权限不足。解决办法是需要开启远程管理员权限。方法见底部,注意IISreset。
    5. 发布时注意是否有引用的资源,如需要引用资源需一并发布。
    6. 因环境问题,很多时候发布后都需要去管理中心的管理解决方案中部署。再去相应位置启用Feature。
    7. 如发布后显示成功,但是代码依旧是旧的代码,则需要清空缓存。方法见http://www.cnblogs.com/ceci/p/6014684.html
    8. Timerjob较为彻底的排查问题是需要 GAC检查、缓存清理、TimerJob服务重启、IISReset等方式。依旧不行的话,直接在站点中放个Log List来记录Log吧。
    9. 遭遇过管理中心看不到Timer Job,但是实际已经部署成功的情况。在附加IIS进程,debug到创建Timer Job的步骤后就正常出现了。原因不明。

              

    开启远程服务器管理员权限

    参见: https://support.microsoft.com/zh-cn/help/2564009/access-denied-when-deploying-a-timer-job-or-activating-a-feature-from-sharepoint-2010-content-web-application

      //Console app code

    SPWebService myService = SPWebService.ContentService; 
    myService.RemoteAdministratorAccessDenied = false; 
    myService.Update(); 

    //PowerShell code

    function Set-RemoteAdministratorAccessDenied-False()
    {
        [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") > $null
        [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Administration") > $null
    
        # get content web service
        $contentService = [Microsoft.SharePoint.Administration.SPWebService]::ContentService
        # turn off remote administration security
        $contentService.RemoteAdministratorAccessDenied = $false
       $contentService.Update()         
    }
    
    Set-RemoteAdministratorAccessDenied-False

    注意IISReset。

    另外方法:

    protected override bool HasAdditionalUpdateAccess()
      {
           return true;
      }

    https://sharepoint.stackexchange.com/questions/49222/access-denied-while-activating-custom-timer-job
  • 相关阅读:
    xml转换为json格式时,如何将指定节点转换成数组 Json.NET
    快速删除C#代码中的空白行
    C#编程中的Image/Bitmap与base64的转换及 Base-64 字符数组或字符串的长度无效问题 解决
    Flash设置(各种版本浏览器包括低版本IE)
    使用vcastr22.swf做flash版网页视频播放器
    使用VLC Activex插件做网页版视频播放器
    web项目 在visual studio 输出窗口显示调试信息
    geos 3.6.3库windows版本 已编译完成的32位版本和64位版本
    vs2017 打开附带的localdb v13
    visual studio code 里调试运行 Python代码
  • 原文地址:https://www.cnblogs.com/ceci/p/6812758.html
Copyright © 2011-2022 走看看