小编cap*_*aig的帖子

用于asp.net的rails样式数据库迁移?

我爱上了更新数据库模式的rails风格.我可以将迁移定义为具有相当简单但强大的语法的类.我可以使用单个命令运行更新,并且所有模型都会更新.他们致力于源代码控制,可以轻松阅读,修改和撤消.

我目前为我的asp.net mvc项目做的方法是打开服务器资源管理器,手动更改数据库字段,然后重新生成所有linq-to-sql类.该方法麻烦,容易出错,并且缺乏上面列出的几乎所有优点.我相当肯定必须有更好的方法.

任何人都可以开导我吗?

database migration asp.net-mvc

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

strftime() 的倒数

可能的重复:
在 C++ 中将字符串转换为日期

我有一个标准化格式 (RFC 1123) 的日期/时间字符串,我想将其转换为 unix 时间戳以与另一个日期/时间进行比较。

我可以通过使用 strftime 和魔术格式字符串将时间戳转换为字符串

"%a,%d %b %Y %H:%M:%S GMT"
Run Code Online (Sandbox Code Playgroud)

问题是,我需要做相反的事情,并将格式化的字符串转回时间戳。做这个的最好方式是什么?

c++ timestamp

5
推荐指数
0
解决办法
3381
查看次数

输出到控制台,同时保留ruby中的用户输入

我有一个ruby脚本,它同时和异步地从服务器接收和显示消息,并允许用户在控制台上输入.当收到消息时,它当前正在用户正在键入的内容中写入.输入本身没有乱码,但看起来很糟糕.理想情况下,它会保存用户当前输入,输出消息,然后在下一行恢复输入.我通过拦截每一个击键来完成这个,但我记得的是,这是一个很大的麻烦.我对ruby很新,所以我不确定是否有一个很好的方法来做到这一点,或者如何做到这一点.

示例:用户正在键入>abcde,消息hello进入,用户键入fgh.控制台现在显示:

>abcdehellofgh
Run Code Online (Sandbox Code Playgroud)

用户可以在最后继续输入.我希望它显示:

hello
>abcdefgh
Run Code Online (Sandbox Code Playgroud)

ruby console input

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

重用经过验证的模拟

我正在按照ayende在这篇文章中描述的犀牛嘲笑中的预期.我的代码看起来像这样:

using (_mocks.Ordered())
  {
    Expect.Call(() => _myMock.CallA());
    Expect.Call(() => _myMock.CallB(40));
    Expect.Call(() => _myMock.CallA());
  }
  _mocks.ReplayAll();
  _myObjectUnderTest.DoStuff();
  _mocks.VerifyAll();
Run Code Online (Sandbox Code Playgroud)

在此之后,我想添加更多期望并测试更多我的对象的方法.我想这样做是因为我有一些基本的测试方法可以对我的测试对象进行一些设置,而且我不想重新测试那个功能,所以我只是调用早期的测试方法.如果我在VerifyAll()之后尝试添加更多期望,我会得到一个异常:"当模拟对象处于验证状态时,此操作无效."

我的部分问题是我并不真正理解所有重放/验证内容的作用,我只是复制了代码.我正在使用严格的模拟,因此任何设置代码必须具有匹配的期望或失败.我不想复制我的设置代码的期望.

有没有办法重置模拟以某种方式准备重新开始?

c# rhino-mocks

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

C#OpenFileDialog存储路径

在我的应用程序中,我有两个用户需要选择文件的地方.在这两种情况下,文件都在不同的目录中,但它们在运行之间通常是相同的.

OpenFileDialog似乎是默认使用的最后一个目录,但这对我来说没用,因为它几乎总是错误的文件夹,我最终在两个文件夹之间交替.我想要的是以某种方式让第一个对话框记住上次打开时使用的路径,第二个对话框也记住它自己的路径.

示例:路径A是C:\ foo\bar\something\x.dll,路径B是C:\ foo\baz\whatever\y.xml

对话框a打开,我选择A,然后稍后对话框b打开(默认为A),我必须向后导航到B.当我再次打开应用程序对话框打开(默认为B),我必须导航回来再来一次.

我想通过分别记住路径来避免所有这些额外的导航.有没有一个好方法呢?

c# openfiledialog winforms

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

C#通用图搜索框架

我现在已经多次编写了各种图搜索(A*,DFS,BFS等)算法.每次,唯一真正的区别是我正在搜索的实际搜索状态,以及如何从现有状态生成新状态.

我现在面临着另一个搜索量很大的项目,并希望避免再次编写和调试一般搜索算法.如果我可以定义一个搜索状态类,包括生成连续状态,启发式成本等信息,并将其插入某种现有的搜索框架,可以为我完成所有繁重工作,那将是非常好的.我知道算法并不是特别难以编码,但总是有足够的技巧让它变得烦人.

有这样的事吗?我找不到任何东西.

c# search graph

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

WPF标签顺序工作错误

