小编sta*_*ius的帖子

抽象类和静态类之间有什么区别?

两者都不可实现.有什么区别,在什么情况下你可能会使用其中一种?

.net c# oop

30
推荐指数
5
解决办法
5万
查看次数

如何使用现有数据创建solr核心?

Solr 1.4 Enterprise Search Server建议对核心副本执行大型更新,然后将其交换为主核心.我遵循以下步骤:

  1. 创建准备核心:http:// localhost:8983/solr/admin/cores?action = CREATE&name = prep&instanceDir = main
  2. 执行索引更新,然后在准备核心上提交/优化.
  3. 交换main和prep核心:http:// localhost:8983/solr/admin/cores?action = SWAP&core = main&other = prep
  4. 卸载准备核心:http:// localhost:8983/solr/admin/cores?action = UNLOAD&core = prep

我遇到的问题是,在步骤1中创建的核心中没有任何数据.如果我要对所有东西和厨房水槽做一个完整的索引,那就没问题了,但如果我只是想更新一个(大)文件的子集 - 那显然不会起作用.

(我可以合并核心,但我正在尝试做的部分是删除任何已删除的文档,而不试图列出它们.)

我错过了CREATE动作的标志吗?CoreAdminSolr Wiki页面在细节上有点稀疏.

可能的解决方案:复制

solr-user上有人建议使用复制.要在这种情况下使用它(我的理解)需要以下步骤:

  1. 根据MAIN核心的配置创建一个新的PREP核心
  2. 将MAIN核心的配置更改为主服务器
  3. 将PREP核心的配置更改为从属
  4. 导致/等待同步?
  5. 将PREP核心的配置更改为不再是从属
  6. 执行索引更新,然后在PREP核心上提交/优化.
  7. 交换PREP和MAIN核心

更简单的基于复制的设置是配置永远是主设备的永久PREP核心.MAIN核心(根据需要在尽可能多的服务器上)可以成为PREP核心的从属.可以根据需要快速或慢速地在PREP核心上进行索引.

可能的解决方案:永久PREP核心和双重更新

我想出的另一个想法是这个(也涉及一个永久的PREP核心):

  1. 执行索引更新,然后在PREP核心上提交/优化.
  2. 交换PREP和MAIN核心.
  3. 重新执行索引更新,然后提交/优化现在的PREP核心.它现在具有与MAIN核心相同的数据(理论上)并且将会存在,为下一个索引操作做好准备.

solr

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

添加/更新Web引用时,防止在Reference.cs中生成代理类

我有一个Web服务和一个客户端.参数和返回类型中使用的类位于两者共享的公共DLL中.但是,每当我更新Web引用时,visual studio都会生成具有相同名称和公共属性和方法的类的副本.然后解决方案将无法编译,因为客户端代码尝试使用公共DLL中的版本.我可以通过在每次更新Web引用时删除"重复"类来解决问题,并添加using语句以指向公共dll的命名空间.有没有办法永久解决这个问题?

更新:请参阅下面的评论.这是asmx Web服务的"功能".除了下列之一之外,没有其他方法:1)使用更现代的Web服务.2)不要使用通用DLL 3)每次更新Web引用时手动修复,如上面的原始问题所示.

asp.net web-services asmx visual-studio

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

从一个表到另一个表的批量插入全部在服务器上

我必须将一堆数据从一个数据库表复制到另一个数据库表中。我无法使用 SELECT ... INTO 因为其中一列是标识列。另外,我还需要对架构进行一些更改。我能够使用导出数据向导创建一个 SSIS 包,然后在 Visual Studio 2005 中对其进行编辑以进行所需的更改等。它肯定比 INSERT INTO 更快,但对我来说,将数据下载到另一台计算机只是为了再次上传回来似乎很愚蠢。(假设我是正确的,这就是 SSIS 包正在做的事情)。是否有相当于 BULK INSERT 的功能,可以直接在服务器上运行,允许保留标识值并从表中提取数据?(据我所知,BULK INSERT只能从文件中提取数据)

\n\n

编辑:\n我确实了解 IDENTITY_INSERT,但由于涉及大量数据,INSERT INTO ... SELECT 有点慢。SSIS/BULK INSERT 将数据转储到表中,而不考虑索引和日志记录等,因此速度更快。(当然,一旦填充表就在表上创建聚集索引并不快,但它仍然比我第一次尝试的 INSERT INTO...SELECT 更快)

\n\n

编辑 2:\n架构更改包括(但不限于)以下内容:\n1. 将一张表拆分为两张新表。将来每个表都会有自己的 IDENTITY 列,但对于迁移,我认为最简单的方法是使用原始表中的标识作为两个新表的标识。迁移完成后,其中一个表将与另一个表建立一对多关系。\n2. 将列从一个表移动到另一个表。\n3. 删除一些仅一对一交叉引用的交叉引用表。相反,引用将是两个表之一中的外键。\n4. 将使用默认值创建一些新列。\n5. 有些表\xe2\x80\x99根本没有改变,但由于“将其全部放入新的数据库”请求,我必须将它们复制过来。

\n

sql database data-migration sql-server-2005

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

在SpecFlow中标记测试显式

有没有办法用"显式"属性标记Specflow测试?我知道可以通过使用特殊标签@ignore来标记"忽略"属性.

specflow

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