小编pus*_* 22的帖子

使用XElement查询命名空间中的节点

我试图从一个看起来像这样的csproj文件中提取一个节点,但是无法让它工作 - 大概是因为名称空间声明.

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
      <PropertyGroup>
          <RegisterForComInterop>true</RegisterForComInterop>
Run Code Online (Sandbox Code Playgroud)

这失败了:

XDocument cpo = XDocument.Load(file);
XmlNamespaceManager nsm = new XmlNamespaceManager(new NameTable());
nsm.AddNamespace("x", "http://schemas.microsoft.com/developer/msbuild/200");
IEnumerable<XElement> list3 = cpo.XPathSelectElements("//x:RegisterForComInterop[.='true']", nsm);
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

谢谢.

c# xelement namespaces

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

javascript内存泄漏

我刚刚注意到,一些JavaScript我,刚才已经书面似乎泄漏内存,它相当一段简单的代码 - 得益于jQuery的 - 但我能看着它在任务管理器运行,内存使用量由4间慢慢向上点击和40个字节.

我正在做的是通过getJSON在asp mvc控制器/动作上抛出一些数据:

$(document).ready(function () {
    var olddata = "";
    window.setInterval(function () {
        var options = JSON.stringify({
            orderby: "name"
        });
        var params = {
            options: options,
            data: olddata ? JSON.stringify(olddata) : ""
        };
        $.getJSON("/Home/GetTasks", params, function (json) {
            olddata = json;
            json = null;
        });
        params = null;
        options = null;
    }, 1000);
});
Run Code Online (Sandbox Code Playgroud)

我已经提高了计时器值,只是为了更容易看到问题.我显然在这里做错了什么但看不到什么.

我应该清理getJSON调用吗?

TIA.

javascript memory-leaks

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

文本区域的Dojo验证

我试图第一次使用dojo,所以这可能是显而易见的.

我有一个非常简单的表单,其中有一个textarea需要填写.

<script src="http://ajax.googleapis.com/ajax/libs/dojo/1.10.3/dojo/dojo.js"></script>
<form id='form1' action="" method="" dojoType="dijit.form.Form">
  <label for="dob">desc:</label>
  <textarea class='multilinecontrol' dojoType="dijit.form.Textarea" selected='true' required='true'></textarea>
  <button type='submit' id="next" name="next" dojoType="dijit.form.Button">
    Next</button>
</form>
Run Code Online (Sandbox Code Playgroud)

我添加了'required'属性,因此我可以确保表单在用户可以继续之前有效.

然而,当表单显示时,textarea周围有一个红色的焦点环,其他小部件都不像这样,它真的很烦人.

知道怎么摆脱它吗?

我可以通过放置某种默认文本来破解它,比如'把东西放在这里'然后我必须做额外的验证工作 - 我现在无法解决该怎么做.

validation dojo textarea required

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

尝试使用std :: get_time来解析YYMMDD并失败

我试图这样做并失败:

std::istringstream ss("1212");
ss >> std::get_time(&t, "%y%m");
if (ss.fail()) // every time!
Run Code Online (Sandbox Code Playgroud)

这工作正常:

std::istringstream ss("12-12");
ss >> std::get_time(&t, "%y-%m");
Run Code Online (Sandbox Code Playgroud)

我有什么想法吗?我可以使用什么,否则,因为窗口似乎没有srtptime

windows/vs13 TIA

c++ std visual-c++

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

jQuery不会使用名为option的节点解析xml

我正在使用jQuery来解析一些XML,如下所示:

function enumOptions(xml) {
   $(xml).find("animal").each(function(){  
       alert($(this).text());
   });
}

enumOptions("<root><animal>cow</animal><animal>squirrel</animal></root>");
Run Code Online (Sandbox Code Playgroud)

这非常有效.但是,如果我尝试寻找称为"选项"的节点,那么它不起作用:

function enumOptions(xml) {
   $(xml).find("option").each(function(){  
      alert($(this).text());
   });
}

enumOptions("<root><option>cow</option><option>squirrel</option></root>");
Run Code Online (Sandbox Code Playgroud)

没有任何错误,只是没有得到任何警报,好像找不到任何东西.它只适用于名为选项的节点,其他一切我测试的工作正常!

我正在使用当前版本的jQuery - 1.4.2.

有人有什么想法?

TIA.

BG

javascript xml jquery

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

“威胁已经被清除了。” 在测试中测试在后台线程上触发委托的代码

我有一些旧代码,我正在尝试为其编写测试。该代码解析日志文件(在后台线程上),完成后触发传入的委托。

IE

public delegate void finread(LogData l, LRParseState l, string e="");
void Thread_ParseLog(object info) {
  var info = ti as ThreadInfo;
  // some time later
  info.fin(log, state, error);
}
public static void ParseErrorLog(string log, finread fin){
    var pts = new ParameterizedThreadStart(Thread_ParseLog);
    new Thread(pts).Start(new ThreadInfo(log, fin));
}
Run Code Online (Sandbox Code Playgroud)

该代码是生产代码,一切正常,并且已经完成很长时间了,但是当我尝试测试它时,我得到“线程正在中止”。Thread_ParseLog 方法中引发异常。

测试看起来像这样:

void llt(string name, Action<LogData, LRParseState> test) {
    finread d = (LogData l, LRParseState s, string e) => {
      test(l, s);
    };
    LogReader.ParseErrorLog(name, d);
}
[TestMethod]
public void Create_LogReader_Big_Log() {
    llt(ERROR_LOG, (log, …
Run Code Online (Sandbox Code Playgroud)

c# multithreading unit-testing

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

Javascript对象构造:有什么区别?

这两个对象的构造有什么不同 - 除了成员变量的隐私?

function A() { this.a = 99; }
A.prototype.setA = function(newVal) { this.a = newVal; }
A.prototype.getA = function({ return this.a; }
Run Code Online (Sandbox Code Playgroud)

还有这个:

function A() {
   var a = 99;
   return {
      setA: function(newVal) { a=newVal; }
      getA: function() { return a; }
   }
}
Run Code Online (Sandbox Code Playgroud)

我对成员变量的隐私不感兴趣,就像定义函数的方式一样.

我是否正确地认为在第二个版本中,通过新A()创建的所有对象都将获得已定义函数的副本,而在第一个版本中,对定义函数的所有调用将转到唯一的原型对象(对于一个对象).这是正确的吗?

如果是这样,版本2是否有任何性能成本?

此外,一种方式优先于另一种方式 - 还是有更好的方法?

非常感谢

javascript oop

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