小编Tej*_*ejs的帖子

学习节点 - Express公用文件夹无法正常工作

所以我是节点的新手,并试图学习如何使用express它.但是,我想弄清楚的问题是为什么我/public文件夹中的文件似乎不是作为静态内容提供的.

这是我的代码:

var http = require('http');
var port = process.env.port || 1337;
var express = require('express');
var handlebars = require('express3-handlebars');
var path = require('path');

var application = express();

application.use(express.static(path.join(__dirname, 'public')));

application.engine('handlebars', handlebars({ defaultLayout: 'main' }));

application.get('/', function(req, res){
    res.render('index.handlebars', { someProp: 3 });
});

application.listen(port);
Run Code Online (Sandbox Code Playgroud)

我的目录结构:

/
  - server.js (the above referenced file)
  / Views
    - index.handlebars
    / Layouts
      - main.handlebars
  / public
    - ServeMe.txt
Run Code Online (Sandbox Code Playgroud)

我的理解是,application.use(express.static(path.join(__dirname, 'public')));应该将服务器配置为响应具有该资源的公共文件夹下的任何请求(如果找到).我究竟做错了什么?有趣的是,将把手配置为视图引擎比让公共文件夹工作= D更容易

编辑:我试图请求的完整网址: http://localhost:1337/public/serveme.txt

我已经尝试了区分大小写(这应该是一个非问题),而且也没有用.

static-files node.js express

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

Visual Studio 2010不允许我调试我的代码

所以,这个有趣的问题一直困扰着我过去几个小时.Visual Studio 2010 Ultimate不再附加调试器并让我调试我的代码.

如果我使用内置的开发服务器,那么一切正常.如果我切换到使用本地IIS Web服务器(http:// localhost /),那么所有它都附加到w3wp.exe,但没有加载任何DLL或PDB.我可以转到Debug> Windows> Modules,在这个窗口中没有任何内容.相反,使用内置开发服务器时,"模块"窗口会显示所有DLL,并显示已加载我的DLL的符号.有些东西显然不对劲.VS装置完全是骨头.

在IIS中,我的网站配置了ASP.NET 2.0(因为从下拉列表中选择不存在3.5),以及在"主目录"选项卡上选中的读取/日志访问/索引此资源选项.

我的一些失败的想法:
1)如果我附加到显示网站的iexplore.exe实例上的进程,它会加载Internet Explorer的DLL,但不是我的.
2)我多次重启计算机
3)我已经调用了devenv.exe/resetuserdata
4)我已经确认每个项目确实设置为调试而不是释放.
5)删除所有\ bin内容并重建解决方案.
6)删除整个解决方案并从源代码管理中删除.

有人能告诉我这件事有什么问题吗?我将会因为头痛而产生一种动脉瘤.

c# iis debugging module visual-studio-2010

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

Powershell Get-ChildItem进度问题

所以,我在一个文件夹中有一组目录00-99.每个目录都有100个子目录,00-99.每个子目录都有数千个图像.

我正在尝试做的基本上是在计算平均文件大小时得到进度报告,但我无法让它工作.这是我当前的查询:

get-childitem <MyPath> -recurse -filter *.jpeg | Where-Object { Write-Progress "Examining File $($_.Fullname)" true } | measure-object -Property length -Average
Run Code Online (Sandbox Code Playgroud)

这显示了一个在每个文件被处理时更新的栏,但最后我没有回到平均文件大小数据.显然,我做错了,因为我试图破解Where-Object打印进度声明可能是一个坏主意(tm).

由于存在数百万个图像,因此该查询显然需要非常长的时间才能工作.如果我理解正确的话,get-childitem几乎是查询时间的一部分.什么指针得到我想要的?AKA,我的结果理想情况是:

Starting...
Examining File: \00\00\Sample.jpeg
Examining File: \00\00\Sample2.jpeg
Examining File: \00\00\Sample3.jpeg
Examining File: \00\00\Sample4.jpeg
...
Examining File: \99\99\Sample9999.jpg
Average File Size: 12345678.244567
Run Code Online (Sandbox Code Playgroud)

编辑:我可以做简单的选项:

get-childitem <MyPath> -recurse -filter *.jpeg | measure-object -Property length -Average
Run Code Online (Sandbox Code Playgroud)

然后离开我的工作站一天半或者其他东西,但这似乎有点低效= /

powershell performance pipeline progress get-childitem

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

有人可以解释这个懒惰的评估代码吗?

所以,这个问题刚刚被问到:

如何处理"无限"IEnumerable?

我的示例代码:

public static void Main(string[] args)
{
    foreach (var item in Numbers().Take(10))
        Console.WriteLine(item);
    Console.ReadKey();
}

public static IEnumerable<int> Numbers()
{
    int x = 0;
    while (true)
        yield return x++;
}
Run Code Online (Sandbox Code Playgroud)

有人可以解释为什么这是懒惰的评估?我在Reflector中查找了这段代码,我比开始时更困惑.

反射器输出:

public static IEnumerable<int> Numbers()
{
    return new <Numbers>d__0(-2);
}
Run Code Online (Sandbox Code Playgroud)

对于numbers方法,看起来为该表达式生成了一个新类型:

[DebuggerHidden]
public <Numbers>d__0(int <>1__state)
{
    this.<>1__state = <>1__state;
    this.<>l__initialThreadId = Thread.CurrentThread.ManagedThreadId;
}
Run Code Online (Sandbox Code Playgroud)

这对我来说毫无意义.我会认为这是一个无限循环,直到我把这些代码放在一起并自己执行.

编辑:所以我现在明白了.取()可以告诉大家,枚举了"结束"在foreach,当它真的没有,但不应号()被调用,在它的全部链接着在起飞前() ?Take结果是实际被枚举的内容,对吗?但是,如果没有对Numbers进行全面评估,那么如何执行?

