当我们的客户端调用Remoting Server上的方法时,我们会偶尔抛出AuthenticationError。我们无法按需复制此问题。在我们的测试环境中,我们必须重新启动服务器才能继续。在Live中,服务器似乎能够在几秒钟后继续运行。例外的全文如下:
"远程端的身份验证失败(流可能仍然是 可用于其他身份验证尝试)。"
和
"无法联系任何权限进行身份验证。"
通常是第一个。
以下是我认为相关的客户端和服务器配置文件的部分。
服务器app.config:
<system.runtime.remoting>
<application>
<!-- Setup the server channel and install the encryption and compression sinks -->
<channels>
<channel ref="tcp" name="FastLink" port="8082" secure="true">
<serverProviders>
<provider type="PM.Remoting.ClientIPInjectorSinkProvider,PM" />
<provider type="PM.Remoting.Compression.CompressionServerSinkProvider,SFSiCon" />
<formatter ref="binary" typeFilterLevel="Full" />
</serverProviders>
</channel>
<channel ref="tcp" name="RestrictedLink" port="8083" secure="true">
<serverProviders>
<provider type="PM.Remoting.ClientIPInjectorSinkProvider,PM" />
<provider type="PM.Remoting.Compression.CompressionServerSinkProvider,PM" />
<formatter ref="binary" typeFilterLevel="Full" />
</serverProviders>
</channel>
<channel ref="tcp" name="WebLink" port="9092" secure="true">
<serverProviders>
<provider type="PM.Remoting.ClientIPInjectorSinkProvider,SFSiCon" />
<provider type="PM.Remoting.Compression.CompressionServerSinkProvider,PM" />
<formatter ref="binary" typeFilterLevel="Full" />
</serverProviders>
</channel>
</channels>
</application>
<customErrors mode="off" />
</system.runtime.remoting>
客户端app.config:
<system.runtime.remoting>
<application>
<!-- Setup the server channel and install the encryption and compression sinks -->
<channels>
<channel ref="tcp" port="0" name="client" secure="true">
<clientProviders>
<!-- Install the call context checker sink -->
<provider type="PM.Remoting.PreRemotingCallClientSinkProvider,PM" />
<!-- Serialise using the binary formatter -->
<formatter ref="binary" />
<!-- Compress the formatted stream, ready for transmission using the channel -->
<provider type="PM.Remoting.Compression.CompressionClientSinkProvider,PM" />
</clientProviders>
</channel>
</channels>
</application>
</system.runtime.remoting>
我知道的不是很多!任何指出我正确方向的想法都会非常感激!!
编辑:
在我们上一个版本中从.NET 2.0升级到.NET 4.0之后,它才刚刚开始发生。