前言
最近,使用工作流的時候碰到了一個問題,突然間所有工作流都無法啟動,報錯Failed on started. 同時,工作流內部報錯,工作流被系統賬號取消了。
查了很久,發現系統打了windows server security patches造成的,有兩種方法可以解決。
原因
問題的原因就是我們工作流的很多依賴項,在安裝了這個安全補丁以後,需要在web.config中進行授權信任。
方法一
很簡單,解除安裝打的補丁。KB4457916/4457035
方法二
修改每一個前端伺服器中,每個web application下的配置檔案。
配置檔案路徑一般在:C:inetpubwwwrootwssVirtualDirectoriesPort
SharePoint 預設工作流需要新增:
<authorizedType Assembly=”System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodeBinaryOperatorExpression” Authorized=”True” />
<authorizedType Assembly=”System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodePrimitiveExpression” Authorized=”True” />
<authorizedType Assembly=”System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodeMethodInvokeExpression” Authorized=”True” />
<authorizedType Assembly=”System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodeMethodReferenceExpression” Authorized=”True” />
<authorizedType Assembly=”System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodeFieldReferenceExpression” Authorized=”True” />
<authorizedType Assembly=”System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodeThisReferenceExpression” Authorized=”True” />
<authorizedType Assembly=”System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodePropertyReferenceExpression” Authorized=”True” />
Nintex工作流需要新增:
<authorizedType Assembly=”System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ NameSpace=”System.CodeDom” TypeName=”CodeTypeReferenceExpression” Authorized=”True” />
新增路徑:
<System.Workflow.ComponentModel.WorkflowCompiler>
<authorizedTypes>
<targetFx version=”v4.0″>
參考連結