有人可以提供有关使用Azure Service Bus OnMessageOptions.AutoRenewTimeout的更多指导 http://msdn.microsoft.com/en-us/library/microsoft.servicebus.messaging.onmessageoptions.autorenewtimeout.aspx
因为我没有找到关于此选项的大量文档,并且想知道这是否是更新消息锁的正确方法
我的用例:
1)消息处理队列的锁定持续时间为5分钟(允许的最大值)
2)消息处理器使用OnMessageAsync消息泵从队列中读取(使用ReceiveMode.PeekLock)长时间运行的处理可能需要10分钟才能处理消息,然后再手动调用msg.CompleteAsync
3)我希望消息处理器自动更新它的锁定,直到预期完成处理的时间(~10分钟).如果在此期间之后尚未完成,则应自动释放锁定.
谢谢
- 更新
我从来没有最终获得有关AutoRenewTimeout的更多指导.我最终使用自定义MessageLock类,根据计时器自动更新消息锁.
请参阅要点 - https://gist.github.com/Soopster/dd0fbd754a65fc5edfa9
我遇到的问题是始终加密以与Entity Framework一起玩得很好.
我正在瞄准.Net 4.6.1,已启用Column Encryption Setting=Enabled
我的连接字符串,我可以成功拨打电话并使用接收解密的内容
var results = dbContext.EncryptedTable.ToList()
Run Code Online (Sandbox Code Playgroud)
EncryptedTable有1列使用确定性加密,数据类型为Varchar(Max).
DbContext有CodeFirst支持
Property(x => x.EncryptedColumn)
.HasColumnName("EncryptedColumn").IsRequired().IsUnicode(false);
Run Code Online (Sandbox Code Playgroud)
一旦我开始使用包含在我的dbContext上的东西开始变坏.
这有效
var id = Guid.Parse("123-456-789");
var result = dbContext
.TableA
.Include(x => x.EncryptedTable)
.FirstOrDefault(x => x.id == id);
Run Code Online (Sandbox Code Playgroud)
抛出错误:
Operand type clash: varchar is incompatible with varchar(max) encrypted with (encryption_type = 'DETERMINISTIC', encryption_algorithm_name = 'AEAD_AES_256_CBC_HMAC_SHA_256',
var id = Guid.Parse("123-456-789");
var result = dbContext.TableA
.Include(x => x.TableB)
.Include(x => x.EncryptedTable)
.FirstOrDefault(x => x.id == id);
Run Code Online (Sandbox Code Playgroud)
在2个调用中执行SQL配置文件可以看到第2个调用失败exec sp_describe_parameter_encryption
.
EF是否支持此方案并始终加密?
假设我在目录中有以下文件
如何编写一个批处理循环,以便拾取所有".js"文件,但".min.js"不是,并且.js文件名的输出可以更改为追加.min.js
例如:
for %%A IN (*.js) DO @echo %%A "->" %%~nA ".min.js"
Run Code Online (Sandbox Code Playgroud)
理想情况下会产生以下内容,并注意file2.min.js不会显示在左侧.
谢谢你的帮助.
这更像是一般的Asp.Net/.Net生命周期问题.
我正在寻找在Asp.Net Web服务中使用PushSharp来使用APNS发送通知.
鉴于PushSharp的性质使用队列异步发送消息然后事件回调通知'OnNotificationSent'/'OnServiceException'等.这将如何在Asp.net中工作?
谢谢你的帮助.
有人可以帮我对IObserver进行同步订阅,这样调用方法就会阻塞,直到订阅完成.例如:
出版者
public static class Publisher {
public static IObservable<string> NonBlocking()
{
return Observable.Create<string>(
observable =>
{
Task.Run(() =>
{
observable.OnNext("a");
Thread.Sleep(1000);
observable.OnNext("b");
Thread.Sleep(1000);
observable.OnCompleted();
Thread.Sleep(1000);
});
return Disposable.Create(() => Console.WriteLine("Observer has unsubscribed"));
});
}
Run Code Online (Sandbox Code Playgroud)
}
订户
public static class Subscriber{
public static bool Subscribe()
{
Publisher.NonBlocking().Subscribe((s) =>
{
Debug.WriteLine(s);
}, () =>
{
Debug.WriteLine("Complete");
});
// This will currently return true before the subscription is complete
// I want to block and not Return until the Subscriber is Complete …
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写符合以下条件的RegEx
"Field1":"Any Content"
Run Code Online (Sandbox Code Playgroud)
但不是这个
"Field1":""
Run Code Online (Sandbox Code Playgroud)
我试过了
"Field1":".*?"
Run Code Online (Sandbox Code Playgroud)
但它找到了匹配""
谢谢你的帮助.
我正在将现有的Azure经典VM迁移到较新的基于Resource Manager的VM,希望能得到一些建议。
新架构将具有
将旧端点和关联的ACL迁移到新结构的最佳方法是什么?是否要将端点和ACL作为单独的入站安全规则添加到新的网络安全组?
谢谢。