小编Pou*_*sen的帖子

使用File.Copy移动文件或将流写入该位置有什么不同吗?

我正在重构一些代码,有一个问题,我可以使用一些评论.

原始代码将文件下载到流中.然后,在使用File.Copy覆盖生产目录中的现有文件之前,它会将流写入临时目录中的File.

将它写入temp目录并使用File.Copy与将流直接写入生产目录相比,是否有任何好处?

一个原因可能是File.Copy比写入流更快,并减少了某人在写入文件时读取文件的机会.但这甚至会发生吗?我还应该记住什么?我正在考虑分解临时目录.

MemoryStream stream = new MemoryStream();
....Download and valiate stream....
using (Stream sourceFileStream = stream)
{
    using (FileStream targetFileStream = new FileStream(tempPath, FileMode.CreateNew))
    {
        const int bufferSize = 8192;
        byte[] buffer = new byte[bufferSize];
        while (true)
        {
              int read = sourceFileStream.Read(buffer, 0, bufferSize);
              targetFileStream.Write(buffer, 0, read);

              if (read == 0)
                  break;
        }
    }

}
File.Copy(tempPath, destination, true);
Run Code Online (Sandbox Code Playgroud)

只是将流写入目的地.

这只是我的代码,我会正确使用类似的东西 sourceFileStream.CopyToAsync(TargetFileStream);

c# io asp.net-4.0

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

无法使用'UseOAuthBearerTokens'来处理Owin和Identity RTM

我用

 app.UseOAuthBearerTokens(OAuthOptions);
Run Code Online (Sandbox Code Playgroud)

var options = new OAuthAuthorizationServerOptions
{

    TokenEndpointPath = new Microsoft.Owin.PathString("/Token"),
    AuthorizeEndpointPath = new Microsoft.Owin.PathString("/api/Account/ExternalLogin"),
    Provider = new ApplicationOAuthProvider<CampusDaysUser>(PublicClientId, IdentityManagerFactory, CookieOptions)
};
Run Code Online (Sandbox Code Playgroud)

但是网址http://example.com/Token/会返回错误:

无法找到该资源.

c# owin asp.net-identity

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

如何在Windows上备份cmake gui的生成器缓存/设置?

我们正在开发一个opencv模块来使用内部,我们不想检查完全opencv到TFS.

有没有办法保存cmake gui应用程序中的所有设置,例如当新开发人员加入团队时,他可以轻松下载opencv并包含生成解决方案文件的设置?

c++ opencv cmake

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

使用Random123和OpenCL的随机数

我一直在看这个lib Random123和相关的报价:

一位神秘男子来到我的展位,问我对使用OpenCL生成随机数的了解。我告诉他有关Mersenne Twister的实现,但他没有留下深刻的印象。他告诉我一篇新的技术论文,该论文解释了如何通过结合整数计数器和分组密码在GPU上生成随机数。他说,以计数调为基础,基于计数器的随机数生成器(CBRNG)产生的数字具有比MT更大的统计随机性,并且速度更快。

我能够使用此内核运行一个演示:

