迁移到Windows Server 2016后出现问题

时间:2019-10-23 18:07:03

标签: c# callback windows-server-2016 concurrentdictionary

我正在将服务器从microsoft服务器2008 R2迁移到microsoft服务器2016。后台有一个独立服务器,用于管理要在SAS上运行的作业。我们使用ConcurrentDictionary记录工作信息。该代码可以在旧服务器上正常工作,但是在新服务器上,作业信息将从ConcurrentDictionary中消失。

ConcurrentDictionary在回调函数OnProgress和Oncomplete中更新。我试图调试代码,但是它不会在这两个函数中达到断点。如果我将这些函数公开并在主api中添加引用,则回调将无法正常工作。接下来,我计划尝试使用xml文件而不是ConcurrentDictionary存储作业信息。但是我希望在对代码进行较大更改之前先查看其他选项。

正在进行中-

   private void OnProgress(Messages.JobFeedback feedback)
    {
        operations.AddOrUpdate(feedback.JobId, 
            new SasJobsServiceOperation { Feedback = feedback },
            (id, o) => { o.Feedback = feedback; return o; });
    }

OnCompleted-

    private void OnCompleted(Messages.JobFeedback feedback, string xmlResult)
    { 
        operations.AddOrUpdate(feedback.JobId, 
            new SasJobsServiceOperation { Feedback = feedback, XmlResult = xmlResult },
            (id, o) => { o.Feedback = feedback; o.XmlResult = xmlResult; return o; });

    }

呼叫功能-

        this.callback.OnProgress(new Messages.JobFeedback 
        {
            JobId = this.settings.Id,
            PercentComplete = 1,
            FeedbackMessage = "Starting Job on server",
            Status = Messages.StatusCode.Running
        });

1 个答案:

答案 0 :(得分:0)

此问题已解决。服务器功能中的“ http激活”已禁用。启用它可以使函数调用正常工作。