小编ola*_*jee的帖子

PostSharp的任何免费替代品

我们正在构建的应用程序会定期发送不同类型的电子邮件.我将电子邮件模板存储在Azure blob存储中,负责发送电子邮件的方法从那里提取相应的电子邮件模板.我希望模板在托管服务之外,以防我想要更新它,我只需将新模板上传到blob即可.

从性能和成本的角度来看,我遇到的问题是电子邮件模板很少在24小时内发生变化.因此,以类似于[OutputCache(Duration = duration, VaryByParam = "id")]ASP.NET MVC 的方式缓存该方法 将是一种理想的解决方案,以提高工作者角色的性能.如何做到这一点现在是一个问题.我了解了PostSharp,但我们的预算从一开始就没有考虑PostSharp的许可费用!

还有其他免费替代品?谢谢你的帮助.

c# asp.net-mvc caching azure

12
推荐指数
1
解决办法
8294
查看次数

在 Azure 服务总线中并行处理消息

问题:我有大量的电子邮件要发送,目前,在任何时间点队列中平均有 10 封电子邮件。我一次处理一个队列的代码;也就是说,接收消息,处理它并最终发送电子邮件。这会导致在用户注册服务时向用户发送电子邮件的时间相当长。

我已经开始考虑修改代码以process the messages in parrallel异步说5。我正在想象编写一个方法并使用CTP并行调用此方法,例如 5 次。

我对如何实现这一点有点迷茫。犯错的代价非常大,因为如果出现问题,用户会感到失望。

Request:我需要帮助编写并行处理 Azure 服务总线中的消息的代码。谢谢。

My code in a nutshell.

Public .. Run()
{
   _myQueueClient.BeginReceive(ProcessUrgentEmails, _myQueueClient);
}

void ProcessUrgentEmails(IAsyncResult result)
{
   //casted the `result` as a QueueClient
   //Used EndReceive on an object of BrokeredMessage
   //I processed the message, then called
   sendEmail.BeginComplete(ProcessEndComplete, sendEmail);
 }


 //This method is never called despite having it as callback function above.
 void ProcessEndComplete(IAsyncResult result)
 {
     Trace.WriteLine("ENTERED ProcessEndComplete method...");
     var bm = result.AsyncState …
Run Code Online (Sandbox Code Playgroud)

c# azure

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

标签 统计

azure ×2

c# ×2

asp.net-mvc ×1

caching ×1