小编gfy*_*ans的帖子

Parallel.ForEach多次迭代集合中的项目

我在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)

c# parallel-processing

9
推荐指数
1
解决办法
1889
查看次数

Azure AD B2C-从所有会话中注销用户

我有3个网站使用一个B2C租户。我被要求进行设置,以便当用户退出一个网站时,全部退出。

同样,如果他们的帐户被删除。

我以为我必须在每个请求上都引入一个对Azure的调用,以确定用户是否仍在登录,但是据我所知,没有一个Graph API终结点可以让我确定用户状态。

我在想这个错误的方式吗?有没有办法使用B2C,Graph API,Active Directory客户端等轻松地做到这一点?

例如,在设置OpenIdConnectAuthenticationOptions时可能会有一个选项。

azure azure-active-directory azure-ad-graph-api azure-ad-b2c

5
推荐指数
2
解决办法
6387
查看次数

安装程序忽略WriteRegStr(尝试将应用程序添加到Win Startup)

我正在安装一个应用程序到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)

为什么这不起作用?

registry nsis windows-7

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

为什么此Highcharts图仅显示第一个和最后一个节点的工具提示?

我刚刚开始使用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)

javascript jquery highcharts

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