症状
在 Microsoft Dynamics GP 的业务门户中收到以下错误消息:
"/"应用程序中的服务器错误。
无法序列化会话状态。 在"StateServer"和"SQLServer"模式下,ASP.NET 序列化会话状态对象,因此不允许不可序列化的对象或 MarshalByRef 对象。 如果自定义会话状态存储在"自定义"模式下完成类似的序列化,则适用相同的限制。
如果满足以下条件之一,则会出现此问题:
-
单击以在业务门户 的 "人力资源管理自助服务套件"中选中"需要开始时间/停止时间"复选框。
-
在 Microsoft Dynamics GP Project Time & 中保存时间表。
-
在 Microsoft Dynamics GP 的"请求管理"中创建新申请。
原因
发生此问题的原因是另一个应用程序将 <sessionState 模式> Web.config 文件中。
解决方法
若要解决此问题,请更改 <sessionState> 元素,以使用业务门户所需的参数。 为此,请按照下列步骤操作:
-
找到Web.config门户的配置文件。 此文件位于安装业务门户的服务器的 Inetpub 文件夹的虚拟目录中。 例如,此文件可能位于以下位置:
C:\Inetpub\wwwroot\wss\VirtualDirectories\81
-
创建文件Web.config副本。
-
在记事本或其他文本编辑器中,打开Web.config文件。
-
在"编辑"菜单上,单击"查找"。
-
在"查找内容"框中,键入 sessionState 模式,然后单击"查找下一个"。
-
验证元素<sessionState 模式>如下所示。
<sessionState mode="InProc" />
-
如果 <sessionState 模式> 元素不使用"InProc"属性值,请编辑 <sessionState 模式> 元素以使用"InProc"属性值。
-
保存Web.config文件。
-
若要在 Web.config 文件中启用更改,请运行 iisreset 命令。 为此,请执行以下步骤:
-
在安装业务门户的服务器上,单击"启动",然后单击"运行"。
-
在"打开"框中键入 以下命令 ,然后按 Enter:
iisreset
-