为什么我在使用Web服务时会偶尔掉线?



主要软件: LabVIEW Development Systems>>LabVIEW Base Development System
主要软件版本: 2015
主要软件修正版本: N/A
次要软件: Driver Software>>NI-RIO
硬件: CompactRIO>>Controllers>>cRIO-9075

问题: 我的应用程序需要使用NI网页认证(例如Web服务,硬件网络通信,Data Dashboard连接等)。我注意到我的程序会偶尔随机性掉线,之后需要重新登录。这是由什么原因导致的,我应该如何保持一直在线?

解答:
在LabVIEW 2015中,负责验证用户登录信息的NI身份验证软件(NI Auth)发生了一些改变。一旦用户使用NI Auth登录服务器,程序进程就和他们的IP地址进行了绑定。这种做法增强了使用NI Auth进行远程连接的安全性,但同时也使用户在IP地址动态变化时可能掉线。这种由于IP变化而造成的连接掉线现象在使用负载均衡或代理服务器时更有可能发生。

大多数用户的IP地址并不会经常变动,因此不会遇到这种情况。如果你经常遇到这种情况,并且需要把这种关联IP地址的安全机制关闭,那么根据程序的不同需要更改不同的文件。

您需要在以下文件中添加语句:

NI.SessionManager.StrictSessionAccess = "no"

系统Web服务 (WIF)
部署在应用程序Web服务器中的单独Web服务
应用程序(EXE或RTEXE)中包含的Web服务