小编Nei*_*l N的帖子

有一个无尽的工人线程的正确方法?

我有一个需要大量初始化的对象(在一台强壮的机器上1-2秒).虽然一旦初始化,只需要大约20毫秒来做一个典型的"工作"

为了防止每次应用程序想要使用它时重新初始化它(可能是每秒50次,或者在典型使用中几分钟都没有),我决定给它一个工作,并让它运行在它自己的线程上,检查在que中是否有任何工作.但是,我不完全确定如何创建一个无论是否有工作运行的线程.

这就是我到目前为止所做的任何批评都受到欢迎

    private void DoWork()
    {
        while (true)
        {
            if (JobQue.Count > 0)
            {
                // do work on JobQue.Dequeue()
            }
            else
            {
                System.Threading.Thread.Sleep(50);
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

经过深思熟虑:我以为我可能需要优先杀死这个线程让它永远运行,所以我想我会添加一个告诉线程结束的Job类型.关于如何结束这样的线程的任何想法也赞赏.

.net c# multithreading worker-thread

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

sql注入攻击只对具有表单的页面构成威胁吗?

我知道这是一个简单的问题,但在我读过的所有内容中,我从来没有见过这个具体的拼写.

如果您在页面上进行查询,是否需要担心SQL注入攻击?或者,当您要求用户输入时,这只是一个问题吗?

谢谢!

sql security sql-injection web-applications

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

LINQ to Entities和SQL Injection

我看过几篇关于L2E是否容易受到SQL注入影响的文章.

来自MSDN:

尽管在LINQ to Entities中可以进行查询组合,但它是通过对象模型API执行的.与实体SQL查询不同,LINQ to Entities查询不是使用字符串操作或连接组成的,并且它们不易受传统SQL注入攻击的影响.

这是否意味着存在可能有效的"非传统"攻击? 本文有一个非参数化查询的例子 - 可以安全地假设,如果通过变量传入用户提供的数据,它将被参数化吗?

如果我做:

from foo in ctx.Bar where foo.Field = userSuppliedString select foo;
Run Code Online (Sandbox Code Playgroud)

我安全吗?

security linq-to-entities sql-injection

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

以图形方式模拟.NET winforms应用程序

我为我的公司创建了一个非常漂亮的winforms应用程序.我们有一个图形设计师创建GUI,这很难实现,所有图形按钮,大量分层背景和徽标,动画等.

但现在我的公司想要在不同的品牌下转售它.但由于我大部分时间编写得很好,我告诉我的更高层次,我可以在一周内完成一个完全重新命名的版本.基本上我要做的就是更改xml设置文件中的一堆设置,用新的设置替换图形,然后构建.

问题是如果他们想要5个或6个不同的品牌,我将有5个不同的版本来支持(我真的应该支持1,使用diff模板)

问题是在winforms应用程序中交换图像并不容易(据我所知).我将所有图形资源放在一个文件夹中,但是一旦将每个文件输入到visual studio中的相应图像列表或容器中,获取它的唯一方法是删除它并重新添加它,更改源文件夹不会导致嵌入的图像刷新.对于每个构建来说,这将是非常繁琐的,必须有一个更简单的方法.

加上:
经过一些进一步的调查,我倾向于某种resx文件编辑器.然而,到目前为止,我所看到的更侧重于将字符串转换为各种语言,并且要么非常弱,要么根本无法编辑二进制资源,如bitmaps/png.虽然如果你在xml查看器中打开一个resx文件(我使用带有.resx的记事本2设置为使用xml sytax突出显示),MS很友好地告诉你每种类型的编译方式(主要是base 64的变体)

c# user-interface desktop visual-studio winforms

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

去哪里浏览开源项目?

我决定浏览一下需要帮助的开源项目,并为一两个项目提供一些时间.但有一个问题是,有一个站点列出了当前正在寻找开发人员的开源项目,并且我可以在任何地方通过语言/技术等来过滤开源项目.

我所追求的是一种了解许多开源项目的方法,因此我可以决定他们是否对我感兴趣.

想法在哪里找到这样的信息?

language-agnostic open-source

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

图书馆从立体图像中获取深度图?

我将设置一些设备来执行实时3D运动跟踪.我的第一个想法是使用一对相机拍摄立体图像并计算深度图以获得我需要的3D数据.

有没有好的开源库(C/C++)可用且速度足够实时(~12-24fps)?我在SourceForge中找到了使用Stereo VisionEStereo进行3D重建,有人试过吗?

或者我可以实现的任何算法建议?

computer-vision photogrammetry stereo-3d 3d-reconstruction

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

将鼠标悬停在标签上时,鼠标指针会变为手形

当我将鼠标悬停在HTML标签上时,鼠标指针会变为手形图像,我们通常会在单击链接时获得该图像.我怎么能避免这种情况?

html css

9
推荐指数
2
解决办法
4万
查看次数

获取堆栈跟踪中的参数值

我无法再现我们在错误日志中看到的一些错误.

如果我知道特定方法在抛出异常时使用了哪个记录ID,那么可以更轻松.

我们所有未处理的异常都由我们的全局异常处理程序处理,它将异常的所有细节以及HTTP请求的所有细节放入日志表中.

有没有办法捕获引发异常的方法的所有参数的值?或者甚至更好,堆栈跟踪中的所有值?

.net c# asp.net error-handling asp.net-mvc

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

.NET文件系统包装器库

出于某种原因,我找不到一个,但是某人必须已经创建了一个.NET IO库包装器.我希望能够模拟对File.Exists等的调用,并且内置的静态方法不能很好地解决这个问题.

.net mocking

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

string.Split()的未记载的重载?

根据String.Split上的 Intellisense和MSDN doc,没有string.Split的无参数重载.但如果我输入

string[] foo = bar.Split();
Run Code Online (Sandbox Code Playgroud)

它汇编.它有效.我已经在Visual Studio 2008和2010中验证了这一点.在这两种情况下,intellisense都不会显示无参数的重载.

是否有一个原因?MSDN/Intellisense文档中是否还有其他缺失的重载?通常浏览intellisense中的重载是我如何最好地确定使用哪个重载.我讨厌在整个.Net框架中错过其他可用选项.

编辑:如上所示,它在空格上分裂.

.net intellisense visual-studio

8
推荐指数
3
解决办法
728
查看次数