问题列表 - 第12626页

阻止用户调整窗口/表单大小

用户可以更改表单大小.我没有找到不允许用户更改表单大小的表单属性.

c# visual-studio-2008 winforms

24
推荐指数
5
解决办法
7万
查看次数

C中的快速dictonary没有线性搜索

如何在没有线性搜索的情况下在C中制作快速的dictonary(String => Pointer和Int => Pointer)?我需要一些(或更多)代码行,而不是库,并且必须可以在闭源软件(LGPL,...)中使用它.

c dictionary data-structures

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

带有ReaderWriterLockSlim的C#字典

我对多线程非常陌生,由于某种原因,这门课给我带来的麻烦比应该多.

我在ASP.net缓存中设置了一个字典 - 它经常被查询单个对象,偶尔枚举,并且很少写入.我会注意到字典数据几乎从未改变过,我打算让它每天过期,并在离开缓存时从数据库重建回调.

我相信只要没有编写字典,枚举和密钥访问就是安全的.我在想一个基于ReaderWriterLockSlim的包装类是要走的路,但我在几点上模糊了.

如果我使用Lock,我相信我可以锁定令牌或我正在保护的实际对象.我没有看到如何使用ReaderWriter Lock做类似的事情.我是否认为我的包装器的多个实例无法正确锁定,因为ReaderWriterLocks不在彼此的范围内?

编写这样的包装器的最佳实践是什么?将其构建为静态几乎看起来是多余的,因为主要对象由缓存维护.单身人士似乎不赞成,我担心上面提到的个别实例的范围界定问题.

我已经看到了一些类似包装器的实现,但我无法回答这些问题.我只是想确保我对我正在做的事情有一个坚定的把握,而不是削减和粘贴我的方式.非常感谢您的帮助!


**编辑:希望这是我想要找到的更清晰的总结 - **

1.我是否认为锁不会影响基础数据,并且其范围与任何其他变量一样?

举个例子,我可以说以下 -

MyWrapperClass 
{
    ReaderWriterLockSlim lck = new ReaderWriterLockSlim();
    Do stuff with this lock on the underlying cached dictionary object...
}

MyWrapperClass wrapA = new MyWrapperClass();
MyWrapperClass wrapB = new MyWrapperClass();
Run Code Online (Sandbox Code Playgroud)

我是否认为wrapA锁和wrapB锁不会交互,并且如果wrapA和wrapB都尝试操作它将是不安全的?

2.如果是这种情况,"共享"锁定数据的最佳实践方法是什么?

这是一个Asp.net应用程序 - 会有多个页面需要访问数据,这就是为什么我这样做的原因.确保各种包装使用相同锁的最佳做法是什么?我的包装器应该是所有线程都使用的静态或单例,如果不是更优雅的选择吗?

c# asp.net caching dictionary thread-safety

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

如何使用XML :: LibXML使用SAX解析XML?

到目前为止,我发现的唯一示例代码已经很久了,它将不再起作用(使用已弃用的类).我所需要的只是一些基本的东西:

  1. 从文件加载和解析XML

  2. 定义SAX事件处理程序

  3. 读取传递给事件处理程序的元素的属性或文本值

xml perl sax xml-libxml

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

没有上下文菜单命令的TortoiseHg

TortoiseHG的上下文菜单条目完全弄乱了Windows 7资源管理器的上下文菜单的外观,我可以使用hg命令行工具.但是Tortoise Overlay图标对我来说是必须的.

如何禁用TortoiseHg的上下文菜单命令,但仍然在hg存储库文件夹中显示Tortoise Overlay图标?

mercurial tortoisehg windows-7

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

TCP发送不会返回导致崩溃的过程

如果连接了tcp服务器和客户端,我想确定客户端何时不再连接.我以为我可以通过尝试向客户端发送消息来做到这一点,一旦send()返回-1,我就可以拆掉套接字.这个实现在Windows上可以找到,但是当我尝试在带有BSD套接字的Linux上执行此操作时,在服务器端应用程序上调用send()会导致我的服务器应用程序在客户端不再连接时崩溃.它甚至没有返回-1 ...只是终止程序.

请解释为什么会这样.提前致谢!

sockets crash tcp send

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

登录后将用户重定向回原来所需的URL

例:

  1. 用户未登录
  2. 用户的购物车中有商品
  3. 用户进入/结账
  4. 用户被重定向到/ login页面
  5. 用户成功登录,应重定向回/ checkout页面

在这种情况下,登录操作如何知道将用户重定向到结帐?我希望这可以在许多不同的情况下工作,而不仅仅是/结账.

php url redirect zend-framework login

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

Haskell:-fglasgow-exts应该避免代码需要这个吗?

我是Haskell的初学者,我开始看到类似的错误:

Illegal parallel list comprehension: use -fglasgow-exts
Run Code Online (Sandbox Code Playgroud)

我在内部工作ghci,ghc但仅仅是因为它是我在搜索中找到的第一个.

我很好奇这是否是一种人们希望避免前进的情况.我发现的任何搜索都提到这些扩展会暴露可能(或可能不)有用的基础设施.

一个具体的例子是

fibs = 0 : 1 : [ a + b | a <- fibs | b <- tail fibs ]
Run Code Online (Sandbox Code Playgroud)

我假设这两个a并且b同时从列表中读取的事实会导致问题......?那么,如果格拉斯哥扩展是支持这种结构的唯一方法,那么更常见的是以另一种方式生成列表或者只是假设扩展可用?

提前感谢任何输入.

[编辑]很抱歉,如果这不完全清楚,但我的问题是,如果包括格拉斯哥(或任何其他)扩展被认为是不好的做法.上面的例子只是为了说明提示这个问题的错误类型.

haskell coding-style

7
推荐指数
3
解决办法
751
查看次数

iPhone中的cfnetwork内存泄漏

我在我的应用程序 - 仪器检查中遇到了以下类型的内存泄漏.我已正确分配和解除分配每个对象.但是我得到了这种类型的内存泄漏.

std :: _ Deque_base <__ CFURLCacheNode*,std :: allocator <__ CFURLCacheNode*>>> :: _ M_allocate_node()

产生这种泄漏的原因是什么?

为什么会发生内存泄漏?

图片 : -

alt text http://img197.imageshack.us/img197/9571/problem151.png

alt text http://img194.imageshack.us/img194/6181/problem152.png

替代文字http://img194.imageshack.us/img194/8035/problem153.png

alt text http://img193.imageshack.us/img193/6092/problem154.png

iphone memory-leaks cfnetwork

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

一些Perl的细微之处

我已经在Perl中编程了一段时间,但我从未理解过Perl的一些细微之处:

$ _变量的使用和设置/取消设置让我感到困惑.例如,为什么呢

# ...
shift @queue;
($item1, @rest) = split /,/;
Run Code Online (Sandbox Code Playgroud)

工作,但(至少对我而言)

# ...
shift @queue;
/some_pattern.*/ or die();
Run Code Online (Sandbox Code Playgroud)

似乎不起作用?

另外,我不明白使用foreach与文件迭代文件之间的区别while.例如,我似乎得到了不同的结果

while(<SOME_FILE>){  
    # Do something involving $_        
}
Run Code Online (Sandbox Code Playgroud)

foreach (<SOME_FILE>){
    # Do something involving $_
}
Run Code Online (Sandbox Code Playgroud)

谁能解释这些微妙的差异?

perl

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