__kernel void counthits(unsigned n, __global uint2 *hitsp) {
    unsigned tid = get_global_id(0);
    unsigned hits = 0, tries = 0;
    threefry4x32_key_t k = {{tid, 0xdecafbad, 0xfacebead, 0x12345678}};
    threefry4x32_ctr_t c = {{0, 0xf00dcafe, 0xdeadbeef, 0xbeeff00d}};
    while (tries < n) {
        union {
            threefry4x32_ctr_t c;
            int4 i;
        } u;
        c.v[0]++;
        u.c = threefry4x32(c, k);
        long x1 = u.i.x, y1 = u.i.y;
        long x2 = u.i.z, y2 = u.i.w;
        if ((x1*x1 + y1*y1) < (1L<<62)) {
            hits++;
        } …
Run Code Online (Sandbox Code Playgroud)

random opencl

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

我可以假设本地ID等于所有平台上OpenCL中第一个工作组的全局ID

我可以假设它get_local_id(0)等于get_global_id(0)所有硬件/平台上OpenCL中的第一个工作组吗?

问题是,如果产生的每个工作项0,1,2,3,4,5,6,7在全局空间中被赋予id ,然后0,1,2,3 | 0,1,2,3在本地空间中被赋予id .

替代它可能是局部空间,0,2,4,6 | 1,3,5,7.哪里| 在这个两个工作组和8个工作项的示例中拆分两个工作组.

opencl

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

如何使用 Avalon TextEditor 获取当前垂直滚动条位置

外部资源: http://www.codeproject.com/Articles/42490/Using-AvalonEdit-WPF-Text-Editor

我正在使用编辑器显示日志文件,并希望在添加新行时它始终滚动到按钮,但前提是它已经位于底部。

我找到了 ScrollToEnd() 但这意味着它总是滚动,我需要某种方式来获取当前的滚动位置?有谁发现过或者知道它是否不存在吗?

avalonedit

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

OpenCL,越界检查在内核中很重要

我见过这样的解决方案:

kernel dp_square (const float *a,
float *result)
{
int id = get_global_id(0);
result[id] = a[id] * a[id];
}
Run Code Online (Sandbox Code Playgroud)

kernel dp_square (const float *a,
float *result, const unsigned int count)
{
int id = get_global_id(0);
if(id < count)
    result[id] = a[id] * a[id];
}
Run Code Online (Sandbox Code Playgroud)

检查 id< count 重要吗?如果内核工作项尝试处理不可用的项,会发生什么情况?第一个示例中不存在的原因可能是程序员只是确保全局大小等于要处理的元素数量(这是正常的)吗?

opencl

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

如何触发div水平滚动条上的javascript鼠标滚轮?

我有一个div,嵌套div更大.overflow-x设置为auto,出现滚动裸.我想这样做,如果用户在div中滚动(使用鼠标滚轮),滚动条会水平滚动.

<div id="outer" style="width:1000px;overflow-x:auto">
      <div id="inner" style="width:2000px"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

这需要什么样的JavaScript.请记住,滚动条是自动的,而不是寻找javascript更改左/右位置的解决方案.

javascript

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

在Windows上编译GDAL 1.11.0时出现无法解析的外部符号

我在按照以下指南编译gdal 1.11.0时遇到问题:http ://trac.osgeo.org/gdal/wiki/BuildingOnWindows

我可以运行,nmake /f makefile.vc MSVC_VER=1800 WIN64=YES但是在安装时失败,并显示以下错误:

   Creating library gdal_i.lib and object gdal_i.exp
LINK : error LNK2001: unresolved external symbol _OGRFeatureStylePuller
LINK : error LNK2001: unresolved external symbol _OSRValidate
LINK : error LNK2001: unresolved external symbol _OPTGetProjectionMethods
LINK : error LNK2001: unresolved external symbol _OGR_G_GetPointCount
LINK : error LNK2001: unresolved external symbol _OGRRegisterAll
LINK : error LNK2001: unresolved external symbol _GDALSimpleImageWarp@36
LINK : error LNK2001: unresolved external symbol _GDALReprojectImage@48
LINK : error LNK2001: unresolved external symbol …
Run Code Online (Sandbox Code Playgroud)

c++ gdal

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

在 openlayers 3 中拖动时更改光标

用户拖动地图时更改光标的正确方法是什么。下面的示例并不是那么好,因为它仅在 pointerdrag 开始拖动时触发,然后在 125 毫秒没有事件后将其更改回来。有没有其他办法?

    var timer = null;
    this.map().on("pointerdrag",() => {
        this.map().getViewport().style.cursor = "-webkit-grabbing";
        clearTimeout(timer);
        timer = setTimeout(() => this.map().getViewport().style.cursor = "-webkit-grab", 125); 
    });
Run Code Online (Sandbox Code Playgroud)

openlayers-3

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