小编agg*_*ton的帖子

在Windows环境中部署nodejs

我试图在Windows环境中部署nodejs.据我所知,nodejs只是通过命令行运行的标准应用程序.但是,以这种方式运行在服务器环境中并不是非常实用.有没有办法将其作为Windows服务运行,因此您可以像使用其他服务一样获得控制执行的所有好处?我找到了关于这个主题的类似论坛条目,但是它们都与在linux环境中运行nodejs有关,你会如何在窗口环境中这样做呢?

windows deployment node.js

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

如何在VS2010和VS2012中加载数据库项目?

我最近从VS2010切换到VS2012,当打开数据库项目时,我得到以下错误

C:\Trunk\Database\Database.dbproj : error  : Internal Error. The database platform service with type Microsoft.Data.Schema.Sql.Sql100DatabaseSchemaProvider is not valid. You must make sure the service is loaded, or you must provide the full type name of a valid database platform service.
Run Code Online (Sandbox Code Playgroud)

我猜它可能是项目文件中的以下行,它正在窒息

    <DSP>Microsoft.Data.Schema.Sql.Sql100DatabaseSchemaProvider</DSP>
Run Code Online (Sandbox Code Playgroud)

或者可能这样

  <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\TeamData\Microsoft.Data.Schema.SqlTasks.targets" />
Run Code Online (Sandbox Code Playgroud)

知道如何通过这个错误,以便我可以在VS2012中加载我的项目吗?

c# sql-server visual-studio

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

在与主行相同的事务中插入具有外键关系的行

我有2个表,其中一个与另一个具有外键关系

CREATE TABLE foo (
  id INT NOT NULL PRIMARY KEY IDENTITY,
  value VARCHAR(50) DEFAULT NULL,
);

CREATE TABLE bar (
  id INT NOT NULL PRIMARY KEY IDENTITY,
  foo_key INT NOT NULL
  value VARCHAR(50) DEFAULT NULL,
);
Run Code Online (Sandbox Code Playgroud)

我正在使用参数化的ADO.NET ExecuteReader插入新行。我的泡菜是,如果我想在同一事务中的不同表中插入2行,即在提交之前,我不能在bar中插入行,因为我还不知道给定foo.id的值。您将如何去做?即我如何确保为bar.foo_key分配正确的值?尝试选择它不会带来任何好处,因为我猜它实际上还没有出现。我应该使用存储过程来尝试动态生成密钥,还是应该使用内部变量。还是有办法让插入返回新的ID?我不确定是否需要外键声明,因为我仍然不知道使用什么ID,我不确定这是否有用?

之所以要一次性执行该操作,是因为要进行错误处理,因此我希望能够在发生错误的情况下将所有内容回滚。

sql sql-server ado.net

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

在javascript中将int转换为枚举

你如何在javascript中有效地将int转换为枚举?

说我有这个枚举

enuTable = // Table enum
{
    enuUnknown: 0,
    enuPerson: 1,
    enuItem: 2,
    enuSalary: 3,
    enuTax: 4,
    enuZip: 5,
    enuAddress: 6,
    enuLocation: 7,
    enuTasks: 8,

};
Run Code Online (Sandbox Code Playgroud)

在部分代码中,我从AJAX调用中获取一个返回值,该调用是与上述表之一相对应的数字.

我可以编写一个转换值的开关,但是有一种更有效(简洁)的方式将int转换为枚举吗?一个原因是,我不想经常更改开关,以防我更改枚举.我想我可以使用带有枚举名称的数组并构造一个标识符来索引枚举,但是,每次枚举更改时我都需要更改数组.我想我正在寻找的是一种透明的方法,它不需要事先知道枚举.

javascript

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

通过反射调用泛型类中的方法

我正在尝试设置一个接受通用类的函数,该函数又通过反射调用该类中的方法。下面的代码可以编译,但是当我运行它时,我收到此错误:

java.lang.IllegalArgumentException: Callable expects 2 arguments, but 1 were provided.
Run Code Online (Sandbox Code Playgroud)

为什么 Kotlin 声称应该有 2 个参数,而该方法只接受一个参数?论据应该是什么?

import kotlin.reflect.full.memberFunctions


class myClass {
    fun test(d: String) : String {
        return d
    }
}

class test {

    fun <T: Any>ProcessStuff(
        d : T
    ) {
        val myClass  = d.let { it::class }

        var f3 = myClass.memberFunctions.find { it.name == "test"}!!
        println (f3.call ("Hello World"))
    }
}

fun main(args : Array<String>) {
    val c = myClass()
    val t = test()
    t.ProcessStuff(c)
}
Run Code Online (Sandbox Code Playgroud)

generics reflection kotlin

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

引用数组到数组产生大小而不是实际数组

可能是一个简单的答案,但这已经让我烦恼了很长一段时间.我有一个变量,它看起来是一个对象数组(哈希)的引用,即检索此数组的子例程返回此

return \@my_entities;
Run Code Online (Sandbox Code Playgroud)

我看过的所有地方都说明了,为了遍历这些实体,我需要做这样的事情

for my $obj (@{$ref}) {
   #do stuff
}
Run Code Online (Sandbox Code Playgroud)

如果我这样做,为什么呢?@ {$ ref},如果我有2个元素而不是数组,我得到SCALAR"2"?就像@ {$ ref}给我的大小而不是数组.

编辑:详细说明,如果我这样做,操作员似乎在我的背景下工作

scalar $ref  
Run Code Online (Sandbox Code Playgroud)

我得到阵列.如果我这样做

@($ref)
Run Code Online (Sandbox Code Playgroud)

我得到了长度.是否有某些隐藏的选项可以反转行为?

我最近才开始使用perl,而且代码库相当庞大,所以不可能将它全部粘贴在这里,但故障点的要点看起来非常类似于下面的答案之一.基本上,sub返回对数组/列表的引用,并且正在尝试循环该列表.

如果我这样做

sub f { 
   my @my_entities = @_;
   return \@my_entities;
}

my $ref = f(qw( a b c d ));
for my $obj (@{$ref}) {
   print $obj;
}
Run Code Online (Sandbox Code Playgroud)

结果我得到4,它不会循环遍历元素.如果我将@ {$ ref}更改为标量$ ref,我会列出abcd.

应该说我使用Camelcade调试器在我的笔记本电脑上通过Webstorm在linux服务器上运行它.

perl

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