我在WPF中有一个观点,我一直在努力让Tab键顺序正确.我有三个文本框(让我们称之为Text1,Text2和Text3)和两个自定义控件,每个控件都有几个其他文本框和各种控件(让我们称之为Custom1和Custom2).

布局是选项卡流应该是Text1,Text2,Custom1,Custom2,Text3.我在每个控件上设置TabIndex属性以匹配此排序,并验证所有这些属性都设置为IsTabStop.

问题是,实际的选项卡流是Text1,Text2,Text3,然后是Custom1,Custom2,我无法找出原因.当它进入自定义控件时,它会按照我的预期正确地跨越它们中的每个控件.我只是无法弄清楚为什么它进入第一个自定义控件之前进入第三个文本框.

我已经尝试了我能想到的一切,包括确保所有xaml元素按Tab键顺序排列,但似乎没有任何帮助.

在将注意力集中到任何自定义控件之前,我怀疑它已经覆盖了所有基本控件,但我没有想法.任何帮助都会很棒.

编辑: 这是我的xaml:

<Grid>
    <GroupBox x:Name="_groupBox" BorderBrush="Transparent" BorderThickness="0">
        <Grid x:Name="_card">
            <Label Content="A:" Height="28" HorizontalAlignment="Left" Margin="5,3,0,0" Name="_labelA" VerticalAlignment="Top" />
            <Label Content="B:" Height="28" HorizontalAlignment="Left" Margin="5,25,0,0" Name="_labelB" VerticalAlignment="Top" />
            <TextBox Name="_a" Height="20" HorizontalAlignment="Left" Text="{Binding AText, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" IsEnabled="{Binding AEnabled}" Margin="94,5,0,0"  VerticalAlignment="Top" LostFocus="InputNameLeave" Width="221" TabIndex="0" />
            <TextBox Name="_b" Height="20" HorizontalAlignment="Left" Margin="94,26,0,0" Text="{Binding BText, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Top" Width="102" TabIndex="1" />
            <my:CustomControlA HorizontalAlignment="Left" Margin="-6,55,0,0" x:Name="_custom1" VerticalAlignment="Top" TabIndex="2" IsTabStop="True" />
            <my:CustomControlB HorizontalAlignment="Left" Margin="334,0,0,0" x:Name="_custom2" VerticalAlignment="Top" Width="320" TabIndex="3" IsTabStop="True" />
            <Label Content="C:" Height="28" HorizontalAlignment="Left" …
Run Code Online (Sandbox Code Playgroud)

c# wpf xaml tab-ordering

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

Web Api Content.ReadAsAsync方法未找到,但代码编译

我正在使用System.Net.Http.HttpClient访问休息服务.这段代码编译并运行得很好:

var client = new HttpClient();
var result = client.GetAsync(ServiceUrl + "/whatever").Result;
var content = result.Content.ReadAsAsync<StatusReport>().Result;
Run Code Online (Sandbox Code Playgroud)

但是ReadAsAsync,我的IDE中的方法显示为红色,智能感知无法找到它.我确保更新了所有的nuget包.引用并添加using语句System.Net.Http.Formatting,但错误仍然存​​在(并且resharper告诉我using语句未使用).

我不确定这是视觉工作室2012或resharper 7的问题.有时重启视觉工作室有帮助,有时它没有.我怀疑我可能会引用某些程序集的旧版本,或类似的东西,但我已经更新了我知道的所有内容并且问题仍然是间歇性的.

我还能尝试什么?

c# resharper asp.net-web-api visual-studio-2012

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

在C#中命名为Lock Collection?

我有多个线程将数据写入公共源,并且我希望两个线程相互阻塞,当且仅当它们触及相同的数据时.

有办法专门锁定任意键会很好:

string id = GetNextId();
AquireLock(id);
try
{
    DoDangerousThing();
}
finally
{
    ReleaseLock(id);
}
Run Code Online (Sandbox Code Playgroud)

如果没有其他人试图锁定相同的密钥,我希望他们能够同时运行.

我可以使用一个简单的互斥体字典来实现这一点,但是我需要担心驱逐旧的,未使用的锁,如果集合变得太大,这可能会成为一个问题.

是否存在此类锁定模式的现有实现.

c# synchronization mutex

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

我可以在文本/纯内容到达时渲染它吗?

我有一台服务器,它可以在大约 15 秒内传输处理数据。标题如下:

Content-Type:text/plain; charset=utf-8
Transfer-Encoding:chunked
Run Code Online (Sandbox Code Playgroud)

通过 telnet,我可以确认数据在 15 秒内连续发送。在浏览器中,整个页面会挂起,直到收到整个请求,然后立即呈现所有内容。

有时,对于较长的请求,它会挂起一段时间,然后在数据到达时开始将数据流式传输到屏幕,但我还没有推断出发生这种情况的阈值。

我是否可以发送一些标头或其他魔法,以使浏览器在内容可用时立即呈现内容?

browser http chunked-encoding

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