我在Task中运行了Parallel.ForEach.它迭代一组电子邮件地址,并将一个MailMessage发送到SMTP队列,一旦发送它就会更新DB中的表并返回结果.
我可以在数据库中看到它多次将MailMessage发送到队列,有时最多发送6次.这是我的简化代码,任何人都可以推荐更好的方法吗?
点击按钮,我创建一个新的任务...
CampaignManager.Broadcast.BroadcastService broadcastService = new CampaignManager.Broadcast.BroadcastService();
var task = Task<CampaignManager.Broadcast.Results.Broadcast>.Factory.StartNew(() => {
return broadcastService.BroadcastCampaign();
}, TaskCreationOptions.LongRunning);
Task.WaitAny(task);
if (task.Result != null)
{
Broadcast.Results.Broadcast broadcastResult = task.Result;
MessageBox.Show(broadcastResult.BroadcastSent.GroupName + " completed. " + broadcastResult.NumberSuccessful + " sent.");
}
Run Code Online (Sandbox Code Playgroud)
这创建了一个任务,它基本上获得了ConcurrentBag的订阅者(自定义类),遍历集合并发送消息......
public Results.Broadcast BroadcastCampaign()
{
// Get ConcurrentBag of subscribers
subscribers = broadcast.GetSubscribers();
// Iterate through subscribers and send them a message
Parallel.ForEach(subscribers, subscriber =>
{
// do some work, send to SMTP queue
// Add to DB log
});
// …Run Code Online (Sandbox Code Playgroud) 我有3个网站使用一个B2C租户。我被要求进行设置,以便当用户退出一个网站时,全部退出。
同样,如果他们的帐户被删除。
我以为我必须在每个请求上都引入一个对Azure的调用,以确定用户是否仍在登录,但是据我所知,没有一个Graph API终结点可以让我确定用户状态。
我在想这个错误的方式吗?有没有办法使用B2C,Graph API,Active Directory客户端等轻松地做到这一点?
例如,在设置OpenIdConnectAuthenticationOptions时可能会有一个选项。
azure azure-active-directory azure-ad-graph-api azure-ad-b2c
我正在安装一个应用程序到Windows 7机器(我的应用程序是针对一个特定的设备),我试图让它在操作系统启动/登录时运行.
这是一个Silverlight OOB应用程序,我认为这可能是一个问题,但我用记事本测试它仍然无法正常工作.
我按照这里的例子:
!include "MUI.nsh"
Name "Tech Drive Installer"
OutFile "techdrive_setup.exe"
InstallDir "$PROGRAMFILES\Tech Drive"
RequestExecutionLevel admin
ShowInstDetails show
!insertmacro MUI_LANGUAGE "English"
Section
SetOutPath "$INSTDIR"
SetOverwrite ifnewer
File "TechDrive.xap"
ExecWait '"$PROGRAMFILES\Microsoft Silverlight\sllauncher.exe" /install:"$INSTDIR\TechDrive.xap" /origin:"http://localhost/TechDrive.xap" /shortcut:desktop'
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Run\" "TechDrive" '"$PROGRAMFILES\Microsoft Silverlight\sllauncher.exe" 3388701632.localhost'
SectionEnd
Run Code Online (Sandbox Code Playgroud)
为什么这不起作用?
我刚刚开始使用Highcharts,我在显示图表中每个数据项的工具提示时遇到了一些麻烦.目前,它只显示第一个和最后一个项目的工具提示.
var chart1; // globally available
$(document).ready(function () {
var options = {
chart: {
renderTo: 'AssessmentChart',
marginRight: 100,
marginBottom: 40
},
title: {
text: 'Assessment history',
x: -20 //center
},
subtitle: {
text: 'Assessment history for this patient',
x: -20 //center
},
xAxis: {
type: 'datetime'
},
yAxis: {
title: {
text: 'Score'
},
max: 72,
min: 0
},
tooltip: {
formatter: function() {
return '<b>'+ this.y +'</b>';
}
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'top',
x: …Run Code Online (Sandbox Code Playgroud) azure ×1
azure-ad-b2c ×1
c# ×1
highcharts ×1
javascript ×1
jquery ×1
nsis ×1
registry ×1
windows-7 ×1