EDIT2:这只是'yield'关键字强制执行的特定编译器技巧吗?

c# linq ienumerable reflector lazy-evaluation

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

缓存Linq查询 - 这可能吗?

所以,这似乎是一个边缘情况,但我只是想知道这是否可能.我所拥有的是静态集和延迟集的组合IEnumerable- 例如:

public IEnumerable<T> MakeMyQuery<T>()
{
    // returns a List<T>
    var someStaticData = LoadMyStaticDataFromDatabase();

    // Returns IEnumerable<T>, but from another resource
    var deferredQuery = CreateADeferredQueryUsingYieldReturn(); 

    return someStaticData.Concat(deferredQuery);
}
Run Code Online (Sandbox Code Playgroud)

所以这里发生的是当我调用.Take(someNumber)我的枚举时,它会在尝试评估延迟组件之前首先从我的静态数据返回元素 - 实际上,我已经"隐藏"了一些可能耗时的生成任务后面的任务,如果我从来不需要获取这些元素,因为LINQ的延迟特性,它们实际上永远不会被评估.

但是,我不认为可以缓存此查询以供以后使用(我不相信Iterator的状态将保留在缓存中,对吧?)或者是否有一种简单的方法可以在不将结果枚举到保存?

理想情况下,我的流程是这样的:

public List<T> SomeMethod<T>(int numberOfGuys)
{
     IEnumerable<T> query = null;

     if(// Is in Cache)
       query = Cache["MyQuery"];
     else
     {
         query = MakeMyQuery();
         Cache["MyQuery"] = query;
     }

     return query.Take(numberOfGuys).ToList();
}
Run Code Online (Sandbox Code Playgroud)

所以我可以反复使用相同的查询来请求数据,但可能永远不必重新查询数据库.有没有办法做到这一点?

c# linq caching iterator deferred-execution

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

ASP.NET ASCX使用实例变量

假设我有一个ASCX用户控件,需要访问当前用户的全名.ASPX页面顶部包含此行

<%@ Register src="top.ascx" tagprefix="custom" tagname="top" %>
Run Code Online (Sandbox Code Playgroud)

而这一行在体内:

<custom:top runat="server" />
Run Code Online (Sandbox Code Playgroud)

ASPX文件知道当前用户的用户ID,并可以确定他的全名.那么如何使用ASPX文件运行的代码将其信息提供给ASCX文件呢?

asp.net ascx instance-variables

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

$ .post失败,错误"...不是函数"

这是我的代码:

var jqxhr = $.post("mypage.php", {url:pageurl}, function() {
      alert("fetching...");
})
.success(function() { alert("fetch complete!"); })
.error(function() { alert("error!"); })
.complete(function() { alert("complete"); });

// Set another completion function for the request above
jqxhr.complete(function(){ alert("second complete"); });
Run Code Online (Sandbox Code Playgroud)

我收到警报("获取...")对话框,但其余代码未完成.我收到错误:错误:$ .post("sec_fetch_report.php",function(){alert("fetching ...");}).success不是函数

我想也许我可能会错过jquery libs,但我有另一个调用$ .post的函数,它运行得很好.是否存在语法错误,我在某处丢失或者什么?谢谢

javascript ajax jquery post

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

JS:声明私有函数的效果不同

在这个JS片段中,我有一个具有两个版本的私有函数(bar和bar2)的对象.我声明了两个实例,但是我发现私有函数(bar)的一个版本似乎错误地访问了OTHER对象中私有var v的值.有人可以告诉我为什么会这样吗?

Eric = function(_v)
{
    var v = _v;

    bar = function() {
        alert(v);
    };

    function bar2() {
        alert(v);
    };

    this.foo = function() {
        bar();
    };

    this.foo2 = function() {
        bar2();
    };
};

var e = new Eric('I am Eric');
var e2 = new Eric('I am Eric II');

e2.foo();   // outputs "I am Eric II"
e.foo();    // outputs "I am Eric II" ------ WHY?

e2.foo2();  // outputs "I am Eric II"
e.foo2();   // outputs "I am Eric"
Run Code Online (Sandbox Code Playgroud)

非常感谢安德鲁

javascript private function

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

混淆了"超级"关键字在此上下文中的作用

我还在努力学习java,如果我错了,请纠正我.据我所知,super关键字调用类的构造函数.所以我不明白说什么意义

super.paint(g)
Run Code Online (Sandbox Code Playgroud)

例如,或者最近在阅读我遇到的动画时

super.addNotify()
Run Code Online (Sandbox Code Playgroud)

我试着查看关于两者的文档(可能很差)并且它不能充分满足我的好奇心,所以我们在这里.

对这两个例子或一般情况的任何澄清将不胜感激.谢谢!

java super

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

读取器关闭时无效的读取尝试

我正在处理C#和MySql请求.我正在尝试在我的数据库中检索我的数据但是我有这样的错误消息:读取器关闭时无效的读取尝试.

谢谢你们的帮助:)

我有这个功能:

public MySqlDataReader GetValueFromTable(string table, ArrayList attribut, ArrayList parameter)
{
   string query = string.Empty;
   MySqlDataReader rdr = null;      
   try
   {
      query = "SELECT * FROM `" + table + "` WHERE ";
      for (int i = 0; i < attribut.Count; i++)
      {
         query += attribut[i] as string;
         query += " = ";
         query += parameter[i] as string;

         if(i != attribut.Count - 1) 
            query += " AND ";
      }

      query += ";";

      using (mysqlConnection)
      {
          using (mysqlCommand = new …
Run Code Online (Sandbox Code Playgroud)

c# sqldatareader

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