小编Mik*_*ras的帖子

为什么BitmapSource.Create会抛出ArgumentException?

我试图通过使用Image和BitmapSource从WPF中显示原始数据创建的位图:

Int32[] data = new Int32[RenderHeight * RenderWidth];

for (Int32 i = 0; i < RenderHeight; i++)
{
    for (Int32 j = 0; j < RenderWidth; j++)
    {
        Int32 index = j + (i * RenderHeight);

        if (i + j % 2 == 0)
            data[index] = 0xFF0000;
        else
            data[index] = 0x00FF00;
    }
}

BitmapSource source = BitmapSource.Create(RenderWidth, RenderHeight, 96.0, 96.0, PixelFormats.Bgr32, null, data, 0);

RenderImage.Source = source;
Run Code Online (Sandbox Code Playgroud)

但是,对BitmapSource.Create的调用会抛出ArgumentException,并说"值不在预期范围内".这不是这样做的方法吗?我没有正确地打电话吗?

c# bitmapsource stride

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

如何使用mongoose创建上限集合?

我正在尝试使用Mongoose创建一个上限集合,但是下面创建了一个没有上限的集合:

var schema = new mongoose.Schema(
{
    Name: { type: String },
    Text: { type: String }
},
{
    capped: { max: 5, size: 1000000 }
});
Run Code Online (Sandbox Code Playgroud)

我很确定我正在正确地遵循文档的例子,但显然我做错了.

collections mongoose

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

如何同步运行进程,以相同的输出为目标?

我有一个需要运行多个可执行文件的.Net应用程序.我正在使用Process类,但Process.Start不会阻塞.我需要在第二次运行之前完成第一个过程.我怎样才能做到这一点?

此外,我希望所有进程都输出到同一个控制台窗口.事实上,他们似乎打开了自己的窗户.我确定我可以使用StandardOutput流写入控制台,但是如何禁止默认输出?

.net c# stdout process

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

如何实现异步运行的可重用命名管道侦听器?

我找不到一个很好的例子来说明如何创建一个异步运行的可重用命名管道侦听器.我可以做一个可重用的听众:

NamedPipeServerStream pipeServer = new NamedPipeServerStream("MyPipe", PipeDirection.InOut);

    while (true)
    {
            pipeServer.WaitForConnection();

            StreamReader reader = new StreamReader(pipeServer);

            MessageBox.Show(reader.ReadLine());

            pipeServer.Disconnect();
    }
Run Code Online (Sandbox Code Playgroud)

我可以做一个不常见的倾听者:

NamedPipeServerStream pipeServer = new NamedPipeServerStream("MyPipe", PipeDirection.InOut, 1, PipeTransmissionMode.Message, PipeOptions.Asynchronous);

    pipeServer.BeginWaitForConnection((a) =>
    {
        pipeServer.EndWaitForConnection(a);

        StreamReader reader = new StreamReader(pipeServer);
        MessageBox.Show(reader.ReadLine());

    }, null);
Run Code Online (Sandbox Code Playgroud)

但我似乎无法兼得.这有一个很好的例子吗?我也担心部分发送的消息,因为我认为这是异步通信的问题.

更新:我离我更近一点了.

pipeServer = new NamedPipeServerStream("MyPipe", PipeDirection.InOut, 1, PipeTransmissionMode.Message, PipeOptions.Asynchronous);

pipeServer.BeginWaitForConnection((a) =>
{
    pipeServer.EndWaitForConnection(a);

    StreamReader reader = new StreamReader(pipeServer);

    while (running)
    {
        String text = reader.ReadLine();

        if (String.IsNullOrEmpty(text) == false)
        {
            MessageBox.Show(text);
        }
    }

    MessageBox.Show("Done!");

}, null);
Run Code Online (Sandbox Code Playgroud)

这将成功读取一次,并将继续循环,ReadLine在初始成功读取后返回空的空字符串.所以它显然没有阻止,并试图再次阅读.问题是如果我第二次发送相同的消息,它不会被拾取,我的管道编写者说它收到错误2316(虽然我无法弄清楚这意味着什么).我想我只需要做一些类似于管道每次清理的事情,就像我列出的第一个代码示例一样,但我还没有完成工作.

.net asynchronous named-pipes reusability

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

如何使用Passport.js返回当前哈希位置?

我正在使用Passport.js通过OAuth与Google进行身份验证(我正在使用passport-google-oauth策略).它工作正常,但我目前正在将用户重定向到"/",我想将它们发送到"/"加上当前的哈希标记.我可以在查询字符串参数中发送哈希值,但我似乎无法将该值设置为我传递给身份验证的对象的callbackURL属性.

有人可以提供一个例子或解释正确的方法吗?我不喜欢使用查询字符串,它似乎是最直接的路线,但我愿意使用会话变量或其他东西,如果这将更容易或更好的练习.

谢谢.

authentication hash node.js callbackurl passport.js

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

如何在ASP.Net MVC中读取文件的内容?

我有一个ASP.Net MVC控制器动作,需要返回包含另一个html文件内容的j​​son结果(实际上是jsonp,但这并不重要).所以基本上,我想这样做:

[JsonpFilter]
public JsonResult GetHeader()
{
    var html = System.IO.File.ReadAllText("/htm/external/header.htm");

    return Json(new { html = html }, JsonRequestBehavior.AllowGet);
}
Run Code Online (Sandbox Code Playgroud)

但是,它找不到合适的文件.它正在查看C目录(无法找到路径'C:\ htm\external\header.htm'的一部分),当我希望它查看服务器的根目录时(当然还有/ htm/external).

我怎么能读到这个文件?它是外部可用的,所以我想我可以为它做一个单独的Web请求,但似乎我应该能够直接定位它.

asp.net-mvc

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

我可以从MongoDB时间戳中获得更大的粒度吗?

我从我的MongoDB数据库中获取了一个时间戳,但它只在秒内以精确度返回:

2013年6月6日16:15:22 GMT-0400(东部夏令时间)

我需要更大的粒度.有没有办法在毫秒内获得具有精度的MongoDB时间戳?

我正在通过mongoose在我的node.js服务器上进行调用:

var timestamp = new ObjectID().getTimestamp();
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得更精确的东西?

precision timestamp milliseconds mongoose mongodb

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

如何在TFS中保留本地版本的复制文件?

我从我的TFS服务器上做了一个Get All,并且有几十个冲突.我想保留这些文件的本地版本,但我唯一的选择是"覆盖本地版本".如何告诉它保留我的本地副本?

tfs conflict

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

如何触发JQuery对话框以关闭MVC局部视图的控制器?

我有一个部分视图,在JQuery对话框中呈现.我可以使用javascript轻松打开和关闭对话框,但我似乎无法从局部视图的控制器中关闭对话框.

我以为我可以使用JavascriptResult:

return new JavaScriptResult { Script = "$(\"#popupDiv\").dialog(\"close\");" };
Run Code Online (Sandbox Code Playgroud)

但这只是在浏览器中显示javascript.

从控制器动作中发出关闭JQuery对话框的信号是什么?

javascript asp.net-mvc jquery jquery-ui-dialog

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

如何使用MongoDB node.js驱动程序进行包含查询?

我正在尝试搜索包含某个子字符串的项目,但我没有得到任何结果(即使我知道数据适合查询,包括大小写):

collection.find({name: "/.*" + keyword + ".*/"}).toArray(function(err, items)
Run Code Online (Sandbox Code Playgroud)

这不应该匹配包含关键字的所有内容吗?它只返回一个空对象.

我只是在ExpressJS应用程序中使用常规MongoDB驱动程序.

mongodb node.js

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