MSTSC +网关崩溃自动重新连接

我们有一个用作RemoteApp的应用程序。 用户通过网关访问RemoteApp。

每次发生exception断开(连接失败)时,我们都会遇到Win64上运行MSTSC v.6.3的用户崩溃(Windows 7和Windows 8testing)。

典型的崩溃是MSTSC内的访问冲突,并显示错误消息“远程桌面连接已停止工作”。 但有时MSTSC只是冻结。 事件查看器显示“应用程序错误”,事件ID 1000,exception代码0xC0000005(==访问冲突)。

Win64上的MSTSC v.6.2或更早版本或Win32上的MSTSC(任何版本)可以正常工作。

如果我们允许用户直接访问TS服务器,绕过网关服务器就不会崩溃。 在这种情况下,连接失败后,MSTSC自动重新连接成功。

有人知道解决这个问题吗? 任何帮助是受欢迎的。


事件查看器的附加信息:

错误应用程序名称:mstsc.exe,版本:6.3.9600.16415,时间戳:0x524b5b3d
错误模块名称:mstscax.dll,版本:6.3.9600.16503,时间戳:0x52c5f878
exception代码:0xc0000005
错误偏移量:0x0000000000439b7a
错误进程ID:0x1658
错误应用程序开始时间:0x01cf84a3cfff7048
错误的应用程序path:C:\ Windows \ system32 \ mstsc.exe
错误模块path:C:\ Windows \ system32 \ mstscax.dll

从Visual Studio Express 2012debugging器堆栈跟踪:

 mstscax.dll的!CClientProxyTransport :: SetErrorStatus(长)
 mstscax.dll!CClientProxyTransport :: GetErrorStatus(long,class CClientProxyTransport *)
 mstscax.dll!CProxyClientSendPacket :: OnComplete(long,unsigned long)
 mstscax.dll的!CAAAsyncSend ::的onComplete(长)
 mstscax.dll!CAARpcClientChannel :: Shutdown(unsigned long,IAAAsyncOperation类)
 mstscax.dll!CAAAsyncDisconnectChannel :: Invoke(unsigned long,CAAChannel类,IAATransportChannel类)
 mstscax.dll的!CAAChannel :: DisconnectInternal(的int,long)
 mstscax.dll!CAARpcClientChannel :: HandleReceiveComplete(struct _RPC_ASYNC_STATE *)
 mstscax.dll!CAARpcClientChannel :: HandleIOCompletion(struct _OVERLAPPED *,unsigned long)
 mstscax.dll!CAagIO :: AAGIoThreadFunc(void *)
 KERNEL32.DLL!BaseThreadInitThunk()
 ntdll.dll中!RtlUserThreadStart()

我们发现这个我和网关上的login信息有关。 如果您在网关上禁用login信息,

我现在不是为什么会发生。 但这是一个快速的解决scheme。 我们希望微软能够纠正这个错误。