我打算创建一个应用程序,它将查看创建的任何文件的目录.非常简单的时间来使用filesystemwatcher.我的问题涉及如何利用它.通常的做法是使用Windows服务来确保应用程序始终运行?
我一直试图摆脱构建Windows服务,如果我不需要,但我真的没有看到在这种情况下这样做的替代方案.通常,我会将我的服务转换为控制台应用程序并使用Windows调度程序安排它,但这并不适用于这种情况.
任何人都可以推荐一种比Windows服务更好的方式来实现filesystemwatcher吗?
谢谢你的想法.
编辑 以回应下面的评论,更具体地说,我只需要在服务器上查看目录,并且当创建新文件时,我必须将该文件的副本移动到同一服务器上的不同目录中,也许重命名它在这个过程中.
文件的频率和数量将非常小.一天最多可能5-10.
PHP:
function generate_uid() {
$uid = mt_rand();
$sql = "SELECT user_id
FROM user_registration";
if (!mysql_query($sql,$con)) {
die('Error: ' . mysql_error());
}
$result = mysql_query($sql);
$availability = TRUE;
while($row = mysql_fetch_array($result)) {
if($row['user_id'] == $uid) {
$availability = FALSE;
}
}
if($availability == FALSE) {
generate_uid();
}
}
Run Code Online (Sandbox Code Playgroud)
警告:mysql_query():提供的参数不是E:\ Web Design EC\register2.php第8行的有效MySQL-Link资源错误:
但是当我像普通的php一样执行这个函数时,没有错误,并且生成了$ uid.可能是什么问题?
我搞砸了合并.我想恢复然后再试一次.
有没有办法在提交之前恢复合并?
hg revert
没有做我想做的事情,它只会恢复文件的文本.Mercurial中止了我合并的第二次尝试并抱怨原始合并仍未提交.
有没有办法在hg merge
命令之后但在提交之前撤消合并?
鉴于下表:
CREATE TABLE BitValues ( n int )
Run Code Online (Sandbox Code Playgroud)
是否可以计算子查询中n
所有行的按位OR ?例如,如果BitValues包含这4行:
+---+ | n | +---+ | 1 | | 2 | | 4 | | 3 | +---+
我希望子查询返回7.有没有办法在不创建UDF的情况下进行内联操作?
我想知道的区别是托管解决方案和非托管解决方案的CRM 5.0(2011)?
有没有办法根据绑定隐藏给定的列.我已经尝试在DataGridTextColumn上设置visibility属性(使用正确的转换器),但这似乎不起作用.如果我直接设置值(而不是通过绑定),它就可以工作.列可见性是数据网格的全部或全部处理?
有时我会"标记为添加"并将文件添加到Perforce,我实际上不希望Perforce担心.
有没有办法恢复它所以它只是回到在P4V显示为"未跟踪"的项目?
看我的例子:
我添加了mil.ico
并且mil3.ico
错误地添加了.我只是想让他们回头看test.ico
,即.被Perforce忽略:
即使我保存了文件的副本,然后删除,然后将它们放回去(所有这些都是一个严重的漏洞),P4V仍然知道它们有历史并标记它们如下所示:
我只是希望Perforce在我告诉它时单独留下一个文件.
有没有人知道如果将boost :: unordered_set作为boost :: split的第一个参数传递是犹太洁食?在libboost1.42-dev下,这似乎会导致问题.这是一个导致问题的小例子程序,称之为test-split.cc:
#include <boost/algorithm/string/classification.hpp>
#include <boost/algorithm/string/split.hpp>
#include <boost/unordered_set.hpp>
#include <string>
int main(int argc, char **argv) {
boost::unordered_set<std::string> tags_set;
boost::split(tags_set, "a^b^c^",
boost::is_any_of(std::string(1, '^')));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
然后,如果我运行以下命令:
g++ -o test-split test-split.cc; valgrind ./test-split
Run Code Online (Sandbox Code Playgroud)
我在valgrind中得到了一堆投诉,就像下面那样(我有时也看到没有valgrind的coredump,虽然它似乎根据时间而变化):
==16843== Invalid read of size 8
==16843== at 0x4ED07D3: std::string::end() const (in /usr/lib/libstdc++.so.6.0.13)
==16843== by 0x401EE2: unsigned long boost::hash_value<char, std::allocator<char> >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (in /tmp/test-split)
...
==16843== by 0x402248: boost::unordered_set<std::string, boost::hash<std::string>, std::equal_to<std::string>, std::allocator<std::string> >& boost::algorithm::split<boost::unordered_set<std::string, boost::hash<std::string>, std::equal_to<std::string>, std::allocator<std::string> >, char const [26], …
Run Code Online (Sandbox Code Playgroud) 我正在从ruby向yaml文件写入数据,我经常在文件中点缀别名.像:
- &id001
somekey: somevalue
- *id001
Run Code Online (Sandbox Code Playgroud)
在我来说,我使用的YAML文件来帮助可读性和现有的数据只是在文件名添加到值|
分隔值没有钥匙.如何防止使用别名写入yaml文件?
[编辑]
为了进一步说明,这里是数据类型和问题的一个例子.
原始数据如下:
Ham|2.00|1
Eggs|0.50|12
Milk|2.00|2
Run Code Online (Sandbox Code Playgroud)
我已经编写了一个ruby脚本来将其转换为yaml,它也会查看sql文件以获取相应的名称.yaml文件看起来像:
---
- !omap
- name: Ham
- &id001
price: 2.00
- quantity: 1
- !omap
- name: Eggs
- price: 0.50
- quantity: 12
- !omap
- name: Milk
- *id001
- quantity: 1
Run Code Online (Sandbox Code Playgroud)
这会导致大型数据集出现问题,因为别名可能彼此无法接近,因此难以阅读.
我的要求是我需要在子项目的svn url构建参数中使用Hudson环境变量的范围.
我想将SVN分支名称设置为Hudson的环境变量,因为我希望它可以被我在那里配置的所有项目使用.
如果我访问我的环境变量[BUILD_BRANCH]
http:// svn/repos/project/subproj/branches / $ {BUILD_BRANCH}
网址没有被替换为值.
但是在相同的情况下,如果我在每个子项目中将BUILD_BRANCH作为参数化构建的字符串参数,则url将替换为value.但我不能每次都在所有项目中更改分支值[构建参数值].此外,下游项目无法访问调用项目的构建参数[String].