小编And*_*doi的帖子

WCF可靠会话的目的是什么?

围绕此主题的文档很差.我使用WCF服务与Windows服务中托管的NetTcpBinding.问题是会话在处于非活动状态一段时间后被删除.我需要的是永远活着的会话.WCF可靠的会话有什么帮助吗?或者我可以玩超时设置?

wcf nettcpbinding

31
推荐指数
2
解决办法
3万
查看次数

Ninject.可选注射

我有启用/禁用功能的全局标志.我想根据一些标志注入一些依赖项.某些功能需要构造较多的类,因此如果标志的值为false,则我想注入null,否则需要实际的依赖项.Ninject不允许注入null.还有其他选择吗?

更新:构造函数参数可以使用OptionalAttribute属性进行修饰.在这种情况下,如果没有找到相应的绑定,则注入null.这里有一个问题:我无法验证目标类是否可以正确构造.我对每个公共依赖项进行了测试,验证它是否可以成功构建.如果标志的值为true,我将无法在使用该OptionalAttribute属性修饰的依赖项时找到错误,无法正确构造.我只想在绑定级别上管理它.

c# ninject

19
推荐指数
2
解决办法
4514
查看次数

libuv:如何在错误上优雅地退出应用程序?

我有一个使用libuv库的应用程序.它运行默认循环:

uv_run(uv_default_loop());
Run Code Online (Sandbox Code Playgroud)

如果发生故障,如何正常退出应用程序?目前我正在这样做,如下例所示:

uv_tcp_t* tcp = malloc(sizeof(uv_tcp_t));
int r = uv_tcp_init(uv_default_loop(), tcp);

if (r) {
  free(tcp);
  uv_loop_delete(default_loop);
  exit(EXIT_FAILURE);
}
Run Code Online (Sandbox Code Playgroud)

应该uv_loop_delete调用函数吗?它有什么作用?它是否会丢弃所有待处理的回调函数?它是否关闭所有当前打开的TCP连接?退出前我是否必须手动完成?

PS:无法添加标签'libuv'(声誉低于1500).有人可以创建并添加它吗?

c nonblocking exit libuv

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

C#.缩短标识符名称是否会提高应用程序的整体运行时性能?

缩短标识符名称使得生成的可执行文件的大小更小,因为MSIL代码包括除局部变量之外的所有这些名称.它是否会影响在.NET运行时中以良好的方式执行代码,至少在理论上是这样?本机机器代码不包括所有这些名称,但它与.NET运行时互操作.所以我想知道是否有必要对MSIL代码进行模糊处理(即缩短标识符名称),以便至少提高应用程序的运行时性能.

我对此声明感到惊讶:"Dotfuscator提高了运行时性能.通过删除不需要的程序元素并将标识符重命名为小名称,Dotfuscator实际上可以加速程序." http://msdn.microsoft.com/en-us/library/ms227226.aspx

c# obfuscation performance runtime

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

net.Socket.writable,net.Socket.readable属性不是官方node.js API的一部分

我想知道为什么net.Socket.writable和net.Socket.readable属性不是官方node.js API的一部分?这是否意味着最好不要使用这些属性,因为它是一种内部的东西,可以在未来改变?

sockets api node.js

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

.NET中UniqueQueue和UniqueReplacementQueue集合的最有效实现

考虑到Enqueue和Dequeue操作的速度同样重要这一事实,.NET中UniqueQueue和UniqueReplacementQueue集合的最有效(在速度方面)实现是什么.

UniqueQueue是一个不可能重复的队列.因此,如果我将一个元素推送到队列,只有在队列中不存在的情况下才添加它.

UniqueReplacementQueue是一个不可能重复的队列.不同之处在于,如果我推送已存在于队列中的元素,它将替换相同位置的现有元素.它对参考类型有意义.

我目前对UniqueQueue和UniqueReplacementQueue的实现:

sealed class UniqueQueue<T> : IQueue<T>
{
    readonly LinkedList<T> list;
    readonly IDictionary<T, int> dictionary;

    public UniqueQueue(LinkedList<T> list, IDictionary<T, int> dictionary)
    {
        this.list = list;
        this.dictionary = dictionary;
    }

    public int Length
    {
        get { return list.Count; }
    }

    public T Dequeue()
    {
        if (list.Count == 0)
        {
            throw new InvalidOperationException("The queue is empty");
        }

        var element = list.First.Value;
        dictionary.Remove(element);
        list.RemoveFirst();

        return element;
    }

    public void Enqueue(T element)
    {
        dictionary[element] = 0;

        if (dictionary.Count > list.Count)
        {
            list.AddLast(element); …
Run Code Online (Sandbox Code Playgroud)

c# queue collections performance unique

3
推荐指数
2
解决办法
5021
查看次数

复制除libgcc*.so之外的所有*.so文件

lib1.a
lib2.a
lib1.so
lib2.so
libgcc1.so
libgcc2.so
libgcc3.so
lib3.so

如何复制所有*.so文件,不包括libgcc*.so复制以下文件:

lib1.so
lib2.so
lib3.so

linux copy

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

到管道的核心转储失败

在 MIPS 平台上试过这个:

> uname -a
Linux (none) 2.6.29 #2 Mon Jan 14 13:26:04 PST 2013 mips GNU/Linux
> ulimit -c unlimited
> which gzip
/bin/gzip
> echo "|/bin/gzip - > /home/core-%t-%s-%e.gz" > /proc/sys/kernel/core_pattern
> ./fault
hello there
Segmentation fault (core dumped)
> ls /home/core*.gz
ls: /home/core*: No such file or directory
Run Code Online (Sandbox Code Playgroud)

即管道到程序不起作用。如果我指定一个文件:

> echo "/home/core-%t-%s-%e" > /proc/sys/kernel/core_pattern
Run Code Online (Sandbox Code Playgroud)

那么它的工作原理。我错过了什么?

linux dump pipe core mips

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