我想断言一个方法只被调用一次.我正在使用RhinoMocks 3.5.
这是我认为会起作用的:
[Test]
public void just_once()
{
var key = "id_of_something";
var source = MockRepository.GenerateStub<ISomeDataSource>();
source.Expect(x => x.GetSomethingThatTakesALotOfResources(key))
.Return(new Something())
.Repeat.Once();
var client = new Client(soure);
// the first call I expect the client to use the source
client.GetMeMyThing(key);
// the second call the result should be cached
// and source is not used
client.GetMeMyThing(key);
}
Run Code Online (Sandbox Code Playgroud)
我想如果第二次调用测试失败GetMeMyThing()的呼叫source.GetSomethingThatTakesALotOfResources().
我正在使用需要类型为Func的值的api.(具体来说,我正在尝试调用ModelMetadataProviders.Current.GetMetadataForType().
如何在F#中构造该值?
我对MSMQ很新.我们有一个使用MSMQ的关键系统,由于资源不足,它无法启动.似乎MSMQ有能力.我试图清除消息(甚至删除不必要的队列),但在清除时收到以下错误:
无法删除队列中的所有邮件.错误:拒绝访问消息队列系统.
我有什么选择?有没有办法在服务关闭时删除队列?
我问我是否可以,但我也想知道我是否应该这样做。
这是我的场景:我正在小批量接收 Avro 序列化消息。我想存储它们以供以后使用 Hive 表和 Avro SerDe 进行分析。我在 Azure 中运行,并将消息存储在 blob 中。我试图避免出现很多小斑点(因为我相信这会对 Hive 产生负面影响)。如果我已经将 Avro 标头写入 blob,我相信可以将 Avro 数据块附加到CloudBlockBlob.PutBlockAsync(). (只要我知道同步标记即可。)
但是,我检查了两个 .NET 库,它们似乎不支持我的方法。(我必须立即编写整个 Avro 容器文件)。
我采取的方法正确吗? 我在图书馆里错过了什么吗?
我的问题与此类似(但不同): 您可以将数据附加到现有的 Avro 数据文件吗?