小编Jos*_*sen的帖子

保持wcf回调通道无限期打开/如果发生故障则从客户端重新连接

我正在尝试设置这样的东西:

  • 服务器端Windows wcf服务挂起并通过tcp侦听来自客户端Windows服务的连接.
  • 当收到连接(客户端调用服务上的CheckIn方法)时,服务通过OperationContext.Current.GetCallbackChannel <T>获取回调通道
  • 此通道与唯一键一起存储在集合中(具体来说,我将回调接口,通道和密钥存储在List <ClientConnection>中,其中每个都是属性)
  • 现在应该能够根据所述唯一密钥将调用传递给该客户端服务

这首先工作,但一段时间后停止 - 我不再能够将呼叫传递给客户端.我假设它是因为连接已被内部删除,我正在尝试使用死连接.

记住,我有以下问题:

  • 我如何告诉wcf我想无限期地(或尽可能长)保持这些tcp连接?
  • 我如何从客户端检查我与服务器的连接是否仍然有效,以便我可以丢弃它,如果我的连接被炒断,请再次检查服务器?

我可以想到狡猾的解决方案,但我希望有人会告诉我正确的方法.

wcf distributed tcp publish-subscribe .net-3.5

15
推荐指数
1
解决办法
6168
查看次数

生成机器指纹的最佳方法是什么?

我需要生成一个不同机器的唯一字符串 - 一个"设备指纹".

什么是......

  • 自定义实现的可能方法?(我有一些想法,但我认为你们可能有更好的想法)
  • 现有解决方案 (商业/非商业都可以接受)

.net windows hardware fingerprinting

5
推荐指数
1
解决办法
7876
查看次数

angular js - 选择"理解表达式"中的条件

我有一个角度应用程序,通过两个选择元素将一组对象映射到另一组对象.
在进行映射时,映射对象的"映射"属性将设置为true.

<select ng-model='sourceToMap' required='true' ng-options='code.code for code in sourceCodes'>
<select ng-model='targetToMap' required='true' ng-options='code.code for code in targetCodes'></select>
Run Code Online (Sandbox Code Playgroud)

我想选择显示sourceCodes/targetCodes中map属性为false的所有项目.就像是...

ng-options="code.code for code in sourceCodes where code.mapped = false"
Run Code Online (Sandbox Code Playgroud)

如果可能的话,我想避免使用一个看起来非常严重的mappedItems/unmappedItems集合

javascript angularjs

1
推荐指数
1
解决办法
2901
查看次数

interface <T>方法<T2>其中T2:T

看看这个片段

public interface IExample<T>
{
    IExample<T> Exposes<TInclude>() 
        where T : TInclude;
}
Run Code Online (Sandbox Code Playgroud)

我正在寻找编译时间强制执行T可以转换为TInclude.可以进行运行时检查,但更喜欢它是编译时间.

以上抱怨T没有定义.

有什么建议?我正在尝试用C#泛型做什么?

.net c# generics

0
推荐指数
1
解决办法
238
查看次数