我有一个Windows服务,它基本上是访问邮箱和阅读电子邮件.我试图找出每隔x秒检查一次邮箱的最佳方法.
一种方法是调用Thread.Sleep,然后再次调用Start方法,例如
protected override void OnStart(string[] args)
{
// get config settings
CheckMailbox();
}
public void CheckMailbox()
{
int x = 5000;
// do stuff
Thread.Sleep(x);
CheckMailbox();
}
Run Code Online (Sandbox Code Playgroud)
不确定这是否是最佳方式.为了进一步探讨这一点,我了解您可以通过WCF公开服务来调用Windows服务.在这种情况下,如果一个名为Process的Web应用程序启动,那么我会纠正Threads吗?那我怎么处理呢?我每次都要创建一个新线程并将其放入队列吗?
结果集没有hasNext的方法.我想检查resultSet是否有任何值
这是正确的方法
if (!resultSet.next() ) {
System.out.println("no data");
}
Run Code Online (Sandbox Code Playgroud) 我创建了一个编辑框:
m_EditWnd.Create(m_hWnd, rect, NULL, ES_LEFT | ES_AUTOHSCROLL | WS_CHILD |
WS_OVERLAPPED | WS_VISIBLE,
WS_EX_CLIENTEDGE | WS_EX_LEFT | WS_EX_LTRREADING);
Run Code Online (Sandbox Code Playgroud)
水平对齐的样式为ES_CENTER,用于水平文本对齐,但是我们可以将文本垂直居中对齐吗?
我最近刚刚在Python中遇到了一个bug.这是一个愚蠢的新手错误,但它让我思考Python的机制(我是一个长期的C++程序员,Python的新手).我将列出有缺陷的代码并解释我做了什么来解决它,然后我有几个问题......
场景:我有一个名为A的类,它有一个字典数据成员,下面是它的代码(这当然是简化):
class A:
dict1={}
def add_stuff_to_1(self, k, v):
self.dict1[k]=v
def print_stuff(self):
print(self.dict1)
Run Code Online (Sandbox Code Playgroud)
使用此代码的类是B类:
class B:
def do_something_with_a1(self):
a_instance = A()
a_instance.print_stuff()
a_instance.add_stuff_to_1('a', 1)
a_instance.add_stuff_to_1('b', 2)
a_instance.print_stuff()
def do_something_with_a2(self):
a_instance = A()
a_instance.print_stuff()
a_instance.add_stuff_to_1('c', 1)
a_instance.add_stuff_to_1('d', 2)
a_instance.print_stuff()
def do_something_with_a3(self):
a_instance = A()
a_instance.print_stuff()
a_instance.add_stuff_to_1('e', 1)
a_instance.add_stuff_to_1('f', 2)
a_instance.print_stuff()
def __init__(self):
self.do_something_with_a1()
print("---")
self.do_something_with_a2()
print("---")
self.do_something_with_a3()
Run Code Online (Sandbox Code Playgroud)
请注意,每次调用都会do_something_with_aX()
初始化A类的新"干净"实例,并在添加之前和之后打印字典.
这个bug(如果你还没弄明白的话):
>>> b_instance = B()
{}
{'a': 1, 'b': 2}
---
{'a': 1, 'b': 2}
{'a': 1, 'c': 1, 'b': 2, …
Run Code Online (Sandbox Code Playgroud) 我想对人类进行比较的项目进行排序:
对于这些任务,比较次数是性能的限制因素.
我今天开始为我的rails应用程序编写功能测试.我使用RESTful身份验证插件.我遇到了一些令人困惑的事情,我希望有人可以为我澄清.
1)我写了一个快速登录功能,因为我的rails应用程序中的大多数功能都需要身份验证.
def login_as(user)
@request.session[:user_id] = user ? user.id : nil
end
Run Code Online (Sandbox Code Playgroud)
我看到这个函数的问题,它基本上是伪造的身份验证.我应该担心吗?也许只要我在某处测试真正的身份验证方法就可以走这条路.或者这可能是一种糟糕的做法.
2)第二个令人困惑的事情是,在我的功能测试的某些地方,我需要完整的身份验证过程.当用户被激活时,我有do_activate方法为用户创建一些初始对象.它类似于为学生应用程序创建空白笔记本对象和笔对象,如果这是有意义的.
因此,为了正确测试我的应用程序,我需要用户点击该激活状态,以便创建这些对象.我目前正在使用Factory Girl创建用户,然后调用上面的login_as函数来伪造身份验证.
我想另一个选择是跳过完整的身份验证序列,然后用Factory Girl创建空白对象.我可以在其他地方测试正确的身份验证.
你怎么看?如果我应该通过正确的序列,为什么下面的代码不是调用do_activate函数?
user = Factory.create(:user)
user.active = 1
user.save
Run Code Online (Sandbox Code Playgroud)
谢谢!
testing ruby-on-rails restful-authentication functional-testing
目前我只使用JavaFX来获取乐趣并学习它.
我觉得很烦人的是通过编码和在预览窗口中观察结果来设计图形 - 你知道我的意思吗?
JavaFX有什么东西像Expression Blend用于Silverlight.
我正在写一个digg,hackernews,http: //collectivesys.com/ 应用程序,用户提交的东西,其他用户可以上下投票,将项目标记为最喜欢的等.我只是想知道是否有一些开源实现django/python我可以用作起点,而不是从头开始重新发明轮子.
在我的ASP.NET MVC应用程序中,我希望用户将值添加到文本框中,然后按我的Ajax.ActionLink.我想做这样的事情:
Ajax.ActionLink("Go","Action","Controller",new {value = textbox1.value})
或者我怎么能将这个文本框值恢复到我的行动?jQuery的?
我需要编写一个应用程序来读取配置文件,其中包含需要创建的菜单栏上的信息.
通常,我只是使用java,但我需要应用程序以尽可能少的运行时依赖性,这包括不强制用户下载任何东西,甚至是JRE,更不用说像.NET Framework这样的东西了.
所以我需要一些可以编译成EXE的东西(目前仅用于Windows),这样我就可以对GUI 进行编码,因此我可以从配置中动态创建它.
BTW:像C++这样的东西有点太低了,我只需要创建菜单,并在面板中显示HTML.