通过Visual Studio 2010部署功能时Sharepoint计时器作业部署问题
我用两种方法创建了“计时器作业” 1.通过Visual Studio 2010创建了一个SharePoint项目,并添加了几个功能和Web部件,这些功能和部件后来成功部署。我通过功能添加了“计时器作业”,其作用域为“站点”。timerjob在“作业定义”中不可用 2.创建具有计时器作业功能的项目时,仅在“作业定义”中可用 我需要部署计时器作业以及第一个场景中提到的其他功能 问候,,通过Visual Studio 2010部署功能时Sharepoint计时器作业部署问题,sharepoint,Sharepoint,我用两种方法创建了“计时器作业” 1.通过Visual Studio 2010创建了一个SharePoint项目,并添加了几个功能和Web部件,这些功能和部件后来成功部署。我通过功能添加了“计时器作业”,其作用域为“站点”。timerjob在“作业定义”中不可用 2.创建具有计时器作业功能的项目时,仅在“作业定义”中可用 我需要部署计时器作业以及第一个场景中提到的其他功能 问候,, Pavan.您应该在功能范围内的“Web应用程序”中部署计时器作业。如果这不能解决您的问题,请发布您注册作业时使用
Pavan.您应该在功能范围内的“Web应用程序”中部署计时器作业。如果这不能解决您的问题,请发布您注册作业时使用的代码。我已成功将计时器作业部署到范围像“Web”一样紧密的功能中,没有任何问题 通过这种方式,我可以更轻松地将作业设置与特定的列表实例关联起来,而不必将任何网站集URL或任何内容硬编码到作业代码中 您仍然需要确保在Web应用程序中注册它,以下是我如何为Web范围的功能设计功能激活:
Public Overrides Sub FeatureActivated(ByVal properties As SPFeatureReceiverProperties)
Dim web As SPWeb = DirectCast(properties.Feature.Parent, SPWeb)
' Remove job if it exists.
DeleteJobAndSettings(web.Site.WebApplication)
' Create the job.
Dim job As New TimerJob_myClass(TimerJob_myClass.JobName, web.Site.WebApplication)
此外,即使它是一个Web功能并显示在“管理功能”下,最好将其标记为隐藏。只能通过从PowerShell运行stsadm命令行来激活此类型的功能。例如:
stsadm -o activatefeature -url http://intranet.contoso.local/ -id 01234567-AAAA-BBBB-CCCC-DDDDEEEEFFFF
您应该以对与您的工作站点关联的内容数据库拥有权限的用户身份运行PowerShell。在GUI激活期间通常会运行功能接收器代码的应用程序池无法访问配置数据库,这就是它通过GUI失败的原因。通过使用以下powershell激活功能,我的问题在生产中得到了解决
Enable-SPFeature -identity "sample_Job Definition" -URL http://portaluat
我的工作范围是站点