The document provides information about Microsoft Tech Summit 2017 that was current as of the dates of the event, November 8-9, 2017, and may change without notice. It then discusses the percentage of global apps and services accounted for by different languages and the top 10 languages, which make up 81% collectively. It also provides a timeline of Microsoft Translator from its start as an internal tool in 2007 to features like the Skype Translator preview launching in December 2014 and being integrated into Skype Desktop in October 2015.
The document summarizes Microsoft's defenses against cyber threats presented at the Microsoft Tech Summit 2017. It outlines Microsoft's multi-layered approach to security including pre-breach defenses like Windows Defender, Device Guard and Credential Guard. It also details post-breach protections including Windows Defender Antivirus, OneDrive backup and App Guard application isolation. The document highlights new capabilities in Windows Defender ATP like enhanced behavioral analysis and memory scanning. It closes by listing resources on Windows security baselines, moving beyond EMET to Windows Defender Exploit Guard, and the Windows Defender Exploit Guard documentation.
49. // calls functions in sequence
public static async Task<object> Run(DurableOrchestrationContext ctx)
{
try
{
var x = await ctx.CallFunctionAsync("F1");
var y = await ctx.CallFunctionAsync("F2", x);
var z = await ctx.CallFunctionAsync("F3", y);
return await ctx.CallFunctionAsync("F4", z);
}
catch (Exception)
{
// global error handling/compensation goes here
}
}
52. public static async Task Run(DurableOrchestrationContext ctx)
{
var parallelTasks = new List<Task<int>>();
// get a list of N work items to process in parallel
object[] workBatch = await ctx.CallFunctionAsync<object[]>("F1");
for (int i = 0; i < workBatch.Length; i++)
{
Task<int> task = ctx.CallFunctionAsync<int>("F2", workBatch[i]);
parallelTasks.Add(task);
}
await Task.WhenAll(parallelTasks);
// aggregate all N outputs and send result to F3
int sum = parallelTasks.Sum(t => t.Result);
await ctx.CallFunctionAsync("F3", sum);
}