diff --git a/docs/standard/analyzers/api-analyzer.md b/docs/standard/analyzers/api-analyzer.md index 2ff83ebd64587..f77a85095575a 100644 --- a/docs/standard/analyzers/api-analyzer.md +++ b/docs/standard/analyzers/api-analyzer.md @@ -4,8 +4,6 @@ description: Learn how the .NET API Analyzer can help detect deprecated APIs and author: oliag ms.author: mairaw ms.date: 01/30/2018 -ms.topic: article -ms.prod: .net ms.technology: dotnet-standard --- # .NET API analyzer diff --git a/docs/standard/analyzers/framework-analyzer.md b/docs/standard/analyzers/framework-analyzer.md index fb57449925ab7..cc47c8850d167 100644 --- a/docs/standard/analyzers/framework-analyzer.md +++ b/docs/standard/analyzers/framework-analyzer.md @@ -1,16 +1,11 @@ --- title: The .NET Security Analyzers - .NET description: Learn how to use the .NET Security Analyzers in the .NET Framework Analyzers package to find and address security risks -keywords: .NET, .NET Core author: billwagner ms.author: billwagner ms.date: 01/25/2018 -ms.topic: article -ms.prod: .net ms.technology: dotnet-standard -ms.devlang: dotnet --- - # The .NET Framework Analyzer You can use the .NET Framework Analyzer to find potential issues in your .NET Framework-based application code. This analyzer finds potential issues and suggests diff --git a/docs/standard/analyzers/index.md b/docs/standard/analyzers/index.md index 6e95d2cd20b2f..38769f95b2f7d 100644 --- a/docs/standard/analyzers/index.md +++ b/docs/standard/analyzers/index.md @@ -1,16 +1,11 @@ --- title: The Roslyn based Analyzers - .NET description: Learn about Roslyn based analyzers that find issues and suggest fixes for those issues. -keywords: .NET, .NET Core author: billwagner ms.author: billwagner ms.date: 01/24/2018 -ms.topic: article -ms.prod: .net ms.technology: dotnet-standard -ms.devlang: dotnet --- - # The Roslyn based Analyzers Roslyn-based analyzers use the .NET Compiler SDK (Roslyn APIs) to analyze your project's source code to find issues and suggest corrections. Different analyzers look for different classes of issues, ranging from practices that are likely to cause bugs to security concerns to API compatibility. diff --git a/docs/standard/analyzers/portability-analyzer.md b/docs/standard/analyzers/portability-analyzer.md index 8f39c823786de..6a1df3d8ac09e 100644 --- a/docs/standard/analyzers/portability-analyzer.md +++ b/docs/standard/analyzers/portability-analyzer.md @@ -1,20 +1,12 @@ --- title: The .NET Portability Analyzer - .NET description: Learn how to use the .NET Portability Analyzer tool to evaluate how portable your code is among the various .NET implementations, including .NET Core, .NET Standard, UWP, and Xamarin. -keywords: .NET, .NET Core author: blackdwarf ms.author: mairaw ms.date: 07/26/2017 -ms.topic: article -ms.prod: .net ms.technology: dotnet-standard -ms.devlang: dotnet ms.assetid: 0375250f-5704-4993-a6d5-e21c499cea1e -ms.workload: - - "dotnet" - - "dotnetcore" --- - # The .NET Portability Analyzer Want to make your libraries multi-platform? Want to see how much work is required to make your application compatible with other .NET implementations and profiles, including .NET Core, .NET Standard, UWP, and Xamarin for iOS, Android, and Mac? The [.NET Portability Analyzer](https://marketplace.visualstudio.com/items?itemName=ConnieYau.NETPortabilityAnalyzer) is a tool that provides you with a detailed report on how flexible your program is across .NET implementations by analyzing assemblies. The Portability Analyzer is offered as a Visual Studio Extension and as a console app. diff --git a/docs/standard/application-essentials.md b/docs/standard/application-essentials.md index b23e8e9dcd0e1..2236b31f3e727 100644 --- a/docs/standard/application-essentials.md +++ b/docs/standard/application-essentials.md @@ -1,23 +1,12 @@ --- title: ".NET Framework Application Essentials" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - ".NET Framework development" ms.assetid: 653da4ba-3752-4d1f-a08a-de017dc86ecc -caps.latest.revision: 19 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # .NET Framework Application Essentials This section of the .NET Framework documentation provides information about basic application development tasks in the .NET Framework. diff --git a/docs/standard/assembly-format.md b/docs/standard/assembly-format.md index 445fe94c30716..190e14c2f205f 100644 --- a/docs/standard/assembly-format.md +++ b/docs/standard/assembly-format.md @@ -1,20 +1,12 @@ --- title: .NET Assembly File Format description: Learn about the .NET assembly file format, which is used to describe and contain .NET apps and libraries. -keywords: .NET, .NET Core author: richlander ms.author: mairaw ms.date: 06/20/2016 -ms.topic: article -ms.prod: .net ms.technology: dotnet-standard -ms.devlang: dotnet ms.assetid: 6520323e-ff28-4c8a-ba80-e64a413199e6 -ms.workload: - - "dotnet" - - "dotnetcore" --- - # .NET Assembly File Format .NET defines a binary file format - "assembly" - that is used to fully-describe and contain .NET programs. Assemblies are used for the programs themselves as well as any dependent libraries. A .NET program can be executed as one or more assemblies, with no other required artifacts, beyond the appropriate .NET implementation. Native dependencies, including operating system APIs, are a separate concern and are not contained within the .NET assembly format, although are sometimes described with this format (for example, WinRT). diff --git a/docs/standard/async-in-depth.md b/docs/standard/async-in-depth.md index 8d8e94d17b9ca..e8ed3cf8dd8e9 100644 --- a/docs/standard/async-in-depth.md +++ b/docs/standard/async-in-depth.md @@ -1,20 +1,12 @@ --- title: Async in depth description: Learn how writing I/O-bound and CPU-bound asynchronous code is straightforward using the .NET Task-based async model. -keywords: .NET, .NET Core, .NET Standard author: cartermp ms.author: wiwagn ms.date: 06/20/2016 -ms.topic: article -ms.prod: .net ms.technology: dotnet-standard -ms.devlang: dotnet ms.assetid: 1e38f9d9-8f84-46ee-a15f-199aec4f2e34 -ms.workload: - - "dotnet" - - "dotnetcore" --- - # Async in depth Writing I/O- and CPU-bound asynchronous code is straightforward using the .NET Task-based async model. The model is exposed by the `Task` and `Task` types and the `async` and `await` keywords in C# and Visual Basic. (Language-specific resources are found in the [See also](#see-also) section.) This article explains how to use .NET async and provides insight into the async framework used under the covers. diff --git a/docs/standard/async.md b/docs/standard/async.md index 2d217f06f9383..ae9f7c103ba35 100644 --- a/docs/standard/async.md +++ b/docs/standard/async.md @@ -1,20 +1,12 @@ --- title: Async Overview description: Learn how async programming is a key technique that makes it straightforward to handle blocking I/O and concurrent operations on multiple cores. -keywords: .NET, .NET Core author: cartermp ms.author: wiwagn ms.date: 06/20/2016 -ms.topic: article -ms.prod: .net ms.technology: dotnet-standard -ms.devlang: dotnet ms.assetid: 1e38e9d9-8284-46ee-a15f-199adc4f26f4 -ms.workload: - - "dotnet" - - "dotnetcore" --- - # Async Overview Not so long ago, apps got faster simply by buying a newer PC or server and then that trend stopped. In fact, it reversed. Mobile phones appeared with 1ghz single core ARM chips and server workloads transitioned to VMs. Users still want responsive UI and business owners want servers that scale with their business. The transition to mobile and cloud and an internet-connected population of >3B users has resulted in a new set of software patterns. diff --git a/docs/standard/asynchronous-programming-patterns/asynchronous-programming-model-apm.md b/docs/standard/asynchronous-programming-patterns/asynchronous-programming-model-apm.md index e652bfba1d2e2..525807d3b3c18 100644 --- a/docs/standard/asynchronous-programming-patterns/asynchronous-programming-model-apm.md +++ b/docs/standard/asynchronous-programming-patterns/asynchronous-programming-model-apm.md @@ -1,13 +1,7 @@ --- title: "Asynchronous Programming Model (APM)" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "ending asynchronous operations" - "starting asynchronous operations" @@ -17,13 +11,8 @@ helpviewer_keywords: - "stopping asynchronous operations" - "asynchronous programming, beginning operations" ms.assetid: c9b3501e-6bc6-40f9-8efd-4b6d9e39ccf0 -caps.latest.revision: 13 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Asynchronous Programming Model (APM) An asynchronous operation that uses the design pattern is implemented as two methods named **Begin***OperationName* and **End***OperationName* that begin and end the asynchronous operation *OperationName* respectively. For example, the class provides the and methods to asynchronously read bytes from a file. These methods implement the asynchronous version of the method. diff --git a/docs/standard/asynchronous-programming-patterns/asynchronous-programming-using-delegates.md b/docs/standard/asynchronous-programming-patterns/asynchronous-programming-using-delegates.md index 6fd333cc25b2a..fd1e7ead72845 100644 --- a/docs/standard/asynchronous-programming-patterns/asynchronous-programming-using-delegates.md +++ b/docs/standard/asynchronous-programming-patterns/asynchronous-programming-using-delegates.md @@ -1,13 +1,7 @@ --- title: "Asynchronous Programming Using Delegates" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "BeginInvoke method" - "asynchronous programming, delegates" @@ -18,13 +12,8 @@ helpviewer_keywords: - "delegates [.NET Framework], asynchronous" - "synchronous calling in asynchronous manner" ms.assetid: 38a345ca-6963-4436-9608-5c9defef9c64 -caps.latest.revision: 16 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Asynchronous Programming Using Delegates Delegates enable you to call a synchronous method in an asynchronous manner. When you call a delegate synchronously, the `Invoke` method calls the target method directly on the current thread. If the `BeginInvoke` method is called, the common language runtime (CLR) queues the request and returns immediately to the caller. The target method is called asynchronously on a thread from the thread pool. The original thread, which submitted the request, is free to continue executing in parallel with the target method. If a callback method has been specified in the call to the `BeginInvoke` method, the callback method is called when the target method ends. In the callback method, the `EndInvoke` method obtains the return value and any input/output or output-only parameters. If no callback method is specified when calling `BeginInvoke`, `EndInvoke` can be called from the thread that called `BeginInvoke`. diff --git a/docs/standard/asynchronous-programming-patterns/best-practices-for-implementing-the-event-based-asynchronous-pattern.md b/docs/standard/asynchronous-programming-patterns/best-practices-for-implementing-the-event-based-asynchronous-pattern.md index 275d1615c26f2..ea8996ca3aec3 100644 --- a/docs/standard/asynchronous-programming-patterns/best-practices-for-implementing-the-event-based-asynchronous-pattern.md +++ b/docs/standard/asynchronous-programming-patterns/best-practices-for-implementing-the-event-based-asynchronous-pattern.md @@ -1,13 +1,7 @@ --- title: "Best Practices for Implementing the Event-based Asynchronous Pattern" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "Event-based Asynchronous Pattern" - "ProgressChangedEventArgs class" @@ -18,13 +12,6 @@ helpviewer_keywords: - "AsyncOperation class" - "AsyncCompletedEventArgs class" ms.assetid: 4acd2094-4f46-4eff-9190-92d0d9ff47db -caps.latest.revision: 8 -author: dotnet-bot -ms.author: dotnetcontent -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Best Practices for Implementing the Event-based Asynchronous Pattern The Event-based Asynchronous Pattern provides you with an effective way to expose asynchronous behavior in classes, with familiar event and delegate semantics. To implement Event-based Asynchronous Pattern, you need to follow some specific behavioral requirements. The following sections describe requirements and guidelines you should consider when you implement a class that follows the Event-based Asynchronous Pattern. diff --git a/docs/standard/asynchronous-programming-patterns/blocking-application-execution-by-ending-an-async-operation.md b/docs/standard/asynchronous-programming-patterns/blocking-application-execution-by-ending-an-async-operation.md index 1cc1b09952e9d..99adfc55a6cb6 100644 --- a/docs/standard/asynchronous-programming-patterns/blocking-application-execution-by-ending-an-async-operation.md +++ b/docs/standard/asynchronous-programming-patterns/blocking-application-execution-by-ending-an-async-operation.md @@ -1,29 +1,18 @@ --- title: "Blocking Application Execution by Ending an Async Operation" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "blocks, asynchronous operations" - "AsyncWaitHandle property" - "asynchronous programming, blocking applications" - "blocking application execution" ms.assetid: cc5e2834-a65b-4df8-b750-7bdb79997fee -caps.latest.revision: 8 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" dev_langs: - "csharp" - "vb" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Blocking Application Execution by Ending an Async Operation Applications that cannot continue to do other work while waiting for the results of an asynchronous operation must block until the operation completes. Use one of the following options to block your application's main thread while waiting for an asynchronous operation to complete: diff --git a/docs/standard/asynchronous-programming-patterns/blocking-application-execution-using-an-asyncwaithandle.md b/docs/standard/asynchronous-programming-patterns/blocking-application-execution-using-an-asyncwaithandle.md index d9371c75d02b4..59cd62636daa2 100644 --- a/docs/standard/asynchronous-programming-patterns/blocking-application-execution-using-an-asyncwaithandle.md +++ b/docs/standard/asynchronous-programming-patterns/blocking-application-execution-using-an-asyncwaithandle.md @@ -1,13 +1,7 @@ --- title: "Blocking Application Execution Using an AsyncWaitHandle" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -19,13 +13,8 @@ helpviewer_keywords: - "stopping asynchronous operations" - "blocking application execution" ms.assetid: 3e32daf2-8161-4e8f-addd-9fd9ff101b03 -caps.latest.revision: 6 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Blocking Application Execution Using an AsyncWaitHandle Applications that cannot continue to do other work while waiting for the results of an asynchronous operation must block until the operation completes. Use one of the following options to block your application's main thread while waiting for an asynchronous operation to complete: diff --git a/docs/standard/asynchronous-programming-patterns/calling-asynchronous-methods-using-iasyncresult.md b/docs/standard/asynchronous-programming-patterns/calling-asynchronous-methods-using-iasyncresult.md index 35a259ad2592b..406f06a599c43 100644 --- a/docs/standard/asynchronous-programming-patterns/calling-asynchronous-methods-using-iasyncresult.md +++ b/docs/standard/asynchronous-programming-patterns/calling-asynchronous-methods-using-iasyncresult.md @@ -1,13 +1,7 @@ --- title: "Calling Asynchronous Methods Using IAsyncResult" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "ending asynchronous operations" - "waiting for asynchronous operations" @@ -17,13 +11,8 @@ helpviewer_keywords: - "IAsyncResult interface, calling asynchronous methods" - "stopping asynchronous operations" ms.assetid: 07fba116-045b-473c-a0b7-acdbeb49861f -caps.latest.revision: 6 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Calling Asynchronous Methods Using IAsyncResult Types in the .NET Framework and third-party class libraries can provide methods that allow an application to continue executing while performing asynchronous operations in threads other than the main application thread. The following sections describe and provide code examples that demonstrate the different ways you can call asynchronous methods that use the design pattern. diff --git a/docs/standard/asynchronous-programming-patterns/calling-synchronous-methods-asynchronously.md b/docs/standard/asynchronous-programming-patterns/calling-synchronous-methods-asynchronously.md index 97c38ec5ce22c..8862e9c6900d1 100644 --- a/docs/standard/asynchronous-programming-patterns/calling-synchronous-methods-asynchronously.md +++ b/docs/standard/asynchronous-programming-patterns/calling-synchronous-methods-asynchronously.md @@ -1,13 +1,7 @@ --- title: "Calling Synchronous Methods Asynchronously" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -26,13 +20,8 @@ helpviewer_keywords: - "waiting for asynchronous calls" - "status information [.NET Framework], asynchronous operations" ms.assetid: 41972034-92ed-450a-9664-ab93fcc6f1fb -caps.latest.revision: 24 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Calling Synchronous Methods Asynchronously The .NET Framework enables you to call any method asynchronously. To do this you define a delegate with the same signature as the method you want to call; the common language runtime automatically defines `BeginInvoke` and `EndInvoke` methods for this delegate, with the appropriate signatures. diff --git a/docs/standard/asynchronous-programming-patterns/component-that-supports-the-event-based-asynchronous-pattern.md b/docs/standard/asynchronous-programming-patterns/component-that-supports-the-event-based-asynchronous-pattern.md index 5423da0373460..5eb74b2c7f101 100644 --- a/docs/standard/asynchronous-programming-patterns/component-that-supports-the-event-based-asynchronous-pattern.md +++ b/docs/standard/asynchronous-programming-patterns/component-that-supports-the-event-based-asynchronous-pattern.md @@ -1,13 +1,7 @@ --- title: "Walkthrough: Implementing a Component That Supports the Event-based Asynchronous Pattern" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -24,13 +18,6 @@ helpviewer_keywords: - "threading [Windows Forms], asynchronous features" - "AsyncCompletedEventArgs class" ms.assetid: 61f676b5-936f-40f6-83ce-f22805ec9c2f -caps.latest.revision: 21 -author: dotnet-bot -ms.author: dotnetcontent -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Walkthrough: Implementing a Component That Supports the Event-based Asynchronous Pattern If you are writing a class with some operations that may incur noticeable delays, consider giving it asynchronous functionality by implementing the [Event-based Asynchronous Pattern Overview](../../../docs/standard/asynchronous-programming-patterns/event-based-asynchronous-pattern-overview.md). diff --git a/docs/standard/asynchronous-programming-patterns/consuming-the-task-based-asynchronous-pattern.md b/docs/standard/asynchronous-programming-patterns/consuming-the-task-based-asynchronous-pattern.md index c2b1dee7368b9..825b45b719d5f 100644 --- a/docs/standard/asynchronous-programming-patterns/consuming-the-task-based-asynchronous-pattern.md +++ b/docs/standard/asynchronous-programming-patterns/consuming-the-task-based-asynchronous-pattern.md @@ -1,13 +1,7 @@ --- title: "Consuming the Task-based Asynchronous Pattern" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - ".NET Framework, and TAP" - "asynchronous design patterns, .NET Framework" @@ -15,13 +9,8 @@ helpviewer_keywords: - "Task-based Asynchronous Pattern, .NET Framework support for" - ".NET Framework, asynchronous design patterns" ms.assetid: 033cf871-ae24-433d-8939-7a3793e547bf -caps.latest.revision: 15 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Consuming the Task-based Asynchronous Pattern When you use the Task-based Asynchronous Pattern (TAP) to work with asynchronous operations, you can use callbacks to achieve waiting without blocking. For tasks, this is achieved through methods such as . Language-based asynchronous support hides callbacks by allowing asynchronous operations to be awaited within normal control flow, and compiler-generated code provides this same API-level support. diff --git a/docs/standard/asynchronous-programming-patterns/deciding-when-to-implement-the-event-based-asynchronous-pattern.md b/docs/standard/asynchronous-programming-patterns/deciding-when-to-implement-the-event-based-asynchronous-pattern.md index 226efa6432bd7..92b012c14ada4 100644 --- a/docs/standard/asynchronous-programming-patterns/deciding-when-to-implement-the-event-based-asynchronous-pattern.md +++ b/docs/standard/asynchronous-programming-patterns/deciding-when-to-implement-the-event-based-asynchronous-pattern.md @@ -1,13 +1,7 @@ --- title: "Deciding When to Implement the Event-based Asynchronous Pattern" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "Event-based Asynchronous Pattern" - "ProgressChangedEventArgs class" @@ -18,13 +12,6 @@ helpviewer_keywords: - "AsyncOperation class" - "AsyncCompletedEventArgs class" ms.assetid: a00046aa-785d-4f7f-a8e5-d06475ea50da -caps.latest.revision: 8 -author: dotnet-bot -ms.author: dotnetcontent -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Deciding When to Implement the Event-based Asynchronous Pattern The Event-based Asynchronous Pattern provides a pattern for exposing the asynchronous behavior of a class. With the introduction of this pattern, the [!INCLUDE[dnprdnshort](../../../includes/dnprdnshort-md.md)] defines two patterns for exposing asynchronous behavior: the Asynchronous Pattern based on the interface, and the event-based pattern. This topic describes when it is appropriate for you to implement both patterns. diff --git a/docs/standard/asynchronous-programming-patterns/event-based-asynchronous-pattern-eap.md b/docs/standard/asynchronous-programming-patterns/event-based-asynchronous-pattern-eap.md index 6f0f06d76fe07..b8c78df40c178 100644 --- a/docs/standard/asynchronous-programming-patterns/event-based-asynchronous-pattern-eap.md +++ b/docs/standard/asynchronous-programming-patterns/event-based-asynchronous-pattern-eap.md @@ -1,25 +1,14 @@ --- title: "Event-based Asynchronous Pattern (EAP)" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "asynchronous calls" - "asynchronous programming, design patterns" - "asynchronous programming" ms.assetid: c6baed9f-2a25-4728-9a9a-53b7b14840cf -caps.latest.revision: 20 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Event-based Asynchronous Pattern (EAP) There are a number of ways to expose asynchronous features to client code. The Event-based Asynchronous Pattern prescribes one way for classes to present asynchronous behavior. diff --git a/docs/standard/asynchronous-programming-patterns/event-based-asynchronous-pattern-overview.md b/docs/standard/asynchronous-programming-patterns/event-based-asynchronous-pattern-overview.md index a97f6ada68416..7734fc4a110f7 100644 --- a/docs/standard/asynchronous-programming-patterns/event-based-asynchronous-pattern-overview.md +++ b/docs/standard/asynchronous-programming-patterns/event-based-asynchronous-pattern-overview.md @@ -1,13 +1,7 @@ --- title: "Event-based Asynchronous Pattern Overview" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -22,13 +16,6 @@ helpviewer_keywords: - "AsyncOperation class" - "AsyncCompletedEventArgs class" ms.assetid: 792aa8da-918b-458e-b154-9836b97735f3 -caps.latest.revision: 19 -author: dotnet-bot -ms.author: dotnetcontent -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Event-based Asynchronous Pattern Overview Applications that perform many tasks simultaneously, yet remain responsive to user interaction, often require a design that uses multiple threads. The namespace provides all the tools necessary to create high-performance multithreaded applications, but using these tools effectively requires significant experience with multithreaded software engineering. For relatively simple multithreaded applications, the component provides a straightforward solution. For more sophisticated asynchronous applications, consider implementing a class that adheres to the Event-based Asynchronous Pattern. diff --git a/docs/standard/asynchronous-programming-patterns/how-to-implement-a-client-of-the-event-based-asynchronous-pattern.md b/docs/standard/asynchronous-programming-patterns/how-to-implement-a-client-of-the-event-based-asynchronous-pattern.md index c13243df8c7ab..d28486940ed27 100644 --- a/docs/standard/asynchronous-programming-patterns/how-to-implement-a-client-of-the-event-based-asynchronous-pattern.md +++ b/docs/standard/asynchronous-programming-patterns/how-to-implement-a-client-of-the-event-based-asynchronous-pattern.md @@ -1,13 +1,7 @@ --- title: "How to: Implement a Client of the Event-based Asynchronous Pattern" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -24,13 +18,6 @@ helpviewer_keywords: - "threading [Windows Forms], asynchronous features" - "AsyncCompletedEventArgs class" ms.assetid: 21a858c1-3c99-4904-86ee-0d17b49804fa -caps.latest.revision: 11 -author: dotnet-bot -ms.author: dotnetcontent -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Implement a Client of the Event-based Asynchronous Pattern The following code example demonstrates how to use a component that adheres to the [Event-based Asynchronous Pattern Overview](../../../docs/standard/asynchronous-programming-patterns/event-based-asynchronous-pattern-overview.md). The form for this example uses the `PrimeNumberCalculator` component described in [How to: Implement a Component That Supports the Event-based Asynchronous Pattern](../../../docs/standard/asynchronous-programming-patterns/component-that-supports-the-event-based-asynchronous-pattern.md). diff --git a/docs/standard/asynchronous-programming-patterns/how-to-use-components-that-support-the-event-based-asynchronous-pattern.md b/docs/standard/asynchronous-programming-patterns/how-to-use-components-that-support-the-event-based-asynchronous-pattern.md index 46d5c6271a902..fa7b4db76a168 100644 --- a/docs/standard/asynchronous-programming-patterns/how-to-use-components-that-support-the-event-based-asynchronous-pattern.md +++ b/docs/standard/asynchronous-programming-patterns/how-to-use-components-that-support-the-event-based-asynchronous-pattern.md @@ -1,13 +1,7 @@ --- title: "How to: Use Components That Support the Event-based Asynchronous Pattern" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -24,13 +18,6 @@ helpviewer_keywords: - "threading [Windows Forms], asynchronous features" - "AsyncCompletedEventArgs class" ms.assetid: 35e9549c-1568-4768-ad07-17cc6dff11e1 -caps.latest.revision: 15 -author: dotnet-bot -ms.author: dotnetcontent -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Use Components That Support the Event-based Asynchronous Pattern Many components provide you with the option of performing their work asynchronously. The and components, for example, enable you to load sounds and images "in the background" while your main thread continues running without interruption. diff --git a/docs/standard/asynchronous-programming-patterns/implementing-the-event-based-asynchronous-pattern.md b/docs/standard/asynchronous-programming-patterns/implementing-the-event-based-asynchronous-pattern.md index 08f43d2601b8d..e8c45624d018e 100644 --- a/docs/standard/asynchronous-programming-patterns/implementing-the-event-based-asynchronous-pattern.md +++ b/docs/standard/asynchronous-programming-patterns/implementing-the-event-based-asynchronous-pattern.md @@ -1,13 +1,7 @@ --- title: "Implementing the Event-based Asynchronous Pattern" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -23,13 +17,6 @@ helpviewer_keywords: - "AsyncOperation class" - "AsyncCompletedEventArgs class" ms.assetid: 43402d19-8d30-426d-8785-1a4478233bfa -caps.latest.revision: 20 -author: dotnet-bot -ms.author: dotnetcontent -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Implementing the Event-based Asynchronous Pattern If you are writing a class with some operations that may incur noticeable delays, consider giving it asynchronous functionality by implementing [Event-based Asynchronous Pattern Overview](../../../docs/standard/asynchronous-programming-patterns/event-based-asynchronous-pattern-overview.md). diff --git a/docs/standard/asynchronous-programming-patterns/implementing-the-task-based-asynchronous-pattern.md b/docs/standard/asynchronous-programming-patterns/implementing-the-task-based-asynchronous-pattern.md index 22adf32c3c25d..ba61849f4a66b 100644 --- a/docs/standard/asynchronous-programming-patterns/implementing-the-task-based-asynchronous-pattern.md +++ b/docs/standard/asynchronous-programming-patterns/implementing-the-task-based-asynchronous-pattern.md @@ -1,10 +1,6 @@ --- title: "Implementing the Task-based Asynchronous Pattern" ms.date: "06/14/2017" -ms.prod: ".net" -ms.technology: - - "dotnet-clr" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -15,13 +11,8 @@ helpviewer_keywords: - "Task-based Asynchronous Pattern, .NET Framework support for" - ".NET Framework, asynchronous design patterns" ms.assetid: fab6bd41-91bd-44ad-86f9-d8319988aa78 -caps.latest.revision: 14 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Implementing the Task-based Asynchronous Pattern You can implement the Task-based Asynchronous Pattern (TAP) in three ways: by using the C# and Visual Basic compilers in Visual Studio, manually, or through a combination of the compiler and manual methods. The following sections discuss each method in detail. You can use the TAP pattern to implement both compute-bound and I/O-bound asynchronous operations. The [Workloads](#workloads) section discusses each type of operation. diff --git a/docs/standard/asynchronous-programming-patterns/index.md b/docs/standard/asynchronous-programming-patterns/index.md index 0b5abc3afec29..e1368aee7ffaf 100644 --- a/docs/standard/asynchronous-programming-patterns/index.md +++ b/docs/standard/asynchronous-programming-patterns/index.md @@ -1,26 +1,14 @@ --- title: "Asynchronous Programming Patterns" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "asynchronous design patterns, .NET Framework" - ".NET Framework, asynchronous design patterns" ms.assetid: 4ece5c0b-f8fe-4114-9862-ac02cfe5a5d7 -caps.latest.revision: 5 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- - # Asynchronous Programming Patterns The .NET Framework provides three patterns for performing asynchronous operations: diff --git a/docs/standard/asynchronous-programming-patterns/interop-with-other-asynchronous-patterns-and-types.md b/docs/standard/asynchronous-programming-patterns/interop-with-other-asynchronous-patterns-and-types.md index fad85d3be9c11..f8dfe4c26700d 100644 --- a/docs/standard/asynchronous-programming-patterns/interop-with-other-asynchronous-patterns-and-types.md +++ b/docs/standard/asynchronous-programming-patterns/interop-with-other-asynchronous-patterns-and-types.md @@ -1,13 +1,7 @@ --- title: "Interop with Other Asynchronous Patterns and Types" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -18,13 +12,8 @@ helpviewer_keywords: - "Task-based Asynchronous Pattern, .NET Framework support for" - ".NET Framework, asynchronous design patterns" ms.assetid: f120a5d9-933b-4d1d-acb6-f034a57c3749 -caps.latest.revision: 11 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Interop with Other Asynchronous Patterns and Types The .NET Framework 1.0 introduced the pattern, otherwise known as the [Asynchronous Programming Model (APM)](../../../docs/standard/asynchronous-programming-patterns/asynchronous-programming-model-apm.md), or the `Begin/End` pattern. The .NET Framework 2.0 added the [Event-based Asynchronous Pattern (EAP)](../../../docs/standard/asynchronous-programming-patterns/event-based-asynchronous-pattern-eap.md). Starting with the .NET Framework 4, the [Task-based Asynchronous Pattern (TAP)](../../../docs/standard/asynchronous-programming-patterns/task-based-asynchronous-pattern-tap.md) supersedes both APM and EAP, but provides the ability to easily build migration routines from the earlier patterns. diff --git a/docs/standard/asynchronous-programming-patterns/multithreaded-programming-with-the-event-based-asynchronous-pattern.md b/docs/standard/asynchronous-programming-patterns/multithreaded-programming-with-the-event-based-asynchronous-pattern.md index 688e521691970..7ffd1c27d5bc2 100644 --- a/docs/standard/asynchronous-programming-patterns/multithreaded-programming-with-the-event-based-asynchronous-pattern.md +++ b/docs/standard/asynchronous-programming-patterns/multithreaded-programming-with-the-event-based-asynchronous-pattern.md @@ -1,13 +1,7 @@ --- title: "Multithreaded Programming with the Event-based Asynchronous Pattern" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "Event-based Asynchronous Pattern" - "ProgressChangedEventArgs class" @@ -19,13 +13,6 @@ helpviewer_keywords: - "AsyncOperation class" - "AsyncCompletedEventArgs class" ms.assetid: 958d6617-5e70-4b36-b5db-63c16dc35e43 -caps.latest.revision: 19 -author: dotnet-bot -ms.author: dotnetcontent -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Multithreaded Programming with the Event-based Asynchronous Pattern There are a number of ways to expose asynchronous features to client code. The Event-based Asynchronous Pattern prescribes the recommended way for classes to present asynchronous behavior. diff --git a/docs/standard/asynchronous-programming-patterns/polling-for-the-status-of-an-asynchronous-operation.md b/docs/standard/asynchronous-programming-patterns/polling-for-the-status-of-an-asynchronous-operation.md index 694f8aabdea5a..7cb3392a725c1 100644 --- a/docs/standard/asynchronous-programming-patterns/polling-for-the-status-of-an-asynchronous-operation.md +++ b/docs/standard/asynchronous-programming-patterns/polling-for-the-status-of-an-asynchronous-operation.md @@ -1,13 +1,7 @@ --- title: "Polling for the Status of an Asynchronous Operation" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -16,13 +10,8 @@ helpviewer_keywords: - "polling asynchronous operation status" - "status information [.NET Framework], asynchronous operations" ms.assetid: b541af31-dacb-4e20-8847-1b1ff7c35363 -caps.latest.revision: 7 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Polling for the Status of an Asynchronous Operation Applications that can do other work while waiting for the results of an asynchronous operation should not block waiting until the operation completes. Use one of the following options to continue executing instructions while waiting for an asynchronous operation to complete: diff --git a/docs/standard/asynchronous-programming-patterns/task-based-asynchronous-pattern-tap.md b/docs/standard/asynchronous-programming-patterns/task-based-asynchronous-pattern-tap.md index f8ad1834aea88..51fee928afd70 100644 --- a/docs/standard/asynchronous-programming-patterns/task-based-asynchronous-pattern-tap.md +++ b/docs/standard/asynchronous-programming-patterns/task-based-asynchronous-pattern-tap.md @@ -1,13 +1,7 @@ --- title: "Task-based Asynchronous Pattern (TAP)" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -18,13 +12,8 @@ helpviewer_keywords: - "Task-based Asynchronous Pattern, .NET Framework support for" - ".NET Framework, asynchronous design patterns" ms.assetid: 8cef1fcf-6f9f-417c-b21f-3fd8bac75007 -caps.latest.revision: 15 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Task-based Asynchronous Pattern (TAP) The Task-based Asynchronous Pattern (TAP) is based on the and types in the namespace, which are used to represent arbitrary asynchronous operations. TAP is the recommended asynchronous design pattern for new development. diff --git a/docs/standard/asynchronous-programming-patterns/using-an-asynccallback-delegate-and-state-object.md b/docs/standard/asynchronous-programming-patterns/using-an-asynccallback-delegate-and-state-object.md index 8238f84649bd3..fd347b5fb511b 100644 --- a/docs/standard/asynchronous-programming-patterns/using-an-asynccallback-delegate-and-state-object.md +++ b/docs/standard/asynchronous-programming-patterns/using-an-asynccallback-delegate-and-state-object.md @@ -1,13 +1,7 @@ --- title: "Using an AsyncCallback Delegate and State Object" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -17,13 +11,8 @@ helpviewer_keywords: - "asynchronous programming, state objects" - "IAsyncResult interface, samples" ms.assetid: e3e5475d-c5e9-43f0-928e-d18df8ca1f1d -caps.latest.revision: 11 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Using an AsyncCallback Delegate and State Object When you use an delegate to process the results of the asynchronous operation in a separate thread, you can use a state object to pass information between the callbacks and to retrieve a final result. This topic demonstrates that practice by expanding the example in [Using an AsyncCallback Delegate to End an Asynchronous Operation](../../../docs/standard/asynchronous-programming-patterns/using-an-asynccallback-delegate-to-end-an-asynchronous-operation.md). diff --git a/docs/standard/asynchronous-programming-patterns/using-an-asynccallback-delegate-to-end-an-asynchronous-operation.md b/docs/standard/asynchronous-programming-patterns/using-an-asynccallback-delegate-to-end-an-asynchronous-operation.md index 89eb12858bb9f..63d2b571ac841 100644 --- a/docs/standard/asynchronous-programming-patterns/using-an-asynccallback-delegate-to-end-an-asynchronous-operation.md +++ b/docs/standard/asynchronous-programming-patterns/using-an-asynccallback-delegate-to-end-an-asynchronous-operation.md @@ -1,13 +1,7 @@ --- title: "Using an AsyncCallback Delegate to End an Asynchronous Operation" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -17,13 +11,8 @@ helpviewer_keywords: - "AsyncCallback delegate" - "stopping asynchronous operations" ms.assetid: 9d97206c-8917-406c-8961-7d0909d84eeb -caps.latest.revision: 7 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Using an AsyncCallback Delegate to End an Asynchronous Operation Applications that can do other work while waiting for the results of an asynchronous operation should not block waiting until the operation completes. Use one of the following options to continue executing instructions while waiting for an asynchronous operation to complete: diff --git a/docs/standard/attributes/applying-attributes.md b/docs/standard/attributes/applying-attributes.md index 18e4d43dc2cba..588ecc134832a 100644 --- a/docs/standard/attributes/applying-attributes.md +++ b/docs/standard/attributes/applying-attributes.md @@ -1,13 +1,7 @@ --- title: "Applying Attributes" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -16,13 +10,8 @@ helpviewer_keywords: - "assemblies [.NET Framework], attributes" - "attributes [.NET Framework], applying" ms.assetid: dd7604eb-9fa3-4b60-b2dd-b47739fa3148 -caps.latest.revision: 19 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Applying Attributes Use the following process to apply an attribute to an element of your code. diff --git a/docs/standard/attributes/index.md b/docs/standard/attributes/index.md index e5c66d91896f4..e5be61d0c6633 100644 --- a/docs/standard/attributes/index.md +++ b/docs/standard/attributes/index.md @@ -1,13 +1,7 @@ --- title: "Extending Metadata Using Attributes" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "metadata, extending" - "attributes [.NET Framework], metadata" @@ -18,13 +12,8 @@ helpviewer_keywords: - "runtime, attributes" - "extending metadata" ms.assetid: 30386922-1e00-4602-9ebf-526b271a8b87 -caps.latest.revision: 12 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Extending Metadata Using Attributes The common language runtime allows you to add keyword-like descriptive declarations, called attributes, to annotate programming elements such as types, fields, methods, and properties. When you compile your code for the runtime, it is converted into Microsoft intermediate language (MSIL) and placed inside a portable executable (PE) file along with metadata generated by the compiler. Attributes allow you to place extra descriptive information into metadata that can be extracted using runtime reflection services. The compiler creates attributes when you declare instances of special classes that derive from . diff --git a/docs/standard/attributes/retrieving-information-stored-in-attributes.md b/docs/standard/attributes/retrieving-information-stored-in-attributes.md index 6a2a36ee20077..44797044c8d19 100644 --- a/docs/standard/attributes/retrieving-information-stored-in-attributes.md +++ b/docs/standard/attributes/retrieving-information-stored-in-attributes.md @@ -1,13 +1,7 @@ --- title: "Retrieving Information Stored in Attributes" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -17,13 +11,8 @@ helpviewer_keywords: - "multiple attribute instances" - "attributes [.NET Framework], retrieving" ms.assetid: 37dfe4e3-7da0-48b6-a3d9-398981524e1c -caps.latest.revision: 12 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Retrieving Information Stored in Attributes Retrieving a custom attribute is a simple process. First, declare an instance of the attribute you want to retrieve. Then, use the method to initialize the new attribute to the value of the attribute you want to retrieve. Once the new attribute is initialized, you simply use its properties to get the values. diff --git a/docs/standard/attributes/writing-custom-attributes.md b/docs/standard/attributes/writing-custom-attributes.md index 1fd2957e85df1..1a964ef2ac0b2 100644 --- a/docs/standard/attributes/writing-custom-attributes.md +++ b/docs/standard/attributes/writing-custom-attributes.md @@ -1,13 +1,7 @@ --- title: "Writing Custom Attributes" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -22,13 +16,8 @@ helpviewer_keywords: - "Inherited property" - "attribute classes, declaring" ms.assetid: 97216f69-bde8-49fd-ac40-f18c500ef5dc -caps.latest.revision: 14 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Writing Custom Attributes To design your own custom attributes, you do not need to master many new concepts. If you are familiar with object-oriented programming and know how to design classes, you already have most of the knowledge needed. Custom attributes are essentially traditional classes that derive directly or indirectly from . Just like traditional classes, custom attributes contain methods that store and retrieve data. diff --git a/docs/standard/automatic-memory-management.md b/docs/standard/automatic-memory-management.md index 0b1b268fa8e2c..ec5e121d98094 100644 --- a/docs/standard/automatic-memory-management.md +++ b/docs/standard/automatic-memory-management.md @@ -1,13 +1,7 @@ --- title: "Automatic Memory Management" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "garbage collection, automatic memory management" - "memory, allocating" @@ -18,13 +12,8 @@ helpviewer_keywords: - "managed heap" - "runtime, automatic memory management" ms.assetid: d4850de5-fa63-4936-a250-5678d118acba -caps.latest.revision: 12 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Automatic Memory Management Automatic memory management is one of the services that the Common Language Runtime provides during [Managed Execution](../../docs/standard/managed-execution-process.md). The Common Language Runtime's garbage collector manages the allocation and release of memory for an application. For developers, this means that you do not have to write code to perform memory management tasks when you develop managed applications. Automatic memory management can eliminate common problems, such as forgetting to free an object and causing a memory leak, or attempting to access memory for an object that has already been freed. This section describes how the garbage collector allocates and releases memory. diff --git a/docs/standard/base-types/alternation-constructs-in-regular-expressions.md b/docs/standard/base-types/alternation-constructs-in-regular-expressions.md index a318214c10b76..022f75a86077c 100644 --- a/docs/standard/base-types/alternation-constructs-in-regular-expressions.md +++ b/docs/standard/base-types/alternation-constructs-in-regular-expressions.md @@ -1,13 +1,7 @@ --- title: "Alternation Constructs in Regular Expressions" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -20,13 +14,8 @@ helpviewer_keywords: - "constructs, alternation" - ".NET Framework regular expressions, alternation constructs" ms.assetid: 071e22e9-fbb0-4ecf-add1-8d2424f9f2d1 -caps.latest.revision: 15 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Alternation Constructs in Regular Expressions Alternation constructs modify a regular expression to enable either/or or conditional matching. .NET supports three alternation constructs: diff --git a/docs/standard/base-types/anchors-in-regular-expressions.md b/docs/standard/base-types/anchors-in-regular-expressions.md index 5a40089b0212a..b9b59486089b7 100644 --- a/docs/standard/base-types/anchors-in-regular-expressions.md +++ b/docs/standard/base-types/anchors-in-regular-expressions.md @@ -1,13 +1,7 @@ --- title: "Anchors in Regular Expressions" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -21,13 +15,8 @@ helpviewer_keywords: - ".NET Framework regular expressions, anchors" - ".NET Framework regular expressions, atomic zero-width assertions" ms.assetid: 336391f6-2614-499b-8b1b-07a6837108a7 -caps.latest.revision: 20 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Anchors in Regular Expressions Anchors, or atomic zero-width assertions, specify a position in the string where a match must occur. When you use an anchor in your search expression, the regular expression engine does not advance through the string or consume characters; it looks for a match in the specified position only. For example, `^` specifies that the match must start at the beginning of a line or string. Therefore, the regular expression `^http:` matches "http:" only when it occurs at the beginning of a line. The following table lists the anchors supported by the regular expressions in .NET. diff --git a/docs/standard/base-types/backreference-constructs-in-regular-expressions.md b/docs/standard/base-types/backreference-constructs-in-regular-expressions.md index d2421af4e2d66..96bb7d9f6cf42 100644 --- a/docs/standard/base-types/backreference-constructs-in-regular-expressions.md +++ b/docs/standard/base-types/backreference-constructs-in-regular-expressions.md @@ -1,13 +1,7 @@ --- title: "Backreference Constructs in Regular Expressions" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -17,13 +11,8 @@ helpviewer_keywords: - ".NET Framework regular expressions, backreference constructs" - "regular expressions, backreference constructs" ms.assetid: 567a4b8d-0e79-49dc-8df9-f4b1aa376a2a -caps.latest.revision: 11 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Backreference Constructs in Regular Expressions Backreferences provide a convenient way to identify a repeated character or substring within a string. For example, if the input string contains multiple occurrences of an arbitrary substring, you can match the first occurrence with a capturing group, and then use a backreference to match subsequent occurrences of the substring. diff --git a/docs/standard/base-types/backtracking-in-regular-expressions.md b/docs/standard/base-types/backtracking-in-regular-expressions.md index 2f486603d830f..7667576627bd5 100644 --- a/docs/standard/base-types/backtracking-in-regular-expressions.md +++ b/docs/standard/base-types/backtracking-in-regular-expressions.md @@ -1,13 +1,7 @@ --- title: "Backtracking in Regular Expressions" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -22,13 +16,8 @@ helpviewer_keywords: - "strings [.NET Framework], regular expressions" - "parsing text with regular expressions, backtracking" ms.assetid: 34df1152-0b22-4a1c-a76c-3c28c47b70d8 -caps.latest.revision: 20 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Backtracking in Regular Expressions Backtracking occurs when a regular expression pattern contains optional [quantifiers](../../../docs/standard/base-types/quantifiers-in-regular-expressions.md) or [alternation constructs](../../../docs/standard/base-types/alternation-constructs-in-regular-expressions.md), and the regular expression engine returns to a previous saved state to continue its search for a match. Backtracking is central to the power of regular expressions; it makes it possible for expressions to be powerful and flexible, and to match very complex patterns. At the same time, this power comes at a cost. Backtracking is often the single most important factor that affects the performance of the regular expression engine. Fortunately, the developer has control over the behavior of the regular expression engine and how it uses backtracking. This topic explains how backtracking works and how it can be controlled. diff --git a/docs/standard/base-types/basic-manipulations.md b/docs/standard/base-types/basic-manipulations.md index 99fb576710e2b..a3e9258adb095 100644 --- a/docs/standard/base-types/basic-manipulations.md +++ b/docs/standard/base-types/basic-manipulations.md @@ -1,26 +1,15 @@ --- title: "How to: Perform Basic String Manipulations in the .NET Framework" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "strings [.NET Framework], examples" ms.assetid: 121d1eae-251b-44c0-8818-57da04b8215e -caps.latest.revision: 7 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Perform Basic String Manipulations in .NET The following example uses some of the methods discussed in the [Basic String Operations](../../../docs/standard/base-types/basic-string-operations.md) topics to construct a class that performs string manipulations in a manner that might be found in a real-world application. The `MailToData` class stores the name and address of an individual in separate properties and provides a way to combine the `City`, `State`, and `Zip` fields into a single string for display to the user. Furthermore, the class allows the user to enter the city, state, and ZIP Code information as a single string; the application automatically parses the single string and enters the proper information into the corresponding property. diff --git a/docs/standard/base-types/basic-string-operations.md b/docs/standard/base-types/basic-string-operations.md index 2bde8a4c0e5b6..16e61199b9227 100644 --- a/docs/standard/base-types/basic-string-operations.md +++ b/docs/standard/base-types/basic-string-operations.md @@ -1,24 +1,13 @@ --- title: "Basic String Operations in the .NET Framework" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "strings [.NET Framework], basic string operations" - "custom strings" ms.assetid: 8133d357-90b5-4b62-9927-43323d99b6b6 -caps.latest.revision: 13 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Basic String Operations in .NET Applications often respond to users by constructing messages based on user input. For example, it is not uncommon for Web sites to respond to a newly logged-on user with a specialized greeting that includes the user's name. Several methods in the and classes allow you to dynamically construct custom strings to display in your user interface. These methods also help you perform a number of basic string operations like creating new strings from arrays of bytes, comparing the values of strings, and modifying existing strings. diff --git a/docs/standard/base-types/best-practices-strings.md b/docs/standard/base-types/best-practices-strings.md index 1203ad161742c..f27d9b6b30003 100644 --- a/docs/standard/base-types/best-practices-strings.md +++ b/docs/standard/base-types/best-practices-strings.md @@ -1,13 +1,7 @@ --- title: "Best Practices for Using Strings in .NET" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -23,13 +17,8 @@ helpviewer_keywords: - "comparing strings" - "strings [.NET Framework],comparing" ms.assetid: b9f0bf53-e2de-4116-8ce9-d4f91a1df4f7 -caps.latest.revision: 35 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Best Practices for Using Strings in .NET .NET provides extensive support for developing localized and globalized applications, and makes it easy to apply the conventions of either the current culture or a specific culture when performing common operations such as sorting and displaying strings. But sorting or comparing strings is not always a culture-sensitive operation. For example, strings that are used internally by an application typically should be handled identically across all cultures. When culturally independent string data, such as XML tags, HTML tags, user names, file paths, and the names of system objects, are interpreted as if they were culture-sensitive, application code can be subject to subtle bugs, poor performance, and, in some cases, security issues. diff --git a/docs/standard/base-types/best-practices.md b/docs/standard/base-types/best-practices.md index 773235dd4150d..eb1cf1d03137c 100644 --- a/docs/standard/base-types/best-practices.md +++ b/docs/standard/base-types/best-practices.md @@ -1,13 +1,7 @@ --- title: "Best Practices for Regular Expressions in .NET" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -15,13 +9,8 @@ helpviewer_keywords: - ".NET Framework regular expressions, best practices" - "regular expressions, best practices" ms.assetid: 618e5afb-3a97-440d-831a-70e4c526a51c -caps.latest.revision: 15 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Best Practices for Regular Expressions in .NET The regular expression engine in .NET is a powerful, full-featured tool that processes text based on pattern matches rather than on comparing and matching literal text. In most cases, it performs pattern matching rapidly and efficiently. However, in some cases, the regular expression engine can appear to be very slow. In extreme cases, it can even appear to stop responding as it processes a relatively small input over the course of hours or even days. diff --git a/docs/standard/base-types/changing-case.md b/docs/standard/base-types/changing-case.md index c5cafcd3ad4e6..6930a1cb1ecc0 100644 --- a/docs/standard/base-types/changing-case.md +++ b/docs/standard/base-types/changing-case.md @@ -1,13 +1,7 @@ --- title: "Changing Case in the .NET Framework" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -19,13 +13,8 @@ helpviewer_keywords: - "uppercase" - "lowercase" ms.assetid: 6805f81b-e9ad-4387-9f4c-b9bdb21b87c0 -caps.latest.revision: 15 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Changing Case in .NET If you write an application that accepts input from a user, you can never be sure what case he or she will use to enter the data. Often, you want strings to be cased consistently, particularly if you are displaying them in the user interface. The following table describes three case-changing methods. The first two methods provide an overload that accepts a culture. diff --git a/docs/standard/base-types/character-classes-in-regular-expressions.md b/docs/standard/base-types/character-classes-in-regular-expressions.md index 0d0e3eff88e67..773d886684cea 100644 --- a/docs/standard/base-types/character-classes-in-regular-expressions.md +++ b/docs/standard/base-types/character-classes-in-regular-expressions.md @@ -1,13 +1,7 @@ --- title: "Character Classes in Regular Expressions" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -17,13 +11,8 @@ helpviewer_keywords: - "characters, matching syntax" - ".NET Framework regular expressions, character classes" ms.assetid: 0f8bffab-ee0d-4e0e-9a96-2b4a252bb7e4 -caps.latest.revision: 58 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Character Classes in Regular Expressions A character class defines a set of characters, any one of which can occur in an input string for a match to succeed. The regular expression language in .NET supports the following character classes: diff --git a/docs/standard/base-types/character-encoding.md b/docs/standard/base-types/character-encoding.md index 19725cf5508eb..a8ac49472cec3 100644 --- a/docs/standard/base-types/character-encoding.md +++ b/docs/standard/base-types/character-encoding.md @@ -1,13 +1,7 @@ --- title: "Character Encoding in .NET" -ms.custom: "" ms.date: "12/22/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -16,13 +10,8 @@ helpviewer_keywords: - "encoding, choosing" - "encoding, fallback strategy" ms.assetid: bf6d9823-4c2d-48af-b280-919c5af66ae9 -caps.latest.revision: 33 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Character Encoding in .NET Characters are abstract entities that can be represented in many different ways. A character encoding is a system that pairs each character in a supported character set with some value that represents that character. For example, Morse code is a character encoding that pairs each character in the Roman alphabet with a pattern of dots and dashes that are suitable for transmission over telegraph lines. A character encoding for computers pairs each character in a supported character set with a numeric value that represents that character. A character encoding has two distinct components: diff --git a/docs/standard/base-types/character-escapes-in-regular-expressions.md b/docs/standard/base-types/character-escapes-in-regular-expressions.md index f8b841d41d727..7e43a12d35af3 100644 --- a/docs/standard/base-types/character-escapes-in-regular-expressions.md +++ b/docs/standard/base-types/character-escapes-in-regular-expressions.md @@ -1,13 +1,7 @@ --- title: "Character Escapes in Regular Expressions" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -20,13 +14,8 @@ helpviewer_keywords: - ".NET Framework regular expressions, character escapes" - "constructs, character escapes" ms.assetid: f49cc9cc-db7d-4058-8b8a-422bc08b29b0 -caps.latest.revision: 31 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Character Escapes in Regular Expressions The backslash (\\) in a regular expression indicates one of the following: diff --git a/docs/standard/base-types/common-type-system.md b/docs/standard/base-types/common-type-system.md index f69ba72a07916..a8902f6ed4a7c 100644 --- a/docs/standard/base-types/common-type-system.md +++ b/docs/standard/base-types/common-type-system.md @@ -1,13 +1,7 @@ --- title: "Common Type System" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -21,13 +15,8 @@ helpviewer_keywords: - "namespaces [.NET Framework], types" - "types, about types" ms.assetid: 53c57c96-83e1-4ee3-9543-9ac832671a89 -caps.latest.revision: 25 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Common Type System The common type system defines how types are declared, used, and managed in the common language runtime, and is also an important part of the runtime's support for cross-language integration. The common type system performs the following functions: diff --git a/docs/standard/base-types/comparing.md b/docs/standard/base-types/comparing.md index 0be4b90cbfb3e..98e0750a67c1b 100644 --- a/docs/standard/base-types/comparing.md +++ b/docs/standard/base-types/comparing.md @@ -1,13 +1,7 @@ --- title: "Comparing Strings in .NET" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -24,13 +18,8 @@ helpviewer_keywords: - "Equals method" - "StartsWith method" ms.assetid: 977dc094-fe19-4955-98ec-d2294d04a4ba -caps.latest.revision: 15 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Comparing Strings in .NET .NET provides several methods to compare the values of strings. The following table lists and describes the value-comparison methods. diff --git a/docs/standard/base-types/compilation-and-reuse-in-regular-expressions.md b/docs/standard/base-types/compilation-and-reuse-in-regular-expressions.md index 240c36aea8e3b..8a55f0097d031 100644 --- a/docs/standard/base-types/compilation-and-reuse-in-regular-expressions.md +++ b/docs/standard/base-types/compilation-and-reuse-in-regular-expressions.md @@ -1,13 +1,7 @@ --- title: "Compilation and Reuse in Regular Expressions" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "parsing text with regular expressions, compilation" - "searching with regular expressions, compilation" @@ -18,13 +12,8 @@ helpviewer_keywords: - "pattern-matching with regular expressions, compilation" - "regular expressions, engines" ms.assetid: 182ec76d-5a01-4d73-996c-0b0d14fcea18 -caps.latest.revision: 11 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Compilation and Reuse in Regular Expressions You can optimize the performance of applications that make extensive use of regular expressions by understanding how the regular expression engine compiles expressions and by understanding how regular expressions are cached. This topic discusses both compilation and caching. diff --git a/docs/standard/base-types/composite-formatting.md b/docs/standard/base-types/composite-formatting.md index 1faf2f0256a49..98ac73c3e5bbb 100644 --- a/docs/standard/base-types/composite-formatting.md +++ b/docs/standard/base-types/composite-formatting.md @@ -1,13 +1,7 @@ --- title: "Composite Formatting" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -19,13 +13,8 @@ helpviewer_keywords: - "composite formatting" - "objects [.NET Framework], formatting multiple objects" ms.assetid: 87b7d528-73f6-43c6-b71a-f23043039a49 -caps.latest.revision: 36 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Composite Formatting The .NET composite formatting feature takes a list of objects and a composite format string as input. A composite format string consists of fixed text intermixed with indexed placeholders, called format items, that correspond to the objects in the list. The formatting operation yields a result string that consists of the original fixed text intermixed with the string representation of the objects in the list. diff --git a/docs/standard/base-types/conversion-tables.md b/docs/standard/base-types/conversion-tables.md index 1e05216f56d23..5e3337be7fc1d 100644 --- a/docs/standard/base-types/conversion-tables.md +++ b/docs/standard/base-types/conversion-tables.md @@ -1,13 +1,7 @@ --- title: "Type Conversion Tables in .NET" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "widening conversions" - "narrowing conversions" @@ -18,13 +12,8 @@ helpviewer_keywords: - "tables [.NET Framework], type conversions" - "data types [.NET Framework], converting" ms.assetid: 0ea65c59-85eb-4a52-94ca-c36d3bd13058 -caps.latest.revision: 11 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Type Conversion Tables in .NET Widening conversion occurs when a value of one type is converted to another type that is of equal or greater size. A narrowing conversion occurs when a value of one type is converted to a value of another type that is of a smaller size. The tables in this topic illustrate the behaviors exhibited by both types of conversions. diff --git a/docs/standard/base-types/creating-new.md b/docs/standard/base-types/creating-new.md index 5857a8acfe109..8f6650874bb53 100644 --- a/docs/standard/base-types/creating-new.md +++ b/docs/standard/base-types/creating-new.md @@ -1,13 +1,7 @@ --- title: "Creating New Strings in .NET" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -19,13 +13,8 @@ helpviewer_keywords: - "strings [.NET Framework], creating" - "Insert method" ms.assetid: 06fdf123-2fac-4459-8904-eb48ab908a30 -caps.latest.revision: 11 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Creating New Strings in .NET The [!INCLUDE[dnprdnshort](../../../includes/dnprdnshort-md.md)] allows strings to be created using simple assignment, and also overloads a class constructor to support string creation using a number of different parameters. The [!INCLUDE[dnprdnshort](../../../includes/dnprdnshort-md.md)] also provides several methods in the class that create new string objects by combining several strings, arrays of strings, or objects. diff --git a/docs/standard/base-types/custom-date-and-time-format-strings.md b/docs/standard/base-types/custom-date-and-time-format-strings.md index 1f5e036f793aa..54117cd93d26b 100644 --- a/docs/standard/base-types/custom-date-and-time-format-strings.md +++ b/docs/standard/base-types/custom-date-and-time-format-strings.md @@ -1,9 +1,7 @@ --- title: "Custom Date and Time Format Strings" ms.date: "03/30/2017" -ms.prod: ".net" ms.technology: dotnet-standard -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -16,13 +14,8 @@ helpviewer_keywords: - "formatting [.NET Framework], time" - "date and time strings" ms.assetid: 98b374e3-0cc2-4c78-ab44-efb671d71984 -caps.latest.revision: 79 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Custom Date and Time Format Strings A date and time format string defines the text representation of a or value that results from a formatting operation . It can also define the representation of a date and time value that is required in a parsing operation in order to successfully convert the string to a date and time. A custom format string consists of one or more custom date and time format specifiers. Any string that is not a [standard date and time format string](../../../docs/standard/base-types/standard-date-and-time-format-strings.md) is interpreted as a custom date and time format string. diff --git a/docs/standard/base-types/custom-numeric-format-strings.md b/docs/standard/base-types/custom-numeric-format-strings.md index 41dd6dd805269..3a9631e0fb8b9 100644 --- a/docs/standard/base-types/custom-numeric-format-strings.md +++ b/docs/standard/base-types/custom-numeric-format-strings.md @@ -1,13 +1,7 @@ --- title: "Custom Numeric Format Strings" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -22,13 +16,8 @@ helpviewer_keywords: - "formatting numbers [.NET Framework]" - "format specifiers, custom numeric format strings" ms.assetid: 6f74fd32-6c6b-48ed-8241-3c2b86dea5f4 -caps.latest.revision: 54 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Custom Numeric Format Strings You can create a custom numeric format string, which consists of one or more custom numeric specifiers, to define how to format numeric data. A custom numeric format string is any format string that is not a [standard numeric format string](../../../docs/standard/base-types/standard-numeric-format-strings.md). diff --git a/docs/standard/base-types/custom-timespan-format-strings.md b/docs/standard/base-types/custom-timespan-format-strings.md index f1e78c5cc3b4e..24e470a79675c 100644 --- a/docs/standard/base-types/custom-timespan-format-strings.md +++ b/docs/standard/base-types/custom-timespan-format-strings.md @@ -1,13 +1,7 @@ --- title: "Custom TimeSpan Format Strings" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -19,13 +13,8 @@ helpviewer_keywords: - "formatting [.NET Framework], time" - "custom TimeSpan format strings" ms.assetid: a63ebf55-7269-416b-b4f5-286f6c03bf0e -caps.latest.revision: 13 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Custom TimeSpan Format Strings A format string defines the string representation of a value that results from a formatting operation. A custom format string consists of one or more custom format specifiers along with any number of literal characters. Any string that is not a [standard TimeSpan format string](../../../docs/standard/base-types/standard-timespan-format-strings.md) is interpreted as a custom format string. diff --git a/docs/standard/base-types/details-of-regular-expression-behavior.md b/docs/standard/base-types/details-of-regular-expression-behavior.md index 8e6bc13cdd63c..fa38ebdfb0d16 100644 --- a/docs/standard/base-types/details-of-regular-expression-behavior.md +++ b/docs/standard/base-types/details-of-regular-expression-behavior.md @@ -1,13 +1,7 @@ --- title: "Details of Regular Expression Behavior" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -15,13 +9,8 @@ helpviewer_keywords: - "regular expressions, behavior" - ".NET Framework regular expressions, behavior" ms.assetid: 0ee1a6b8-caac-41d2-917f-d35570021b10 -caps.latest.revision: 27 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Details of Regular Expression Behavior The .NET Framework regular expression engine is a backtracking regular expression matcher that incorporates a traditional Nondeterministic Finite Automaton (NFA) engine such as that used by Perl, Python, Emacs, and Tcl. This distinguishes it from faster, but more limited, pure regular expression Deterministic Finite Automaton (DFA) engines such as those found in awk, egrep, or lex. This also distinguishes it from standardized, but slower, POSIX NFAs. The following section describes the three types of regular expression engines, and explains why regular expressions in the .NET Framework are implemented by using a traditional NFA engine. diff --git a/docs/standard/base-types/enumeration-format-strings.md b/docs/standard/base-types/enumeration-format-strings.md index d47af4b56b661..9aa3084a5b018 100644 --- a/docs/standard/base-types/enumeration-format-strings.md +++ b/docs/standard/base-types/enumeration-format-strings.md @@ -1,13 +1,7 @@ --- title: "Enumeration Format Strings" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -16,13 +10,8 @@ helpviewer_keywords: - "enumeration format strings" - "formatting [.NET Framework], enumeration" ms.assetid: dd1ff672-1052-42cf-8666-4924fb6cd1a1 -caps.latest.revision: 13 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Enumeration Format Strings You can use the method to create a new string object that represents the numeric, hexadecimal, or string value of an enumeration member. This method takes one of the enumeration formatting strings to specify the value that you want returned. diff --git a/docs/standard/base-types/formatting-types.md b/docs/standard/base-types/formatting-types.md index 63d7067284c37..1298b3de1a187 100644 --- a/docs/standard/base-types/formatting-types.md +++ b/docs/standard/base-types/formatting-types.md @@ -1,13 +1,7 @@ --- title: "Formatting Types in .NET" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -31,13 +25,8 @@ helpviewer_keywords: - "custom formatting [.NET Framework]" - "strings [.NET Framework], formatting" ms.assetid: 0d1364da-5b30-4d42-8e6b-03378343343f -caps.latest.revision: 43 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Formatting Types in .NET Formatting is the process of converting an instance of a class, structure, or enumeration value to its string representation, often so that the resulting string can be displayed to users or deserialized to restore the original data type. This conversion can pose a number of challenges: diff --git a/docs/standard/base-types/grouping-constructs-in-regular-expressions.md b/docs/standard/base-types/grouping-constructs-in-regular-expressions.md index aec95be4f99fd..fb485f0c801b0 100644 --- a/docs/standard/base-types/grouping-constructs-in-regular-expressions.md +++ b/docs/standard/base-types/grouping-constructs-in-regular-expressions.md @@ -1,13 +1,7 @@ --- title: "Grouping Constructs in Regular Expressions" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -19,13 +13,8 @@ helpviewer_keywords: - "constructs, grouping" - "grouping constructs" ms.assetid: 0fc18634-f590-4062-8d5c-f0b71abe405b -caps.latest.revision: 33 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Grouping Constructs in Regular Expressions Grouping constructs delineate the subexpressions of a regular expression and capture the substrings of an input string. You can use grouping constructs to do the following: diff --git a/docs/standard/base-types/how-to-convert-numeric-user-input-in-web-controls-to-numbers.md b/docs/standard/base-types/how-to-convert-numeric-user-input-in-web-controls-to-numbers.md index 94b25f9a87fcd..edbf7537e94d5 100644 --- a/docs/standard/base-types/how-to-convert-numeric-user-input-in-web-controls-to-numbers.md +++ b/docs/standard/base-types/how-to-convert-numeric-user-input-in-web-controls-to-numbers.md @@ -1,13 +1,7 @@ --- title: "How to: Convert Numeric User Input in Web Controls to Numbers" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -19,13 +13,8 @@ helpviewer_keywords: - "converting numeric user input to number" - "numbers [.NET Framework], converting numeric user input to number" ms.assetid: f27ddfb8-7479-4b79-8879-02a3bd8402d4 -caps.latest.revision: 8 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Convert Numeric User Input in Web Controls to Numbers Because a Web page can be displayed anywhere in the world, users can input numeric data into a control in an almost unlimited number of formats. As a result, it is very important to determine the locale and culture of the Web page's user. When you parse user input, you can then apply the formatting conventions defined by the user's locale and culture. diff --git a/docs/standard/base-types/how-to-define-and-use-custom-numeric-format-providers.md b/docs/standard/base-types/how-to-define-and-use-custom-numeric-format-providers.md index e639d9ece5ce3..ee27e4ed90bc6 100644 --- a/docs/standard/base-types/how-to-define-and-use-custom-numeric-format-providers.md +++ b/docs/standard/base-types/how-to-define-and-use-custom-numeric-format-providers.md @@ -1,13 +1,7 @@ --- title: "How to: Define and Use Custom Numeric Format Providers" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -21,13 +15,8 @@ helpviewer_keywords: - "format providers [.NET Framework]" - "custom format strings" ms.assetid: a281bfbf-6596-45ed-a2d6-3782d535ada2 -caps.latest.revision: 11 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Define and Use Custom Numeric Format Providers The [!INCLUDE[dnprdnshort](../../../includes/dnprdnshort-md.md)] gives you extensive control over the string representation of numeric values. It supports the following features for customizing the format of numeric values: diff --git a/docs/standard/base-types/how-to-display-dates-in-non-gregorian-calendars.md b/docs/standard/base-types/how-to-display-dates-in-non-gregorian-calendars.md index 4e2bd8117b0bc..007d5f8d30566 100644 --- a/docs/standard/base-types/how-to-display-dates-in-non-gregorian-calendars.md +++ b/docs/standard/base-types/how-to-display-dates-in-non-gregorian-calendars.md @@ -1,13 +1,7 @@ --- title: "How to: Display Dates in Non-Gregorian Calendars" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -17,13 +11,8 @@ helpviewer_keywords: - "calendars [.NET Framework], displaying dates" - "displaying date and time data" ms.assetid: ed324eff-4aff-4a76-b6c0-04e6c0d8f5a9 -caps.latest.revision: 7 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Display Dates in Non-Gregorian Calendars The and types use the Gregorian calendar as their default calendar. This means that calling a date and time value's `ToString` method displays the string representation of that date and time in the Gregorian calendar, even if that date and time was created using another calendar. This is illustrated in the following example, which uses two different ways to create a date and time value with the Persian calendar, but still displays those date and time values in the Gregorian calendar when it calls the method. This example reflects two commonly used but incorrect techniques for displaying the date in a particular calendar. diff --git a/docs/standard/base-types/how-to-display-localized-date-and-time-information-to-web-users.md b/docs/standard/base-types/how-to-display-localized-date-and-time-information-to-web-users.md index 1e0a4d2fdb3b1..18477c7e0eb27 100644 --- a/docs/standard/base-types/how-to-display-localized-date-and-time-information-to-web-users.md +++ b/docs/standard/base-types/how-to-display-localized-date-and-time-information-to-web-users.md @@ -1,13 +1,7 @@ --- title: "How to: Display Localized Date and Time Information to Web Users" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "formatting [.NET Framework], dates" - "parsing strings [.NET Framework], date and time strings" @@ -16,13 +10,8 @@ helpviewer_keywords: - "displaying date and time data" - "localized date displays [.NET Framework]" ms.assetid: 377fe93c-32be-421a-a30a-be639a46ede8 -caps.latest.revision: 8 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Display Localized Date and Time Information to Web Users Because a Web page can be displayed anywhere in the world, operations that parse and format date and time values should not rely on a default format (which most often is the format of the Web server's local culture) when interacting with the user. Instead, Web forms that handle date and time strings input by the user should parse the strings using the user's preferred culture. Similarly, date and time data should be displayed to the user in a format that conforms to the user's culture. This topic shows how to do this. diff --git a/docs/standard/base-types/how-to-display-milliseconds-in-date-and-time-values.md b/docs/standard/base-types/how-to-display-milliseconds-in-date-and-time-values.md index 302f6077f32a1..9c50f36b46c54 100644 --- a/docs/standard/base-types/how-to-display-milliseconds-in-date-and-time-values.md +++ b/docs/standard/base-types/how-to-display-milliseconds-in-date-and-time-values.md @@ -1,13 +1,7 @@ --- title: "How to: Display Milliseconds in Date and Time Values" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -18,13 +12,8 @@ helpviewer_keywords: - "dates [.NET Framework], milliseconds" - "milliseconds [.NET Framework]" ms.assetid: ae1a0610-90b9-4877-8eb6-4e30bc5e00cf -caps.latest.revision: 6 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Display Milliseconds in Date and Time Values The default date and time formatting methods, such as , include the hours, minutes, and seconds of a time value but exclude its milliseconds component. This topic shows how to include a date and time's millisecond component in formatted date and time strings. diff --git a/docs/standard/base-types/how-to-extract-a-protocol-and-port-number-from-a-url.md b/docs/standard/base-types/how-to-extract-a-protocol-and-port-number-from-a-url.md index 7f35c2ee3ccf7..bd2706d9f4561 100644 --- a/docs/standard/base-types/how-to-extract-a-protocol-and-port-number-from-a-url.md +++ b/docs/standard/base-types/how-to-extract-a-protocol-and-port-number-from-a-url.md @@ -1,13 +1,7 @@ --- title: "How to: Extract a Protocol and Port Number from a URL" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -19,13 +13,8 @@ helpviewer_keywords: - "regular expressions [.NET Framework], examples" - "pattern-matching with regular expressions, examples" ms.assetid: ab7f62b3-6d2c-4efb-8ac6-28600df5fd5c -caps.latest.revision: 15 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Extract a Protocol and Port Number from a URL The following example extracts a protocol and port number from a URL. diff --git a/docs/standard/base-types/how-to-extract-the-day-of-the-week-from-a-specific-date.md b/docs/standard/base-types/how-to-extract-the-day-of-the-week-from-a-specific-date.md index 8d9a6818425db..0b27f76eabbf2 100644 --- a/docs/standard/base-types/how-to-extract-the-day-of-the-week-from-a-specific-date.md +++ b/docs/standard/base-types/how-to-extract-the-day-of-the-week-from-a-specific-date.md @@ -1,13 +1,7 @@ --- title: "How to: Extract the Day of the Week from a Specific Date" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -28,13 +22,8 @@ helpviewer_keywords: - "DateTimeOffset.ToString method" - "full weekday names" ms.assetid: 1c9bef76-5634-46cf-b91c-9b9eb72091d7 -caps.latest.revision: 12 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Extract the Day of the Week from a Specific Date The .NET Framework makes it easy to determine the ordinal day of the week for a particular date, and to display the localized weekday name for a particular date. An enumerated value that indicates the day of the week corresponding to a particular date is available from the or property. In contrast, retrieving the weekday name is a formatting operation that can be performed by calling a formatting method, such as a date and time value's `ToString` method or the method. This topic shows how to perform these formatting operations. diff --git a/docs/standard/base-types/how-to-pad-a-number-with-leading-zeros.md b/docs/standard/base-types/how-to-pad-a-number-with-leading-zeros.md index a05d515a2af5a..f7a7680321be3 100644 --- a/docs/standard/base-types/how-to-pad-a-number-with-leading-zeros.md +++ b/docs/standard/base-types/how-to-pad-a-number-with-leading-zeros.md @@ -1,13 +1,7 @@ --- title: "How to: Pad a Number with Leading Zeros" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -17,13 +11,8 @@ helpviewer_keywords: - "number formatting [.NET Framework]" - "numbers [.NET Framework], format strings" ms.assetid: 0b2c2cb5-c580-4891-8d81-cb632f5ec384 -caps.latest.revision: 10 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Pad a Number with Leading Zeros You can add leading zeros to an integer by using the "D" [standard numeric format string](../../../docs/standard/base-types/standard-numeric-format-strings.md) with a precision specifier. You can add leading zeros to both integer and floating-point numbers by using a [custom numeric format string](../../../docs/standard/base-types/custom-numeric-format-strings.md). This topic shows how to use both methods to pad a number with leading zeros. diff --git a/docs/standard/base-types/how-to-round-trip-date-and-time-values.md b/docs/standard/base-types/how-to-round-trip-date-and-time-values.md index a455e47a0a29d..14226bc849693 100644 --- a/docs/standard/base-types/how-to-round-trip-date-and-time-values.md +++ b/docs/standard/base-types/how-to-round-trip-date-and-time-values.md @@ -1,13 +1,7 @@ --- title: "How to: Round-trip Date and Time Values" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -18,13 +12,8 @@ helpviewer_keywords: - "time [.NET Framework], round-trip values" - "formatting strings [.NET Framework], round-trip values" ms.assetid: b609b277-edc6-4c74-b03e-ea73324ecbdb -caps.latest.revision: 12 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Round-trip Date and Time Values In many applications, a date and time value is intended to unambiguously identify a single point in time. This topic shows how to save and restore a value, a value, and a date and time value with time zone information so that the restored value identifies the same time as the saved value. diff --git a/docs/standard/base-types/how-to-strip-invalid-characters-from-a-string.md b/docs/standard/base-types/how-to-strip-invalid-characters-from-a-string.md index 532804376819a..7954bb64492fc 100644 --- a/docs/standard/base-types/how-to-strip-invalid-characters-from-a-string.md +++ b/docs/standard/base-types/how-to-strip-invalid-characters-from-a-string.md @@ -1,13 +1,7 @@ --- title: "How to: Strip Invalid Characters from a String" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -22,13 +16,8 @@ helpviewer_keywords: - "Replace method" - "validating user input" ms.assetid: b4319c8a-9032-4129-a9d5-6f6fc28e7f32 -caps.latest.revision: 15 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Strip Invalid Characters from a String The following example uses the static method to strip invalid characters from a string. diff --git a/docs/standard/base-types/how-to-verify-that-strings-are-in-valid-email-format.md b/docs/standard/base-types/how-to-verify-that-strings-are-in-valid-email-format.md index b30e73de67268..b1dc40d48fcdc 100644 --- a/docs/standard/base-types/how-to-verify-that-strings-are-in-valid-email-format.md +++ b/docs/standard/base-types/how-to-verify-that-strings-are-in-valid-email-format.md @@ -1,13 +1,7 @@ --- title: "How to: Verify that Strings Are in Valid Email Format" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -24,13 +18,8 @@ helpviewer_keywords: - "email [.NET Framework], validating" - "IsMatch method" ms.assetid: 7536af08-4e86-4953-98a1-a8298623df92 -caps.latest.revision: 30 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Verify that Strings Are in Valid Email Format The following example uses a regular expression to verify that a string is in valid email format. diff --git a/docs/standard/base-types/index.md b/docs/standard/base-types/index.md index 6057dfa836436..ecb6dad382898 100644 --- a/docs/standard/base-types/index.md +++ b/docs/standard/base-types/index.md @@ -1,25 +1,14 @@ --- title: "Working with Base Types in .NET" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "types, base" - "base types" - "type system, base types" ms.assetid: 028d0ce8-ebc2-4a88-a16f-17508f6d0bd6 -caps.latest.revision: 14 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Working with Base Types in .NET This section describes .NET base type operations, including formatting, conversion, and common operations. diff --git a/docs/standard/base-types/manipulating-strings.md b/docs/standard/base-types/manipulating-strings.md index 7013eea5e0031..e97d3d6bb6180 100644 --- a/docs/standard/base-types/manipulating-strings.md +++ b/docs/standard/base-types/manipulating-strings.md @@ -1,24 +1,13 @@ --- title: "Manipulating Strings in the .NET Framework" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "strings [.NET Framework], manipulating" - "manipulating strings" ms.assetid: d4568ff3-9f83-4549-acd8-47aec2194ac0 -caps.latest.revision: 11 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Manipulating Strings in .NET .NET provides an extensive set of routines that enable you to efficiently create, compare, and modify strings as well as rapidly parse large amounts of text and data to search for, remove, and replace text patterns. diff --git a/docs/standard/base-types/miscellaneous-constructs-in-regular-expressions.md b/docs/standard/base-types/miscellaneous-constructs-in-regular-expressions.md index 160626234d3e8..8c48f82b8bf74 100644 --- a/docs/standard/base-types/miscellaneous-constructs-in-regular-expressions.md +++ b/docs/standard/base-types/miscellaneous-constructs-in-regular-expressions.md @@ -1,13 +1,7 @@ --- title: "Miscellaneous Constructs in Regular Expressions" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -16,13 +10,8 @@ helpviewer_keywords: - ".NET Framework regular expressions, miscellaneous constructs" - "regular expressions, miscellaneous constructs" ms.assetid: 7d10d11f-680f-4721-b047-fb136316b4cd -caps.latest.revision: 9 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Miscellaneous Constructs in Regular Expressions Regular expressions in .NET include three miscellaneous language constructs. One lets you enable or disable particular matching options in the middle of a regular expression pattern. The remaining two let you include comments in a regular expression. diff --git a/docs/standard/base-types/padding.md b/docs/standard/base-types/padding.md index 6cb2af79d8997..5b8ea7dddd033 100644 --- a/docs/standard/base-types/padding.md +++ b/docs/standard/base-types/padding.md @@ -1,12 +1,7 @@ --- title: "Padding Strings in .NET" -ms.custom: "" ms.date: "03/15/2018" -ms.prod: ".net" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -20,10 +15,6 @@ helpviewer_keywords: ms.assetid: 84a9f142-3244-4c90-ba02-21af9bbaff71 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Padding Strings in .NET diff --git a/docs/standard/base-types/parsing-datetime.md b/docs/standard/base-types/parsing-datetime.md index 6eabef638a003..375bcae644a5a 100644 --- a/docs/standard/base-types/parsing-datetime.md +++ b/docs/standard/base-types/parsing-datetime.md @@ -2,9 +2,7 @@ title: "How to: convert strings to DateTime" description: "Learn techniques to parse strings that represent dates and times to create a DateTime from the date and time string." ms.date: "02/15/2018" -ms.prod: ".net" ms.technology: dotnet-standard -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -18,12 +16,7 @@ helpviewer_keywords: - "time strings" author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- - # Parsing Date and Time Strings in .NET Parsing strings to convert them to objects requires you to specify information about how the dates and times are represented as text. Different cultures use different orders for day, month, and year. Some time representations use a 24-hour clock, others specify "AM" and "PM." Some applications need only the date. Others need only the time. Still others need to specify both the date and the time. The methods that convert strings to objects enable you to provide detailed information about the formats you expect and the elements of a date and time your application needs. There are three subtasks to correctly converting text into a : diff --git a/docs/standard/base-types/parsing-numeric.md b/docs/standard/base-types/parsing-numeric.md index c2cffd98e565a..d7dd33673193b 100644 --- a/docs/standard/base-types/parsing-numeric.md +++ b/docs/standard/base-types/parsing-numeric.md @@ -1,13 +1,7 @@ --- title: "Parsing Numeric Strings in .NET" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -17,13 +11,8 @@ helpviewer_keywords: - "enumerations [.NET Framework], parsing strings" - "base types, parsing strings" ms.assetid: e39324ee-72e5-42d4-a80d-bf3ee7fc6c59 -caps.latest.revision: 20 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Parsing Numeric Strings in NET All numeric types have two static parsing methods, `Parse` and `TryParse`, that you can use to convert the string representation of a number into a numeric type. These methods enable you to parse strings that were produced by using the format strings documented in [Standard Numeric Format Strings](../../../docs/standard/base-types/standard-numeric-format-strings.md) and [Custom Numeric Format Strings](../../../docs/standard/base-types/custom-numeric-format-strings.md). By default, the `Parse` and `TryParse` methods can successfully convert strings that contain integral decimal digits only to integer values. They can successfully convert strings that contain integral and fractional decimal digits, group separators, and a decimal separator to floating-point values. The `Parse` method throws an exception if the operation fails, whereas the `TryParse` method returns `false`. diff --git a/docs/standard/base-types/parsing-other.md b/docs/standard/base-types/parsing-other.md index 2963204300a70..45cc3833fc063 100644 --- a/docs/standard/base-types/parsing-other.md +++ b/docs/standard/base-types/parsing-other.md @@ -1,13 +1,7 @@ --- title: "Parsing Other Strings in .NET" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -19,13 +13,8 @@ helpviewer_keywords: - "parsing strings, other strings" - "Boolean data type, parsing strings" ms.assetid: d139bc00-3c4e-4d78-ac9a-5c951b258d28 -caps.latest.revision: 15 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Parsing Other Strings in .NET In addition to numeric and strings, you can also parse strings that represent the types , , and into data types. diff --git a/docs/standard/base-types/parsing-strings.md b/docs/standard/base-types/parsing-strings.md index f6d8486381398..7b32e8021e4eb 100644 --- a/docs/standard/base-types/parsing-strings.md +++ b/docs/standard/base-types/parsing-strings.md @@ -1,13 +1,7 @@ --- title: "Parsing Strings in .NET" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "parsing strings, about parsing strings" - "IFormatProvider interface, parsing strings" @@ -15,13 +9,8 @@ helpviewer_keywords: - "Parse method" - "parsing strings" ms.assetid: 5e758b41-db93-456b-8999-99b7304b090d -caps.latest.revision: 10 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Parsing Strings in .NET A parsing operation converts a string that represents a .NET base type into that base type. For example, a parsing operation is used to convert a string to a floating-point number or to a date and time value. The method most commonly used to perform a parsing operation is the `Parse` method. Because parsing is the reverse operation of formatting (which involves converting a base type into its string representation), many of the same rules and conventions apply. Just as formatting uses an object that implements the interface to provide culture-sensitive formatting information, parsing also uses an object that implements the interface to determine how to interpret a string representation. For more information, see [Formatting Types](../../../docs/standard/base-types/formatting-types.md). diff --git a/docs/standard/base-types/performing-formatting-operations.md b/docs/standard/base-types/performing-formatting-operations.md index 25bc4f1e875f9..2f43871e9bc7c 100644 --- a/docs/standard/base-types/performing-formatting-operations.md +++ b/docs/standard/base-types/performing-formatting-operations.md @@ -1,13 +1,7 @@ --- title: "Performing Formatting Operations" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "date formatting [.NET Framework]" - "formatting [.NET Framework], how-to topics" @@ -16,13 +10,8 @@ helpviewer_keywords: - "formatting strings [.NET Framework], how-to topics" - "strings [.NET Framework], formatting" ms.assetid: 36e7e096-4e6c-4cf2-9ab6-68073026ea0e -caps.latest.revision: 7 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Performing Formatting Operations The following topics provide step-by-step instructions for performing specific formatting operations. diff --git a/docs/standard/base-types/quantifiers-in-regular-expressions.md b/docs/standard/base-types/quantifiers-in-regular-expressions.md index b4dd7af450161..abafe4b51a767 100644 --- a/docs/standard/base-types/quantifiers-in-regular-expressions.md +++ b/docs/standard/base-types/quantifiers-in-regular-expressions.md @@ -1,13 +1,7 @@ --- title: "Quantifiers in Regular Expressions" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -20,13 +14,8 @@ helpviewer_keywords: - "quantifiers" - "lazy quantifiers" ms.assetid: 36b81212-6511-49ed-a8f1-ff080415312f -caps.latest.revision: 22 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Quantifiers in Regular Expressions Quantifiers specify how many instances of a character, group, or character class must be present in the input for a match to be found. The following table lists the quantifiers supported by .NET. diff --git a/docs/standard/base-types/regular-expression-example-changing-date-formats.md b/docs/standard/base-types/regular-expression-example-changing-date-formats.md index 7357b7c7ec761..da4b01ed4007f 100644 --- a/docs/standard/base-types/regular-expression-example-changing-date-formats.md +++ b/docs/standard/base-types/regular-expression-example-changing-date-formats.md @@ -1,13 +1,7 @@ --- title: "Regular Expression Example: Changing Date Formats" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -19,13 +13,8 @@ helpviewer_keywords: - "regular expressions [.NET Framework], examples" - "pattern-matching with regular expressions, examples" ms.assetid: 5fcc75a5-09d7-45ae-a4c0-9ad6085ac83d -caps.latest.revision: 19 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Regular Expression Example: Changing Date Formats The following code example uses the method to replace dates that have the form *mm*/*dd*/*yy* with dates that have the form *dd*-*mm*-*yy*. diff --git a/docs/standard/base-types/regular-expression-example-scanning-for-hrefs.md b/docs/standard/base-types/regular-expression-example-scanning-for-hrefs.md index 47e24d1573d24..862951344d50f 100644 --- a/docs/standard/base-types/regular-expression-example-scanning-for-hrefs.md +++ b/docs/standard/base-types/regular-expression-example-scanning-for-hrefs.md @@ -1,13 +1,7 @@ --- title: "Regular Expression Example: Scanning for HREFs" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -19,13 +13,8 @@ helpviewer_keywords: - "regular expressions [.NET Framework], examples" - "pattern-matching with regular expressions, examples" ms.assetid: fae2c15b-7adf-4b15-b118-58eb3906994f -caps.latest.revision: 24 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Regular Expression Example: Scanning for HREFs The following example searches an input string and displays all the href="…" values and their locations in the string. diff --git a/docs/standard/base-types/regular-expression-examples.md b/docs/standard/base-types/regular-expression-examples.md index 7c28d4acad25b..082457e537687 100644 --- a/docs/standard/base-types/regular-expression-examples.md +++ b/docs/standard/base-types/regular-expression-examples.md @@ -1,25 +1,14 @@ --- title: "Regular Expression Examples" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "regular expressions [.NET Framework], examples" - "regular expressions [.NET Framework]" - "strings [.NET Framework], regular expressions" ms.assetid: e9fd53f2-ed56-4b09-b2ea-e9bc9d65e6d6 -caps.latest.revision: 17 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Regular Expression Examples This section contains code examples that illustrate the use of regular expressions in common applications. diff --git a/docs/standard/base-types/regular-expression-language-quick-reference.md b/docs/standard/base-types/regular-expression-language-quick-reference.md index 6f820f3109e51..4889d467a15dc 100644 --- a/docs/standard/base-types/regular-expression-language-quick-reference.md +++ b/docs/standard/base-types/regular-expression-language-quick-reference.md @@ -1,13 +1,7 @@ --- title: "Regular Expression Language - Quick Reference" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" f1_keywords: - "VS.RegularExpressionBuilder" helpviewer_keywords: @@ -20,13 +14,8 @@ helpviewer_keywords: - "cheat sheet" - ".NET Framework regular expressions, language elements" ms.assetid: 930653a6-95d2-4697-9d5a-52d11bb6fd4c -caps.latest.revision: 56 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Regular Expression Language - Quick Reference A regular expression is a pattern that the regular expression engine attempts to match in input text. A pattern consists of one or more character literals, operators, or constructs. For a brief introduction, see [.NET Regular Expressions](../../../docs/standard/base-types/regular-expressions.md). diff --git a/docs/standard/base-types/regular-expression-options.md b/docs/standard/base-types/regular-expression-options.md index 4c0bfb4aeb99c..68a47991b77ab 100644 --- a/docs/standard/base-types/regular-expression-options.md +++ b/docs/standard/base-types/regular-expression-options.md @@ -1,13 +1,7 @@ --- title: "Regular Expression Options" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -18,13 +12,8 @@ helpviewer_keywords: - "inline option constructs" - "options parameter" ms.assetid: c82dc689-7e82-4767-a18d-cd24ce5f05e9 -caps.latest.revision: 27 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Regular Expression Options By default, the comparison of an input string with any literal characters in a regular expression pattern is case sensitive, white space in a regular expression pattern is interpreted as literal white-space characters, and capturing groups in a regular expression are named implicitly as well as explicitly. You can modify these and several other aspects of default regular expression behavior by specifying regular expression options. These options, which are listed in the following table, can be included inline as part of the regular expression pattern, or they can be supplied to a class constructor or static pattern matching method as a enumeration value. diff --git a/docs/standard/base-types/regular-expressions.md b/docs/standard/base-types/regular-expressions.md index 0e049b6d2459f..829b5fdd749b3 100644 --- a/docs/standard/base-types/regular-expressions.md +++ b/docs/standard/base-types/regular-expressions.md @@ -1,13 +1,7 @@ --- title: ".NET Framework Regular Expressions" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -26,13 +20,8 @@ helpviewer_keywords: - ".NET Framework regular expressions" - "strings [.NET Framework], regular expressions" ms.assetid: 521b3f6d-f869-42e1-93e5-158c54a6895d -caps.latest.revision: 24 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # .NET Regular Expressions Regular expressions provide a powerful, flexible, and efficient method for processing text. The extensive pattern-matching notation of regular expressions enables you to quickly parse large amounts of text to find specific character patterns; to validate text to ensure that it matches a predefined pattern (such as an email address); to extract, edit, replace, or delete text substrings; and to add the extracted strings to a collection in order to generate a report. For many applications that deal with strings or that parse large blocks of text, regular expressions are an indispensable tool. diff --git a/docs/standard/base-types/standard-date-and-time-format-strings.md b/docs/standard/base-types/standard-date-and-time-format-strings.md index a006fa8905ef0..a9b28f8d99f0f 100644 --- a/docs/standard/base-types/standard-date-and-time-format-strings.md +++ b/docs/standard/base-types/standard-date-and-time-format-strings.md @@ -1,13 +1,7 @@ --- title: "Standard Date and Time Format Strings" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -20,13 +14,8 @@ helpviewer_keywords: - "formatting [.NET Framework], time" - "date and time strings" ms.assetid: bb79761a-ca08-44ee-b142-b06b3e2fc22b -caps.latest.revision: 92 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Standard Date and Time Format Strings A standard date and time format string uses a single format specifier to define the text representation of a date and time value. Any date and time format string that contains more than one character, including white space, is interpreted as a custom date and time format string; for more information, see [Custom Date and Time Format Strings](../../../docs/standard/base-types/custom-date-and-time-format-strings.md). A standard or custom format string can be used in two ways: diff --git a/docs/standard/base-types/standard-numeric-format-strings.md b/docs/standard/base-types/standard-numeric-format-strings.md index 448fd3382360c..fc35e286f995b 100644 --- a/docs/standard/base-types/standard-numeric-format-strings.md +++ b/docs/standard/base-types/standard-numeric-format-strings.md @@ -1,9 +1,7 @@ --- title: "Standard Numeric Format Strings" ms.date: "09/10/2017" -ms.prod: ".net" ms.technology: dotnet-standard -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -20,10 +18,6 @@ helpviewer_keywords: - "format specifiers, standard numeric format strings" author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Standard Numeric Format Strings Standard numeric format strings are used to format common numeric types. A standard numeric format string takes the form `Axx`, where: diff --git a/docs/standard/base-types/standard-timespan-format-strings.md b/docs/standard/base-types/standard-timespan-format-strings.md index d97c887bfa0bb..2055e73b15d14 100644 --- a/docs/standard/base-types/standard-timespan-format-strings.md +++ b/docs/standard/base-types/standard-timespan-format-strings.md @@ -1,13 +1,7 @@ --- title: "Standard TimeSpan Format Strings" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -23,13 +17,8 @@ helpviewer_keywords: - "standard TimeSpan format strings" - "formatting [.NET Framework], time intervals" ms.assetid: 9f6c95eb-63ae-4dcc-9c32-f81985c75794 -caps.latest.revision: 16 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Standard TimeSpan Format Strings A standard format string uses a single format specifier to define the text representation of a value that results from a formatting operation. Any format string that contains more than one character, including white space, is interpreted as a custom format string. For more information, see [Custom TimeSpan Format Strings](../../../docs/standard/base-types/custom-timespan-format-strings.md) . diff --git a/docs/standard/base-types/stringbuilder.md b/docs/standard/base-types/stringbuilder.md index 00dded22520b0..8aee4b3498cf1 100644 --- a/docs/standard/base-types/stringbuilder.md +++ b/docs/standard/base-types/stringbuilder.md @@ -1,13 +1,7 @@ --- title: "Using the StringBuilder Class in .NET" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -22,13 +16,8 @@ helpviewer_keywords: - "Insert method" - "strings [.NET Framework], StringBuilder object" ms.assetid: 5c14867c-9a99-45bc-ae7f-2686700d377a -caps.latest.revision: 21 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Using the StringBuilder Class in .NET The object is immutable. Every time you use one of the methods in the class, you create a new string object in memory, which requires a new allocation of space for that new object. In situations where you need to perform repeated modifications to a string, the overhead associated with creating a new object can be costly. The class can be used when you want to modify a string without creating a new object. For example, using the class can boost performance when concatenating many strings together in a loop. diff --git a/docs/standard/base-types/substitutions-in-regular-expressions.md b/docs/standard/base-types/substitutions-in-regular-expressions.md index e8f8fb4b00856..c4509cfa4c03e 100644 --- a/docs/standard/base-types/substitutions-in-regular-expressions.md +++ b/docs/standard/base-types/substitutions-in-regular-expressions.md @@ -1,13 +1,7 @@ --- title: "Substitutions in Regular Expressions" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -19,13 +13,8 @@ helpviewer_keywords: - "constructs, substitutions" - "substitutions" ms.assetid: d1f52431-1c7d-4dc6-8792-6b988256892e -caps.latest.revision: 20 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Substitutions in Regular Expressions Substitutions are language elements that are recognized only within replacement patterns. They use a regular expression pattern to define all or part of the text that is to replace matched text in the input string. The replacement pattern can consist of one or more substitutions along with literal characters. Replacement patterns are provided to overloads of the method that have a `replacement` parameter and to the method. The methods replace the matched pattern with the pattern that is defined by the `replacement` parameter. diff --git a/docs/standard/base-types/the-regular-expression-object-model.md b/docs/standard/base-types/the-regular-expression-object-model.md index 148dad0ccfe75..3717d321d2d1c 100644 --- a/docs/standard/base-types/the-regular-expression-object-model.md +++ b/docs/standard/base-types/the-regular-expression-object-model.md @@ -1,13 +1,7 @@ --- title: "The Regular Expression Object Model" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -41,13 +35,8 @@ helpviewer_keywords: - "pattern-matching with regular expressions, classes" - "GroupCollection class" ms.assetid: 49a21470-64ca-4b5a-a889-8e24e3c0af7e -caps.latest.revision: 26 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # The Regular Expression Object Model This topic describes the object model used in working with .NET regular expressions. It contains the following sections: diff --git a/docs/standard/base-types/thread-safety-in-regular-expressions.md b/docs/standard/base-types/thread-safety-in-regular-expressions.md index c1ce1f9160141..ab4346ed22768 100644 --- a/docs/standard/base-types/thread-safety-in-regular-expressions.md +++ b/docs/standard/base-types/thread-safety-in-regular-expressions.md @@ -1,13 +1,7 @@ --- title: "Thread Safety in Regular Expressions" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - ".NET Framework regular expressions, threads" - "regular expressions, threads" @@ -15,13 +9,8 @@ helpviewer_keywords: - "parsing text with regular expressions, threads" - "pattern-matching with regular expressions, threads" ms.assetid: 7c4a167b-5236-4cde-a2ca-58646230730f -caps.latest.revision: 7 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Thread Safety in Regular Expressions The class itself is thread safe and immutable (read-only). That is, **Regex** objects can be created on any thread and shared between threads; matching methods can be called from any thread and never alter any global state. diff --git a/docs/standard/base-types/trimming.md b/docs/standard/base-types/trimming.md index 2013444d81511..0f5e9298b10b6 100644 --- a/docs/standard/base-types/trimming.md +++ b/docs/standard/base-types/trimming.md @@ -1,13 +1,7 @@ --- title: "Trimming and Removing Characters from Strings in .NET" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -21,13 +15,8 @@ helpviewer_keywords: - "TrimStart method" - "removing characters" ms.assetid: ab248dab-70d4-4413-81c6-542d153fd195 -caps.latest.revision: 13 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Trimming and Removing Characters from Strings in .NET If you are parsing a sentence into individual words, you might end up with words that have blank spaces (also called white spaces) on either end of the word. In this situation, you can use one of the trim methods in the **System.String** class to remove any number of spaces or other characters from a specified position in the string. The following table describes the available trim methods. diff --git a/docs/standard/base-types/type-conversion.md b/docs/standard/base-types/type-conversion.md index 0513cf989eae2..7acd5850b1cd9 100644 --- a/docs/standard/base-types/type-conversion.md +++ b/docs/standard/base-types/type-conversion.md @@ -1,13 +1,7 @@ --- title: "Type Conversion in the .NET Framework" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -30,13 +24,8 @@ helpviewer_keywords: - "Implicit operator" - "data types [.NET Framework], converting" ms.assetid: ba36154f-064c-47d3-9f05-72f93a7ca96d -caps.latest.revision: 22 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Type Conversion in the .NET Framework Every value has an associated type, which defines attributes such as the amount of space allocated to the value, the range of possible values it can have, and the members that it makes available. Many values can be expressed as more than one type. For example, the value 4 can be expressed as an integer or a floating-point value. Type conversion creates a value in a new type that is equivalent to the value of an old type, but does not necessarily preserve the identity (or exact value) of the original object. diff --git a/docs/standard/building-console-apps.md b/docs/standard/building-console-apps.md index 7b195c6b06bc6..9fbea3d2d0503 100644 --- a/docs/standard/building-console-apps.md +++ b/docs/standard/building-console-apps.md @@ -1,25 +1,14 @@ --- title: "Building Console Applications in the .NET Framework" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - ".NET Framework, building console applications" - "application development [.NET Framework], console" - "console applications" ms.assetid: c21fb997-9f0e-40a5-8741-f73bba376bd8 -caps.latest.revision: 16 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Building Console Applications in the .NET Framework Applications in the .NET Framework can use the class to read characters from and write characters to the console. Data from the console is read from the standard input stream, data to the console is written to the standard output stream, and error data to the console is written to the standard error output stream. These streams are automatically associated with the console when the application starts and are presented as the , , and properties, respectively. diff --git a/docs/standard/choosing-core-framework-server.md b/docs/standard/choosing-core-framework-server.md index adc4099cbf36a..26c9f150b53d8 100644 --- a/docs/standard/choosing-core-framework-server.md +++ b/docs/standard/choosing-core-framework-server.md @@ -4,11 +4,6 @@ description: A guide on which implementation of .NET you should consider when bu author: cartermp ms.author: mairaw ms.date: 03/15/2018 -ms.topic: article -ms.prod: .net -ms.workload: - - "dotnet" - - "dotnetcore" --- # Choosing between .NET Core and .NET Framework for server apps diff --git a/docs/standard/class-libraries.md b/docs/standard/class-libraries.md index f71033a21e375..5b2903517212f 100644 --- a/docs/standard/class-libraries.md +++ b/docs/standard/class-libraries.md @@ -1,20 +1,12 @@ --- title: .NET Class Libraries description: Learn how .NET class libraries enable you to group useful functionality into modules that can be used by multiple applications. -keywords: .NET, .NET Core author: richlander ms.author: mairaw ms.date: 06/20/2016 -ms.topic: article -ms.prod: .net ms.technology: dotnet-standard -ms.devlang: dotnet ms.assetid: a67484c3-fe92-44d8-8fa3-36fa2071d880 -ms.workload: - - "dotnet" - - "dotnetcore" --- - # .NET Class Libraries Class libraries are the [shared library](https://en.wikipedia.org/wiki/Library_%28computing%29#Shared_libraries) concept for .NET. They enable you to componentize useful functionality into modules that can be used by multiple applications. They can also be used as a means of loading functionality that is not needed or not known at application startup. Class libraries are described using the [.NET Assembly file format](assembly-format.md). diff --git a/docs/standard/class-library-overview.md b/docs/standard/class-library-overview.md index cbd62e133fe13..aefc9fc7b2578 100644 --- a/docs/standard/class-library-overview.md +++ b/docs/standard/class-library-overview.md @@ -1,13 +1,7 @@ --- title: ".NET Class Library Overview" -ms.custom: "" ms.date: "02/08/2018" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "classes [.NET Framework], library overview" - "classes [.NET Core], library overview" @@ -45,10 +39,6 @@ helpviewer_keywords: ms.assetid: 7e4c5921-955d-4b06-8709-101873acf157 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # .NET Class Library Overview .NET implementations include classes, interfaces, delegates, and value types that expedite and optimize the development process and provide access to system functionality. To facilitate interoperability between languages, most .NET types are CLS-compliant and can therefore be used from any programming language whose compiler conforms to the common language specification (CLS). diff --git a/docs/standard/clr.md b/docs/standard/clr.md index 202e773d7ff06..814ae91124e35 100644 --- a/docs/standard/clr.md +++ b/docs/standard/clr.md @@ -2,9 +2,7 @@ title: "Common Language Runtime (CLR)" ms.custom: "updateeachrelease" ms.date: "04/16/2018" -ms.prod: ".net" ms.technology: dotnet-standard -ms.topic: "article" helpviewer_keywords: - "compiling source code, runtime functionality" - "code, execution" @@ -20,10 +18,6 @@ helpviewer_keywords: ms.assetid: 059a624e-f7db-4134-ba9f-08b676050482 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Common Language Runtime (CLR) overview diff --git a/docs/standard/collections/commonly-used-collection-types.md b/docs/standard/collections/commonly-used-collection-types.md index 53659f4036d90..cf849dd9816aa 100644 --- a/docs/standard/collections/commonly-used-collection-types.md +++ b/docs/standard/collections/commonly-used-collection-types.md @@ -1,13 +1,7 @@ --- title: "Commonly Used Collection Types" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "collections [.NET Framework], generic" - "objects [.NET Framework], grouping in collections" @@ -18,13 +12,8 @@ helpviewer_keywords: - "Collections classes" - "generic collections" ms.assetid: f5d4c6a4-0d7b-4944-a9fb-3b12d9ebfd55 -caps.latest.revision: 29 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Commonly Used Collection Types Collection types are the common variations of data collections, such as hash tables, queues, stacks, bags, dictionaries, and lists. diff --git a/docs/standard/collections/comparisons-and-sorts-within-collections.md b/docs/standard/collections/comparisons-and-sorts-within-collections.md index 2721bee06a5b2..de47e69fdf119 100644 --- a/docs/standard/collections/comparisons-and-sorts-within-collections.md +++ b/docs/standard/collections/comparisons-and-sorts-within-collections.md @@ -1,13 +1,7 @@ --- title: "Comparisons and Sorts Within Collections" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -18,13 +12,8 @@ helpviewer_keywords: - "Equals method" - "collections [.NET Framework], comparisons" ms.assetid: 5e4d3b45-97f0-423c-a65f-c492ed40e73b -caps.latest.revision: 11 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Comparisons and Sorts Within Collections The classes perform comparisons in almost all the processes involved in managing collections, whether searching for the element to remove or returning the value of a key-and-value pair. diff --git a/docs/standard/collections/hashtable-and-dictionary-collection-types.md b/docs/standard/collections/hashtable-and-dictionary-collection-types.md index 7c84283660c62..f3763ad5816a8 100644 --- a/docs/standard/collections/hashtable-and-dictionary-collection-types.md +++ b/docs/standard/collections/hashtable-and-dictionary-collection-types.md @@ -1,13 +1,7 @@ --- title: "Hashtable and Dictionary Collection Types" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "Hashtable class, grouping data in collections" - "Hashtable collection type" @@ -16,13 +10,8 @@ helpviewer_keywords: - "hash function" - "collections [.NET Framework], Hashtable collection type" ms.assetid: bfc20837-3d02-4fc7-8a8f-c5215b6b7913 -caps.latest.revision: 16 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Hashtable and Dictionary Collection Types The class, and the and generic classes, implement the interface. The generic class also implements the generic interface. Therefore, each element in these collections is a key-and-value pair. diff --git a/docs/standard/collections/index.md b/docs/standard/collections/index.md index 3ca38a25a08f7..f431f1cf7277a 100644 --- a/docs/standard/collections/index.md +++ b/docs/standard/collections/index.md @@ -1,9 +1,7 @@ --- title: "Collections and Data Structures" ms.date: "03/30/2017" -ms.prod: ".net" ms.technology: dotnet-standard -ms.topic: "article" helpviewer_keywords: - "grouping data in collections" - "objects [.NET Framework], grouping in collections" @@ -12,13 +10,8 @@ helpviewer_keywords: - "Collections classes" - "collections [.NET Framework]" ms.assetid: 60cc581f-1db5-445b-ba04-a173396bf872 -caps.latest.revision: 36 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Collections and Data Structures Similar data can often be handled more efficiently when stored and manipulated as a collection. You can use the class or the classes in the , , , System.Collections.Immutable namespaces to add, remove, and modify either individual elements or a range of elements in a collection. diff --git a/docs/standard/collections/selecting-a-collection-class.md b/docs/standard/collections/selecting-a-collection-class.md index c9efeb01fb170..c94a77d7f7cf9 100644 --- a/docs/standard/collections/selecting-a-collection-class.md +++ b/docs/standard/collections/selecting-a-collection-class.md @@ -1,13 +1,7 @@ --- title: "Selecting a Collection Class" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "last-in-first-out collections" - "first-in-first-out collections" @@ -16,13 +10,8 @@ helpviewer_keywords: - "Collections classes" - "grouping data in collections, selecting collection class" ms.assetid: ba049f9a-ce87-4cc4-b319-3f75c8ddac8a -caps.latest.revision: 20 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Selecting a Collection Class Be sure to choose your collection class carefully. Using the wrong type can restrict your use of the collection. In general, avoid using the types in the namespace unless you are specifically targeting .NET Framework version 1.1. The generic and concurrent versions of the collections are to be preferred because of their greater type safety and other improvements. diff --git a/docs/standard/collections/sorted-collection-types.md b/docs/standard/collections/sorted-collection-types.md index 67443d335ec8e..7a42fd8aa4eec 100644 --- a/docs/standard/collections/sorted-collection-types.md +++ b/docs/standard/collections/sorted-collection-types.md @@ -1,13 +1,7 @@ --- title: "Sorted Collection Types" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "SortedDictionary collection type" - "SortedList class, grouping data in collections" @@ -15,13 +9,8 @@ helpviewer_keywords: - "SortedList collection type" - "collections [.NET Framework], SortedList collection type" ms.assetid: 3db965b2-36a6-4b12-b76e-7f074ff7275a -caps.latest.revision: 16 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Sorted Collection Types The class, the generic class, and the generic class are similar to the class and the generic class in that they implement the interface, but they maintain their elements in sort order by key, and they do not have the O(1) insertion and retrieval characteristic of hash tables. The three classes have several features in common: diff --git a/docs/standard/collections/thread-safe/blockingcollection-overview.md b/docs/standard/collections/thread-safe/blockingcollection-overview.md index e9f9efbe8549d..acf2e8f7e83a6 100644 --- a/docs/standard/collections/thread-safe/blockingcollection-overview.md +++ b/docs/standard/collections/thread-safe/blockingcollection-overview.md @@ -1,26 +1,15 @@ --- title: "BlockingCollection Overview" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "BlockingCollection, overview" ms.assetid: 987ea3d7-0ad5-4238-8b64-331ce4eb3f0b -caps.latest.revision: 12 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # BlockingCollection Overview is a thread-safe collection class that provides the following features: diff --git a/docs/standard/collections/thread-safe/how-to-add-and-remove-items.md b/docs/standard/collections/thread-safe/how-to-add-and-remove-items.md index f2ca931ea5428..ff1b36ed99a12 100644 --- a/docs/standard/collections/thread-safe/how-to-add-and-remove-items.md +++ b/docs/standard/collections/thread-safe/how-to-add-and-remove-items.md @@ -1,26 +1,15 @@ --- title: "How to: Add and Remove Items from a ConcurrentDictionary" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "thread-safe collections, concurrent dictionary" ms.assetid: 81b64b95-13f7-4532-9249-ab532f629598 -caps.latest.revision: 13 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Add and Remove Items from a ConcurrentDictionary This example shows how to add, retrieve, update, and remove items from a . This collection class is a thread-safe implementation. We recommend that you use it whenever multiple threads might be attempting to access the elements concurrently. diff --git a/docs/standard/collections/thread-safe/how-to-add-and-take-items.md b/docs/standard/collections/thread-safe/how-to-add-and-take-items.md index fbce31391dffa..49425e5fd1044 100644 --- a/docs/standard/collections/thread-safe/how-to-add-and-take-items.md +++ b/docs/standard/collections/thread-safe/how-to-add-and-take-items.md @@ -1,26 +1,15 @@ --- title: "How to: Add and Take Items Individually from a BlockingCollection" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "thread-safe collections, blocking dictionary" ms.assetid: 38f2f3d8-15e5-4bf4-9c83-2b5b6f22bad1 -caps.latest.revision: 7 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Add and Take Items Individually from a BlockingCollection This example shows how to add and remove items from a in both a blocking and a non-blocking manner. For more information on , see [BlockingCollection Overview](../../../../docs/standard/collections/thread-safe/blockingcollection-overview.md). diff --git a/docs/standard/collections/thread-safe/how-to-add-bounding-and-blocking.md b/docs/standard/collections/thread-safe/how-to-add-bounding-and-blocking.md index dcaedd50b240e..8bdb262f1f419 100644 --- a/docs/standard/collections/thread-safe/how-to-add-bounding-and-blocking.md +++ b/docs/standard/collections/thread-safe/how-to-add-bounding-and-blocking.md @@ -1,23 +1,12 @@ --- title: "How to: Add Bounding and Blocking Functionality to a Collection" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "thread-safe collections, custom blocking collections" ms.assetid: 4c2492de-3876-4873-b5a1-000bb404d770 -caps.latest.revision: 13 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Add Bounding and Blocking Functionality to a Collection This example shows how to add bounding and blocking functionality to a custom collection class by implementing the interface in the class, and then using a class instance as the internal storage mechanism for a . For more information about bounding and blocking, see [BlockingCollection Overview](../../../../docs/standard/collections/thread-safe/blockingcollection-overview.md). diff --git a/docs/standard/collections/thread-safe/how-to-create-an-object-pool.md b/docs/standard/collections/thread-safe/how-to-create-an-object-pool.md index 1d0da848ab6b4..4b5446b6e0c23 100644 --- a/docs/standard/collections/thread-safe/how-to-create-an-object-pool.md +++ b/docs/standard/collections/thread-safe/how-to-create-an-object-pool.md @@ -1,26 +1,15 @@ --- title: "How to: Create an Object Pool by Using a ConcurrentBag" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "object pool, in .NET Framework" ms.assetid: 0480e7ff-b6f9-480e-a889-2ed4264d8372 -caps.latest.revision: 5 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Create an Object Pool by Using a ConcurrentBag This example shows how to use a concurrent bag to implement an object pool. Object pools can improve application performance in situations where you require multiple instances of a class and the class is expensive to create or destroy. When a client program requests a new object, the object pool first attempts to provide one that has already been created and returned to the pool. If none is available, only then is a new object created. diff --git a/docs/standard/collections/thread-safe/how-to-use-arrays-of-blockingcollections.md b/docs/standard/collections/thread-safe/how-to-use-arrays-of-blockingcollections.md index fd89418fdd793..0e7a37133996b 100644 --- a/docs/standard/collections/thread-safe/how-to-use-arrays-of-blockingcollections.md +++ b/docs/standard/collections/thread-safe/how-to-use-arrays-of-blockingcollections.md @@ -1,26 +1,15 @@ --- title: "How to: Use Arrays of Blocking Collections in a Pipeline" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "thread-safe collections, blocking collections in pipeline" ms.assetid: a39c7ec3-3ad7-4f4d-8fe4-b3e9dbabe2ed -caps.latest.revision: 8 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Use Arrays of Blocking Collections in a Pipeline The following example shows how to use arrays of objects with static methods such as and to implement fast and flexible data transfer between components. diff --git a/docs/standard/collections/thread-safe/how-to-use-foreach-to-remove.md b/docs/standard/collections/thread-safe/how-to-use-foreach-to-remove.md index d10b583b6b685..a8d3e6f44358a 100644 --- a/docs/standard/collections/thread-safe/how-to-use-foreach-to-remove.md +++ b/docs/standard/collections/thread-safe/how-to-use-foreach-to-remove.md @@ -1,26 +1,15 @@ --- title: "How to: Use ForEach to Remove Items in a BlockingCollection" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "thread-safe collections, how to enumerate blocking collectoin" ms.assetid: 2096103c-22f7-420d-b631-f102bc33a6dd -caps.latest.revision: 13 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Use ForEach to Remove Items in a BlockingCollection In addition to taking items from a by using the and method, you can also use a [foreach](~/docs/csharp/language-reference/keywords/foreach-in.md) ([For Each](~/docs/visual-basic/language-reference/statements/for-each-next-statement.md) in Visual Basic) to remove items until adding is completed and the collection is empty. This is called a *mutating enumeration* or *consuming enumeration* because, unlike a typical `foreach` (`For Each`) loop, this enumerator modifies the source collection by removing items. diff --git a/docs/standard/collections/thread-safe/index.md b/docs/standard/collections/thread-safe/index.md index 68c0424b9b0eb..b422ef2331f31 100644 --- a/docs/standard/collections/thread-safe/index.md +++ b/docs/standard/collections/thread-safe/index.md @@ -1,23 +1,12 @@ --- title: "Thread-Safe Collections" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "thread-safe collections, overview" ms.assetid: 2e7ca21f-786c-4367-96be-0cf3f3dcc6bd -caps.latest.revision: 24 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Thread-Safe Collections The [!INCLUDE[net_v40_short](../../../../includes/net-v40-short-md.md)] introduces the namespace, which includes several collection classes that are both thread-safe and scalable. Multiple threads can safely and efficiently add or remove items from these collections, without requiring additional synchronization in user code. When you write new code, use the concurrent collection classes whenever the collection will be writing to multiple threads concurrently. If you are only reading from a shared collection, then you can use the classes in the namespace. We recommend that you do not use 1.0 collection classes unless you are required to target the .NET Framework 1.1 or earlier runtime. diff --git a/docs/standard/collections/thread-safe/when-to-use-a-thread-safe-collection.md b/docs/standard/collections/thread-safe/when-to-use-a-thread-safe-collection.md index ae8bccefa724f..44868bf0a9b26 100644 --- a/docs/standard/collections/thread-safe/when-to-use-a-thread-safe-collection.md +++ b/docs/standard/collections/thread-safe/when-to-use-a-thread-safe-collection.md @@ -1,23 +1,12 @@ --- title: "When to Use a Thread-Safe Collection" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "thread-safe collections, when to upgrade" ms.assetid: a9babe97-e457-4ff3-b528-a1bc940d5320 -caps.latest.revision: 9 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # When to Use a Thread-Safe Collection The [!INCLUDE[net_v40_long](../../../../includes/net-v40-long-md.md)] introduces five new collection types that are specially designed to support multi-threaded add and remove operations. To achieve thread-safety, these new types use various kinds of efficient locking and lock-free synchronization mechanisms. Synchronization adds overhead to an operation. The amount of overhead depends on the kind of synchronization that is used, the kind of operations that are performed, and other factors such as the number of threads that are trying to concurrently access the collection. diff --git a/docs/standard/collections/when-to-use-generic-collections.md b/docs/standard/collections/when-to-use-generic-collections.md index cc468c27f5cdb..e928d0eb0a61d 100644 --- a/docs/standard/collections/when-to-use-generic-collections.md +++ b/docs/standard/collections/when-to-use-generic-collections.md @@ -1,24 +1,13 @@ --- title: "When to Use Generic Collections" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "collections [.NET Framework], generic" - "generic collections [.NET Framework]" ms.assetid: e7b868b1-11fe-4ac5-bed3-de68aca47739 -caps.latest.revision: 17 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # When to Use Generic Collections Using generic collections is generally recommended, because you gain the immediate benefit of type safety without having to derive from a base collection type and implement type-specific members. Generic collection types also generally perform better than the corresponding nongeneric collection types (and better than types that are derived from nongeneric base collection types) when the collection elements are value types, because with generics there is no need to box the elements. diff --git a/docs/standard/common-type-system.md b/docs/standard/common-type-system.md index d41acdead5a29..0623ab3b70b5f 100644 --- a/docs/standard/common-type-system.md +++ b/docs/standard/common-type-system.md @@ -1,20 +1,12 @@ --- title: Common Type System & Common Language Specification description: Learn how the Common Type System (CTS) and Common Language Specification (CLS) make it possible for .NET to support multiple languages. -keywords: .NET, .NET Core author: blackdwarf ms.author: mairaw ms.date: 06/20/2016 -ms.topic: article -ms.prod: .net ms.technology: dotnet-standard -ms.devlang: dotnet ms.assetid: 3b1f5725-ac94-4f17-8e5f-244442438a4d -ms.workload: - - "dotnet" - - "dotnetcore" --- - # Common Type System & Common Language Specification Again, two terms that are freely used in the .NET world, they actually are crucial to understand how a .NET implementation enables multi-language development and to understand how it works. diff --git a/docs/standard/components.md b/docs/standard/components.md index df8527637f1a6..d072388c3d66b 100644 --- a/docs/standard/components.md +++ b/docs/standard/components.md @@ -4,12 +4,7 @@ description: Describes .NET architectural components such as the .NET Standard, author: cartermp ms.author: mairaw ms.date: 08/23/2017 -ms.topic: article -ms.prod: .net ms.technology: dotnet-standard -ms.workload: - - "dotnet" - - "dotnetcore" --- # .NET architectural components diff --git a/docs/standard/containerized-lifecycle-architecture/Docker-application-lifecycle/containers-foundation-for-devops-collaboration.md b/docs/standard/containerized-lifecycle-architecture/Docker-application-lifecycle/containers-foundation-for-devops-collaboration.md index f651d899489a0..911d403daa654 100644 --- a/docs/standard/containerized-lifecycle-architecture/Docker-application-lifecycle/containers-foundation-for-devops-collaboration.md +++ b/docs/standard/containerized-lifecycle-architecture/Docker-application-lifecycle/containers-foundation-for-devops-collaboration.md @@ -1,14 +1,9 @@ --- title: Containers as the foundation for DevOps collaboration description: Containerized Docker Application Lifecycle with Microsoft Platform and Tools -ms.prod: ".net" author: CESARDELATORRE ms.author: wiwagn ms.date: 09/22/2017 -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Containers as the foundation for DevOps collaboration diff --git a/docs/standard/containerized-lifecycle-architecture/Docker-application-lifecycle/index.md b/docs/standard/containerized-lifecycle-architecture/Docker-application-lifecycle/index.md index d4394fd6b3b42..fab7a435f675a 100644 --- a/docs/standard/containerized-lifecycle-architecture/Docker-application-lifecycle/index.md +++ b/docs/standard/containerized-lifecycle-architecture/Docker-application-lifecycle/index.md @@ -1,14 +1,9 @@ --- title: Introduction to the Docker application life cycle description: Containerized Docker Application Lifecycle with Microsoft Platform and Tools -ms.prod: ".net" author: CESARDELATORRE ms.author: wiwagn ms.date: 09/22/2017 -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Introduction to the Docker application life cycle diff --git a/docs/standard/containerized-lifecycle-architecture/Microsoft-platform-tools-containerized-apps/index.md b/docs/standard/containerized-lifecycle-architecture/Microsoft-platform-tools-containerized-apps/index.md index 426d47fa087a1..a2da5803f4f45 100644 --- a/docs/standard/containerized-lifecycle-architecture/Microsoft-platform-tools-containerized-apps/index.md +++ b/docs/standard/containerized-lifecycle-architecture/Microsoft-platform-tools-containerized-apps/index.md @@ -1,14 +1,9 @@ --- title: Introduction to the Microsoft platform and tools for containerized apps description: Containerized Docker Application Lifecycle with Microsoft Platform and Tools -ms.prod: ".net" author: CESARDELATORRE ms.author: wiwagn ms.date: 09/21/2017 -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Introduction to the Microsoft platform and tools for containerized apps diff --git a/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/common-container-design-principles.md b/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/common-container-design-principles.md index 55da00e8164b6..f8653f324d9d6 100644 --- a/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/common-container-design-principles.md +++ b/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/common-container-design-principles.md @@ -1,14 +1,9 @@ --- title: Common container design principles description: Containerized Docker Application Lifecycle with Microsoft Platform and Tools -ms.prod: ".net" author: CESARDELATORRE ms.author: wiwagn ms.date: 09/22/2017 -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Common container design principles diff --git a/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/design-docker-applications.md b/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/design-docker-applications.md index c25e1fb38f798..de8575a380bad 100644 --- a/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/design-docker-applications.md +++ b/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/design-docker-applications.md @@ -1,14 +1,9 @@ --- title: Design Docker applications description: Containerized Docker Application Lifecycle with Microsoft Platform and Tools -ms.prod: ".net" author: CESARDELATORRE ms.author: wiwagn ms.date: 09/21/2017 -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Design Docker applications diff --git a/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/docker-apps-development-environment.md b/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/docker-apps-development-environment.md index eeb67d410920c..bc7db295f1bb9 100644 --- a/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/docker-apps-development-environment.md +++ b/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/docker-apps-development-environment.md @@ -1,14 +1,9 @@ --- title: Development environment for Docker apps description: Containerized Docker Application Lifecycle with Microsoft Platform and Tools -ms.prod: ".net" author: CESARDELATORRE ms.author: wiwagn ms.date: 09/22/2017 -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Development environment for Docker apps diff --git a/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/docker-apps-inner-loop-workflow.md b/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/docker-apps-inner-loop-workflow.md index 7d6aed1fa0233..c6dc244f36483 100644 --- a/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/docker-apps-inner-loop-workflow.md +++ b/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/docker-apps-inner-loop-workflow.md @@ -1,14 +1,9 @@ --- title: Inner-loop development workflow for Docker apps description: Containerized Docker Application Lifecycle with Microsoft Platform and Tools -ms.prod: ".net" author: CESARDELATORRE ms.author: wiwagn ms.date: 09/22/2017 -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Inner-loop development workflow for Docker apps diff --git a/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/index.md b/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/index.md index c83d4aa47a8a3..6d136f5162fbb 100644 --- a/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/index.md +++ b/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/index.md @@ -1,14 +1,9 @@ --- title: Design and develop containerized apps using Docker and Microsoft Azure description: Containerized Docker Application Lifecycle with Microsoft Platform and Tools -ms.prod: ".net" author: CESARDELATORRE ms.author: wiwagn ms.date: 09/21/2017 -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Designing and developing containerized apps using Docker and Microsoft Azure diff --git a/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/monolithic-applications.md b/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/monolithic-applications.md index 523c912c69ff5..f27d14260c801 100644 --- a/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/monolithic-applications.md +++ b/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/monolithic-applications.md @@ -1,14 +1,9 @@ --- title: Monolithic applications description: Containerized Docker Application Lifecycle with Microsoft Platform and Tools -ms.prod: ".net" author: CESARDELATORRE ms.author: wiwagn ms.date: 09/22/2017 -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Monolithic applications diff --git a/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/orchestrate-high-scalability-availability.md b/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/orchestrate-high-scalability-availability.md index feeacc7ffae12..49b9424128560 100644 --- a/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/orchestrate-high-scalability-availability.md +++ b/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/orchestrate-high-scalability-availability.md @@ -1,14 +1,9 @@ --- title: Orchestrating microservices and multicontainer applications for high scalability and availability description: Containerized Docker Application Lifecycle with Microsoft Platform and Tools -ms.prod: ".net" author: CESARDELATORRE ms.author: wiwagn ms.date: 05/19/2017 -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Orchestrating microservices and multicontainer applications for high scalability and availability diff --git a/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/set-up-windows-containers-with-powershell.md b/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/set-up-windows-containers-with-powershell.md index 8ad2741b033a7..2da43ef94cabb 100644 --- a/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/set-up-windows-containers-with-powershell.md +++ b/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/set-up-windows-containers-with-powershell.md @@ -1,14 +1,9 @@ --- title: Using Windows PowerShell commands in a DockerFile to set up Windows Containers (Docker standard based) description: Containerized Docker Application Lifecycle with Microsoft Platform and Tools -ms.prod: ".net" author: CESARDELATORRE ms.author: wiwagn ms.date: 05/19/2017 -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Using Windows PowerShell commands in a DockerFile to set up Windows Containers (Docker standard based) diff --git a/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/soa-applications.md b/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/soa-applications.md index 8a0e2c5d5fb88..9b191290b403a 100644 --- a/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/soa-applications.md +++ b/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/soa-applications.md @@ -1,14 +1,9 @@ --- title: SOA applications description: Containerized Docker Application Lifecycle with Microsoft Platform and Tools -ms.prod: ".net" author: CESARDELATORRE ms.author: wiwagn ms.date: 09/22/2017 -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # SOA applications diff --git a/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/state-and-data-in-docker-applications.md b/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/state-and-data-in-docker-applications.md index 8dfa07ba8f7af..ec2a94adfff12 100644 --- a/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/state-and-data-in-docker-applications.md +++ b/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/state-and-data-in-docker-applications.md @@ -1,14 +1,9 @@ --- title: State and data in Docker applications description: Containerized Docker Application Lifecycle with Microsoft Platform and Tools -ms.prod: ".net" author: CESARDELATORRE ms.author: wiwagn ms.date: 09/22/2017 -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # State and data in Docker applications diff --git a/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/visual-studio-tools-for-docker.md b/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/visual-studio-tools-for-docker.md index 7540c9e755a72..b2ea7ab58eebd 100644 --- a/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/visual-studio-tools-for-docker.md +++ b/docs/standard/containerized-lifecycle-architecture/design-develop-containerized-apps/visual-studio-tools-for-docker.md @@ -1,14 +1,9 @@ --- title: Using Visual Studio Tools for Docker (Visual Studio on Windows) description: Containerized Docker Application Lifecycle with Microsoft Platform and Tools -ms.prod: ".net" author: CESARDELATORRE ms.author: wiwagn ms.date: 09/22/2017 -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Using Visual Studio Tools for Docker (Visual Studio on Windows) diff --git a/docs/standard/containerized-lifecycle-architecture/docker-containers-images-and-registries.md b/docs/standard/containerized-lifecycle-architecture/docker-containers-images-and-registries.md index 1266a972b03fd..43a969c836a32 100644 --- a/docs/standard/containerized-lifecycle-architecture/docker-containers-images-and-registries.md +++ b/docs/standard/containerized-lifecycle-architecture/docker-containers-images-and-registries.md @@ -1,14 +1,9 @@ --- title: Docker containers, images, and registries description: Containerized Docker Application Lifecycle with Microsoft Platform and Tools -ms.prod: ".net" author: CESARDELATORRE ms.author: wiwagn ms.date: 09/22/2017 -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Docker containers, images, and registries diff --git a/docs/standard/containerized-lifecycle-architecture/docker-devops-workflow/docker-application-outer-loop-devops-workflow.md b/docs/standard/containerized-lifecycle-architecture/docker-devops-workflow/docker-application-outer-loop-devops-workflow.md index 1e7bc80c53eb2..7badb17b6869f 100644 --- a/docs/standard/containerized-lifecycle-architecture/docker-devops-workflow/docker-application-outer-loop-devops-workflow.md +++ b/docs/standard/containerized-lifecycle-architecture/docker-devops-workflow/docker-application-outer-loop-devops-workflow.md @@ -1,14 +1,9 @@ --- title: Steps in the outer-loop DevOps workflow for a Docker application description: Containerized Docker Application Lifecycle with Microsoft Platform and Tools -ms.prod: ".net" author: CESARDELATORRE ms.author: wiwagn ms.date: 09/22/2017 -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Steps in the outer-loop DevOps workflow for a Docker application diff --git a/docs/standard/containerized-lifecycle-architecture/docker-devops-workflow/index.md b/docs/standard/containerized-lifecycle-architecture/docker-devops-workflow/index.md index ab40e3269e08a..1b2f80857505b 100644 --- a/docs/standard/containerized-lifecycle-architecture/docker-devops-workflow/index.md +++ b/docs/standard/containerized-lifecycle-architecture/docker-devops-workflow/index.md @@ -1,14 +1,9 @@ --- title: Docker application devops workflow with Microsoft tools description: Containerized Docker Application Lifecycle with Microsoft Platform and Toolsdevops workflow with Microsoft tools -ms.prod: ".net" author: CESARDELATORRE ms.author: wiwagn ms.date: 09/22/2017 -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Docker application DevOps workflow with Microsoft tools diff --git a/docs/standard/containerized-lifecycle-architecture/docker-terminology.md b/docs/standard/containerized-lifecycle-architecture/docker-terminology.md index c701919ee8d01..ede3b42af02bf 100644 --- a/docs/standard/containerized-lifecycle-architecture/docker-terminology.md +++ b/docs/standard/containerized-lifecycle-architecture/docker-terminology.md @@ -1,14 +1,9 @@ --- title: Docker terminology description: Containerized Docker Application Lifecycle with Microsoft Platform and Tools -ms.prod: ".net" author: CESARDELATORRE ms.author: wiwagn ms.date: 09/21/2017 -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Docker terminology diff --git a/docs/standard/containerized-lifecycle-architecture/index.md b/docs/standard/containerized-lifecycle-architecture/index.md index 48d711c8bc86b..f5e0e8dc2c353 100644 --- a/docs/standard/containerized-lifecycle-architecture/index.md +++ b/docs/standard/containerized-lifecycle-architecture/index.md @@ -1,14 +1,9 @@ --- title: Introduction to containers and Docker description: Containerized Docker Application Lifecycle with Microsoft Platform and Tools -ms.prod: ".net" author: CESARDELATORRE ms.author: wiwagn ms.date: 09/22/2017 -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Introduction to containers and Docker diff --git a/docs/standard/containerized-lifecycle-architecture/key-takeaways/index.md b/docs/standard/containerized-lifecycle-architecture/key-takeaways/index.md index 7408850a9a9b5..5cb760e2fd44c 100644 --- a/docs/standard/containerized-lifecycle-architecture/key-takeaways/index.md +++ b/docs/standard/containerized-lifecycle-architecture/key-takeaways/index.md @@ -1,14 +1,9 @@ --- title: Key takeaways description: Containerized Docker Application Lifecycle with Microsoft Platform and Tools (e-book)_v1.1 -ms.prod: ".net" author: CESARDELATORRE ms.author: wiwagn ms.date: 09/22/2017 -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Key takeaways diff --git a/docs/standard/containerized-lifecycle-architecture/run-manage-monitor-docker-environments/index.md b/docs/standard/containerized-lifecycle-architecture/run-manage-monitor-docker-environments/index.md index 758eec9fbbaed..42d80d79ed181 100644 --- a/docs/standard/containerized-lifecycle-architecture/run-manage-monitor-docker-environments/index.md +++ b/docs/standard/containerized-lifecycle-architecture/run-manage-monitor-docker-environments/index.md @@ -1,14 +1,9 @@ --- title: Run, manage, and monitor Docker production environments description: Containerized Docker Application Lifecycle with Microsoft Platform and Tools -ms.prod: ".net" author: CESARDELATORRE ms.author: wiwagn ms.date: 09/22/2017 -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Run, manage, and monitor Docker production environments diff --git a/docs/standard/containerized-lifecycle-architecture/run-manage-monitor-docker-environments/manage-production-docker-environments.md b/docs/standard/containerized-lifecycle-architecture/run-manage-monitor-docker-environments/manage-production-docker-environments.md index 18ba9a85c406b..da0834a765dea 100644 --- a/docs/standard/containerized-lifecycle-architecture/run-manage-monitor-docker-environments/manage-production-docker-environments.md +++ b/docs/standard/containerized-lifecycle-architecture/run-manage-monitor-docker-environments/manage-production-docker-environments.md @@ -1,14 +1,9 @@ --- title: Manage production Docker environments description: Containerized Docker Application Lifecycle with Microsoft Platform and Tools -ms.prod: ".net" author: CESARDELATORRE ms.author: wiwagn ms.date: 09/22/2017 -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Manage production Docker environments diff --git a/docs/standard/containerized-lifecycle-architecture/run-manage-monitor-docker-environments/monitor-containerized-application-services.md b/docs/standard/containerized-lifecycle-architecture/run-manage-monitor-docker-environments/monitor-containerized-application-services.md index a0bf327c147cc..1e3e9fa2ed961 100644 --- a/docs/standard/containerized-lifecycle-architecture/run-manage-monitor-docker-environments/monitor-containerized-application-services.md +++ b/docs/standard/containerized-lifecycle-architecture/run-manage-monitor-docker-environments/monitor-containerized-application-services.md @@ -1,14 +1,9 @@ --- title: Monitor containerized application services description: Containerized Docker Application Lifecycle with Microsoft Platform and Tools -ms.prod: ".net" author: CESARDELATORRE ms.author: wiwagn ms.date: 09/22/2017 -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Monitor containerized application services diff --git a/docs/standard/containerized-lifecycle-architecture/run-manage-monitor-docker-environments/run-microservices-based-applications-in-production.md b/docs/standard/containerized-lifecycle-architecture/run-manage-monitor-docker-environments/run-microservices-based-applications-in-production.md index af2afc3b1965b..2414c5e7968c7 100644 --- a/docs/standard/containerized-lifecycle-architecture/run-manage-monitor-docker-environments/run-microservices-based-applications-in-production.md +++ b/docs/standard/containerized-lifecycle-architecture/run-manage-monitor-docker-environments/run-microservices-based-applications-in-production.md @@ -1,14 +1,9 @@ --- title: Run composed and microservices-based applications in production environments description: Containerized Docker Application Lifecycle with Microsoft Platform and Tools -ms.prod: ".net" author: CESARDELATORRE ms.author: wiwagn ms.date: 09/22/2017 -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Run composed and microservices-based applications in production environments diff --git a/docs/standard/containerized-lifecycle-architecture/what-is-docker.md b/docs/standard/containerized-lifecycle-architecture/what-is-docker.md index 1bf9770db9119..4af1d05118344 100644 --- a/docs/standard/containerized-lifecycle-architecture/what-is-docker.md +++ b/docs/standard/containerized-lifecycle-architecture/what-is-docker.md @@ -1,14 +1,9 @@ --- title: What is Docker? description: Containerized Docker Application Lifecycle with Microsoft Platform and Tools -ms.prod: ".net" author: CESARDELATORRE ms.author: wiwagn ms.date: 09/21/2017 -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # What is Docker? diff --git a/docs/standard/cross-platform/app-resources-for-libraries-that-target-multiple-platforms.md b/docs/standard/cross-platform/app-resources-for-libraries-that-target-multiple-platforms.md index 3bee84e207087..39d192603535a 100644 --- a/docs/standard/cross-platform/app-resources-for-libraries-that-target-multiple-platforms.md +++ b/docs/standard/cross-platform/app-resources-for-libraries-that-target-multiple-platforms.md @@ -1,13 +1,7 @@ --- title: "App Resources for Libraries That Target Multiple Platforms" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -18,13 +12,8 @@ helpviewer_keywords: - "resources, for multiple platforms" - "targeting multiple platforms, resources for" ms.assetid: 72c76f0b-7255-4576-9261-3587f949669c -caps.latest.revision: 20 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # App Resources for Libraries That Target Multiple Platforms You can use the .NET Framework [Portable Class Library](../../../docs/standard/cross-platform/cross-platform-development-with-the-portable-class-library.md) project type to ensure that resources in your class libraries can be accessed from multiple platforms. This project type is available in [!INCLUDE[vs_dev11_long](../../../includes/vs-dev11-long-md.md)] and targets the portable subset of the .NET Framework class library. Using a [!INCLUDE[net_portable](../../../includes/net-portable-md.md)] ensures that your library can be accessed from desktop apps, Silverlight apps, Windows Phone apps, and [!INCLUDE[win8_appname_long](../../../includes/win8-appname-long-md.md)] apps. diff --git a/docs/standard/cross-platform/cross-platform-development-with-the-portable-class-library.md b/docs/standard/cross-platform/cross-platform-development-with-the-portable-class-library.md index c8d12c2f1899b..d8ec37095dbc7 100644 --- a/docs/standard/cross-platform/cross-platform-development-with-the-portable-class-library.md +++ b/docs/standard/cross-platform/cross-platform-development-with-the-portable-class-library.md @@ -1,25 +1,14 @@ --- title: "Cross-Platform Development with the Portable Class Library" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "Portable Class Library [.NET Framework]" - "targeting multiple platforms" - "multiple platforms, targeting" ms.assetid: c31e1663-c164-4e65-b66d-d3aa8750a154 -caps.latest.revision: 95 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Cross-Platform Development with the Portable Class Library The .NET Framework Portable Class Library project type in Visual Studio helps you build cross-platform apps and libraries for Microsoft platforms quickly and easily. diff --git a/docs/standard/cross-platform/index.md b/docs/standard/cross-platform/index.md index e1b6a35afd74a..217e84552d1c8 100644 --- a/docs/standard/cross-platform/index.md +++ b/docs/standard/cross-platform/index.md @@ -1,21 +1,10 @@ --- title: "Developing for Multiple Platforms with the .NET Framework" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: b153baaa-130c-4169-860b-e580591de91e -caps.latest.revision: 13 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Developing for Multiple Platforms with the .NET Framework You can develop apps for both Microsoft and non-Microsoft platforms by using the .NET Framework and Visual Studio. diff --git a/docs/standard/cross-platform/passing-a-uri-to-the-windows-runtime.md b/docs/standard/cross-platform/passing-a-uri-to-the-windows-runtime.md index 7343c61ca2cf8..408562ba7dced 100644 --- a/docs/standard/cross-platform/passing-a-uri-to-the-windows-runtime.md +++ b/docs/standard/cross-platform/passing-a-uri-to-the-windows-runtime.md @@ -1,13 +1,7 @@ --- title: "Passing a URI to the Windows Runtime" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -15,13 +9,8 @@ helpviewer_keywords: - "Windows Runtime, .NET Framework support for" - "Windows Runtime, passing a URI to" ms.assetid: 3eb5ce6f-f304-4f87-8e81-0f25092f5ad4 -caps.latest.revision: 10 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Passing a URI to the Windows Runtime Windows Runtime methods accept only absolute URIs. If you pass a relative URI to a [!INCLUDE[wrt](../../../includes/wrt-md.md)] method, an exception is thrown. Here's why: When you use the [!INCLUDE[wrt](../../../includes/wrt-md.md)] in .NET Framework code, the class appears as in Intellisense. The class allows relative URIs, but the class does not. This is also true for methods you expose in [!INCLUDE[wrt](../../../includes/wrt-md.md)] Components. If your component exposes a method that takes a URI, the signature in your code includes . However, to users of your component, the signature includes . A URI that is passed to your component must be an absolute URI. diff --git a/docs/standard/cross-platform/support-for-windows-store-apps-and-windows-runtime.md b/docs/standard/cross-platform/support-for-windows-store-apps-and-windows-runtime.md index 101e3efed5c7c..22b53095ae28a 100644 --- a/docs/standard/cross-platform/support-for-windows-store-apps-and-windows-runtime.md +++ b/docs/standard/cross-platform/support-for-windows-store-apps-and-windows-runtime.md @@ -1,13 +1,7 @@ --- title: ".NET Framework Support for Windows Store Apps and Windows Runtime" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "Windows Store apps, .NET Framework support for" - "Windows Runtime, .NET Framework support for" @@ -15,13 +9,8 @@ helpviewer_keywords: - ".NET Framework, and Windows Store apps" - ".NET Framework, and Windows Runtime" ms.assetid: 6fa7d044-ae12-4c54-b8ee-50915607a565 -caps.latest.revision: 20 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # .NET Framework Support for Windows Store Apps and Windows Runtime The [!INCLUDE[net_v45](../../../includes/net-v45-md.md)] supports a number of software development scenarios with the [!INCLUDE[wrt](../../../includes/wrt-md.md)]. These scenarios fall into three categories: diff --git a/docs/standard/cross-platform/using-portable-class-library-with-model-view-view-model.md b/docs/standard/cross-platform/using-portable-class-library-with-model-view-view-model.md index bbce0abd8bb17..ae53628026aed 100644 --- a/docs/standard/cross-platform/using-portable-class-library-with-model-view-view-model.md +++ b/docs/standard/cross-platform/using-portable-class-library-with-model-view-view-model.md @@ -1,13 +1,7 @@ --- title: "Using Portable Class Library with Model-View-View Model" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -15,13 +9,8 @@ helpviewer_keywords: - "Portable Class Library [.NET Framework], and MVVM" - "MVVM, and Portable Class Library" ms.assetid: 41a0b9f8-15a2-431a-bc35-e310b2953b03 -caps.latest.revision: 17 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Using Portable Class Library with Model-View-View Model You can use the .NET Framework [Portable Class Library](../../../docs/standard/cross-platform/cross-platform-development-with-the-portable-class-library.md) to implement the Model-View-View Model (MVVM) pattern and share assemblies across multiple platforms. diff --git a/docs/standard/cross-platform/windowsruntimestreamextensions-asrandomaccessstream-method.md b/docs/standard/cross-platform/windowsruntimestreamextensions-asrandomaccessstream-method.md index 89a98ceec6e1b..f67bd41815540 100644 --- a/docs/standard/cross-platform/windowsruntimestreamextensions-asrandomaccessstream-method.md +++ b/docs/standard/cross-platform/windowsruntimestreamextensions-asrandomaccessstream-method.md @@ -1,13 +1,7 @@ --- title: "WindowsRuntimeStreamExtensions.AsRandomAccessStream(System.IO.Stream) Method" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -16,13 +10,8 @@ api_name: api_location: - "System.Runtime.WindowsRuntime.dll" ms.assetid: dcc72283-caed-49ee-b45d-ccaf94e97129 -caps.latest.revision: 12 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # WindowsRuntimeStreamExtensions.AsRandomAccessStream(System.IO.Stream) Method [Supported in the .NET Framework 4.5.1 and later versions] diff --git a/docs/standard/data/xml/accessing-attributes-in-the-dom.md b/docs/standard/data/xml/accessing-attributes-in-the-dom.md index eec35591e96b8..c80ecc1771481 100644 --- a/docs/standard/data/xml/accessing-attributes-in-the-dom.md +++ b/docs/standard/data/xml/accessing-attributes-in-the-dom.md @@ -1,24 +1,13 @@ --- title: "Accessing Attributes in the DOM" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: ce2df341-a1a4-4e97-8e1b-cd45b8e3e71e -caps.latest.revision: 4 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Accessing Attributes in the DOM Attributes are properties of the element, not children of the element. This distinction is important because of the methods used to navigate sibling, parent, and child nodes of the XML Document Object Model (DOM). For example, the **PreviousSibling** and **NextSibling** methods are not used to navigate from an element to an attribute or between attributes. Instead, an attribute is a property of an element and is owned by an element, has an **OwnerElement** property and not a **parentNode** property, and has distinct methods of navigation. diff --git a/docs/standard/data/xml/accessing-strongly-typed-xml-data-using-xpathnavigator.md b/docs/standard/data/xml/accessing-strongly-typed-xml-data-using-xpathnavigator.md index c978b8f9f5d60..4a27fc66430ba 100644 --- a/docs/standard/data/xml/accessing-strongly-typed-xml-data-using-xpathnavigator.md +++ b/docs/standard/data/xml/accessing-strongly-typed-xml-data-using-xpathnavigator.md @@ -1,24 +1,13 @@ --- title: "Accessing Strongly Typed XML Data Using XPathNavigator" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 898e0f52-8a7c-4d1f-afcd-6ffb28b050b4 -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Accessing Strongly Typed XML Data Using XPathNavigator As an instance of the XPath 2.0 data model, the class can contain strongly-typed data that maps to common language runtime (CLR) types. According to the XPath 2.0 data model, only elements and attributes can contain strongly-typed data. The class provides mechanisms for accessing data within an or object as strongly-typed data as well as mechanisms for converting from one data type to another. diff --git a/docs/standard/data/xml/accessing-xml-data-using-xpathnavigator.md b/docs/standard/data/xml/accessing-xml-data-using-xpathnavigator.md index f35912bd66856..6d317bef4059a 100644 --- a/docs/standard/data/xml/accessing-xml-data-using-xpathnavigator.md +++ b/docs/standard/data/xml/accessing-xml-data-using-xpathnavigator.md @@ -1,21 +1,10 @@ --- title: "Accessing XML Data using XPathNavigator" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: c57b46e6-5c77-408f-bc4e-67a5dcc9cc05 -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Accessing XML Data using XPathNavigator The class provides methods to navigate nodes, extract XML data and access strongly typed XML data in an or object. diff --git a/docs/standard/data/xml/attribute-and-namespace-node-navigation-using-xpathnavigator.md b/docs/standard/data/xml/attribute-and-namespace-node-navigation-using-xpathnavigator.md index 47b9964af0c4f..84aca6c79ea6d 100644 --- a/docs/standard/data/xml/attribute-and-namespace-node-navigation-using-xpathnavigator.md +++ b/docs/standard/data/xml/attribute-and-namespace-node-navigation-using-xpathnavigator.md @@ -1,21 +1,10 @@ --- title: "Attribute and Namespace Node Navigation Using XPathNavigator" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 23975f88-e0af-4b88-93de-9e20e11880ad -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Attribute and Namespace Node Navigation Using XPathNavigator The class provides two sets of navigation methods, the first set, found in the [Node Set Navigation Using XPathNavigator](../../../../docs/standard/data/xml/node-set-navigation-using-xpathnavigator.md) topic, are used to navigate *node sets* in an or object. The second set, described in this topic, are used to navigate *attribute and namespace nodes* in an or object. diff --git a/docs/standard/data/xml/building-xml-schemas.md b/docs/standard/data/xml/building-xml-schemas.md index f6b0ac54b29ed..19671604a6460 100644 --- a/docs/standard/data/xml/building-xml-schemas.md +++ b/docs/standard/data/xml/building-xml-schemas.md @@ -1,25 +1,14 @@ --- title: "Building XML Schemas" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" - "cpp" ms.assetid: 8a5ea56c-0140-4b51-8997-875ae6a8e0cb -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Building XML Schemas The classes in the namespace map to the structures defined in the World Wide Web Consortium (W3C) XML Schema Recommendation and can be used to build XML schemas in-memory. diff --git a/docs/standard/data/xml/changing-namespace-declarations-in-an-xml-document.md b/docs/standard/data/xml/changing-namespace-declarations-in-an-xml-document.md index b80a292ba0b3f..48a98ae70841c 100644 --- a/docs/standard/data/xml/changing-namespace-declarations-in-an-xml-document.md +++ b/docs/standard/data/xml/changing-namespace-declarations-in-an-xml-document.md @@ -1,24 +1,13 @@ --- title: "Changing Namespace Declarations in an XML Document" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: a2758f40-e497-4964-8d8d-1bb68af14dcd -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Changing Namespace Declarations in an XML Document The **XmlDocument** exposes namespace declarations and **xmlns** attributes as part of the document object model. These are stored in the **XmlDocument**, so when you save the document, it can preserve the location of those attributes. Changing these attributes has no affect on the **Name**, **NamespaceURI**, and **Prefix** properties of other nodes already in the tree. For example, if you load the following document, then the `test` element has **NamespaceURI** `123.` diff --git a/docs/standard/data/xml/changing-namespace-prefix-properties.md b/docs/standard/data/xml/changing-namespace-prefix-properties.md index 328182a974e46..698f815c7bc12 100644 --- a/docs/standard/data/xml/changing-namespace-prefix-properties.md +++ b/docs/standard/data/xml/changing-namespace-prefix-properties.md @@ -1,24 +1,13 @@ --- title: "Changing Namespace Prefix Properties" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: d5c87cbe-4d69-429f-aad5-3103c2ca2770 -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Changing Namespace Prefix Properties The **XmlNode** class allows you to change the namespace prefix associated with a given node. For example, the following code shows the prefix of an element being changed. diff --git a/docs/standard/data/xml/compiled-xpath-expressions.md b/docs/standard/data/xml/compiled-xpath-expressions.md index ab78959ff2872..b004c4556fd28 100644 --- a/docs/standard/data/xml/compiled-xpath-expressions.md +++ b/docs/standard/data/xml/compiled-xpath-expressions.md @@ -1,24 +1,13 @@ --- title: "Compiled XPath Expressions" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: e25dd95f-b64c-4d8b-a3a4-379e1aa0ad55 -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Compiled XPath Expressions An object represents a compiled XPath query returned from either the static method of the class or the method of the class. diff --git a/docs/standard/data/xml/conversion-of-xml-data-types.md b/docs/standard/data/xml/conversion-of-xml-data-types.md index d005d1854dd17..8dcb0346f5863 100644 --- a/docs/standard/data/xml/conversion-of-xml-data-types.md +++ b/docs/standard/data/xml/conversion-of-xml-data-types.md @@ -1,24 +1,13 @@ --- title: "Conversion of XML Data Types" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: a2aa99ba-8239-4818-9281-f1d72ee40bde -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Conversion of XML Data Types The majority of the methods found in an **XmlConvert** class are used to convert data between strings and strongly-typed formats. Methods are locale independent. This means that they do not take into account any locale settings when doing conversion. diff --git a/docs/standard/data/xml/converting-dotnet-types-to-strings.md b/docs/standard/data/xml/converting-dotnet-types-to-strings.md index d018d55c7cd7c..58f41e0ff73ed 100644 --- a/docs/standard/data/xml/converting-dotnet-types-to-strings.md +++ b/docs/standard/data/xml/converting-dotnet-types-to-strings.md @@ -1,21 +1,10 @@ --- title: "Converting .NET Framework Types to Strings" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: dc2e2b65-f623-4dc3-938b-d2a054d6832c -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Converting .NET Framework Types to Strings If you want to convert a .NET Framework type to a string, use the **ToString** method. The **ToString** method returns a string representation of the type passed in. The following table lists the .NET Framework types that return a string in a format that maps to the XML Schema (XSD) specifications. diff --git a/docs/standard/data/xml/converting-strings-to-dotnet-data-types.md b/docs/standard/data/xml/converting-strings-to-dotnet-data-types.md index de5c677472a3c..71523d9c04944 100644 --- a/docs/standard/data/xml/converting-strings-to-dotnet-data-types.md +++ b/docs/standard/data/xml/converting-strings-to-dotnet-data-types.md @@ -1,24 +1,13 @@ --- title: "Converting Strings to .NET Framework Data Types" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 65455ef3-9120-412c-819b-d0f59f88ac09 -caps.latest.revision: 4 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Converting Strings to .NET Framework Data Types If you want to convert a string to a .NET Framework data type, use the **XmlConvert** method that fits the application requirements. For a list of all conversion methods available in the **XmlConvert** class, see . diff --git a/docs/standard/data/xml/copy-existing-nodes.md b/docs/standard/data/xml/copy-existing-nodes.md index b1d8cfeecdc91..61726d6f8c89c 100644 --- a/docs/standard/data/xml/copy-existing-nodes.md +++ b/docs/standard/data/xml/copy-existing-nodes.md @@ -1,21 +1,10 @@ --- title: "Copy Existing Nodes" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 2aa8f65c-cc62-4638-9c46-129dc15be786 -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Copy Existing Nodes There are many methods and properties in the XML Document Object Model (DOM)you can use to select a node, such as **SelectSingleNode**, **ChildNodes[int i]**, **Attributes[int i]**. Once the node is selected, you can insert it into the tree using one of the insert methods that work for that particular node type. The only restriction to inserting a node into the tree is that the document must still be well-formed after the node is inserted. When an existing node is inserted into the DOM tree, it is removed from its original position and added to its target position. diff --git a/docs/standard/data/xml/copying-document-fragments.md b/docs/standard/data/xml/copying-document-fragments.md index f18d7bf9a9837..5c6e8b32b863a 100644 --- a/docs/standard/data/xml/copying-document-fragments.md +++ b/docs/standard/data/xml/copying-document-fragments.md @@ -1,21 +1,10 @@ --- title: "Copying Document Fragments" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: cf424bbe-81b7-40d2-9978-9b727da94d80 -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Copying Document Fragments You can create an **XmlDocumentFragment** node and then add nodes under it. When the **XmlDocumentFragment** is inserted with the **InsertNode** method, the **XmlDocumentFragment** node is not copied, but its child nodes are inserted in the XML Document Object Model (DOM). diff --git a/docs/standard/data/xml/copying-existing-nodes-from-one-document-to-another.md b/docs/standard/data/xml/copying-existing-nodes-from-one-document-to-another.md index 1fd5828a3d9a3..2dacd1dce28c8 100644 --- a/docs/standard/data/xml/copying-existing-nodes-from-one-document-to-another.md +++ b/docs/standard/data/xml/copying-existing-nodes-from-one-document-to-another.md @@ -1,21 +1,10 @@ --- title: "Copying Existing Nodes from One Document to Another" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 3caa78c1-3448-4b7b-b83c-228ee857635e -caps.latest.revision: 4 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Copying Existing Nodes from One Document to Another The **ImportNode** method is the mechanism by which a node or entire node subtree is copied from one **XmlDocument** to another. The node returned from the call is a copy of the node from the source document, including attribute values, the node name, node type, and all namespace-related attributes such as the prefix, local name, and namespace Uniform Resource Identifier (URI). The source document is not changed. After you have imported the node, you still have to add it to the tree using one of the methods used to insert nodes. diff --git a/docs/standard/data/xml/create-new-nodes-in-the-dom.md b/docs/standard/data/xml/create-new-nodes-in-the-dom.md index 016125a8e7d9e..703c972ba85a0 100644 --- a/docs/standard/data/xml/create-new-nodes-in-the-dom.md +++ b/docs/standard/data/xml/create-new-nodes-in-the-dom.md @@ -1,21 +1,10 @@ --- title: "Create New Nodes in the DOM" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 6c2b9789-b61a-49f9-b33f-db01a945edf2 -caps.latest.revision: 4 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Create New Nodes in the DOM The has a create method for all of the node types. Supply the method with a name when required, and content or other parameters for those nodes that have content (for example, a text node), and the node is created. The following methods are ones that need a name and a few other parameters filled to create an appropriate node. diff --git a/docs/standard/data/xml/creating-new-attributes-for-elements-in-the-dom.md b/docs/standard/data/xml/creating-new-attributes-for-elements-in-the-dom.md index dd6210d9d0e2d..de52840242f98 100644 --- a/docs/standard/data/xml/creating-new-attributes-for-elements-in-the-dom.md +++ b/docs/standard/data/xml/creating-new-attributes-for-elements-in-the-dom.md @@ -1,24 +1,13 @@ --- title: "Creating New Attributes for Elements in the DOM" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: dd6dc920-b011-418a-b3db-f1580a7d9251 -caps.latest.revision: 4 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Creating New Attributes for Elements in the DOM Creating new attributes is different than creating other node types, because attributes are not nodes, but are properties of an element node and are contained in an **XmlAttributeCollection** associated with the element. There are multiple ways to create an attribute and attach it to an element: diff --git a/docs/standard/data/xml/creating-new-entity-references.md b/docs/standard/data/xml/creating-new-entity-references.md index 67a1f3a66e5ef..67a9730493c88 100644 --- a/docs/standard/data/xml/creating-new-entity-references.md +++ b/docs/standard/data/xml/creating-new-entity-references.md @@ -1,21 +1,10 @@ --- title: "Creating New Entity References" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: a42f81b3-0403-4e34-b346-7d2129804e54 -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Creating New Entity References The **CreateEntityReference** method creates a new **XmlEntityReference** node. The XML Document Object Model (DOM) looks to see if the entity name being referenced has already been declared. If it has, the child nodes of **XmlEntityReference** node are copied from the entity declaration node. If there is no entity declaration that matches, an empty text node is attached as the only child of the entity reference node. Because the child nodes of the **XmlEntityReference** node are copies of other nodes, these child nodes are read-only and cannot be modified. diff --git a/docs/standard/data/xml/dynamic-updates-to-nodelists-and-namednodemaps.md b/docs/standard/data/xml/dynamic-updates-to-nodelists-and-namednodemaps.md index f1537cebe10b3..803af59959072 100644 --- a/docs/standard/data/xml/dynamic-updates-to-nodelists-and-namednodemaps.md +++ b/docs/standard/data/xml/dynamic-updates-to-nodelists-and-namednodemaps.md @@ -1,21 +1,10 @@ --- title: "Dynamic Updates to NodeLists and NamedNodeMaps" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 76c511fd-6704-4ca4-8078-860a68d898ad -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Dynamic Updates to NodeLists and NamedNodeMaps Because the **XmlNodeList** and the **XmlNamedNodeMap** contain a set of nodes, yet the XML document is loaded into memory and is being modified, the World Wide Web Consortium (W3C) states that these objects that contain sets of nodes need to be dynamic. That is, if the underlying document changes, then the data in these two objects should change also. Therefore, if you have an **XmlNodeList** that contains all the child elements of a particular element (for example, element X), then you add an additional element, element Q, to the document under element X. The **XmlNodeList** should also have that new element Q added to its collection. The same is true in reverse. If a node is added to the **XmlNodeList**, the underlying document is updated as well. diff --git a/docs/standard/data/xml/editing-xml-data-using-xpathnavigator.md b/docs/standard/data/xml/editing-xml-data-using-xpathnavigator.md index 47b402cea24e4..c4b450a4fa07b 100644 --- a/docs/standard/data/xml/editing-xml-data-using-xpathnavigator.md +++ b/docs/standard/data/xml/editing-xml-data-using-xpathnavigator.md @@ -1,21 +1,10 @@ --- title: "Editing XML Data using XPathNavigator" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: b1f91616-3115-4264-9821-c66589d11d11 -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Editing XML Data using XPathNavigator The class provides methods to insert, modify and remove nodes and values from an XML document contained in an object. In order to use any of these methods to insert, modify, and remove nodes and values, the object must be editable, that is, its property must be true. diff --git a/docs/standard/data/xml/editing-xml-schemas.md b/docs/standard/data/xml/editing-xml-schemas.md index 1b8e4b6906001..16a528a112158 100644 --- a/docs/standard/data/xml/editing-xml-schemas.md +++ b/docs/standard/data/xml/editing-xml-schemas.md @@ -1,25 +1,14 @@ --- title: "Editing XML Schemas" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" - "cpp" ms.assetid: fa09c8e5-c2b9-49d2-bb0d-40330cd13e4d -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Editing XML Schemas Editing an XML schema is one of the most important features of the Schema Object Model (SOM). All of the pre-schema-compilation properties of the SOM can be used to change the existing values in an XML schema. The XML schema can then be recompiled to reflect the changes. diff --git a/docs/standard/data/xml/entity-references-are-expanded-and-not-preserved.md b/docs/standard/data/xml/entity-references-are-expanded-and-not-preserved.md index 0989225755c85..ce36cade75485 100644 --- a/docs/standard/data/xml/entity-references-are-expanded-and-not-preserved.md +++ b/docs/standard/data/xml/entity-references-are-expanded-and-not-preserved.md @@ -1,21 +1,10 @@ --- title: "Entity References are Expanded and Not Preserved" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: ffd97806-ab43-4538-8de2-5828bfbbde57 -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Entity References are Expanded and Not Preserved When the entity reference is expanded and replaced by the text it represents, the **XmlEntityReference** node is not created. Instead, the entity declaration is parsed, and nodes created from the content in the declaration are copied in the place of the **XmlEntityReference**. Therefore, in the `&publisher;` example, the `&publisher;` is not saved, but instead, an **XmlText** node is created. diff --git a/docs/standard/data/xml/entity-references-are-preserved.md b/docs/standard/data/xml/entity-references-are-preserved.md index 5dc0a39a5d0fa..5e820bb153f16 100644 --- a/docs/standard/data/xml/entity-references-are-preserved.md +++ b/docs/standard/data/xml/entity-references-are-preserved.md @@ -1,21 +1,10 @@ --- title: "Entity References are Preserved" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 000a6cae-5972-40d6-bd6c-a9b7d9649b3c -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Entity References are Preserved When the entity reference is not expanded, but preserved, the XML Document Object Model (DOM) builds an **XmlEntityReference** node when it encounters an entity reference. diff --git a/docs/standard/data/xml/evaluate-xpath-expressions-using-xpathnavigator.md b/docs/standard/data/xml/evaluate-xpath-expressions-using-xpathnavigator.md index 7b1c2c4c1109d..427e6536ff6f9 100644 --- a/docs/standard/data/xml/evaluate-xpath-expressions-using-xpathnavigator.md +++ b/docs/standard/data/xml/evaluate-xpath-expressions-using-xpathnavigator.md @@ -1,24 +1,13 @@ --- title: "Evaluate XPath Expressions using XPathNavigator" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 2913ccf3-f932-4363-8028-9e2d22ce6093 -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Evaluate XPath Expressions using XPathNavigator The class provides the method to evaluate an XPath expression. The method takes an XPath expression, evaluates it and returns a W3C XPath type of Boolean, Number, String, or Node Set based on the result of the XPath expression. diff --git a/docs/standard/data/xml/event-handling-in-an-xml-document-using-the-xmlnodechangedeventargs.md b/docs/standard/data/xml/event-handling-in-an-xml-document-using-the-xmlnodechangedeventargs.md index f7305f6bc19fa..a9e4cd7c58617 100644 --- a/docs/standard/data/xml/event-handling-in-an-xml-document-using-the-xmlnodechangedeventargs.md +++ b/docs/standard/data/xml/event-handling-in-an-xml-document-using-the-xmlnodechangedeventargs.md @@ -1,24 +1,13 @@ --- title: "Event Handling in an XML Document Using the XmlNodeChangedEventArgs" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 0fe844e3-5b6f-4fe7-ad15-22459501738b -caps.latest.revision: 4 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Event Handling in an XML Document Using the XmlNodeChangedEventArgs The **XmlNodeChangedEventArgs** encapsulates the arguments passed to the event handlers registered on the **XmlDocument** object for handling events. The events and a description of when they are fired is given in the following table. diff --git a/docs/standard/data/xml/extending-the-dom.md b/docs/standard/data/xml/extending-the-dom.md index 1a25e4a7e0aab..83483a5bcdc14 100644 --- a/docs/standard/data/xml/extending-the-dom.md +++ b/docs/standard/data/xml/extending-the-dom.md @@ -1,24 +1,13 @@ --- title: "Extending the DOM" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: b5489c96-4afd-439a-a25d-fc82eb4a148d -caps.latest.revision: 5 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Extending the DOM The Microsoft .NET Framework includes a base set of classes that provides an implementation of the XML Document Object Model (DOM). The , and its derived classes, provides methods and properties that allow you to navigate, query, and modify the content and structure of an XML document. diff --git a/docs/standard/data/xml/extending-xslt-style-sheets.md b/docs/standard/data/xml/extending-xslt-style-sheets.md index 7ee6c14785b20..31773ce3b0b82 100644 --- a/docs/standard/data/xml/extending-xslt-style-sheets.md +++ b/docs/standard/data/xml/extending-xslt-style-sheets.md @@ -1,21 +1,10 @@ --- title: "Extending XSLT Style Sheets" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: df4ba2bf-a99e-4d22-bbf3-04fc67669dbc -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Extending XSLT Style Sheets This section describes the different methods of extending the XSLT functionality. You can add extension objects or parameters using the class. The extension objects or parameters can then be called from the style sheet. In addition, you can also embed script blocks into the style sheet by using the `msxsl:script` element. diff --git a/docs/standard/data/xml/extract-xml-data-using-xpathnavigator.md b/docs/standard/data/xml/extract-xml-data-using-xpathnavigator.md index b161c721a8473..ace5cb231e92b 100644 --- a/docs/standard/data/xml/extract-xml-data-using-xpathnavigator.md +++ b/docs/standard/data/xml/extract-xml-data-using-xpathnavigator.md @@ -1,24 +1,13 @@ --- title: "Extract XML Data Using XPathNavigator" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 095b0987-ee4b-4595-a160-da1c956ad576 -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Extract XML Data Using XPathNavigator There are several different ways to represent an XML document in the Microsoft .NET Framework. This includes using a , or by using the , , , or classes. To facilitate moving between these different representations of an XML document, the class provides a number of methods and properties for extracting the XML as a , object or object. diff --git a/docs/standard/data/xml/how-to-migrate-your-xsltransform-code.md b/docs/standard/data/xml/how-to-migrate-your-xsltransform-code.md index 323a659c0c994..8e49eae5cf20b 100644 --- a/docs/standard/data/xml/how-to-migrate-your-xsltransform-code.md +++ b/docs/standard/data/xml/how-to-migrate-your-xsltransform-code.md @@ -1,24 +1,13 @@ --- title: "How to: Migrate Your XslTransform Code" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 910beb2f-cfb3-4e8e-9936-f7e0c5f4064a -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Migrate Your XslTransform Code The new XSLT classes have been designed to be very similar to the existing classes. The class replaces the class. Style sheets are compiled using the method. Transforms are executed using the method. The following procedures show common XSLT tasks, and compare the code using the class versus the class. diff --git a/docs/standard/data/xml/how-to-perform-an-xslt-transformation-by-using-an-assembly.md b/docs/standard/data/xml/how-to-perform-an-xslt-transformation-by-using-an-assembly.md index cb764da327533..8def38f5de970 100644 --- a/docs/standard/data/xml/how-to-perform-an-xslt-transformation-by-using-an-assembly.md +++ b/docs/standard/data/xml/how-to-perform-an-xslt-transformation-by-using-an-assembly.md @@ -1,24 +1,13 @@ --- title: "How to: Perform an XSLT Transformation by Using an Assembly" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 76ee440b-d134-4f8f-8262-b917ad6dcbf6 -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Perform an XSLT Transformation by Using an Assembly The XSLT compiler (xsltc.exe) compiles XSLT style sheets and generates an assembly. The assembly can be passed directly into the method. diff --git a/docs/standard/data/xml/how-to-transform-a-node-fragment.md b/docs/standard/data/xml/how-to-transform-a-node-fragment.md index 3b58d714f4c88..670d10177583e 100644 --- a/docs/standard/data/xml/how-to-transform-a-node-fragment.md +++ b/docs/standard/data/xml/how-to-transform-a-node-fragment.md @@ -1,24 +1,13 @@ --- title: "How to: Transform a Node Fragment" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 73a6c582-b9d7-4fa7-9a05-6d931e1f3de8 -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Transform a Node Fragment When you transform data contained in an or object the XSLT transformations apply to a document as a whole. In other words, if you pass in a node other than the document root node, this does not prevent the transformation process from accessing all nodes in the loaded document. To transform a node fragment, you must create a separate object containing just the node fragment, and pass that object to the method. diff --git a/docs/standard/data/xml/implementation-of-discretionary-behaviors-in-the-xsltransform-class.md b/docs/standard/data/xml/implementation-of-discretionary-behaviors-in-the-xsltransform-class.md index 3236fc1a4a275..686f463bab9a7 100644 --- a/docs/standard/data/xml/implementation-of-discretionary-behaviors-in-the-xsltransform-class.md +++ b/docs/standard/data/xml/implementation-of-discretionary-behaviors-in-the-xsltransform-class.md @@ -1,21 +1,10 @@ --- title: "Implementation of Discretionary Behaviors in the XslTransform Class" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: d2758ea1-03f6-47bd-88d2-0fb7ccdb2fab -caps.latest.revision: 4 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Implementation of Discretionary Behaviors in the XslTransform Class > [!NOTE] diff --git a/docs/standard/data/xml/including-or-importing-xml-schemas.md b/docs/standard/data/xml/including-or-importing-xml-schemas.md index 5fea47839f62c..5c458ac8de92e 100644 --- a/docs/standard/data/xml/including-or-importing-xml-schemas.md +++ b/docs/standard/data/xml/including-or-importing-xml-schemas.md @@ -1,25 +1,14 @@ --- title: "Including or Importing XML Schemas" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" - "cpp" ms.assetid: fe1b4a11-37f4-4e1a-93c9-239f4fe736c0 -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Including or Importing XML Schemas An XML schema may contain ``, ``, and `` elements. These schema elements refer to other XML schemas that can be used to supplement the structure of the schema that includes or imports them. The , and classes, map to these elements in the Schema Object Model (SOM) API. diff --git a/docs/standard/data/xml/index.md b/docs/standard/data/xml/index.md index cede5b286798c..17ae7ec6e52ef 100644 --- a/docs/standard/data/xml/index.md +++ b/docs/standard/data/xml/index.md @@ -1,21 +1,10 @@ --- title: "XML Documents and Data" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: e695047f-3c0f-4045-8708-5baea91cc380 -caps.latest.revision: 9 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XML Documents and Data The .NET Framework provides a comprehensive and integrated set of classes that enable you to build XML-aware apps easily. The classes in the following namespaces support parsing and writing XML, editing XML data in memory, data validation, and XSLT transformation. diff --git a/docs/standard/data/xml/inferring-an-xml-schema.md b/docs/standard/data/xml/inferring-an-xml-schema.md index 9b8dc007fe121..64871cde3342a 100644 --- a/docs/standard/data/xml/inferring-an-xml-schema.md +++ b/docs/standard/data/xml/inferring-an-xml-schema.md @@ -1,21 +1,10 @@ --- title: "Inferring an XML Schema" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: b18e7ffd-3c04-482d-9934-ba2f6a59b2c9 -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Inferring an XML Schema Describes how to use the Schema Object Model (SOM) class to infer an XML Schema definition language (XSD) schema from the structure of an XML document. diff --git a/docs/standard/data/xml/inferring-schemas-from-xml-documents.md b/docs/standard/data/xml/inferring-schemas-from-xml-documents.md index d9b72742a3f2f..e9c6d3233d9c5 100644 --- a/docs/standard/data/xml/inferring-schemas-from-xml-documents.md +++ b/docs/standard/data/xml/inferring-schemas-from-xml-documents.md @@ -1,25 +1,14 @@ --- title: "Inferring Schemas from XML Documents" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" - "cpp" ms.assetid: f3d97d53-614d-4a04-a174-87965b7405f6 -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Inferring Schemas from XML Documents This topic describes how to use the class to infer an XML Schema definition language (XSD) schema from the structure of an XML document. diff --git a/docs/standard/data/xml/inputs-to-the-xslcompiledtransform-class.md b/docs/standard/data/xml/inputs-to-the-xslcompiledtransform-class.md index 783d05c705d52..ba46d171e2a48 100644 --- a/docs/standard/data/xml/inputs-to-the-xslcompiledtransform-class.md +++ b/docs/standard/data/xml/inputs-to-the-xslcompiledtransform-class.md @@ -1,24 +1,13 @@ --- title: "Inputs to the XslCompiledTransform Class" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 834049f1-ab41-449e-9f10-4a1d0701bc48 -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Inputs to the XslCompiledTransform Class The method accepts three input types for the source document: an object that implements the interface, an object that reads the source document, or a string URI. diff --git a/docs/standard/data/xml/insert-xml-data-using-xpathnavigator.md b/docs/standard/data/xml/insert-xml-data-using-xpathnavigator.md index 4bf0c40647d91..b6c68b9e8442f 100644 --- a/docs/standard/data/xml/insert-xml-data-using-xpathnavigator.md +++ b/docs/standard/data/xml/insert-xml-data-using-xpathnavigator.md @@ -1,25 +1,14 @@ --- title: "Insert XML Data using XPathNavigator" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" - "cpp" ms.assetid: 2ed8c28b-b88d-4be7-9c87-92df01f0821f -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Insert XML Data using XPathNavigator The class provides a set of methods used to insert sibling, child, and attribute nodes in an XML document. In order to use these methods, the object must be editable, that is, its property must be `true`. diff --git a/docs/standard/data/xml/inserting-nodes-into-an-xml-document.md b/docs/standard/data/xml/inserting-nodes-into-an-xml-document.md index e0e68c41ef6c4..70c05ca4b6328 100644 --- a/docs/standard/data/xml/inserting-nodes-into-an-xml-document.md +++ b/docs/standard/data/xml/inserting-nodes-into-an-xml-document.md @@ -1,21 +1,10 @@ --- title: "Inserting Nodes into an XML Document" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 891e54f5-54f6-4bb4-b624-9d1b6a1f1216 -caps.latest.revision: 3 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Inserting Nodes into an XML Document You can modify the document by inserting new nodes. The nodes can be newly created, existing in the same document, or they can be imported from another document. For more information about creating new nodes, see [Create New Nodes in the DOM](../../../../docs/standard/data/xml/create-new-nodes-in-the-dom.md). For more information on copying existing nodes, see [Copy Existing Nodes](../../../../docs/standard/data/xml/copy-existing-nodes.md), [Copying Existing Nodes from One Document to Another](../../../../docs/standard/data/xml/copying-existing-nodes-from-one-document-to-another.md), or [Copying Document Fragments](../../../../docs/standard/data/xml/copying-document-fragments.md). diff --git a/docs/standard/data/xml/load-data-from-a-reader.md b/docs/standard/data/xml/load-data-from-a-reader.md index 00d84dc754e30..1b67749dcb095 100644 --- a/docs/standard/data/xml/load-data-from-a-reader.md +++ b/docs/standard/data/xml/load-data-from-a-reader.md @@ -1,21 +1,10 @@ --- title: "Load Data from a Reader" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 7e74918c-bc72-4977-a49b-e1520a6d8f60 -caps.latest.revision: 4 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Load Data from a Reader If an XML document is loaded using the method and a parameter of an , there are differences in the behavior that occurs when compared to the behavior of loading data from the other formats. If the reader is in its initial state, consumes the entire contents from the reader and builds the XML Document Object Model (DOM) from all the data in the reader. diff --git a/docs/standard/data/xml/managing-namespaces-in-an-xml-document.md b/docs/standard/data/xml/managing-namespaces-in-an-xml-document.md index 2b766c5f0be14..90a7f2d7a12f7 100644 --- a/docs/standard/data/xml/managing-namespaces-in-an-xml-document.md +++ b/docs/standard/data/xml/managing-namespaces-in-an-xml-document.md @@ -1,21 +1,10 @@ --- title: "Managing Namespaces in an XML Document" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 682643fc-b848-4e42-8c0d-50deeaeb5f2a -caps.latest.revision: 5 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Managing Namespaces in an XML Document XML namespaces associate element and attribute names in an XML document with custom and predefined URIs. To create these associations, you define prefixes for namespace URIs, and use those prefixes to qualify element and attribute names in XML data. Namespaces prevent element and attribute name collisions, and enable elements and attributes of the same name to be handled and validated differently. diff --git a/docs/standard/data/xml/mapping-the-object-hierarchy-to-xml-data.md b/docs/standard/data/xml/mapping-the-object-hierarchy-to-xml-data.md index 806371afdf9bf..82dbec1753285 100644 --- a/docs/standard/data/xml/mapping-the-object-hierarchy-to-xml-data.md +++ b/docs/standard/data/xml/mapping-the-object-hierarchy-to-xml-data.md @@ -1,24 +1,13 @@ --- title: "Mapping the Object Hierarchy to XML Data" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 450e350b-6a68-4634-a2a5-33f4dc33baf0 -caps.latest.revision: 5 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Mapping the Object Hierarchy to XML Data When an XML document is in memory, the conceptual representation is a tree. For programming, you have an object hierarchy to access the nodes of the tree. The following example shows you how the XML content becomes nodes. diff --git a/docs/standard/data/xml/mapping-xml-data-types-to-clr-types.md b/docs/standard/data/xml/mapping-xml-data-types-to-clr-types.md index 2915c49576aba..80bcfcd844152 100644 --- a/docs/standard/data/xml/mapping-xml-data-types-to-clr-types.md +++ b/docs/standard/data/xml/mapping-xml-data-types-to-clr-types.md @@ -1,21 +1,10 @@ --- title: "Mapping XML Data Types to CLR Types" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: cabdfcad-f359-479b-b71c-8b2fad42ca49 -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Mapping XML Data Types to CLR Types The following table describes the default mapping between the XML data types and the common language runtime (CLR) types. diff --git a/docs/standard/data/xml/matching-nodes-using-xpathnavigator.md b/docs/standard/data/xml/matching-nodes-using-xpathnavigator.md index 8c7feb3bdc9c5..c400eebc61705 100644 --- a/docs/standard/data/xml/matching-nodes-using-xpathnavigator.md +++ b/docs/standard/data/xml/matching-nodes-using-xpathnavigator.md @@ -1,24 +1,13 @@ --- title: "Matching Nodes using XPathNavigator" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: e6848c47-ee5d-401a-89a5-50b5eed40f30 -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Matching Nodes using XPathNavigator The class provides the method to determine if a node matches an XPath expression. The method takes an XPath expression as input and returns a that indicates if the current node matches the given XPath expression or the given compiled object. diff --git a/docs/standard/data/xml/migrating-from-the-xsltransform-class.md b/docs/standard/data/xml/migrating-from-the-xsltransform-class.md index d262bd5c9ba8e..60a17cfd061aa 100644 --- a/docs/standard/data/xml/migrating-from-the-xsltransform-class.md +++ b/docs/standard/data/xml/migrating-from-the-xsltransform-class.md @@ -1,24 +1,13 @@ --- title: "Migrating From the XslTransform Class" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 9404d758-679f-4ffb-995d-3d07d817659e -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Migrating From the XslTransform Class The XSLT architecture was redesigned in the [!INCLUDE[vsprvslong](../../../../includes/vsprvslong-md.md)] release. The class has been replaced by the class. diff --git a/docs/standard/data/xml/modify-xml-data-using-xpathnavigator.md b/docs/standard/data/xml/modify-xml-data-using-xpathnavigator.md index 449d994ddd0b8..e0f36986eb3c9 100644 --- a/docs/standard/data/xml/modify-xml-data-using-xpathnavigator.md +++ b/docs/standard/data/xml/modify-xml-data-using-xpathnavigator.md @@ -1,25 +1,14 @@ --- title: "Modify XML Data using XPathNavigator" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" - "cpp" ms.assetid: 03a7c5a1-b296-4af4-b209-043c958dc0a5 -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Modify XML Data using XPathNavigator The class provides a set of methods used to modify nodes and values in an XML document. In order to use these methods, the object must be editable, that is, its property must be `true`. diff --git a/docs/standard/data/xml/modifying-nodes-content-and-values-in-an-xml-document.md b/docs/standard/data/xml/modifying-nodes-content-and-values-in-an-xml-document.md index 827bef5715178..2fa43429026a5 100644 --- a/docs/standard/data/xml/modifying-nodes-content-and-values-in-an-xml-document.md +++ b/docs/standard/data/xml/modifying-nodes-content-and-values-in-an-xml-document.md @@ -1,21 +1,10 @@ --- title: "Modifying Nodes, Content, and Values in an XML Document" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 761773e0-db72-4986-b9f5-a522213d8397 -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Modifying Nodes, Content, and Values in an XML Document There are many ways you can modify the nodes and content in a document. You can: diff --git a/docs/standard/data/xml/namespace-affect-on-entity-ref-expansion-for-new-nodes.md b/docs/standard/data/xml/namespace-affect-on-entity-ref-expansion-for-new-nodes.md index 561701d78aa04..295344bef8556 100644 --- a/docs/standard/data/xml/namespace-affect-on-entity-ref-expansion-for-new-nodes.md +++ b/docs/standard/data/xml/namespace-affect-on-entity-ref-expansion-for-new-nodes.md @@ -1,21 +1,10 @@ --- title: "Namespace Affect on Entity Reference Expansion for New Nodes Containing Elements and Attributes" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 64359aee-aab0-4042-9a32-d19789af6ca7 -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Namespace Affect on Entity Reference Expansion for New Nodes Containing Elements and Attributes Because the content of an entity declaration can contain almost anything, there is a possibility that the content could contain an element like `test">`. diff --git a/docs/standard/data/xml/namespace-support-in-the-dom.md b/docs/standard/data/xml/namespace-support-in-the-dom.md index 46d217b5204a2..ef86157af7e19 100644 --- a/docs/standard/data/xml/namespace-support-in-the-dom.md +++ b/docs/standard/data/xml/namespace-support-in-the-dom.md @@ -1,21 +1,10 @@ --- title: "Namespace Support in the DOM" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: f0548ead-0fed-41ee-b33e-117ba900d3bc -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Namespace Support in the DOM The XML Document Object Model (DOM) is completely namespace-aware. Only namespace-aware XML documents are supported. The World Wide Web Consortium (W3C) specifies that DOM applications that implement Level 1 can be non-namespace-aware, and DOM Level 2 features are namespace-aware. However, all features in the XML DOM are namespace-aware, regardless if the method is from the Level 1 or Level 2 DOM Recommendation. diff --git a/docs/standard/data/xml/namespaces-and-dtds-in-the-dom.md b/docs/standard/data/xml/namespaces-and-dtds-in-the-dom.md index d489abd1b4052..bc8655fbc6b44 100644 --- a/docs/standard/data/xml/namespaces-and-dtds-in-the-dom.md +++ b/docs/standard/data/xml/namespaces-and-dtds-in-the-dom.md @@ -1,21 +1,10 @@ --- title: "Namespaces and DTDs in the DOM" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 1e9b55c4-76ad-4f54-8d96-7ce4b4cf1e05 -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Namespaces and DTDs in the DOM Document type definitions (DTDs) complicate namespace support. For example, the following XML contains default attributes containing colons in their names. diff --git a/docs/standard/data/xml/node-collections-in-namednodemaps-and-nodelists.md b/docs/standard/data/xml/node-collections-in-namednodemaps-and-nodelists.md index 257dbb41e97b6..5691901cfe152 100644 --- a/docs/standard/data/xml/node-collections-in-namednodemaps-and-nodelists.md +++ b/docs/standard/data/xml/node-collections-in-namednodemaps-and-nodelists.md @@ -1,21 +1,10 @@ --- title: "Node Collections in NamedNodeMaps and NodeLists" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 025954b8-7aa8-47c5-a1c1-f81064fb4d65 -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Node Collections in NamedNodeMaps and NodeLists You can retrieve a set of nodes and put it in an ordered or unordered collection. When putting a set of nodes into an unordered collection, the set is called a NamedNodeMap by the World Wide Web Consortium (W3C); you can retrieve the data by name or index in this type of collection. Putting a set of nodes in an ordered collection is called a NodeList by the W3C, and the data can be retrieved by a zero-based index. NamedNodeMaps and NodeLists are described by the W3C. The implementations in the Microsoft .NET Framework for the NamedNodeMap is the **XmlNamedNodeMap**, and the NodeList is implemented by the **XmlNodeList**. diff --git a/docs/standard/data/xml/node-set-navigation-using-xpathnavigator.md b/docs/standard/data/xml/node-set-navigation-using-xpathnavigator.md index 1067408316615..bd4e3a234b2ae 100644 --- a/docs/standard/data/xml/node-set-navigation-using-xpathnavigator.md +++ b/docs/standard/data/xml/node-set-navigation-using-xpathnavigator.md @@ -1,21 +1,10 @@ --- title: "Node Set Navigation Using XPathNavigator" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 1a954b41-7173-40bc-8544-d430f209b1e5 -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Node Set Navigation Using XPathNavigator You can navigate over nodes in an or object using the node set navigation methods of the class. You can navigate over all the nodes or over a selected set of nodes returned by one of the selection methods of the class. diff --git a/docs/standard/data/xml/node-sets-in-transformations.md b/docs/standard/data/xml/node-sets-in-transformations.md index d8536c2a9cdf6..64d4a0aeeecc9 100644 --- a/docs/standard/data/xml/node-sets-in-transformations.md +++ b/docs/standard/data/xml/node-sets-in-transformations.md @@ -1,21 +1,10 @@ --- title: "Node Sets in Transformations" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: ad034f0e-ff8b-4a71-9a4c-528c754263c4 -caps.latest.revision: 4 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Node Sets in Transformations Node sets are one of four basic data types that are returned from XML Path Language (XPath) expressions. A node set, which is an unordered collection of nodes without duplicates, created in document order, can be assigned to a variable in a style sheet. diff --git a/docs/standard/data/xml/node-types-recognized-with-xpath-queries.md b/docs/standard/data/xml/node-types-recognized-with-xpath-queries.md index 292af99f4addb..a6d9209b9ec00 100644 --- a/docs/standard/data/xml/node-types-recognized-with-xpath-queries.md +++ b/docs/standard/data/xml/node-types-recognized-with-xpath-queries.md @@ -1,21 +1,10 @@ --- title: "Node Types Recognized with XPath Queries" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 1d33e22d-18e5-43f8-a466-2e3d0a8dd094 -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Node Types Recognized with XPath Queries The types of nodes recognized in an XPath query are not the same node types found in the Document Object Model (DOM). diff --git a/docs/standard/data/xml/object-comparison-using-xmlnametable.md b/docs/standard/data/xml/object-comparison-using-xmlnametable.md index 1aafeeccad1a4..17528b5b92046 100644 --- a/docs/standard/data/xml/object-comparison-using-xmlnametable.md +++ b/docs/standard/data/xml/object-comparison-using-xmlnametable.md @@ -1,24 +1,13 @@ --- title: "Object Comparison Using XmlNameTable" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 8d94e041-d340-4ddf-9a2c-d7319e3f4f86 -caps.latest.revision: 4 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Object Comparison Using XmlNameTable **XmlDocuments**, when created, have a name table created specifically for that document. When XML is loaded into the document, or new elements or attributes are created, the attribute and element names are put into the **XmlNameTable**. You can also create an **XmlDocument** using an existing **NameTable** from another document. When **XmlDocuments** are created with the constructor that takes an **XmlNameTable** parameter, the document has access to the node names, namespaces, and prefixes already stored in the **XmlNameTable**. Regardless of how the name table is loaded with names, once the names are stored in the table, names can be compared quickly using object comparison instead of string comparison. Strings can also be added to the name table using the . The following code sample shows a name table being created and the string **MyString** being added to the table. After that, an **XmlDocument** is created using that table, and the element and attribute names in **Myfile.xml** are added to the existing name table. diff --git a/docs/standard/data/xml/ordered-node-retrieval-by-index.md b/docs/standard/data/xml/ordered-node-retrieval-by-index.md index 7186a5a88f750..ab7d6a853f586 100644 --- a/docs/standard/data/xml/ordered-node-retrieval-by-index.md +++ b/docs/standard/data/xml/ordered-node-retrieval-by-index.md @@ -1,24 +1,13 @@ --- title: "Ordered Node Retrieval by Index" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 5412c90f-2703-4aa8-a9c4-1b8a35183c37 -caps.latest.revision: 4 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Ordered Node Retrieval by Index The World Wide Web Consortium (W3C) XML Document Object Model (DOM) also describes a NodeList, which has the ability to handle an ordered list of nodes, as opposed to the unordered set handled by the **XmlNamedNodeMap**. The NodeList in the Microsoft .NET Framework is called **XmlNodeList**. Methods and properties that return an **XmlNodeList** are: diff --git a/docs/standard/data/xml/output-options-on-the-xslcompiledtransform-class.md b/docs/standard/data/xml/output-options-on-the-xslcompiledtransform-class.md index e2823d88bfbe8..2748fd9d7d485 100644 --- a/docs/standard/data/xml/output-options-on-the-xslcompiledtransform-class.md +++ b/docs/standard/data/xml/output-options-on-the-xslcompiledtransform-class.md @@ -1,21 +1,10 @@ --- title: "Output Options on the XslCompiledTransform Class" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 91ce8cba-386c-411e-bb38-0891a0393c0a -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Output Options on the XslCompiledTransform Class This topic discusses the available XSLT output options. You can specify output options in the style sheet, or on the method. diff --git a/docs/standard/data/xml/outputs-from-an-xsltransform.md b/docs/standard/data/xml/outputs-from-an-xsltransform.md index ff21cf37a32d7..0850013dee506 100644 --- a/docs/standard/data/xml/outputs-from-an-xsltransform.md +++ b/docs/standard/data/xml/outputs-from-an-xsltransform.md @@ -1,21 +1,10 @@ --- title: "Outputs from an XslTransform" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 8e149d32-4b2f-493f-9e4b-d0d93475acde -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Outputs from an XslTransform Since style sheets can determine the output format using an `` statement with the `method` attribute, the following table describes what the output format is when the method is used to write the output, and the output format is declared as a or . diff --git a/docs/standard/data/xml/post-schema-compilation-infoset.md b/docs/standard/data/xml/post-schema-compilation-infoset.md index 336e4eea89aed..9c365ea254dc1 100644 --- a/docs/standard/data/xml/post-schema-compilation-infoset.md +++ b/docs/standard/data/xml/post-schema-compilation-infoset.md @@ -1,25 +1,14 @@ --- title: "Post-Schema Compilation Infoset" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" - "cpp" ms.assetid: 7f1bc7f4-401b-459f-9078-f099cc711fde -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Post-Schema Compilation Infoset The [World Wide Web Consortium (W3C) XML Schema Recommendation](https://www.w3.org/XML/Schema) discusses the information set (infoset) that must be exposed for pre-schema validation and post-schema compilation. The XML Schema Object Model (SOM) views this exposure before and after the method of the is called. diff --git a/docs/standard/data/xml/process-xml-data-using-linq-to-xml.md b/docs/standard/data/xml/process-xml-data-using-linq-to-xml.md index d6f98667738c3..33cd92bcfcf75 100644 --- a/docs/standard/data/xml/process-xml-data-using-linq-to-xml.md +++ b/docs/standard/data/xml/process-xml-data-using-linq-to-xml.md @@ -1,21 +1,10 @@ --- title: "Process XML Data Using LINQ to XML" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 059d6b9d-63f7-4011-9ba8-8406f0bbae7d -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Process XML Data Using LINQ to XML LINQ to XML is the new model in the .NET Framework version 3.5 for processing XML data. LINQ to XML allows developers to do everything they would expect with XML data: querying, modifying, creating, saving, and serializing XML documents. The real advantages lie in the query and creation capabilities. diff --git a/docs/standard/data/xml/process-xml-data-using-the-dom-model.md b/docs/standard/data/xml/process-xml-data-using-the-dom-model.md index ba1a947de2efc..9f718ab283187 100644 --- a/docs/standard/data/xml/process-xml-data-using-the-dom-model.md +++ b/docs/standard/data/xml/process-xml-data-using-the-dom-model.md @@ -1,21 +1,10 @@ --- title: "Process XML Data Using the DOM Model" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 56b6e9c7-ed82-4a65-a647-7be32c83bcc8 -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Process XML Data Using the DOM Model The XML Document Object Model (DOM) treats XML data as a standard set of objects and is used to process XML data in memory. The `System.Xml` namespace provides a programmatic representation of XML documents, fragments, nodes, or node-sets. It is based on the World Wide Web Consortium (W3C) DOM Level 1 Core and the DOM Level 2 Core recommendations. diff --git a/docs/standard/data/xml/process-xml-data-using-the-xpath-data-model.md b/docs/standard/data/xml/process-xml-data-using-the-xpath-data-model.md index 44b1d9e46ab9d..adc26989d5452 100644 --- a/docs/standard/data/xml/process-xml-data-using-the-xpath-data-model.md +++ b/docs/standard/data/xml/process-xml-data-using-the-xpath-data-model.md @@ -1,21 +1,10 @@ --- title: "Process XML Data Using the XPath Data Model" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 536c6fce-1453-4654-9c72-bca54d47e081 -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Process XML Data Using the XPath Data Model The namespace provides a programmatic representation of XML documents, fragments, nodes, or node-sets in-memory, using the or classes. diff --git a/docs/standard/data/xml/processing-xml-data-in-memory.md b/docs/standard/data/xml/processing-xml-data-in-memory.md index 1baf78336f862..e168d44e87acd 100644 --- a/docs/standard/data/xml/processing-xml-data-in-memory.md +++ b/docs/standard/data/xml/processing-xml-data-in-memory.md @@ -1,21 +1,10 @@ --- title: "Processing XML Data In-Memory" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 1bbb4d05-ead7-4bda-8ece-f86d35c57ad4 -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Processing XML Data In-Memory The Microsoft .NET Framework includes three models for processing XML data: the class, the class, and [LINQ to XML](https://msdn.microsoft.com/library/f0fe21e9-ee43-4a55-b91a-0800e5782c13). diff --git a/docs/standard/data/xml/reading-an-xml-document-into-the-dom.md b/docs/standard/data/xml/reading-an-xml-document-into-the-dom.md index 7a3ce126e8cf4..c4e8c3da39a44 100644 --- a/docs/standard/data/xml/reading-an-xml-document-into-the-dom.md +++ b/docs/standard/data/xml/reading-an-xml-document-into-the-dom.md @@ -1,24 +1,13 @@ --- title: "Reading an XML Document into the DOM" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: a4fb291f-5630-49ba-a49a-5b66c3b71e49 -caps.latest.revision: 3 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Reading an XML Document into the DOM XML information is read into memory from different formats. It can be read from a string, stream, URL, text reader, or a class derived from the . diff --git a/docs/standard/data/xml/reading-and-writing-xml-schemas.md b/docs/standard/data/xml/reading-and-writing-xml-schemas.md index 62fd8d2ed606a..373e67e8bd481 100644 --- a/docs/standard/data/xml/reading-and-writing-xml-schemas.md +++ b/docs/standard/data/xml/reading-and-writing-xml-schemas.md @@ -1,25 +1,14 @@ --- title: "Reading and Writing XML Schemas" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" - "cpp" ms.assetid: b5757c4a-ea59-467e-ac62-be2bfe24eb77 -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Reading and Writing XML Schemas The Schema Object Model (SOM) API can be used to read and write XML Schema definition language (XSD) schemas from files or other sources and build XML schemas in-memory using the classes in the namespace that map to the structures defined in the World Wide Web Consortium (W3C) XML Schema Recommendation. diff --git a/docs/standard/data/xml/reading-entity-declarations-and-entity-references-into-the-dom.md b/docs/standard/data/xml/reading-entity-declarations-and-entity-references-into-the-dom.md index 4101715c24b5d..5356011f57d25 100644 --- a/docs/standard/data/xml/reading-entity-declarations-and-entity-references-into-the-dom.md +++ b/docs/standard/data/xml/reading-entity-declarations-and-entity-references-into-the-dom.md @@ -1,21 +1,10 @@ --- title: "Reading Entity Declarations and Entity References into the DOM" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 86dba977-5cc4-4567-964f-027ffabc47b2 -caps.latest.revision: 5 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Reading Entity Declarations and Entity References into the DOM An entity is a declaration that states a name to be used in the XML in place of content or markup. There are two parts to entities. First, you must tie a name to the replacement content using an entity declaration. An entity declaration is created by using the `` syntax in a document type definition (DTD) or XML schema. Secondly, the name defined in the entity declaration is subsequently used in the XML. When used in the XML, it is called an entity reference. For example, the following entity declaration declares an entity of the name `publisher` being associated with the content of "Microsoft Press". diff --git a/docs/standard/data/xml/reading-xml-data-using-xpathdocument-and-xmldocument.md b/docs/standard/data/xml/reading-xml-data-using-xpathdocument-and-xmldocument.md index a35d1adb06e65..2dd269920c067 100644 --- a/docs/standard/data/xml/reading-xml-data-using-xpathdocument-and-xmldocument.md +++ b/docs/standard/data/xml/reading-xml-data-using-xpathdocument-and-xmldocument.md @@ -1,24 +1,13 @@ --- title: "Reading XML Data using XPathDocument and XmlDocument" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 5711b225-6aa2-4e4f-9898-19f2d518ad1a -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Reading XML Data using XPathDocument and XmlDocument There are two ways to read an XML document in the namespace. One is to read an XML document using the read-only class and the other is to read an XML document using the editable class in the namespace. diff --git a/docs/standard/data/xml/recoverable-xslt-errors.md b/docs/standard/data/xml/recoverable-xslt-errors.md index eb1d80aa82b5a..4940df3e7ddd3 100644 --- a/docs/standard/data/xml/recoverable-xslt-errors.md +++ b/docs/standard/data/xml/recoverable-xslt-errors.md @@ -1,21 +1,10 @@ --- title: "Recoverable XSLT Errors" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 484929b0-fefb-4629-87ee-ebdde70ff1f8 -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Recoverable XSLT Errors The W3C XSL Transformations (XSLT) Version 1.0 Recommendation includes areas in which the implementation provider may decide how to handle a situation. These areas are considered to be discretionary behavior. For example, in section 7.3 Creating Processing Instructions, the XSLT 1.0 recommendation states that it is an error if instantiating the content of `xsl:processing-instruction` creates nodes other than text nodes. For some problems, the XSLT 1.0 recommendation indicates what decision should be made if the processor decides to recover from the error. For the problem given in section 7.3, the W3C says that the implementation can recover from this error by ignoring the nodes and their content. diff --git a/docs/standard/data/xml/remove-xml-data-using-xpathnavigator.md b/docs/standard/data/xml/remove-xml-data-using-xpathnavigator.md index 1d42447ed06f6..0b294dd1ba4eb 100644 --- a/docs/standard/data/xml/remove-xml-data-using-xpathnavigator.md +++ b/docs/standard/data/xml/remove-xml-data-using-xpathnavigator.md @@ -1,24 +1,13 @@ --- title: "Remove XML Data using XPathNavigator" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 9f436bca-1b96-494b-a6d2-e102c7551752 -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Remove XML Data using XPathNavigator The class provides a set of methods used to remove nodes and values from an XML document. In order to use these methods, the object must be editable, that is, its property must be `true`. diff --git a/docs/standard/data/xml/removing-attributes-from-an-element-node-in-the-dom.md b/docs/standard/data/xml/removing-attributes-from-an-element-node-in-the-dom.md index 0ed65d323851a..a7c6538d1dbe2 100644 --- a/docs/standard/data/xml/removing-attributes-from-an-element-node-in-the-dom.md +++ b/docs/standard/data/xml/removing-attributes-from-an-element-node-in-the-dom.md @@ -1,21 +1,10 @@ --- title: "Removing Attributes from an Element Node in the DOM" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 7ede6f9e-a3ac-49a4-8488-ab8360a44aa4 -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Removing Attributes from an Element Node in the DOM There are many ways to remove attributes. One technique is to remove them from the attribute collection. To do this, the following steps are performed: diff --git a/docs/standard/data/xml/removing-node-content-in-the-dom.md b/docs/standard/data/xml/removing-node-content-in-the-dom.md index 9079628f5fe8c..49da1cc361d5a 100644 --- a/docs/standard/data/xml/removing-node-content-in-the-dom.md +++ b/docs/standard/data/xml/removing-node-content-in-the-dom.md @@ -1,21 +1,10 @@ --- title: "Removing Node Content in the DOM" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 615d81a7-f44f-416c-a9ab-bfe03f85e6e4 -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Removing Node Content in the DOM For node types that inherit from , which are the , , , , and node types, you can remove characters using the method, which removes a range of characters from the node. If you want to remove content completely, you remove the node that contains the content. If you want to keep the node, but the content is incorrect, then modify the content. For information on modifying the content of a node, see [Modifying Nodes, Content, and Values in an XML Document](../../../../docs/standard/data/xml/modifying-nodes-content-and-values-in-an-xml-document.md). diff --git a/docs/standard/data/xml/removing-nodes-content-and-values-from-an-xml-document.md b/docs/standard/data/xml/removing-nodes-content-and-values-from-an-xml-document.md index d92b338c5d542..38e2c440654cf 100644 --- a/docs/standard/data/xml/removing-nodes-content-and-values-from-an-xml-document.md +++ b/docs/standard/data/xml/removing-nodes-content-and-values-from-an-xml-document.md @@ -1,21 +1,10 @@ --- title: "Removing Nodes, Content, and Values from an XML Document" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: d818a29a-6ee5-4725-97c4-78cf60a156b6 -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Removing Nodes, Content, and Values from an XML Document Once an XML Document Object Model (DOM) is in memory, you can remove nodes from the tree, or remove content and values from certain node types. For information on how to remove a leaf node or entire node subtree from a document, see [Removing Nodes from the DOM](../../../../docs/standard/data/xml/removing-nodes-from-the-dom.md). For information on how to remove attributes on an element, see [Removing Attributes from an Element Node in the DOM](../../../../docs/standard/data/xml/removing-attributes-from-an-element-node-in-the-dom.md). For information on removing content of a node but leaving the node in the tree, see [Removing Node Content in the DOM](../../../../docs/standard/data/xml/removing-node-content-in-the-dom.md). diff --git a/docs/standard/data/xml/removing-nodes-from-the-dom.md b/docs/standard/data/xml/removing-nodes-from-the-dom.md index bf7b820b6057d..f250aae4a0a6b 100644 --- a/docs/standard/data/xml/removing-nodes-from-the-dom.md +++ b/docs/standard/data/xml/removing-nodes-from-the-dom.md @@ -1,21 +1,10 @@ --- title: "Removing Nodes from the DOM" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 0a98e0ca-0555-45c1-ab69-0d8d20ca1abd -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Removing Nodes from the DOM To remove a node from the XML Document Object Model (DOM), use the method to remove a specific node. When you remove a node, the method removes the subtree belonging to the node being removed; that is, if it is not a leaf node. diff --git a/docs/standard/data/xml/resolving-external-resources-during-xslt-processing.md b/docs/standard/data/xml/resolving-external-resources-during-xslt-processing.md index 1978109f208e6..d4ee2a24b2c77 100644 --- a/docs/standard/data/xml/resolving-external-resources-during-xslt-processing.md +++ b/docs/standard/data/xml/resolving-external-resources-during-xslt-processing.md @@ -1,24 +1,13 @@ --- title: "Resolving External Resources During XSLT Processing" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 3a59d31c-0ec5-4de6-a2a9-558531c8116e -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Resolving External Resources During XSLT Processing There are several times during an XSLT transformation when you may need to resolve external resources. diff --git a/docs/standard/data/xml/resolving-external-resources.md b/docs/standard/data/xml/resolving-external-resources.md index d3cd71eaac061..9a78eb1512583 100644 --- a/docs/standard/data/xml/resolving-external-resources.md +++ b/docs/standard/data/xml/resolving-external-resources.md @@ -1,21 +1,10 @@ --- title: "Resolving External Resources" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: ad3fa320-4b8f-4e5c-b549-01157591007a -caps.latest.revision: 4 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Resolving External Resources The **XmlResolver** property of the **XmlDocument** is used by the **XmlDocument** class to locate resources that are not inline in the XML data, such as external document type definitions (DTDs), entities, and schemas. These items can be located on a network or on a local drive, and are identifiable by a Uniform Resource Identifier (URI). This allows the **XmlDocument** to resolve **EntityReference** nodes that are present in the document and validate the document according to the external DTD or schema. diff --git a/docs/standard/data/xml/resolving-external-xslt-style-sheets-and-documents.md b/docs/standard/data/xml/resolving-external-xslt-style-sheets-and-documents.md index 54ef5005619d4..6b1cc6fbc4afb 100644 --- a/docs/standard/data/xml/resolving-external-xslt-style-sheets-and-documents.md +++ b/docs/standard/data/xml/resolving-external-xslt-style-sheets-and-documents.md @@ -1,21 +1,10 @@ --- title: "Resolving External XSLT Style Sheets and Documents" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 920cfe3b-d525-4bb2-abf6-9431651f9cf9 -caps.latest.revision: 4 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Resolving External XSLT Style Sheets and Documents There are several times during a transformation when you may need to resolve external resources. diff --git a/docs/standard/data/xml/result-tree-fragment-in-transformations.md b/docs/standard/data/xml/result-tree-fragment-in-transformations.md index a2005b6e8501e..7e58f384bd417 100644 --- a/docs/standard/data/xml/result-tree-fragment-in-transformations.md +++ b/docs/standard/data/xml/result-tree-fragment-in-transformations.md @@ -1,21 +1,10 @@ --- title: "Result Tree Fragment in Transformations" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: df363480-ba02-4233-9ddf-8434e421c4f1 -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Result Tree Fragment in Transformations > [!NOTE] diff --git a/docs/standard/data/xml/rules-for-inferring-schema-node-types-and-structure.md b/docs/standard/data/xml/rules-for-inferring-schema-node-types-and-structure.md index 051b53362fadb..a23c320fdf329 100644 --- a/docs/standard/data/xml/rules-for-inferring-schema-node-types-and-structure.md +++ b/docs/standard/data/xml/rules-for-inferring-schema-node-types-and-structure.md @@ -1,21 +1,10 @@ --- title: "Rules for Inferring Schema Node Types and Structure" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: d74ce896-717d-4871-8fd9-b070e2f53cb0 -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Rules for Inferring Schema Node Types and Structure This topic describes how the schema inference process translates the node types in an XML document to an XML Schema definition language (XSD) structure. diff --git a/docs/standard/data/xml/rules-for-inferring-simple-types.md b/docs/standard/data/xml/rules-for-inferring-simple-types.md index 56bfdcd5af423..20a7abbe83dcc 100644 --- a/docs/standard/data/xml/rules-for-inferring-simple-types.md +++ b/docs/standard/data/xml/rules-for-inferring-simple-types.md @@ -1,21 +1,10 @@ --- title: "Rules for Inferring Simple Types" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 394624d6-4da0-430a-8a88-46efe40f14de -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Rules for Inferring Simple Types Describes how the class infers the data type for attributes and elements. diff --git a/docs/standard/data/xml/saving-and-writing-a-document.md b/docs/standard/data/xml/saving-and-writing-a-document.md index dfb37393a6d2f..043d10fe23b01 100644 --- a/docs/standard/data/xml/saving-and-writing-a-document.md +++ b/docs/standard/data/xml/saving-and-writing-a-document.md @@ -1,24 +1,13 @@ --- title: "Saving and Writing a Document" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 097b0cb1-5743-4c3a-86ef-caf5cbe6750d -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Saving and Writing a Document When you load and save an , the saved document may differ from the original in the following ways: diff --git a/docs/standard/data/xml/schema-validation-using-xpathnavigator.md b/docs/standard/data/xml/schema-validation-using-xpathnavigator.md index 63f72533069e2..20991ae241a84 100644 --- a/docs/standard/data/xml/schema-validation-using-xpathnavigator.md +++ b/docs/standard/data/xml/schema-validation-using-xpathnavigator.md @@ -1,24 +1,13 @@ --- title: "Schema Validation using XPathNavigator" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 81fa0e41-d9c9-46f0-b22b-50da839c77f5 -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Schema Validation using XPathNavigator Using the class, you can validate the XML content contained in an object in two ways. The first way is to validate the XML content using a validating object and the second way is to use the method of the class. You can also perform read-only validation of XML content using the class. diff --git a/docs/standard/data/xml/script-blocks-using-msxsl-script.md b/docs/standard/data/xml/script-blocks-using-msxsl-script.md index 6cd90dade0874..58fd4c4c97ebc 100644 --- a/docs/standard/data/xml/script-blocks-using-msxsl-script.md +++ b/docs/standard/data/xml/script-blocks-using-msxsl-script.md @@ -1,24 +1,13 @@ --- title: "Script Blocks Using msxsl:script" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: fde6f43f-c594-486f-abcb-2211197fae20 -caps.latest.revision: 4 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Script Blocks Using msxsl:script The class supports embedded scripts using the `msxsl:script` element. When the style sheet is loaded, any defined functions are compiled to Microsoft intermediate language (MSIL) by the Code Document Object Model (CodeDOM) and are executed during run time. The assembly generated from the embedded script block is separate than the assembly generated for the style sheet. diff --git a/docs/standard/data/xml/select-nodes-using-xpath-navigation.md b/docs/standard/data/xml/select-nodes-using-xpath-navigation.md index 908456ac4adc3..e171db1199591 100644 --- a/docs/standard/data/xml/select-nodes-using-xpath-navigation.md +++ b/docs/standard/data/xml/select-nodes-using-xpath-navigation.md @@ -1,24 +1,13 @@ --- title: "Select Nodes Using XPath Navigation" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 8e4450dc-56b3-472b-b467-32f5694f83ad -caps.latest.revision: 4 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Select Nodes Using XPath Navigation The XML Document Object Model (DOM) contains methods that allow you to use XML Path Language (XPath) navigation to query information in the DOM. You can use XPath to find a single, specific node or to find all nodes that match some criteria. diff --git a/docs/standard/data/xml/select-xml-data-using-xpathnavigator.md b/docs/standard/data/xml/select-xml-data-using-xpathnavigator.md index a22cd51715730..6832c8f13449f 100644 --- a/docs/standard/data/xml/select-xml-data-using-xpathnavigator.md +++ b/docs/standard/data/xml/select-xml-data-using-xpathnavigator.md @@ -1,24 +1,13 @@ --- title: "Select XML Data Using XPathNavigator" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: c268c49e-32b9-4171-b782-dcb7b065fa73 -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Select XML Data Using XPathNavigator The class provides a set of methods used to select a set of nodes in an or object using an XPath expression. Once selected, you can iterate over the selected set of nodes. diff --git a/docs/standard/data/xml/selecting-evaluating-and-matching-xml-data-using-xpathnavigator.md b/docs/standard/data/xml/selecting-evaluating-and-matching-xml-data-using-xpathnavigator.md index 32342b8210062..d7eeced00b2c2 100644 --- a/docs/standard/data/xml/selecting-evaluating-and-matching-xml-data-using-xpathnavigator.md +++ b/docs/standard/data/xml/selecting-evaluating-and-matching-xml-data-using-xpathnavigator.md @@ -1,21 +1,10 @@ --- title: "Selecting, Evaluating and Matching XML Data using XPathNavigator" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 46e059f8-4dc8-4185-9236-784be95228ed -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Selecting, Evaluating and Matching XML Data using XPathNavigator The class provides methods to select nodes in an or object using an XPath query, evaluate and examine the results of an XPath expression, and determine if a node in an or object matches a given XPath expression. These and other concepts that relate to selecting, evaluating and matching nodes in an or object are described in the following topics. diff --git a/docs/standard/data/xml/style-sheet-directives-embedded-in-a-document.md b/docs/standard/data/xml/style-sheet-directives-embedded-in-a-document.md index 27aeb41859cf6..78dda1ae46306 100644 --- a/docs/standard/data/xml/style-sheet-directives-embedded-in-a-document.md +++ b/docs/standard/data/xml/style-sheet-directives-embedded-in-a-document.md @@ -1,21 +1,10 @@ --- title: "Style Sheet Directives Embedded in a Document" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: d79fb295-ebc7-438d-ba1b-05be7d534834 -caps.latest.revision: 4 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Style Sheet Directives Embedded in a Document Occasionally, existing XML contains the style sheet directive of ``. Microsoft Internet Explorer accepts this as an alternative to the `` syntax. When the XML data contains an `` directive, as shown in the following data, attempting to load this data into the XML Document Object Model (DOM) throws an exception. diff --git a/docs/standard/data/xml/support-for-the-msxsl-node-set-function.md b/docs/standard/data/xml/support-for-the-msxsl-node-set-function.md index b6d2c3dec86d0..e3e0f7f9a3a86 100644 --- a/docs/standard/data/xml/support-for-the-msxsl-node-set-function.md +++ b/docs/standard/data/xml/support-for-the-msxsl-node-set-function.md @@ -1,21 +1,10 @@ --- title: "Support for the msxsl:node-set() Function" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: d0cbf517-d9f6-4097-9851-4fa62903decd -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Support for the msxsl:node-set() Function The `msxsl:node-set` function enables you to convert a result tree fragment into a node set. The resulting node set always contains a single node and is the root node of the tree. diff --git a/docs/standard/data/xml/traversing-xml-schemas.md b/docs/standard/data/xml/traversing-xml-schemas.md index 357e3098b532b..62d56b828c308 100644 --- a/docs/standard/data/xml/traversing-xml-schemas.md +++ b/docs/standard/data/xml/traversing-xml-schemas.md @@ -1,25 +1,14 @@ --- title: "Traversing XML Schemas" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" - "cpp" ms.assetid: cce69574-5861-4a30-b730-2e18d915d8ee -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Traversing XML Schemas Traversing an XML schema using the Schema Object Model (SOM) API provides access to the elements, attributes, and types stored in the SOM. Traversing an XML schema loaded into the SOM is also the first step in editing an XML schema using the SOM API. diff --git a/docs/standard/data/xml/type-support-in-the-system-xml-classes.md b/docs/standard/data/xml/type-support-in-the-system-xml-classes.md index e89bdbeec5f42..3a35359d41db8 100644 --- a/docs/standard/data/xml/type-support-in-the-system-xml-classes.md +++ b/docs/standard/data/xml/type-support-in-the-system-xml-classes.md @@ -1,21 +1,10 @@ --- title: "Type Support in the System.Xml Classes" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 63570538-06e3-4401-ad4d-ac50be90c7bf -caps.latest.revision: 4 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Type Support in the System.Xml Classes In the .NET Framework version 2.0, the core XML classes have been enhanced to include type support features. The , , and classes include type support features including the ability to convert between XML Schema types and common language runtime (CLR) types. diff --git a/docs/standard/data/xml/types-of-xml-nodes.md b/docs/standard/data/xml/types-of-xml-nodes.md index 29dceaabb7460..a9678b1fb1b29 100644 --- a/docs/standard/data/xml/types-of-xml-nodes.md +++ b/docs/standard/data/xml/types-of-xml-nodes.md @@ -1,21 +1,10 @@ --- title: "Types of XML Nodes" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 71d03b78-6898-4ce7-b0fc-1282573f31f7 -caps.latest.revision: 4 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Types of XML Nodes When an XML document is read into memory as a tree of nodes, the node types for the nodes are decided when the nodes are created. The XML Document Object Model (DOM) has several kinds of node types, determined by the World Wide Web Consortium (W3C) and listed in section 1.1.1 The DOM Structure Model. The following table lists the node types, the object assigned to that node type, and a short description of each. diff --git a/docs/standard/data/xml/unordered-node-retrieval-by-name-or-index.md b/docs/standard/data/xml/unordered-node-retrieval-by-name-or-index.md index 6e6e59475fec0..3bcd430d57b58 100644 --- a/docs/standard/data/xml/unordered-node-retrieval-by-name-or-index.md +++ b/docs/standard/data/xml/unordered-node-retrieval-by-name-or-index.md @@ -1,24 +1,13 @@ --- title: "Unordered Node Retrieval by Name or Index" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 2038a90b-92af-4a0a-baaa-08e688d95194 -caps.latest.revision: 4 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Unordered Node Retrieval by Name or Index The **XmlNamedNodeMap** is described in the World Wide Web Consortium (W3C) specification as the NamedNodeMap and is required to handle an unordered set of nodes with the ability to reference nodes by their name or index. The only way you have access to an **XmlNamedNodeMap** is when an **XmlNamedNodeMap** is returned through a method or property. There are three methods or properties that return an **XmlNamedNodeMap**: diff --git a/docs/standard/data/xml/user-defined-functions-and-variables.md b/docs/standard/data/xml/user-defined-functions-and-variables.md index 6ba1e6fd38ba6..a22657368619d 100644 --- a/docs/standard/data/xml/user-defined-functions-and-variables.md +++ b/docs/standard/data/xml/user-defined-functions-and-variables.md @@ -1,24 +1,13 @@ --- title: "User Defined Functions and Variables" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 4772f20e-1e7f-496e-93c2-1484473be555 -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # User Defined Functions and Variables The class provides a set of methods that are used to interact with data. You can supplement the standard XPath functions by implementing extension functions and variables for use by XPath query expressions. The method can accept a user defined context derived from . User defined functions are resolved by the custom context. diff --git a/docs/standard/data/xml/using-the-xslcompiledtransform-class.md b/docs/standard/data/xml/using-the-xslcompiledtransform-class.md index ccafc8a8d8267..15fe73b1b216a 100644 --- a/docs/standard/data/xml/using-the-xslcompiledtransform-class.md +++ b/docs/standard/data/xml/using-the-xslcompiledtransform-class.md @@ -1,21 +1,10 @@ --- title: "Using the XslCompiledTransform Class" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: f9b074f6-d6f4-49dd-a093-df510bf0cf7b -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Using the XslCompiledTransform Class The class is the Microsoft .NET Framework XSLT processor. This class is used to compile style sheets and execute XSLT transformations. diff --git a/docs/standard/data/xml/validating-an-xml-document-in-the-dom.md b/docs/standard/data/xml/validating-an-xml-document-in-the-dom.md index d726ebd361623..51af12fd912fd 100644 --- a/docs/standard/data/xml/validating-an-xml-document-in-the-dom.md +++ b/docs/standard/data/xml/validating-an-xml-document-in-the-dom.md @@ -1,25 +1,14 @@ --- title: "Validating an XML Document in the DOM" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" - "cpp" ms.assetid: 2c61c920-d0f8-4c72-bfcc-6524570f3060 -caps.latest.revision: 4 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Validating an XML Document in the DOM The class does not validate the XML in the Document Object Model (DOM) against an XML Schema definition language (XSD) schema or document type definition (DTD) by default; the XML is only verified to be well-formed. diff --git a/docs/standard/data/xml/white-space-and-significant-white-space-handling-when-loading-the-dom.md b/docs/standard/data/xml/white-space-and-significant-white-space-handling-when-loading-the-dom.md index 6a03856222703..550c794fe342f 100644 --- a/docs/standard/data/xml/white-space-and-significant-white-space-handling-when-loading-the-dom.md +++ b/docs/standard/data/xml/white-space-and-significant-white-space-handling-when-loading-the-dom.md @@ -1,21 +1,10 @@ --- title: "White Space and Significant White Space Handling when Loading the DOM" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 1b141a0a-50d8-4ebd-83cd-a84449bb22b2 -caps.latest.revision: 4 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # White Space and Significant White Space Handling when Loading the DOM When loading the document, you can set the option to preserve white space and create **XmlWhitespace** nodes in the document tree. To create white space nodes, set the **PreserveWhitespace** property to true. If the property is set to **false**, which is the default, white space nodes are not created. Significant white spaces nodes are always preserved, and **XmlSignificantWhitespace** nodes are always created in memory to represent this data, regardless of the setting of the **PreserveWhitespace** flag. diff --git a/docs/standard/data/xml/working-with-xml-schemas.md b/docs/standard/data/xml/working-with-xml-schemas.md index 6c09b9efc84f1..04a959265d68c 100644 --- a/docs/standard/data/xml/working-with-xml-schemas.md +++ b/docs/standard/data/xml/working-with-xml-schemas.md @@ -1,21 +1,10 @@ --- title: "Working with XML Schemas" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: bbbcc70c-bf9a-4f6a-af72-1bab5384a187 -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Working with XML Schemas To define the structure of an XML document, as well as its element relationships, data types, and content constraints, you use a document type definition (DTD) or XML Schema definition language (XSD) schema. Although an XML document is considered to be well-formed if it meets all the syntactical requirements defined by the World Wide Web Consortium (W3C) Extensible Markup Language (XML) 1.0 Recommendation, it is not considered valid unless it is both well-formed and conforms to the constraints defined by its DTD or schema. Therefore, although all valid XML documents are well-formed, not all well-formed XML documents are valid. diff --git a/docs/standard/data/xml/xdr-validation-with-xmlschemacollection.md b/docs/standard/data/xml/xdr-validation-with-xmlschemacollection.md index 08e78c81a2b4e..7465ad1c5614b 100644 --- a/docs/standard/data/xml/xdr-validation-with-xmlschemacollection.md +++ b/docs/standard/data/xml/xdr-validation-with-xmlschemacollection.md @@ -1,24 +1,13 @@ --- title: "XDR Validation with XmlSchemaCollection" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 00833027-1428-4586-83c1-42f5de3323d1 -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XDR Validation with XmlSchemaCollection If the XML-Data Reduced (XDR) schema you are validating against is stored in the **XmlSchemaCollection**, it is associated with the namespace URI specified when the schema was added to the collection. **XmlValidatingReader** maps the namespace URI in the XML document to the schema that corresponds to that URI in the collection. diff --git a/docs/standard/data/xml/xml-document-creation.md b/docs/standard/data/xml/xml-document-creation.md index c479ceea577cb..fdc8007f85cea 100644 --- a/docs/standard/data/xml/xml-document-creation.md +++ b/docs/standard/data/xml/xml-document-creation.md @@ -1,24 +1,13 @@ --- title: "XML Document Creation" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 877e9c62-b082-4bfb-bc5b-f47297eb30ef -caps.latest.revision: 4 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XML Document Creation There are two ways to create an XML document. One way is to create an **XmlDocument** with no parameters. The other way is to create an **XmlDocument** and pass it an XmlNameTable as a parameter. The following example shows how to create a new, empty **XmlDocument** using no parameters. diff --git a/docs/standard/data/xml/xml-document-object-model-dom-hierarchy.md b/docs/standard/data/xml/xml-document-object-model-dom-hierarchy.md index be58bdcc231aa..6a0e85871bb26 100644 --- a/docs/standard/data/xml/xml-document-object-model-dom-hierarchy.md +++ b/docs/standard/data/xml/xml-document-object-model-dom-hierarchy.md @@ -1,21 +1,10 @@ --- title: "XML Document Object Model (DOM) Hierarchy" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 9d187d4f-c76e-4223-a670-cc290783ce47 -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XML Document Object Model (DOM) Hierarchy The following illustration shows the class hierarchy for the XML Document Object Model (DOM), with the World Wide Web Consortium (W3C) name in parenthesis along with the class name where it is relevant. diff --git a/docs/standard/data/xml/xml-document-object-model-dom.md b/docs/standard/data/xml/xml-document-object-model-dom.md index c3a0226768bec..61aa84831656d 100644 --- a/docs/standard/data/xml/xml-document-object-model-dom.md +++ b/docs/standard/data/xml/xml-document-object-model-dom.md @@ -1,21 +1,10 @@ --- title: "XML Document Object Model (DOM)" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: b5e52844-4820-47c0-a61d-de2da33e9f54 -caps.latest.revision: 4 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XML Document Object Model (DOM) The XML Document Object Model (DOM) class is an in-memory representation of an XML document. The DOM allows you to programmatically read, manipulate, and modify an XML document. The **XmlReader** class also reads XML; however, it provides non-cached, forward-only, read-only access. This means that there are no capabilities to edit the values of an attribute or content of an element, or the ability to insert and remove nodes with the **XmlReader**. Editing is the primary function of the DOM. It is the common and structured way that XML data is represented in memory, although the actual XML data is stored in a linear fashion when in a file or coming in from another object. The following is XML data. diff --git a/docs/standard/data/xml/xml-element-and-attribute-name-verification-when-creating-new-nodes.md b/docs/standard/data/xml/xml-element-and-attribute-name-verification-when-creating-new-nodes.md index e1a6afb82b503..bcb29726c6e39 100644 --- a/docs/standard/data/xml/xml-element-and-attribute-name-verification-when-creating-new-nodes.md +++ b/docs/standard/data/xml/xml-element-and-attribute-name-verification-when-creating-new-nodes.md @@ -1,21 +1,10 @@ --- title: "XML Element and Attribute Name Verification when Creating New Nodes" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: b489f647-a175-4659-ada4-170058bb41d0 -caps.latest.revision: 5 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XML Element and Attribute Name Verification when Creating New Nodes The XML Document Object Model (DOM) checks the validity of the names when creating new element nodes or attribute nodes. If the names contain illegal characters, an exception is thrown. To ensure that names are valid and encoded correctly, you need to use the **XmlConvert** class to encode the name and decode it back at an application level. The **XmlWriter** has methods that do additional work to ensure well-formed XML is generated. diff --git a/docs/standard/data/xml/xml-integration-with-relational-data-and-adonet.md b/docs/standard/data/xml/xml-integration-with-relational-data-and-adonet.md index 70d17af4032f2..f0dc5a6031362 100644 --- a/docs/standard/data/xml/xml-integration-with-relational-data-and-adonet.md +++ b/docs/standard/data/xml/xml-integration-with-relational-data-and-adonet.md @@ -1,21 +1,10 @@ --- title: "XML Integration with Relational Data and ADO.NET" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: f6ebb1a1-f2ca-49b9-92c9-0150940cf6e6 -caps.latest.revision: 4 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XML Integration with Relational Data and ADO.NET The **XmlDataDocument** class is a derived class of the **XmlDocument**, and contains XML data. The advantage of the **XmlDataDocument** is that it provides a bridge between relational and hierarchical data. It is an **XmlDocument** that can be bound to a **DataSet** and both classes can synchronize changes made to data contained in the two classes. An **XmlDocument** that is bound to a **DataSet** allows XML to integrate with relational data, and you do not have to have your data represented as either XML or in a relational format. You can do both and not be constrained to a single representation of the data. diff --git a/docs/standard/data/xml/xml-processing-options.md b/docs/standard/data/xml/xml-processing-options.md index 51828c78688ca..578e92bae1d69 100644 --- a/docs/standard/data/xml/xml-processing-options.md +++ b/docs/standard/data/xml/xml-processing-options.md @@ -1,21 +1,10 @@ --- title: "XML Processing Options" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 33ced8ee-1745-4e71-8dee-ebe70ec067c7 -caps.latest.revision: 5 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XML Processing Options See the following tables for a list of Microsoft technologies you can use to process XML data. diff --git a/docs/standard/data/xml/xml-schema-object-model-overview.md b/docs/standard/data/xml/xml-schema-object-model-overview.md index 27fcafaa85e22..a812c4939b024 100644 --- a/docs/standard/data/xml/xml-schema-object-model-overview.md +++ b/docs/standard/data/xml/xml-schema-object-model-overview.md @@ -1,21 +1,10 @@ --- title: "XML Schema Object Model Overview" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 896a1e12-5655-42c6-8cdd-89c12862b34b -caps.latest.revision: 4 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XML Schema Object Model Overview The Schema Object Model (SOM) in the Microsoft .NET Framework is a rich API that allows you to create, edit, and validate schemas programmatically. The SOM operates on XML schema documents similarly to the way the Document Object Model (DOM) operates on XML documents. XML schema documents are valid XML files that, once loaded into the SOM, convey meaning about the structure and validity of other XML documents which conform to the schema. diff --git a/docs/standard/data/xml/xml-schema-object-model-som.md b/docs/standard/data/xml/xml-schema-object-model-som.md index c5c94b0ec90bb..1ad5837ab89e6 100644 --- a/docs/standard/data/xml/xml-schema-object-model-som.md +++ b/docs/standard/data/xml/xml-schema-object-model-som.md @@ -1,21 +1,10 @@ --- title: "XML Schema Object Model (SOM)" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: a897a599-ffd1-43f9-8807-e58c8a7194cd -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XML Schema Object Model (SOM) An XML schema is a powerful and complex tool for creating and validating structure in compliant XML documents. Similar to data modeling in a relational database, a schema provides a way to define the structure of XML documents, by specifying the elements that can be used in the documents, as well as the structure and types that these elements must follow in order to be valid for that specific schema. diff --git a/docs/standard/data/xml/xml-schema-xsd-validation-with-xmlschemacollection.md b/docs/standard/data/xml/xml-schema-xsd-validation-with-xmlschemacollection.md index f92094ad164d4..fc611927f9226 100644 --- a/docs/standard/data/xml/xml-schema-xsd-validation-with-xmlschemacollection.md +++ b/docs/standard/data/xml/xml-schema-xsd-validation-with-xmlschemacollection.md @@ -1,24 +1,13 @@ --- title: "XML Schema (XSD) Validation with XmlSchemaCollection" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: ad0b5717-3d32-41ad-a4d7-072c3e492b82 -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XML Schema (XSD) Validation with XmlSchemaCollection You can use the to validate an XML document against XML Schema definition language (XSD) schemas. The improves performance by storing schemas in the collection so they are not loaded into memory each time validation occurs. If the schema exists in the schema collection, the `schemaLocation` attribute is used to look up the schema in the collection. diff --git a/docs/standard/data/xml/xml-schema-xsd-validation-with-xmlschemaset.md b/docs/standard/data/xml/xml-schema-xsd-validation-with-xmlschemaset.md index 53df7fc0a0e79..d44021d125b66 100644 --- a/docs/standard/data/xml/xml-schema-xsd-validation-with-xmlschemaset.md +++ b/docs/standard/data/xml/xml-schema-xsd-validation-with-xmlschemaset.md @@ -1,25 +1,14 @@ --- title: "XML Schema (XSD) Validation with XmlSchemaSet" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" - "cpp" ms.assetid: 359b10eb-ec05-4cc6-ac96-c2b060afc4de -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XML Schema (XSD) Validation with XmlSchemaSet XML documents can be validated against an XML schema definition language (XSD) schema in an . diff --git a/docs/standard/data/xml/xml-type-support-implementation-notes.md b/docs/standard/data/xml/xml-type-support-implementation-notes.md index 9cdfa299a9b6f..20a8207510a1d 100644 --- a/docs/standard/data/xml/xml-type-support-implementation-notes.md +++ b/docs/standard/data/xml/xml-type-support-implementation-notes.md @@ -1,21 +1,10 @@ --- title: "XML Type Support Implementation Notes" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 26b071f3-1261-47ef-8690-0717f5cd93c1 -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XML Type Support Implementation Notes This topic describes some implementation details that you want to be aware of. diff --git a/docs/standard/data/xml/xmldatadocument-input-to-xsltransform.md b/docs/standard/data/xml/xmldatadocument-input-to-xsltransform.md index 776edd540d1db..fc0bae085874b 100644 --- a/docs/standard/data/xml/xmldatadocument-input-to-xsltransform.md +++ b/docs/standard/data/xml/xmldatadocument-input-to-xsltransform.md @@ -1,21 +1,10 @@ --- title: "XmlDataDocument Input to XslTransform" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: a0b536b6-cdb3-4a44-86c2-3b2ebc7bd4c9 -caps.latest.revision: 4 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XmlDataDocument Input to XslTransform > [!NOTE] diff --git a/docs/standard/data/xml/xmldocument-input-to-xsltransform.md b/docs/standard/data/xml/xmldocument-input-to-xsltransform.md index 01ad2994136fb..3a8658a1f2b0a 100644 --- a/docs/standard/data/xml/xmldocument-input-to-xsltransform.md +++ b/docs/standard/data/xml/xmldocument-input-to-xsltransform.md @@ -1,24 +1,13 @@ --- title: "XmlDocument Input to XslTransform" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 97115892-410a-4657-ab47-1e14dfba73f8 -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XmlDocument Input to XslTransform The class provides editing capabilities for an XML document. If the XML needs to be edited or modified before being sent to the method, load the XML into an , edit it, and send it in to the . diff --git a/docs/standard/data/xml/xmlschemacollection-schema-compilation.md b/docs/standard/data/xml/xmlschemacollection-schema-compilation.md index 7ec5d09f2ebc7..d0b9e3f495b8a 100644 --- a/docs/standard/data/xml/xmlschemacollection-schema-compilation.md +++ b/docs/standard/data/xml/xmlschemacollection-schema-compilation.md @@ -1,24 +1,13 @@ --- title: "XmlSchemaCollection Schema Compilation" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 76f28770-7126-428f-9ed5-7b5ae8bad5ee -caps.latest.revision: 4 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XmlSchemaCollection Schema Compilation The **XmlSchemaCollection** is a cache or library where XML-Data Reduced (XDR) and XML Schema definition language (XSD) schemas can be stored and validated. **XmlSchemaCollection** improves performance by caching schemas in memory instead of accessing them from a file or URL. diff --git a/docs/standard/data/xml/xmlschemaset-for-schema-compilation.md b/docs/standard/data/xml/xmlschemaset-for-schema-compilation.md index bcbcbbd228fad..e353a12ac3c0d 100644 --- a/docs/standard/data/xml/xmlschemaset-for-schema-compilation.md +++ b/docs/standard/data/xml/xmlschemaset-for-schema-compilation.md @@ -1,24 +1,13 @@ --- title: "XmlSchemaSet for Schema Compilation" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 55c4b175-3170-4071-9d60-dd5a42f79b54 -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XmlSchemaSet for Schema Compilation Describes the , a cache where XML Schema definition language (XSD) schemas can be stored and validated. diff --git a/docs/standard/data/xml/xmlschemavalidator-push-based-validation.md b/docs/standard/data/xml/xmlschemavalidator-push-based-validation.md index 083808a7c89b4..db9d93a7303a4 100644 --- a/docs/standard/data/xml/xmlschemavalidator-push-based-validation.md +++ b/docs/standard/data/xml/xmlschemavalidator-push-based-validation.md @@ -1,24 +1,13 @@ --- title: "XmlSchemaValidator Push-Based Validation" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 911d4460-dd91-4958-85b2-2ca3299f9ec6 -caps.latest.revision: 4 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XmlSchemaValidator Push-Based Validation The class provides an efficient, high-performance mechanism to validate XML data against XML schemas in a push-based manner. For example, the class allows you to validate an XML infoset in-place without having to serialize it as an XML document and then reparse the document using a validating XML reader. diff --git a/docs/standard/data/xml/xpath-namespace-navigation.md b/docs/standard/data/xml/xpath-namespace-navigation.md index b8f12c1c8801c..5da70ed2be43a 100644 --- a/docs/standard/data/xml/xpath-namespace-navigation.md +++ b/docs/standard/data/xml/xpath-namespace-navigation.md @@ -1,21 +1,10 @@ --- title: "XPath Namespace Navigation" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 06cc7abb-7416-415c-9dd6-67751b8cabd5 -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XPath Namespace Navigation To use XPath queries with XML documents, you have to correctly address XML namespaces and the elements contained by namespaces. Namespaces prevent ambiguities that can occur when names are used in more than one context; for example, the name `ID` may refer to more than one identifier associated with different elements of an XML document. Namespace syntax specifies URIs, names, and prefixes that distinguish the elements of an XML document. diff --git a/docs/standard/data/xml/xpath-queries-and-namespaces.md b/docs/standard/data/xml/xpath-queries-and-namespaces.md index e4a734c94fbf5..338348f13b46a 100644 --- a/docs/standard/data/xml/xpath-queries-and-namespaces.md +++ b/docs/standard/data/xml/xpath-queries-and-namespaces.md @@ -1,24 +1,13 @@ --- title: "XPath Queries and Namespaces" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: ef6402be-2f8e-4be2-8d3e-a80891cdef8b -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XPath Queries and Namespaces XPath queries are aware of namespaces in an XML document and can use namespace prefixes to qualify element and attribute names. Qualifying element and attribute names with a namespace prefix limits the nodes returned by an XPath query to only those nodes that belong to a specific namespace. diff --git a/docs/standard/data/xml/xpathdocument-input-to-xsltransform.md b/docs/standard/data/xml/xpathdocument-input-to-xsltransform.md index 60a3544bff963..e994bd160c356 100644 --- a/docs/standard/data/xml/xpathdocument-input-to-xsltransform.md +++ b/docs/standard/data/xml/xpathdocument-input-to-xsltransform.md @@ -1,24 +1,13 @@ --- title: "XPathDocument Input to XslTransform" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 7d1bbe8b-ed43-4e62-a5ba-d602d244f4ae -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XPathDocument Input to XslTransform The is a read-only cache, for processing documents with . It is structurally similar to the XML Document Object Model (DOM), but it is highly optimized for Extensible Stylesheet Language for Transformations (XSLT) processing and the XML Path Language (XPath) data model using the XPath optimization functions on the . diff --git a/docs/standard/data/xml/xpathnavigator-in-transformations.md b/docs/standard/data/xml/xpathnavigator-in-transformations.md index da6ea93bf0589..a31303e5cec0a 100644 --- a/docs/standard/data/xml/xpathnavigator-in-transformations.md +++ b/docs/standard/data/xml/xpathnavigator-in-transformations.md @@ -1,24 +1,13 @@ --- title: "XPathNavigator in Transformations" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 118f97d1-7110-4d1b-b0bd-4143252c0bb0 -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XPathNavigator in Transformations The class provides read-only random access to data and is designed for use as an input to Extensible Stylesheet Language for Transformations (XSLT). It is implemented on the , , and . The is based upon the World Wide Web Consortium (W3C) Data Model as described in section 5 of the XML Path Language (XPath) recommendation. diff --git a/docs/standard/data/xml/xpathnodeiterator-in-transformations.md b/docs/standard/data/xml/xpathnodeiterator-in-transformations.md index c87e22a4af817..84369aa832e7b 100644 --- a/docs/standard/data/xml/xpathnodeiterator-in-transformations.md +++ b/docs/standard/data/xml/xpathnodeiterator-in-transformations.md @@ -1,24 +1,13 @@ --- title: "XPathNodeIterator in Transformations" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 2bc6ddc6-674a-4f75-b264-abc35e4e5857 -caps.latest.revision: 4 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XPathNodeIterator in Transformations The provides methods to iterate over a set of nodes created as the result of an XML Path Language (XPath) query or a result tree fragment converted to a node set by use of the node-set method. The enables you to iterate over the nodes within that node set. Once a node set is retrieved, the class provides a read-only, forward-only cursor to the selected set of nodes. The node set is created in document order, so calling this method moves to the next node in document order. does not build a node tree of all the nodes in the set. Instead, it provides a single node window into the data, exposing the underlying node it points to as you move around in the tree. The methods and properties available from the class enable you to get information from the current node. For a list of the available methods and properties, see . diff --git a/docs/standard/data/xml/xslt-compiler-xsltc-exe.md b/docs/standard/data/xml/xslt-compiler-xsltc-exe.md index 6874ff597f23b..0fe04788f6cbb 100644 --- a/docs/standard/data/xml/xslt-compiler-xsltc-exe.md +++ b/docs/standard/data/xml/xslt-compiler-xsltc-exe.md @@ -1,21 +1,10 @@ --- title: "XSLT Compiler (xsltc.exe)" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 672a5ac8-8305-4d28-ba10-11089c2c0924 -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XSLT Compiler (xsltc.exe) The XSLT compiler (xsltc.exe) compiles XSLT style sheets and generates an assembly. The compiled style sheet can then be passed directly into the method. You cannot generate signed assemblies with xsltc.exe. diff --git a/docs/standard/data/xml/xslt-extension-objects.md b/docs/standard/data/xml/xslt-extension-objects.md index e0397addd8d54..dab337d13e0fe 100644 --- a/docs/standard/data/xml/xslt-extension-objects.md +++ b/docs/standard/data/xml/xslt-extension-objects.md @@ -1,21 +1,10 @@ --- title: "XSLT Extension Objects" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: a4ebdbad-087c-4cfe-acc0-17c48142f81a -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XSLT Extension Objects Extension objects are used to extend the functionality of style sheets. Extension objects are maintained by the class. diff --git a/docs/standard/data/xml/xslt-parameters.md b/docs/standard/data/xml/xslt-parameters.md index 72160d601bd9e..b4b76eac84338 100644 --- a/docs/standard/data/xml/xslt-parameters.md +++ b/docs/standard/data/xml/xslt-parameters.md @@ -1,24 +1,13 @@ --- title: "XSLT Parameters" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: fe60aaa0-ae43-4b1c-9be1-426af66ba757 -caps.latest.revision: 2 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XSLT Parameters XSLT parameters are added to the using the method. A qualified name and namespace URI are associated with the parameter object at that time. diff --git a/docs/standard/data/xml/xslt-security-considerations.md b/docs/standard/data/xml/xslt-security-considerations.md index f4da1a8b49587..a8b8c7a1c1109 100644 --- a/docs/standard/data/xml/xslt-security-considerations.md +++ b/docs/standard/data/xml/xslt-security-considerations.md @@ -1,21 +1,10 @@ --- title: "XSLT Security Considerations" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: fea695be-617c-4977-9567-140e820436fc -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XSLT Security Considerations The XSLT language has a rich set of features that give you a great deal of power and flexibility. It includes many features that, while useful, could also be exploited by outside sources. In order to use XSLT safely, you must understand the types of security issues that arise when using XSLT, and the basic strategies that you can employ to mitigate these risks. diff --git a/docs/standard/data/xml/xslt-stylesheet-scripting-using-msxsl-script.md b/docs/standard/data/xml/xslt-stylesheet-scripting-using-msxsl-script.md index 5e2a164c2d14d..c34c78fe25e7e 100644 --- a/docs/standard/data/xml/xslt-stylesheet-scripting-using-msxsl-script.md +++ b/docs/standard/data/xml/xslt-stylesheet-scripting-using-msxsl-script.md @@ -1,24 +1,13 @@ --- title: "XSLT Stylesheet Scripting Using <msxsl:script>" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 60e2541b-0cea-4b2e-a4fa-85f4c50f1bef -caps.latest.revision: 4 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XSLT Stylesheet Scripting Using <msxsl:script> The class supports embedded scripting using the `script` element. diff --git a/docs/standard/data/xml/xslt-transformations-over-different-stores.md b/docs/standard/data/xml/xslt-transformations-over-different-stores.md index de9bdc903d385..452f452eb4ac7 100644 --- a/docs/standard/data/xml/xslt-transformations-over-different-stores.md +++ b/docs/standard/data/xml/xslt-transformations-over-different-stores.md @@ -1,21 +1,10 @@ --- title: "XSLT Transformations Over Different Stores" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 369850e9-004a-45d2-b5c3-5060d9135adb -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XSLT Transformations Over Different Stores > [!NOTE] diff --git a/docs/standard/data/xml/xslt-transformations-with-the-xsltransform-class.md b/docs/standard/data/xml/xslt-transformations-with-the-xsltransform-class.md index cf09d2b228c7d..6cf3dcc9ccd86 100644 --- a/docs/standard/data/xml/xslt-transformations-with-the-xsltransform-class.md +++ b/docs/standard/data/xml/xslt-transformations-with-the-xsltransform-class.md @@ -1,24 +1,13 @@ --- title: "XSLT Transformations with the XslTransform Class" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 500335af-f9b5-413b-968a-e6d9a824478c -caps.latest.revision: 4 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XSLT Transformations with the XslTransform Class > [!NOTE] diff --git a/docs/standard/data/xml/xslt-transformations.md b/docs/standard/data/xml/xslt-transformations.md index 9b07f340f3d75..90e4aaae606cc 100644 --- a/docs/standard/data/xml/xslt-transformations.md +++ b/docs/standard/data/xml/xslt-transformations.md @@ -1,21 +1,10 @@ --- title: "XSLT Transformations" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 202f8820-224c-494f-b61e-cd127eac6e03 -caps.latest.revision: 4 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XSLT Transformations The Extensible Stylesheet Language Transformation (XSLT) lets you transform the content of a source XML document into another document that is different in format or structure. For example, you can use XSLT to transform XML into HTML for use on a Web site or to transform it into a document that contains only the fields required by an application. This transformation process is specified by the [W3C XSL Transformations (XSLT) Version 1.0 recommendation](https://www.w3.org/TR/xslt-10/). diff --git a/docs/standard/data/xml/xsltargumentlist-for-style-sheet-parameters-and-extension-objects.md b/docs/standard/data/xml/xsltargumentlist-for-style-sheet-parameters-and-extension-objects.md index 6efe01e74a653..a046b5da7420e 100644 --- a/docs/standard/data/xml/xsltargumentlist-for-style-sheet-parameters-and-extension-objects.md +++ b/docs/standard/data/xml/xsltargumentlist-for-style-sheet-parameters-and-extension-objects.md @@ -1,24 +1,13 @@ --- title: "XsltArgumentList for Style Sheet Parameters and Extension Objects" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: de2f0dce-6b98-4908-bba7-ed150cc50355 -caps.latest.revision: 3 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XsltArgumentList for Style Sheet Parameters and Extension Objects The class contains Extensible Stylesheet Language for Transformations (XSLT) parameters and XSLT extension objects. When passed into the method, these parameters and extension objects can be invoked from style sheets. diff --git a/docs/standard/data/xml/xsltransform-class-implements-the-xslt-processor.md b/docs/standard/data/xml/xsltransform-class-implements-the-xslt-processor.md index 538f56aafef2f..d05fc609c33c1 100644 --- a/docs/standard/data/xml/xsltransform-class-implements-the-xslt-processor.md +++ b/docs/standard/data/xml/xsltransform-class-implements-the-xslt-processor.md @@ -1,24 +1,13 @@ --- title: "XslTransform Class Implements the XSLT Processor" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 88373fe2-4a6b-44f9-8a62-8a3e348e3a46 -caps.latest.revision: 6 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XslTransform Class Implements the XSLT Processor > [!NOTE] diff --git a/docs/standard/datetime/access-utc-and-local.md b/docs/standard/datetime/access-utc-and-local.md index 997c1d36e22a7..792830ca8bcc2 100644 --- a/docs/standard/datetime/access-utc-and-local.md +++ b/docs/standard/datetime/access-utc-and-local.md @@ -1,13 +1,7 @@ --- title: "How to: Access the predefined UTC and local time zone objects" -ms.custom: "" ms.date: "04/10/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -19,15 +13,9 @@ helpviewer_keywords: - "time zones [.NET Framework], retrieving" - "time zones [.NET Framework], UTC" ms.assetid: 961fb70b-83f0-4dab-a042-cb5fcd817cf5 -caps.latest.revision: 9 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- - # How to: Access the predefined UTC and local time zone objects The class provides two properties, and , that give your code access to predefined time zone objects. This topic discusses how to access the objects returned by those properties. diff --git a/docs/standard/datetime/choosing-between-datetime.md b/docs/standard/datetime/choosing-between-datetime.md index c3376e46d8d30..b085e7e3146d7 100644 --- a/docs/standard/datetime/choosing-between-datetime.md +++ b/docs/standard/datetime/choosing-between-datetime.md @@ -1,13 +1,7 @@ --- title: "Choosing between DateTime, DateTimeOffset, TimeSpan, and TimeZoneInfo" -ms.custom: "" ms.date: "04/10/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -19,15 +13,9 @@ helpviewer_keywords: - "time zones [.NET Framework], type options" - "DateTime structure" ms.assetid: 07f17aad-3571-4014-9ef3-b695a86f3800 -caps.latest.revision: 14 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- - # Choosing between DateTime, DateTimeOffset, TimeSpan, and TimeZoneInfo .NET applications that use date and time information are very diverse and can use that information in several ways. The more common uses of date and time information include one or more of the following: diff --git a/docs/standard/datetime/converting-between-datetime-and-offset.md b/docs/standard/datetime/converting-between-datetime-and-offset.md index 4618d0716320c..22f8818022e02 100644 --- a/docs/standard/datetime/converting-between-datetime-and-offset.md +++ b/docs/standard/datetime/converting-between-datetime-and-offset.md @@ -1,13 +1,7 @@ --- title: "Converting between DateTime and DateTimeOffset" -ms.custom: "" ms.date: "04/10/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -22,15 +16,9 @@ helpviewer_keywords: - "Date data type, converting" - "local time conversions" ms.assetid: b605ff97-0c45-4c24-833f-4c6a3e8be64c -caps.latest.revision: 8 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- - # Converting between DateTime and DateTimeOffset Although the structure provides a greater degree of time zone awareness than the structure, parameters are used more commonly in method calls. Because of this, the ability to convert values to values and vice versa is particularly important. This topic shows how to perform these conversions in a way that preserves as much time zone information as possible. diff --git a/docs/standard/datetime/converting-between-time-zones.md b/docs/standard/datetime/converting-between-time-zones.md index fdbcde5d85f56..6fb2428c066c9 100644 --- a/docs/standard/datetime/converting-between-time-zones.md +++ b/docs/standard/datetime/converting-between-time-zones.md @@ -1,13 +1,7 @@ --- title: "Converting times between time zones" -ms.custom: "" ms.date: "04/10/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -18,15 +12,9 @@ helpviewer_keywords: - "converting times" - "local time conversions" ms.assetid: a51e1a3b-c983-4320-b31a-1f9fa3cf824a -caps.latest.revision: 19 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- - # Converting times between time zones It is becoming increasingly important for any application that works with dates and times to handle differences between time zones. An application can no longer assume that all times can be expressed in the local time, which is the time available from the structure. For example, a Web page that displays the current time in the eastern part of the United States will lack credibility to a customer in eastern Asia. This topic explains how to convert times from one time zone to another, as well as how to convert values that have limited time zone awareness. diff --git a/docs/standard/datetime/create-time-zones-with-adjustment-rules.md b/docs/standard/datetime/create-time-zones-with-adjustment-rules.md index 7d1432af0f7fa..493a5fdf7f951 100644 --- a/docs/standard/datetime/create-time-zones-with-adjustment-rules.md +++ b/docs/standard/datetime/create-time-zones-with-adjustment-rules.md @@ -1,13 +1,7 @@ --- title: "How to: Create time zones with adjustment rules" -ms.custom: "" ms.date: "04/10/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -16,15 +10,9 @@ helpviewer_keywords: - "time zones [.NET Framework], and adjustment rules" - "adjustment rule [.NET Framework]" ms.assetid: c52ef192-13a9-435f-8015-3b12eae8c47c -caps.latest.revision: 9 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- - # How to: Create time zones with adjustment rules The precise time zone information that is required by an application may not be present on a particular system for several reasons: diff --git a/docs/standard/datetime/create-time-zones-without-adjustment-rules.md b/docs/standard/datetime/create-time-zones-without-adjustment-rules.md index ecea695e95580..3cc7c2aeab833 100644 --- a/docs/standard/datetime/create-time-zones-without-adjustment-rules.md +++ b/docs/standard/datetime/create-time-zones-without-adjustment-rules.md @@ -1,13 +1,7 @@ --- title: "How to: Create time zones without adjustment rules" -ms.custom: "" ms.date: "04/10/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -16,15 +10,9 @@ helpviewer_keywords: - "time zones [.NET Framework], creating" - "adjustment rule [.NET Framework]" ms.assetid: a6af8647-7893-4f29-95a9-d94c65a6e8dd -caps.latest.revision: 10 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- - # How to: Create time zones without adjustment rules The precise time zone information that is required by an application may not be present on a particular system for several reasons: diff --git a/docs/standard/datetime/enumerate-time-zones.md b/docs/standard/datetime/enumerate-time-zones.md index 55c0ecdb9a68a..e3664c9b05a5c 100644 --- a/docs/standard/datetime/enumerate-time-zones.md +++ b/docs/standard/datetime/enumerate-time-zones.md @@ -1,13 +1,7 @@ --- title: "How to: Enumerate time zones present on a computer" -ms.custom: "" ms.date: "04/10/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -15,15 +9,9 @@ helpviewer_keywords: - "time zones [.NET Framework], enumerating" - "enumerating time zones [.NET Framework]" ms.assetid: bb7a42ab-6bd9-4c5c-b734-5546d51f8669 -caps.latest.revision: 12 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- - # How to: Enumerate time zones present on a computer Successfully working with a designated time zone requires that information about that time zone be available to the system. The Windows XP and Windows Vista operating systems store this information in the registry. However, although the total number of time zones that exist throughout the world is large, the registry contains information about only a subset of them. In addition, the registry itself is a dynamic structure whose contents are subject to both deliberate and accidental change. As a result, an application cannot always assume that a particular time zone is defined and available on a system. The first step for many applications that use time zone information applications is to determine whether required time zones are available on the local system, or to give the user a list of time zones from which to select. This requires that an application enumerate the time zones defined on a local system. diff --git a/docs/standard/datetime/finding-the-time-zones-on-local-system.md b/docs/standard/datetime/finding-the-time-zones-on-local-system.md index c45aedb7988c8..b12a13c9ae90c 100644 --- a/docs/standard/datetime/finding-the-time-zones-on-local-system.md +++ b/docs/standard/datetime/finding-the-time-zones-on-local-system.md @@ -1,13 +1,7 @@ --- title: "Finding the time zones defined on a local system" -ms.custom: "" ms.date: "04/10/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "time zones [.NET Framework], local" - "time zones [.NET Framework], finding local system time zones" @@ -17,15 +11,9 @@ helpviewer_keywords: - "UTC times, finding local system time zones" - "time zones [.NET Framework], UTC" ms.assetid: 3f63b1bc-9a4b-4bde-84ea-ab028a80d3e1 -caps.latest.revision: 14 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- - # Finding the time zones defined on a local system The class does not expose a public constructor. As a result, the `new` keyword cannot be used to create a new object. Instead, objects are instantiated either by retrieving information on predefined time zones from the registry or by creating a custom time zone. This topic discusses instantiating a time zone from data stored in the registry. In addition, `static` (`shared` in Visual Basic) properties of the class provide access to Coordinated Universal Time (UTC) and the local time zone. diff --git a/docs/standard/datetime/index.md b/docs/standard/datetime/index.md index fd79f868cf4c4..4036119043a6c 100644 --- a/docs/standard/datetime/index.md +++ b/docs/standard/datetime/index.md @@ -1,13 +1,7 @@ --- title: "Dates, times, and time zones" -ms.custom: "" ms.date: "04/10/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "time zone objects [.NET Framework]" - "date and time data [.NET Framework]" @@ -15,15 +9,9 @@ helpviewer_keywords: - "times [.NET Framework], time zones" - "time [.NET Framework], time zones" ms.assetid: 295c16e0-641b-4771-94b3-39c1ffa98c13 -caps.latest.revision: 22 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- - # Dates, times, and time zones In addition to the basic structure, .NET provides the following classes that support working with time zones: diff --git a/docs/standard/datetime/instantiate-time-zone-info.md b/docs/standard/datetime/instantiate-time-zone-info.md index 6cdcbb4e5901e..c421e81397e12 100644 --- a/docs/standard/datetime/instantiate-time-zone-info.md +++ b/docs/standard/datetime/instantiate-time-zone-info.md @@ -1,13 +1,7 @@ --- title: "How to: Instantiate a TimeZoneInfo object" -ms.custom: "" ms.date: "04/10/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -15,15 +9,9 @@ helpviewer_keywords: - "instantiating time zone objects" - "time zone objects [.NET Framework], instantiation" ms.assetid: 8cb620e5-c6a6-4267-a52e-beeb73cd1a34 -caps.latest.revision: 8 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- - # How to: Instantiate a TimeZoneInfo object The most common way to instantiate a object is to retrieve information about it from the registry. This topic discusses how to instantiate a object from the local system registry. diff --git a/docs/standard/datetime/instantiating-a-datetimeoffset-object.md b/docs/standard/datetime/instantiating-a-datetimeoffset-object.md index 050ba0e91320d..7aaa16c792c49 100644 --- a/docs/standard/datetime/instantiating-a-datetimeoffset-object.md +++ b/docs/standard/datetime/instantiating-a-datetimeoffset-object.md @@ -1,13 +1,7 @@ --- title: "Instantiating a DateTimeOffset object" -ms.custom: "" ms.date: "04/10/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -17,15 +11,9 @@ helpviewer_keywords: - "DateTimeOffset structure, converting to DateTime" - "DateTimeOffset structure, instantiating" ms.assetid: 9648375f-d368-4373-a976-3332ece00c0a -caps.latest.revision: 10 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- - # Instantiating a DateTimeOffset object The structure offers a number of ways to create new values. Many of them correspond directly to the methods available for instantiating new values, with enhancements that allow you to specify the date and time value's offset from Coordinated Universal Time (UTC). In particular, you can instantiate a value in the following ways: diff --git a/docs/standard/datetime/let-users-resolve-ambiguous-times.md b/docs/standard/datetime/let-users-resolve-ambiguous-times.md index 060e34e367079..253650c89c81c 100644 --- a/docs/standard/datetime/let-users-resolve-ambiguous-times.md +++ b/docs/standard/datetime/let-users-resolve-ambiguous-times.md @@ -1,26 +1,14 @@ --- title: "How to: Let users resolve ambiguous times" -ms.custom: "" ms.date: "04/10/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "time zones [.NET Framework], ambiguous time" - "ambiguous time [.NET Framework]" ms.assetid: bca874ee-5b68-4654-8bbd-3711220ef332 -caps.latest.revision: 9 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- - # How to: Let users resolve ambiguous times An ambiguous time is a time that maps to more than one Coordinated Universal Time (UTC). It occurs when the clock time is adjusted back in time, such as during the transition from a time zone's daylight saving time to its standard time. When handling an ambiguous time, you can do one of the following: diff --git a/docs/standard/datetime/performing-arithmetic-operations.md b/docs/standard/datetime/performing-arithmetic-operations.md index be86c545b4324..912ad93e04ba5 100644 --- a/docs/standard/datetime/performing-arithmetic-operations.md +++ b/docs/standard/datetime/performing-arithmetic-operations.md @@ -1,13 +1,7 @@ --- title: "Performing arithmetic operations with dates and times" -ms.custom: "" ms.date: "04/10/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -20,15 +14,9 @@ helpviewer_keywords: - "DateTime structure, arithmetic operations" - "DateTimeOffset structure, arithmetic operations" ms.assetid: 87c7ddf2-f15e-48af-8602-b3642237e6d0 -caps.latest.revision: 9 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- - # Performing arithmetic operations with dates and times Although both the and the structures provide members that perform arithmetic operations on their values, the results of arithmetic operations are very different. This topic examines those differences, relates them to degrees of time zone awareness in date and time data, and discusses how to perform fully time zone aware operations using date and time data. diff --git a/docs/standard/datetime/resolve-ambiguous-times.md b/docs/standard/datetime/resolve-ambiguous-times.md index 87e8d5754ce84..90baae743d417 100644 --- a/docs/standard/datetime/resolve-ambiguous-times.md +++ b/docs/standard/datetime/resolve-ambiguous-times.md @@ -1,13 +1,7 @@ --- title: "How to: Resolve ambiguous times" -ms.custom: "" ms.date: "04/10/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -15,15 +9,9 @@ helpviewer_keywords: - "time zones [.NET Framework], ambiguous time" - "ambiguous time [.NET Framework]" ms.assetid: 2cf5fb25-492c-4875-9245-98cac8348e97 -caps.latest.revision: 10 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- - # How to: Resolve ambiguous times An ambiguous time is a time that maps to more than one Coordinated Universal Time (UTC). It occurs when the clock time is adjusted back in time, such as during the transition from a time zone's daylight saving time to its standard time. When handling an ambiguous time, you can do one of the following: diff --git a/docs/standard/datetime/restore-time-zones-from-an-embedded-resource.md b/docs/standard/datetime/restore-time-zones-from-an-embedded-resource.md index 2eb26121e2142..092494769ccaa 100644 --- a/docs/standard/datetime/restore-time-zones-from-an-embedded-resource.md +++ b/docs/standard/datetime/restore-time-zones-from-an-embedded-resource.md @@ -1,13 +1,7 @@ --- title: "How to: Restore time zones from an embedded resource" -ms.custom: "" ms.date: "04/10/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -15,15 +9,9 @@ helpviewer_keywords: - "time zones [.NET Framework], deserializing" - "time zones [.NET Framework], restoring" ms.assetid: 6b7b4de9-da07-47e3-8f4c-823f81798ee7 -caps.latest.revision: 6 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- - # How to: Restore time zones from an embedded resource This topic describes how to restore time zones that have been saved in a resource file. For information and instructions about saving time zones, see [How to: Save time zones to an embedded resource](../../../docs/standard/datetime/save-time-zones-to-an-embedded-resource.md). diff --git a/docs/standard/datetime/save-time-zones-to-an-embedded-resource.md b/docs/standard/datetime/save-time-zones-to-an-embedded-resource.md index 2239609724e14..de92373c47ab2 100644 --- a/docs/standard/datetime/save-time-zones-to-an-embedded-resource.md +++ b/docs/standard/datetime/save-time-zones-to-an-embedded-resource.md @@ -1,13 +1,7 @@ --- title: "How to: Save time zones to an embedded resource" -ms.custom: "" ms.date: "04/10/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -16,13 +10,8 @@ helpviewer_keywords: - "time zone objects [.NET Framework], serializing" - "time zone objects [.NET Framework], saving" ms.assetid: 3c96d83a-a057-4496-abb0-8f4b12712558 -caps.latest.revision: 12 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Save time zones to an embedded resource diff --git a/docs/standard/datetime/saving-and-restoring-time-zones.md b/docs/standard/datetime/saving-and-restoring-time-zones.md index ca109db604e75..d2019cf708369 100644 --- a/docs/standard/datetime/saving-and-restoring-time-zones.md +++ b/docs/standard/datetime/saving-and-restoring-time-zones.md @@ -1,13 +1,7 @@ --- title: "Saving and restoring time zones" -ms.custom: "" ms.date: "04/10/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -23,15 +17,9 @@ helpviewer_keywords: - "time zone objects [.NET Framework], serializing" - "time zone objects [.NET Framework], saving" ms.assetid: 4028b310-e7ce-49d4-a646-1e83bfaf6f9d -caps.latest.revision: 9 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- - # Saving and restoring time zones The class relies on the registry to retrieve predefined time zone data. However, the registry is a dynamic structure. Additionally, the time zone information that the registry contains is used by the operating system primarily to handle time adjustments and conversions for the current year. This has two major implications for applications that rely on accurate time zone data: diff --git a/docs/standard/datetime/time-zone-overview.md b/docs/standard/datetime/time-zone-overview.md index 8c2c5ae2571fa..18df4a0338671 100644 --- a/docs/standard/datetime/time-zone-overview.md +++ b/docs/standard/datetime/time-zone-overview.md @@ -1,13 +1,7 @@ --- title: "Time zone overview" -ms.custom: "" ms.date: "04/10/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "time zones [.NET Framework], about time zones" - "transition time [.NET Framework]" @@ -21,15 +15,9 @@ helpviewer_keywords: - "adjustment rule [.NET Framework]" - "time zones [.NET Framework], terminology" ms.assetid: c4b7ed01-5e38-4959-a3b6-ef9765d6ccf1 -caps.latest.revision: 11 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- - # Time zone overview The class simplifies the creation of time zone-aware applications. The class supports working with the local time zone and Coordinated Universal Time (UTC). The class supports both of these zones as well as any time zone about which information is predefined in the registry. You can also use to define custom time zones that the system has no information about. diff --git a/docs/standard/datetime/use-time-zones-in-arithmetic.md b/docs/standard/datetime/use-time-zones-in-arithmetic.md index 10044f7c62dba..0e99775443229 100644 --- a/docs/standard/datetime/use-time-zones-in-arithmetic.md +++ b/docs/standard/datetime/use-time-zones-in-arithmetic.md @@ -1,13 +1,7 @@ --- title: "How to: Use time zones in date and time arithmetic" -ms.custom: "" ms.date: "04/10/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -16,15 +10,9 @@ helpviewer_keywords: - "arithmetic operations [.NET Framework], dates and times" - "dates [.NET Framework], adding and subtracting" ms.assetid: 83dd898d-1338-415d-8cd6-445377ab7871 -caps.latest.revision: 10 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- - # How to: Use time zones in date and time arithmetic Ordinarily, when you perform date and time arithmetic using or values, the result does not reflect any time zone adjustment rules. This is true even when the time zone of the date and time value is clearly identifiable (for example, when the property is set to ). This topic shows how to perform arithmetic operations on date and time values that belong to a particular time zone. The results of the arithmetic operations will reflect the time zone's adjustment rules. diff --git a/docs/standard/datetime/working-with-calendars.md b/docs/standard/datetime/working-with-calendars.md index e7f77614f11b7..a115a5c13cf85 100644 --- a/docs/standard/datetime/working-with-calendars.md +++ b/docs/standard/datetime/working-with-calendars.md @@ -1,13 +1,7 @@ --- title: "Working with calendars" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -19,15 +13,9 @@ helpviewer_keywords: - "international applications [.NET Framework], calendars" - "culture, calendars" ms.assetid: 0c1534e5-979b-4c8a-a588-1c24301aefb3 -caps.latest.revision: 21 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- - # Working with calendars Although a date and time value represents a moment in time, its string representation is culture-sensitive and depends both on the conventions used for displaying date and time values by a specific culture and on the calendar used by that culture. This topic explores the support for calendars in .NET and discusses the use of the calendar classes when working with date values. diff --git a/docs/standard/delegates-lambdas.md b/docs/standard/delegates-lambdas.md index 9378515cba795..afce302765108 100644 --- a/docs/standard/delegates-lambdas.md +++ b/docs/standard/delegates-lambdas.md @@ -1,20 +1,12 @@ --- title: Delegates and lambdas description: Learn how delegates define a type, which specify a particular method signature, that can be called directly or passed to another method and called. -keywords: .NET, .NET Core author: richlander ms.author: wiwagn ms.date: 06/20/2016 -ms.topic: article -ms.prod: .net ms.technology: dotnet-standard -ms.devlang: dotnet ms.assetid: fe2e4b4c-6483-4106-a4b4-a33e2e306591 -ms.workload: - - "dotnet" - - "dotnetcore" --- - # Delegates and lambdas Delegates define a type, which specify a particular method signature. A method (static or instance) that satisfies this signature can be assigned to a variable of that type, then called directly (with the appropriate arguments) or passed as an argument itself to another method and then called. The following example demonstrates delegate use. diff --git a/docs/standard/design-guidelines/abstract-class.md b/docs/standard/design-guidelines/abstract-class.md index 80ad2a8951de3..741845be3698d 100644 --- a/docs/standard/design-guidelines/abstract-class.md +++ b/docs/standard/design-guidelines/abstract-class.md @@ -1,13 +1,7 @@ --- title: "Abstract Class Design" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "type design guidelines, abstract classes" - "abstract classes, design guidelines" @@ -16,13 +10,8 @@ helpviewer_keywords: - "classes [.NET Framework], design guidelines" - "type design guidelines, classes" ms.assetid: d3646e6d-5c1f-4922-8fb0-ec5effb30d60 -caps.latest.revision: 13 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Abstract Class Design **X DO NOT** define public or protected internal constructors in abstract types. diff --git a/docs/standard/design-guidelines/abstractions-abstract-types-and-interfaces.md b/docs/standard/design-guidelines/abstractions-abstract-types-and-interfaces.md index dece35cf285ea..4da7f68f60040 100644 --- a/docs/standard/design-guidelines/abstractions-abstract-types-and-interfaces.md +++ b/docs/standard/design-guidelines/abstractions-abstract-types-and-interfaces.md @@ -1,26 +1,15 @@ --- title: "Abstractions (Abstract Types and Interfaces)" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "interfaces [.NET Framework], abstract" - "abstract interfaces [.NET Framework]" - "abstract types [.NET Framework]" - "types [.NET Framework], abstract" ms.assetid: 0a632bc7-9b03-44ee-8842-c82f88672a45 -caps.latest.revision: 10 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Abstractions (Abstract Types and Interfaces) An abstraction is a type that describes a contract but does not provide a full implementation of the contract. Abstractions are usually implemented as abstract classes or interfaces, and they come with a well-defined set of reference documentation describing the required semantics of the types implementing the contract. Some of the most important abstractions in the .NET Framework include , , and . diff --git a/docs/standard/design-guidelines/arrays.md b/docs/standard/design-guidelines/arrays.md index 7f3f12a4913d9..2b1a7403123e9 100644 --- a/docs/standard/design-guidelines/arrays.md +++ b/docs/standard/design-guidelines/arrays.md @@ -1,25 +1,14 @@ --- title: "Arrays" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "class library design guidelines [.NET Framework], arrays" - "arrays [.NET Framework], usage guidelines" - "empty arrays" ms.assetid: 66a1b3d8-6f3f-4715-b235-e1ff95e32d8e -caps.latest.revision: 18 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Arrays **✓ DO** prefer using collections over arrays in public APIs. The [Collections](../../../docs/standard/design-guidelines/guidelines-for-collections.md) section provides details about how to choose between collections and arrays. diff --git a/docs/standard/design-guidelines/attributes.md b/docs/standard/design-guidelines/attributes.md index c16e8a453504c..a02a7f2053186 100644 --- a/docs/standard/design-guidelines/attributes.md +++ b/docs/standard/design-guidelines/attributes.md @@ -1,24 +1,13 @@ --- title: "Attributes1" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "attributes [.NET Framework], about" - "class library design guidelines [.NET Framework], attributes" ms.assetid: ee0038ef-b247-4747-a650-3c5c5cd58d8b -caps.latest.revision: 16 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Attributes is a base class used to define custom attributes. diff --git a/docs/standard/design-guidelines/base-classes-for-implementing-abstractions.md b/docs/standard/design-guidelines/base-classes-for-implementing-abstractions.md index ea9de9d716361..add3731538cf1 100644 --- a/docs/standard/design-guidelines/base-classes-for-implementing-abstractions.md +++ b/docs/standard/design-guidelines/base-classes-for-implementing-abstractions.md @@ -1,24 +1,13 @@ --- title: "Base Classes for Implementing Abstractions" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "abstractions [.NET Framework]" - "base classes, abstractions" ms.assetid: 37a2d9a4-9721-482a-a40f-eee2c1d97875 -caps.latest.revision: 9 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Base Classes for Implementing Abstractions Strictly speaking, a class becomes a base class when another class is derived from it. For the purpose of this section, however, a base class is a class designed mainly to provide a common abstraction or for other classes to reuse some default implementation though inheritance. Base classes usually sit in the middle of inheritance hierarchies, between an abstraction at the root of a hierarchy and several custom implementations at the bottom. diff --git a/docs/standard/design-guidelines/capitalization-conventions.md b/docs/standard/design-guidelines/capitalization-conventions.md index dc8e9d2eac7e0..00930c6a13607 100644 --- a/docs/standard/design-guidelines/capitalization-conventions.md +++ b/docs/standard/design-guidelines/capitalization-conventions.md @@ -1,13 +1,7 @@ --- title: "Capitalization Conventions" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "camel-case names [.NET Framework]" - "class library design guidelines [.NET Framework], capitalization" @@ -15,13 +9,8 @@ helpviewer_keywords: - "case sensitivity, capitalization conventions" - "names [.NET Framework], capitalization" ms.assetid: 4c4ea526-9203-486f-b72d-29d61c5b3c6d -caps.latest.revision: 16 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Capitalization Conventions The guidelines in this chapter lay out a simple method for using case that, when applied consistently, make identifiers for types, members, and parameters easy to read. diff --git a/docs/standard/design-guidelines/choosing-between-class-and-struct.md b/docs/standard/design-guidelines/choosing-between-class-and-struct.md index b573734b5d25f..ce28ac8f408f8 100644 --- a/docs/standard/design-guidelines/choosing-between-class-and-struct.md +++ b/docs/standard/design-guidelines/choosing-between-class-and-struct.md @@ -1,13 +1,7 @@ --- title: "Choosing Between Class and Struct" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "class library design guidelines [.NET Framework], structures" - "class library design guidelines [.NET Framework], classes" @@ -18,13 +12,8 @@ helpviewer_keywords: - "classes [.NET Framework], vs. structures" - "type design guidelines, classes" ms.assetid: f8b8ec9b-0ba7-4dea-aadf-a93395cd804f -caps.latest.revision: 11 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Choosing Between Class and Struct One of the basic design decisions every framework designer faces is whether to design a type as a class (a reference type) or as a struct (a value type). Good understanding of the differences in the behavior of reference types and value types is crucial in making this choice. diff --git a/docs/standard/design-guidelines/common-design-patterns.md b/docs/standard/design-guidelines/common-design-patterns.md index 759da557f3911..0b57beabcce6b 100644 --- a/docs/standard/design-guidelines/common-design-patterns.md +++ b/docs/standard/design-guidelines/common-design-patterns.md @@ -1,24 +1,13 @@ --- title: "Common Design Patterns" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "design patterns in class libraries" - "class library design guidelines [.NET Framework], design patterns" ms.assetid: f7bd1361-4ab2-4132-972d-a044b8f197e1 -caps.latest.revision: 8 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Common Design Patterns There are numerous books on software patterns, pattern languages, and antipatterns that address the very broad subject of patterns. Thus, this chapter provides guidelines and discussion related to a very limited set of patterns that are used frequently in the design of the .NET Framework APIs. diff --git a/docs/standard/design-guidelines/constructor.md b/docs/standard/design-guidelines/constructor.md index 198b0a0e0ad03..809afa447f2e4 100644 --- a/docs/standard/design-guidelines/constructor.md +++ b/docs/standard/design-guidelines/constructor.md @@ -1,13 +1,7 @@ --- title: "Constructor Design" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "member design guidelines, constructors" - "constructors, design guidelines" @@ -18,13 +12,8 @@ helpviewer_keywords: - "default constructors" - "static constructors" ms.assetid: b4496afe-5fa7-4bb0-85ca-70b0ef21e6fc -caps.latest.revision: 12 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Constructor Design There are two kinds of constructors: type constructors and instance constructors. diff --git a/docs/standard/design-guidelines/dependency-properties.md b/docs/standard/design-guidelines/dependency-properties.md index fcb54ffc8b0b0..436e9db42b7e0 100644 --- a/docs/standard/design-guidelines/dependency-properties.md +++ b/docs/standard/design-guidelines/dependency-properties.md @@ -1,21 +1,10 @@ --- title: "Dependency Properties" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 212cfb1e-cec4-4047-94a6-47209b387f6f -caps.latest.revision: 4 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Dependency Properties A dependency property (DP) is a regular property that stores its value in a property store instead of storing it in a type variable (field), for example. diff --git a/docs/standard/design-guidelines/designing-for-extensibility.md b/docs/standard/design-guidelines/designing-for-extensibility.md index 36a32b8ffe757..5b94682f42d43 100644 --- a/docs/standard/design-guidelines/designing-for-extensibility.md +++ b/docs/standard/design-guidelines/designing-for-extensibility.md @@ -1,26 +1,15 @@ --- title: "Designing for Extensibility" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "extending class libraries" - "extensibility with class libraries in .NET Framework" - "class library design guidelines [.NET Framework], extensibility" - "class library extensibility [.NET Framework]" ms.assetid: 1cdb8740-871a-456c-9bd9-db96ca8d79b3 -caps.latest.revision: 11 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Designing for Extensibility One important aspect of designing a framework is making sure the extensibility of the framework has been carefully considered. This requires that you understand the costs and benefits associated with various extensibility mechanisms. This chapter helps you decide which of the extensibility mechanisms—subclassing, events, virtual members, callbacks, and so on—can best meet the requirements of your framework. diff --git a/docs/standard/design-guidelines/dispose-pattern.md b/docs/standard/design-guidelines/dispose-pattern.md index af711659b7a06..43560fc5589b3 100644 --- a/docs/standard/design-guidelines/dispose-pattern.md +++ b/docs/standard/design-guidelines/dispose-pattern.md @@ -1,13 +1,7 @@ --- title: "Dispose Pattern" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "Dispose method" - "class library design guidelines [.NET Framework], Dispose method" @@ -15,13 +9,8 @@ helpviewer_keywords: - "customizing Dispose method name" - "Finalize method" ms.assetid: 31a6c13b-d6a2-492b-9a9f-e5238c983bcb -caps.latest.revision: 22 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Dispose Pattern All programs acquire one or more system resources, such as memory, system handles, or database connections, during the course of their execution. Developers have to be careful when using such system resources, because they must be released after they have been acquired and used. diff --git a/docs/standard/design-guidelines/enum.md b/docs/standard/design-guidelines/enum.md index 161a6b92f24a7..6f11394a502ca 100644 --- a/docs/standard/design-guidelines/enum.md +++ b/docs/standard/design-guidelines/enum.md @@ -1,13 +1,7 @@ --- title: "Enum Design" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "type design guidelines, enumerations" - "simple enumerations" @@ -15,13 +9,8 @@ helpviewer_keywords: - "class library design guidelines [.NET Framework], enumerations" - "flags enumerations" ms.assetid: dd53c952-9d9a-4736-86ff-9540e815d545 -caps.latest.revision: 11 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Enum Design Enums are a special kind of value type. There are two kinds of enums: simple enums and flag enums. diff --git a/docs/standard/design-guidelines/equality-operators.md b/docs/standard/design-guidelines/equality-operators.md index a6ce4f094acbc..aee6fb6fb9cc8 100644 --- a/docs/standard/design-guidelines/equality-operators.md +++ b/docs/standard/design-guidelines/equality-operators.md @@ -1,13 +1,7 @@ --- title: "Equality Operators" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "class library design guidelines [.NET Framework], Equals method" - "class library design guidelines [.NET Framework], equality operator" @@ -15,13 +9,8 @@ helpviewer_keywords: - "Equals method" - "== operator (equality) [.NET Framework]" ms.assetid: bc496a91-fefb-4ce0-ab4c-61f09964119a -caps.latest.revision: 13 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Equality Operators This section discusses overloading equality operators and refers to `operator==` and `operator!=` as equality operators. diff --git a/docs/standard/design-guidelines/event.md b/docs/standard/design-guidelines/event.md index befbbf48af661..ac04f8f56b22c 100644 --- a/docs/standard/design-guidelines/event.md +++ b/docs/standard/design-guidelines/event.md @@ -1,13 +1,7 @@ --- title: "Event Design" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "pre-events" - "events [.NET Framework], design guidelines" @@ -16,13 +10,8 @@ helpviewer_keywords: - "post-events" - "signatures, event handling" ms.assetid: 67b3c6e2-6a8f-480d-a78f-ebeeaca1b95a -caps.latest.revision: 15 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Event Design Events are the most commonly used form of callbacks (constructs that allow the framework to call into user code). Other callback mechanisms include members taking delegates, virtual members, and interface-based plug-ins. Data from usability studies indicate that the majority of developers are more comfortable using events than they are using the other callback mechanisms. Events are nicely integrated with Visual Studio and many languages. diff --git a/docs/standard/design-guidelines/events-and-callbacks.md b/docs/standard/design-guidelines/events-and-callbacks.md index 9f662f803e4ed..4180de9bdb978 100644 --- a/docs/standard/design-guidelines/events-and-callbacks.md +++ b/docs/standard/design-guidelines/events-and-callbacks.md @@ -1,26 +1,15 @@ --- title: "Events and Callbacks" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "events [.NET Framework], extensibility" - "methods [.NET Framework], callback" - "callback methods" - "callbacks" ms.assetid: 48b55c60-495f-4089-9396-97f9122bba7c -caps.latest.revision: 10 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Events and Callbacks Callbacks are extensibility points that allow a framework to call back into user code through a delegate. These delegates are usually passed to the framework through a parameter of a method. diff --git a/docs/standard/design-guidelines/exception-throwing.md b/docs/standard/design-guidelines/exception-throwing.md index b8ffd07fe478c..6fe1b91729674 100644 --- a/docs/standard/design-guidelines/exception-throwing.md +++ b/docs/standard/design-guidelines/exception-throwing.md @@ -1,25 +1,14 @@ --- title: "Exception Throwing" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "exceptions, throwing" - "explicitly throwing exceptions" - "throwing exceptions, design guidelines" ms.assetid: 5388e02b-52f5-460e-a2b5-eeafe60eeebe -caps.latest.revision: 9 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Exception Throwing Exception-throwing guidelines described in this section require a good definition of the meaning of execution failure. Execution failure occurs whenever a member cannot do what it was designed to do (what the member name implies). For example, if the `OpenFile` method cannot return an opened file handle to the caller, it would be considered an execution failure. diff --git a/docs/standard/design-guidelines/exceptions-and-performance.md b/docs/standard/design-guidelines/exceptions-and-performance.md index 72ac7a130b2c5..3ab377b5c370a 100644 --- a/docs/standard/design-guidelines/exceptions-and-performance.md +++ b/docs/standard/design-guidelines/exceptions-and-performance.md @@ -1,13 +1,7 @@ --- title: "Exceptions and Performance" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "tester-doer pattern" - "TryParse pattern" @@ -15,13 +9,8 @@ helpviewer_keywords: - "exceptions, performance" - "throwing exceptions, performance" ms.assetid: 3ad6aad9-08e6-4232-b336-0e301f2493e6 -caps.latest.revision: 12 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Exceptions and Performance One common concern related to exceptions is that if exceptions are used for code that routinely fails, the performance of the implementation will be unacceptable. This is a valid concern. When a member throws an exception, its performance can be orders of magnitude slower. However, it is possible to achieve good performance while strictly adhering to the exception guidelines that disallow using error codes. Two patterns described in this section suggest ways to do this. diff --git a/docs/standard/design-guidelines/exceptions.md b/docs/standard/design-guidelines/exceptions.md index cfec1f6edc6fd..d878bce63ad6d 100644 --- a/docs/standard/design-guidelines/exceptions.md +++ b/docs/standard/design-guidelines/exceptions.md @@ -1,26 +1,15 @@ --- title: "Design Guidelines for Exceptions" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "exceptions [.NET Framework], design guidelines" - "class library design guidelines [.NET Framework], exceptions" - "errors [.NET Framework], exceptions" - "reporting errors" ms.assetid: bc177b2f-7528-4ae4-83db-aacfb04b86d0 -caps.latest.revision: 11 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Design Guidelines for Exceptions Exception handling has many advantages over return-value-based error reporting. Good framework design helps the application developer realize the benefits of exceptions. This section discusses the benefits of exceptions and presents guidelines for using them effectively. diff --git a/docs/standard/design-guidelines/extension-methods.md b/docs/standard/design-guidelines/extension-methods.md index a6b71a0a8b8fb..6551d9b1d1bdf 100644 --- a/docs/standard/design-guidelines/extension-methods.md +++ b/docs/standard/design-guidelines/extension-methods.md @@ -1,21 +1,10 @@ --- title: "Extension Methods" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 5de945cb-88f4-49d7-b0e6-f098300cf357 -caps.latest.revision: 4 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Extension Methods Extension methods are a language feature that allows static methods to be called using instance method call syntax. These methods must take at least one parameter, which represents the instance the method is to operate on. diff --git a/docs/standard/design-guidelines/field.md b/docs/standard/design-guidelines/field.md index e77f7cb7b66ca..9d28b8ff65187 100644 --- a/docs/standard/design-guidelines/field.md +++ b/docs/standard/design-guidelines/field.md @@ -1,25 +1,14 @@ --- title: "Field Design" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "fields, design guidelines" - "read-only fields" - "member design guidelines, fields" ms.assetid: 7cb4b0f3-7a10-4c93-b84d-733f7134fcf8 -caps.latest.revision: 10 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Field Design The principle of encapsulation is one of the most important notions in object-oriented design. This principle states that data stored inside an object should be accessible only to that object. diff --git a/docs/standard/design-guidelines/general-naming-conventions.md b/docs/standard/design-guidelines/general-naming-conventions.md index 54c7eb40f12e8..9a5f5334312db 100644 --- a/docs/standard/design-guidelines/general-naming-conventions.md +++ b/docs/standard/design-guidelines/general-naming-conventions.md @@ -1,13 +1,7 @@ --- title: "General Naming Conventions" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "names [.NET Framework], conflicts" - "type names, conflicts" @@ -20,13 +14,8 @@ helpviewer_keywords: - "names [.NET Framework], type names" - "names [.NET Framework], acronyms" ms.assetid: d3a77ea1-75d2-4969-a8c3-3e1e3e1aaedc -caps.latest.revision: 18 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # General Naming Conventions This section describes general naming conventions that relate to word choice, guidelines on using abbreviations and acronyms, and recommendations on how to avoid using language-specific names. diff --git a/docs/standard/design-guidelines/guidelines-for-collections.md b/docs/standard/design-guidelines/guidelines-for-collections.md index 4d42ca238e761..feed2e81f5337 100644 --- a/docs/standard/design-guidelines/guidelines-for-collections.md +++ b/docs/standard/design-guidelines/guidelines-for-collections.md @@ -1,21 +1,10 @@ --- title: "Guidelines for Collections" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 297b8f1d-b11f-4dc6-960a-8e990817304e -caps.latest.revision: 4 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Guidelines for Collections Any type designed specifically to manipulate a group of objects having some common characteristic can be considered a collection. It is almost always appropriate for such types to implement or , so in this section we only consider types implementing one or both of those interfaces to be collections. diff --git a/docs/standard/design-guidelines/index.md b/docs/standard/design-guidelines/index.md index a8ac60cf0a086..92e81106f1733 100644 --- a/docs/standard/design-guidelines/index.md +++ b/docs/standard/design-guidelines/index.md @@ -1,25 +1,14 @@ --- title: "Framework Design Guidelines" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "libraries, .NET Framework class library" - "class library design guidelines [.NET Framework], about" - "class library design guidelines [.NET Framework]" ms.assetid: 5fbcaf4f-ea2a-4d20-b0d6-e61dee202b4b -caps.latest.revision: 14 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Framework Design Guidelines This section provides guidelines for designing libraries that extend and interact with the .NET Framework. The goal is to help library designers ensure API consistency and ease of use by providing a unified programming model that is independent of the programming language used for development. We recommend that you follow these design guidelines when developing classes and components that extend the .NET Framework. Inconsistent library design adversely affects developer productivity and discourages adoption. diff --git a/docs/standard/design-guidelines/interface.md b/docs/standard/design-guidelines/interface.md index 86a74957ec185..54eeaa19d5237 100644 --- a/docs/standard/design-guidelines/interface.md +++ b/docs/standard/design-guidelines/interface.md @@ -1,25 +1,14 @@ --- title: "Interface Design" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "interfaces [.NET Framework], design guidelines" - "type design guidelines, interfaces" - "class library design guidelines [.NET Framework], interfaces" ms.assetid: a016bd18-6710-4358-9438-9f190a295392 -caps.latest.revision: 12 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Interface Design Although most APIs are best modeled using classes and structs, there are cases in which interfaces are more appropriate or are the only option. diff --git a/docs/standard/design-guidelines/member-overloading.md b/docs/standard/design-guidelines/member-overloading.md index e1f232cf58fb0..187536bd4c265 100644 --- a/docs/standard/design-guidelines/member-overloading.md +++ b/docs/standard/design-guidelines/member-overloading.md @@ -1,13 +1,7 @@ --- title: "Member Overloading" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "default arguments" - "members [.NET Framework], overloaded" @@ -15,13 +9,8 @@ helpviewer_keywords: - "overloaded members" - "signatures, members" ms.assetid: 964ba19e-8b94-4b5b-b1e3-5a0b531a0bb1 -caps.latest.revision: 12 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Member Overloading Member overloading means creating two or more members on the same type that differ only in the number or type of parameters but have the same name. For example, in the following, the `WriteLine` method is overloaded: diff --git a/docs/standard/design-guidelines/member.md b/docs/standard/design-guidelines/member.md index 4d6a58f73845c..26431b56f3074 100644 --- a/docs/standard/design-guidelines/member.md +++ b/docs/standard/design-guidelines/member.md @@ -1,26 +1,15 @@ --- title: "Member Design Guidelines" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "member design guidelines [.NET Framework], about member design guidelines" - "members [.NET Framework], design guidelines" - "class library design guidelines [.NET Framework], members" - "member design guidelines [.NET Framework]" ms.assetid: 0ce93180-1d7b-4f8c-9306-f828b2d66b8f -caps.latest.revision: 14 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Member Design Guidelines Methods, properties, events, constructors, and fields are collectively referred to as members. Members are ultimately the means by which framework functionality is exposed to the end users of a framework. diff --git a/docs/standard/design-guidelines/names-of-assemblies-and-dlls.md b/docs/standard/design-guidelines/names-of-assemblies-and-dlls.md index 019147d10e501..eade183f77cf7 100644 --- a/docs/standard/design-guidelines/names-of-assemblies-and-dlls.md +++ b/docs/standard/design-guidelines/names-of-assemblies-and-dlls.md @@ -1,26 +1,15 @@ --- title: "Names of Assemblies and DLLs" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "names [.NET Framework], DLLs" - "names [.NET Framework], assemblies" - "assemblies [.NET Framework], names" - "DLLs, names" ms.assetid: e800b610-31b4-4949-9c14-cb60e9f254be -caps.latest.revision: 11 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Names of Assemblies and DLLs An assembly is the unit of deployment and identity for managed code programs. Although assemblies can span one or more files, typically an assembly maps one-to-one with a DLL. Therefore, this section describes only DLL naming conventions, which then can be mapped to assembly naming conventions. diff --git a/docs/standard/design-guidelines/names-of-classes-structs-and-interfaces.md b/docs/standard/design-guidelines/names-of-classes-structs-and-interfaces.md index c07da1aabc61a..2f9d0e892eb04 100644 --- a/docs/standard/design-guidelines/names-of-classes-structs-and-interfaces.md +++ b/docs/standard/design-guidelines/names-of-classes-structs-and-interfaces.md @@ -1,14 +1,6 @@ --- title: "Names of Classes, Structs, and Interfaces" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-clr" -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "type names, guidelines" - "classes [.NET Framework], names" @@ -20,13 +12,8 @@ helpviewer_keywords: - "interfaces [.NET Framework], names" - "generic type parameters" ms.assetid: 87a4b0da-ed64-43b1-ac43-968576c444ce -caps.latest.revision: 16 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Names of Classes, Structs, and Interfaces The naming guidelines that follow apply to general type naming. diff --git a/docs/standard/design-guidelines/names-of-namespaces.md b/docs/standard/design-guidelines/names-of-namespaces.md index e00cfe8a045b0..990af6a9644b2 100644 --- a/docs/standard/design-guidelines/names-of-namespaces.md +++ b/docs/standard/design-guidelines/names-of-namespaces.md @@ -1,14 +1,6 @@ --- title: "Names of Namespaces" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-clr" -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "names [.NET Framework], conflicts" - "names [.NET Framework], namespaces" @@ -16,13 +8,8 @@ helpviewer_keywords: - "namespaces [.NET Framework], names" - "names [.NET Framework], type names" ms.assetid: a49058d2-0276-43a7-9502-04adddf857b2 -caps.latest.revision: 12 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Names of Namespaces As with other naming guidelines, the goal when naming namespaces is creating sufficient clarity for the programmer using the framework to immediately know what the content of the namespace is likely to be. The following template specifies the general rule for naming namespaces: diff --git a/docs/standard/design-guidelines/names-of-type-members.md b/docs/standard/design-guidelines/names-of-type-members.md index 5ac3fa172852b..fc7fc38376bc6 100644 --- a/docs/standard/design-guidelines/names-of-type-members.md +++ b/docs/standard/design-guidelines/names-of-type-members.md @@ -1,13 +1,7 @@ --- title: "Names of Type Members" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "events [.NET Framework], names" - "methods [.NET Framework], names" @@ -18,13 +12,8 @@ helpviewer_keywords: - "names [.NET Framework], type members" - "members [.NET Framework], type" ms.assetid: af5a0903-36af-4c2a-b848-cf959affeaa5 -caps.latest.revision: 10 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Names of Type Members Types are made of members: methods, properties, events, constructors, and fields. The following sections describe guidelines for naming type members. diff --git a/docs/standard/design-guidelines/naming-guidelines.md b/docs/standard/design-guidelines/naming-guidelines.md index ecd71b6a2f8b2..090f06318b486 100644 --- a/docs/standard/design-guidelines/naming-guidelines.md +++ b/docs/standard/design-guidelines/naming-guidelines.md @@ -1,13 +1,7 @@ --- title: "Naming Guidelines" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "names [.NET Framework], about naming guidelines" - "naming guidelines [.NET Framework]" @@ -17,13 +11,8 @@ helpviewer_keywords: - "names [.NET Framework]" - "format naming guidelines [.NET Framework]" ms.assetid: fc076d66-9b5f-42d3-aa65-61d970c794a3 -caps.latest.revision: 10 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Naming Guidelines Following a consistent set of naming conventions in the development of a framework can be a major contribution to the framework’s usability. It allows the framework to be used by many developers on widely separated projects. Beyond consistency of form, names of framework elements must be easily understood and must convey the function of each element. diff --git a/docs/standard/design-guidelines/naming-parameters.md b/docs/standard/design-guidelines/naming-parameters.md index 0afe60a9e0c17..8bc1b441cee6d 100644 --- a/docs/standard/design-guidelines/naming-parameters.md +++ b/docs/standard/design-guidelines/naming-parameters.md @@ -1,24 +1,13 @@ --- title: "Naming Parameters" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "parameters, names" - "names [.NET Framework], parameters" ms.assetid: ca3c956e-725a-441b-b4e3-eab5d472f41c -caps.latest.revision: 9 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Naming Parameters Beyond the obvious reason of readability, it is important to follow the guidelines for parameter names because parameters are displayed in documentation and in the designer when visual design tools provide Intellisense and class browsing functionality. diff --git a/docs/standard/design-guidelines/naming-resources.md b/docs/standard/design-guidelines/naming-resources.md index d92ae0d9688dd..7bb32fc915382 100644 --- a/docs/standard/design-guidelines/naming-resources.md +++ b/docs/standard/design-guidelines/naming-resources.md @@ -1,13 +1,7 @@ --- title: "Naming Resources" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "names [.NET Framework], localized resources" - "localization, naming guidelines" @@ -15,13 +9,8 @@ helpviewer_keywords: - "global applications, naming guidelines" - "international applications, naming guidelines" ms.assetid: 8b0e97f3-7877-44fd-bc76-e05d36d5d79c -caps.latest.revision: 9 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Naming Resources Because localizable resources can be referenced via certain objects as if they were properties, the naming guidelines for resources are similar to property guidelines. diff --git a/docs/standard/design-guidelines/nested-types.md b/docs/standard/design-guidelines/nested-types.md index ac5cbc96c735b..4eebaae64ee97 100644 --- a/docs/standard/design-guidelines/nested-types.md +++ b/docs/standard/design-guidelines/nested-types.md @@ -1,13 +1,7 @@ --- title: "Nested Types" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "types, nested" - "public nested types" @@ -16,13 +10,8 @@ helpviewer_keywords: - "members [.NET Framework], type" - "class library design guidelines [.NET Framework], nested types" ms.assetid: 12feb7f0-b793-4d96-b090-42d6473bab8c -caps.latest.revision: 9 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Nested Types A nested type is a type defined within the scope of another type, which is called the enclosing type. A nested type has access to all members of its enclosing type. For example, it has access to private fields defined in the enclosing type and to protected fields defined in all ascendants of the enclosing type. diff --git a/docs/standard/design-guidelines/operator-overloads.md b/docs/standard/design-guidelines/operator-overloads.md index 595169b398a00..ea113bffb4317 100644 --- a/docs/standard/design-guidelines/operator-overloads.md +++ b/docs/standard/design-guidelines/operator-overloads.md @@ -1,26 +1,15 @@ --- title: "Operator Overloads" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "operators [.NET Framework], overloads" - "names [.NET Framework], overloaded operators" - "member design guidelines, operators" - "overloaded operators" ms.assetid: 37585bf2-4c27-4dee-849a-af70e3338cc1 -caps.latest.revision: 11 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Operator Overloads Operator overloads allow framework types to appear as if they were built-in language primitives. diff --git a/docs/standard/design-guidelines/parameter-design.md b/docs/standard/design-guidelines/parameter-design.md index 75873c9d0c463..b6a2466b46470 100644 --- a/docs/standard/design-guidelines/parameter-design.md +++ b/docs/standard/design-guidelines/parameter-design.md @@ -1,13 +1,7 @@ --- title: "Parameter Design" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "member design guidelines [.NET Framework], parameters" - "members [.NET Framework], parameters" @@ -15,13 +9,8 @@ helpviewer_keywords: - "parameters, design guidelines" - "reserved parameters" ms.assetid: 3f33bf46-4a7b-43b3-bb78-1ffebe0dcfa6 -caps.latest.revision: 11 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Parameter Design This section provides broad guidelines on parameter design, including sections with guidelines for checking arguments. In addition, you should refer to the guidelines described in [Naming Parameters](../../../docs/standard/design-guidelines/naming-parameters.md). diff --git a/docs/standard/design-guidelines/property.md b/docs/standard/design-guidelines/property.md index 02021014cf319..c22ebc9571abf 100644 --- a/docs/standard/design-guidelines/property.md +++ b/docs/standard/design-guidelines/property.md @@ -1,24 +1,13 @@ --- title: "Property Design" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "member design guidelines, properties" - "properties [.NET Framework], design guidelines" ms.assetid: 127cbc0c-cbed-48fd-9c89-7c5d4f98f163 -caps.latest.revision: 12 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Property Design Although properties are technically very similar to methods, they are quite different in terms of their usage scenarios. They should be seen as smart fields. They have the calling syntax of fields, and the flexibility of methods. diff --git a/docs/standard/design-guidelines/protected-members.md b/docs/standard/design-guidelines/protected-members.md index 2c04e2cc1ae80..ce991e0ac8f7e 100644 --- a/docs/standard/design-guidelines/protected-members.md +++ b/docs/standard/design-guidelines/protected-members.md @@ -1,13 +1,7 @@ --- title: "Protected Members" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "members [.NET Framework], protected" - "protected members" @@ -16,13 +10,8 @@ helpviewer_keywords: - "unsealed classes" - "customizing class behavior" ms.assetid: aa0b58ee-3956-494d-ab48-471ae5db8740 -caps.latest.revision: 9 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Protected Members Protected members by themselves do not provide any extensibility, but they can make extensibility through subclassing more powerful. They can be used to expose advanced customization options without unnecessarily complicating the main public interface. diff --git a/docs/standard/design-guidelines/sealing.md b/docs/standard/design-guidelines/sealing.md index 5723d332aa087..a85c847412164 100644 --- a/docs/standard/design-guidelines/sealing.md +++ b/docs/standard/design-guidelines/sealing.md @@ -1,26 +1,15 @@ --- title: "Sealing" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "limiting extensibility" - "classes [.NET Framework], sealing" - "preventing customization" - "sealed classes" ms.assetid: cc42267f-bb7a-427a-845e-df97408528d4 -caps.latest.revision: 10 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Sealing One of the features of object-oriented frameworks is that developers can extend and customize them in ways unanticipated by the framework designers. This is both the power and danger of extensible design. When you design your framework, it is, therefore, very important to carefully design for extensibility when it is desired, and to limit extensibility when it is dangerous. diff --git a/docs/standard/design-guidelines/serialization.md b/docs/standard/design-guidelines/serialization.md index 05173c16a78a6..7e04dfc2abe36 100644 --- a/docs/standard/design-guidelines/serialization.md +++ b/docs/standard/design-guidelines/serialization.md @@ -1,21 +1,10 @@ --- title: "Serialization1" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: bebb27ac-9712-4196-9931-de19fc04dbac -caps.latest.revision: 4 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Serialization Serialization is the process of converting an object into a format that can be readily persisted or transported. For example, you can serialize an object, transport it over the Internet using HTTP, and deserialized it at the destination machine. diff --git a/docs/standard/design-guidelines/static-class.md b/docs/standard/design-guidelines/static-class.md index da926b31d1b9e..26f691c3ff29c 100644 --- a/docs/standard/design-guidelines/static-class.md +++ b/docs/standard/design-guidelines/static-class.md @@ -1,13 +1,7 @@ --- title: "Static Class Design" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "type design guidelines, static classes" - "class library design guidelines [.NET Framework], classes" @@ -16,13 +10,8 @@ helpviewer_keywords: - "classes [.NET Framework], design guidelines" - "type design guidelines, classes" ms.assetid: d67c14d8-c4dd-443f-affb-4ccae677c9b6 -caps.latest.revision: 11 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Static Class Design A static class is defined as a class that contains only static members (of course besides the instance members inherited from and possibly a private constructor). Some languages provide built-in support for static classes. In C# 2.0 and later, when a class is declared to be static, it is sealed, abstract, and no instance members can be overridden or declared. diff --git a/docs/standard/design-guidelines/struct.md b/docs/standard/design-guidelines/struct.md index d772b877e3400..4eac6ecf51569 100644 --- a/docs/standard/design-guidelines/struct.md +++ b/docs/standard/design-guidelines/struct.md @@ -1,13 +1,7 @@ --- title: "Struct Design" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "class library design guidelines [.NET Framework], structures" - "deallocating structures" @@ -17,13 +11,8 @@ helpviewer_keywords: - "type design guidelines, structures" - "structures [.NET Framework], design guidelines" ms.assetid: 1f48b2d8-608c-4be6-9ba4-d8f203ed9f9f -caps.latest.revision: 12 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Struct Design The general-purpose value type is most often referred to as a struct, its C# keyword. This section provides guidelines for general struct design. diff --git a/docs/standard/design-guidelines/system-xml-usage.md b/docs/standard/design-guidelines/system-xml-usage.md index cf2864dc28f54..070de9343bc95 100644 --- a/docs/standard/design-guidelines/system-xml-usage.md +++ b/docs/standard/design-guidelines/system-xml-usage.md @@ -1,21 +1,10 @@ --- title: "System.Xml Usage" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 82302f0d-a621-4c6f-b57d-999bd61f21a6 -caps.latest.revision: 4 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # System.Xml Usage This section talks about usage of several types residing in namespaces that can be used to represent XML data. diff --git a/docs/standard/design-guidelines/type.md b/docs/standard/design-guidelines/type.md index b85076edcb062..c0942d8d1afe8 100644 --- a/docs/standard/design-guidelines/type.md +++ b/docs/standard/design-guidelines/type.md @@ -1,26 +1,15 @@ --- title: "Type Design Guidelines" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "type design guidelines" - "type design guidelines, about type design guidelines" - "class library design guidelines [.NET Framework], type design guidelines" - "types [.NET Framework], design guidelines" ms.assetid: 6b49314e-8bba-43ea-97ca-4e0255812f95 -caps.latest.revision: 13 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Type Design Guidelines From the CLR perspective, there are only two categories of types—reference types and value types—but for the purpose of a discussion about framework design, we divide types into more logical groups, each with its own specific design rules. diff --git a/docs/standard/design-guidelines/unsealed-classes.md b/docs/standard/design-guidelines/unsealed-classes.md index 9e36025cfdfbc..ea0d4a56c7064 100644 --- a/docs/standard/design-guidelines/unsealed-classes.md +++ b/docs/standard/design-guidelines/unsealed-classes.md @@ -1,25 +1,14 @@ --- title: "Unsealed Classes" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "classes [.NET Framework], unsealed" - "unsealed classes" - "inheritance, classes" ms.assetid: 9a3bd505-90f5-4053-9f0d-3cf5fa3d3ebf -caps.latest.revision: 9 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Unsealed Classes Sealed classes cannot be inherited from, and they prevent extensibility. In contrast, classes that can be inherited from are called unsealed classes. diff --git a/docs/standard/design-guidelines/usage-guidelines.md b/docs/standard/design-guidelines/usage-guidelines.md index bd4b49c9d6cdd..0dbd53920168d 100644 --- a/docs/standard/design-guidelines/usage-guidelines.md +++ b/docs/standard/design-guidelines/usage-guidelines.md @@ -1,23 +1,12 @@ --- title: "Usage Guidelines" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "class library design guidelines [.NET Framework], usage guidelines" ms.assetid: 42215ffa-a099-4a26-b14e-fb2bdb6f95b7 -caps.latest.revision: 9 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Usage Guidelines This section contains guidelines for using common types in publicly accessible APIs. It deals with direct usage of built-in Framework types (e.g., serialization attributes) and overloading common operators. diff --git a/docs/standard/design-guidelines/using-standard-exception-types.md b/docs/standard/design-guidelines/using-standard-exception-types.md index 6249e2c3a6a22..cea46118d2d75 100644 --- a/docs/standard/design-guidelines/using-standard-exception-types.md +++ b/docs/standard/design-guidelines/using-standard-exception-types.md @@ -1,26 +1,15 @@ --- title: "Using Standard Exception Types" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "throwing exceptions, standard types" - "catching exceptions" - "exceptions, catching" - "exceptions, throwing" ms.assetid: ab22ce03-78f9-4dca-8824-c7ed3bdccc27 -caps.latest.revision: 17 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Using Standard Exception Types This section describes the standard exceptions provided by the Framework and the details of their usage. The list is by no means exhaustive. Please refer to the .NET Framework reference documentation for usage of other Framework exception types. diff --git a/docs/standard/design-guidelines/virtual-members.md b/docs/standard/design-guidelines/virtual-members.md index 52ac4c9d896c3..affb45ef762ad 100644 --- a/docs/standard/design-guidelines/virtual-members.md +++ b/docs/standard/design-guidelines/virtual-members.md @@ -1,25 +1,14 @@ --- title: "Virtual Members" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "overridable members" - "virtual members" - "members [.NET Framework], virtual" ms.assetid: 8ff4eb97-0364-43ec-8a02-934b5cd94d19 -caps.latest.revision: 9 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Virtual Members Virtual members can be overridden, thus changing the behavior of the subclass. They are quite similar to callbacks in terms of the extensibility they provide, but they are better in terms of execution performance and memory consumption. Also, virtual members feel more natural in scenarios that require creating a special kind of an existing type (specialization). diff --git a/docs/standard/events/how-to-consume-events-in-a-web-forms-application.md b/docs/standard/events/how-to-consume-events-in-a-web-forms-application.md index 73f3abd942bee..d7437110e590e 100644 --- a/docs/standard/events/how-to-consume-events-in-a-web-forms-application.md +++ b/docs/standard/events/how-to-consume-events-in-a-web-forms-application.md @@ -1,13 +1,7 @@ --- title: "How to: Consume Events in a Web Forms Application" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -18,13 +12,8 @@ helpviewer_keywords: - "events [.NET Framework], consuming" - "Web Forms, event handling" ms.assetid: 73bf8638-c4ec-4069-b0bb-a1dc79b92e32 -caps.latest.revision: 21 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Consume Events in a Web Forms Application A common scenario in ASP.NET Web Forms applications is to populate a webpage with controls, and then perform a specific action based on which control the user clicks. For example, a control raises an event when the user clicks it in the webpage. By handling the event, your application can perform the appropriate application logic for that button click. diff --git a/docs/standard/events/how-to-handle-multiple-events-using-event-properties.md b/docs/standard/events/how-to-handle-multiple-events-using-event-properties.md index 50791cedb9454..f9726900750c5 100644 --- a/docs/standard/events/how-to-handle-multiple-events-using-event-properties.md +++ b/docs/standard/events/how-to-handle-multiple-events-using-event-properties.md @@ -1,13 +1,7 @@ --- title: "How to: Handle Multiple Events Using Event Properties" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -18,13 +12,8 @@ helpviewer_keywords: - "event handling [.NET Framework], with multiple events" - "events [.NET Framework], multiple" ms.assetid: 30047cba-e2fd-41c6-b9ca-2ad7a49003db -caps.latest.revision: 16 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Handle Multiple Events Using Event Properties To use event properties, you define the event properties in the class that raises the events, and then set the delegates for the event properties in classes that handle the events. To implement multiple event properties in a class, the class must internally store and maintain the delegate defined for each event. A typical approach is to implement a delegate collection that is indexed by an event key. diff --git a/docs/standard/events/how-to-implement-a-provider.md b/docs/standard/events/how-to-implement-a-provider.md index 0df95023e2621..9cddbe4ac1866 100644 --- a/docs/standard/events/how-to-implement-a-provider.md +++ b/docs/standard/events/how-to-implement-a-provider.md @@ -1,13 +1,7 @@ --- title: "How to: Implement a Provider" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -16,13 +10,8 @@ helpviewer_keywords: - "providers [.NET Framework], in observer design pattern" - "observables [.NET Framework], in observer design pattern" ms.assetid: 790b5d8b-d546-40a6-beeb-151b574e5ee5 -caps.latest.revision: 8 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Implement a Provider The observer design pattern requires a division between a provider, which monitors data and sends notifications, and one or more observers, which receive notifications (callbacks) from the provider. This topic discusses how to create a provider. A related topic, [How to: Implement an Observer](../../../docs/standard/events/how-to-implement-an-observer.md), discusses how to create an observer. diff --git a/docs/standard/events/how-to-implement-an-observer.md b/docs/standard/events/how-to-implement-an-observer.md index f50e2ace75763..bddbf51d5234e 100644 --- a/docs/standard/events/how-to-implement-an-observer.md +++ b/docs/standard/events/how-to-implement-an-observer.md @@ -1,13 +1,7 @@ --- title: "How to: Implement an Observer" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -15,13 +9,8 @@ helpviewer_keywords: - "observers [.NET Framework], observer design pattern" - "observer design pattern [.NET Framework], implementing observers" ms.assetid: 8ecfa9f5-b500-473d-bcf0-5652ffb1e53d -caps.latest.revision: 8 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Implement an Observer The observer design pattern requires a division between an observer, which registers for notifications, and a provider, which monitors data and sends notifications to one or more observers. This topic discusses how to create an observer. A related topic, [How to: Implement a Provider](../../../docs/standard/events/how-to-implement-a-provider.md), discusses how to create an provider. diff --git a/docs/standard/events/how-to-raise-and-consume-events.md b/docs/standard/events/how-to-raise-and-consume-events.md index 3d45d84eb330b..30f420f075244 100644 --- a/docs/standard/events/how-to-raise-and-consume-events.md +++ b/docs/standard/events/how-to-raise-and-consume-events.md @@ -1,13 +1,7 @@ --- title: "How to: Raise and Consume Events" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -17,13 +11,8 @@ helpviewer_keywords: - "raising events" - "events [.NET Framework], samples" ms.assetid: 42afade7-3a02-4f2e-868b-95845f302f8f -caps.latest.revision: 13 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Raise and Consume Events The examples in this topic show how to work with events. They include examples of the delegate, the delegate, and a custom delegate, to illustrate events with and without data. diff --git a/docs/standard/events/index.md b/docs/standard/events/index.md index 3d3efd78cd577..8907f0154f6bd 100644 --- a/docs/standard/events/index.md +++ b/docs/standard/events/index.md @@ -1,13 +1,7 @@ --- title: "Handling and Raising Events" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -16,13 +10,8 @@ helpviewer_keywords: - "application development [.NET Framework], events" - "events [.NET Framework]" ms.assetid: b6f65241-e0ad-4590-a99f-200ce741bb1f -caps.latest.revision: 23 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Handling and Raising Events Events in the .NET Framework are based on the delegate model. The delegate model follows the observer design pattern, which enables a subscriber to register with, and receive notifications from, a provider. An event sender pushes a notification that an event has happened, and an event receiver receives that notification and defines a response to it. This article describes the major components of the delegate model, how to consume events in applications, and how to implement events in your code. diff --git a/docs/standard/events/observer-design-pattern-best-practices.md b/docs/standard/events/observer-design-pattern-best-practices.md index 511b5d7350a45..cda428f35310a 100644 --- a/docs/standard/events/observer-design-pattern-best-practices.md +++ b/docs/standard/events/observer-design-pattern-best-practices.md @@ -1,24 +1,13 @@ --- title: "Observer Design Pattern Best Practices" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "observer design pattern [.NET Framework], best practices" - "best practices [.NET Framework], observer design pattern" ms.assetid: c834760f-ddd4-417f-abb7-a059679d5b8c -caps.latest.revision: 9 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Observer Design Pattern Best Practices In the .NET Framework, the observer design pattern is implemented as a set of interfaces. The interface represents the data provider, which is also responsible for providing an implementation that lets observers unsubscribe from notifications. The interface represents the observer. This topic describes the best practices that developers should follow when implementing the observer design pattern using these interfaces. diff --git a/docs/standard/events/observer-design-pattern.md b/docs/standard/events/observer-design-pattern.md index 42eafdc4344b3..1a8ef85eec93a 100644 --- a/docs/standard/events/observer-design-pattern.md +++ b/docs/standard/events/observer-design-pattern.md @@ -1,13 +1,7 @@ --- title: "Observer Design Pattern" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -18,13 +12,8 @@ helpviewer_keywords: - "IObservable(Of T) interface" - "observer design pattern [.NET Framework]" ms.assetid: 3680171f-f522-453c-aa4a-54f755a78f88 -caps.latest.revision: 14 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Observer Design Pattern The observer design pattern enables a subscriber to register with and receive notifications from a provider. It is suitable for any scenario that requires push-based notification. The pattern defines a *provider* (also known as a *subject* or an *observable*) and zero, one, or more *observers*. Observers register with the provider, and whenever a predefined condition, event, or state change occurs, the provider automatically notifies all observers by calling one of their methods. In this method call, the provider can also provide current state information to observers. In the .NET Framework, the observer design pattern is applied by implementing the generic and interfaces. The generic type parameter represents the type that provides notification information. diff --git a/docs/standard/exceptions/best-practices-for-exceptions.md b/docs/standard/exceptions/best-practices-for-exceptions.md index 31296a9b61f6e..f7d5927f1f647 100644 --- a/docs/standard/exceptions/best-practices-for-exceptions.md +++ b/docs/standard/exceptions/best-practices-for-exceptions.md @@ -1,13 +1,7 @@ --- title: "Best Practices for Exceptions" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -15,13 +9,8 @@ dev_langs: helpviewer_keywords: - "exceptions, best practices" ms.assetid: f06da765-235b-427a-bfb6-47cd219af539 -caps.latest.revision: 28 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Best practices for exceptions diff --git a/docs/standard/exceptions/exception-class-and-properties.md b/docs/standard/exceptions/exception-class-and-properties.md index 79e1691f5daa6..774d3c4096b5e 100644 --- a/docs/standard/exceptions/exception-class-and-properties.md +++ b/docs/standard/exceptions/exception-class-and-properties.md @@ -1,24 +1,13 @@ --- title: "Exception Class and Properties" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "exceptions, Exception class" - "Exception class" ms.assetid: e2e1f8c4-e7b4-467d-9a66-13c90861221d -caps.latest.revision: 9 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Exception class and properties diff --git a/docs/standard/exceptions/handling-com-interop-exceptions.md b/docs/standard/exceptions/handling-com-interop-exceptions.md index 002020596fc06..12b1f87c541a6 100644 --- a/docs/standard/exceptions/handling-com-interop-exceptions.md +++ b/docs/standard/exceptions/handling-com-interop-exceptions.md @@ -1,13 +1,7 @@ --- title: "Handling COM Interop Exceptions" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "error-reference" helpviewer_keywords: - "unmanaged code, exceptions" - "exceptions, unmanaged code" @@ -15,13 +9,8 @@ helpviewer_keywords: - "exceptions, COM interop" - "COM interop, exceptions" ms.assetid: e6104aa8-8e5f-4069-b864-def85579c96c -caps.latest.revision: 11 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Handling COM Interop Exceptions Managed and unmanaged code can work together to handle exceptions. If a method throws an exception in managed code, the common language runtime can pass an HRESULT to a COM object. If a method fails in unmanaged code by returning a failure HRESULT, the runtime throws an exception that can be caught by managed code. diff --git a/docs/standard/exceptions/how-to-create-user-defined-exceptions.md b/docs/standard/exceptions/how-to-create-user-defined-exceptions.md index b3496526b1afb..51b1fde62e11b 100644 --- a/docs/standard/exceptions/how-to-create-user-defined-exceptions.md +++ b/docs/standard/exceptions/how-to-create-user-defined-exceptions.md @@ -1,13 +1,7 @@ --- title: "How to: Create User-Defined Exceptions" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -17,13 +11,8 @@ helpviewer_keywords: - "exceptions, examples" - "exceptions, user-defined" ms.assetid: 25819a5a-f915-4fc8-b924-a76915674e04 -caps.latest.revision: 10 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to create user-defined exceptions diff --git a/docs/standard/exceptions/how-to-explicitly-throw-exceptions.md b/docs/standard/exceptions/how-to-explicitly-throw-exceptions.md index 5b716287f1364..23e48bf24248a 100644 --- a/docs/standard/exceptions/how-to-explicitly-throw-exceptions.md +++ b/docs/standard/exceptions/how-to-explicitly-throw-exceptions.md @@ -1,13 +1,7 @@ --- title: "How to: Explicitly Throw Exceptions" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -18,13 +12,8 @@ helpviewer_keywords: - "exceptions, throwing" - "implicitly throwing exceptions" ms.assetid: 72bdd157-caa9-4478-9ee3-cb4500b84528 -caps.latest.revision: 10 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to explicitly throw exceptions diff --git a/docs/standard/exceptions/how-to-use-finally-blocks.md b/docs/standard/exceptions/how-to-use-finally-blocks.md index afd2514af1bf9..881c9cc8fea1c 100644 --- a/docs/standard/exceptions/how-to-use-finally-blocks.md +++ b/docs/standard/exceptions/how-to-use-finally-blocks.md @@ -1,13 +1,7 @@ --- title: "How to: Use Finally Blocks" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -19,13 +13,8 @@ helpviewer_keywords: - "finally blocks" - "ArgumentOutOfRangeException class" ms.assetid: 4b9c0137-04af-4468-91d1-b9014df8ddd2 -caps.latest.revision: 9 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to use finally blocks diff --git a/docs/standard/exceptions/how-to-use-specific-exceptions-in-a-catch-block.md b/docs/standard/exceptions/how-to-use-specific-exceptions-in-a-catch-block.md index f5d17c954c8b8..df577bc7555b8 100644 --- a/docs/standard/exceptions/how-to-use-specific-exceptions-in-a-catch-block.md +++ b/docs/standard/exceptions/how-to-use-specific-exceptions-in-a-catch-block.md @@ -1,13 +1,7 @@ --- title: "How to: Use Specific Exceptions in a Catch Block" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -17,13 +11,8 @@ helpviewer_keywords: - "try/catch blocks" - "catch blocks" ms.assetid: 12af9ff3-8587-4f31-90cf-6c2244e0fdae -caps.latest.revision: 9 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to use specific exceptions in a catch block diff --git a/docs/standard/exceptions/how-to-use-the-try-catch-block-to-catch-exceptions.md b/docs/standard/exceptions/how-to-use-the-try-catch-block-to-catch-exceptions.md index 457e9d27ad51d..ac0c8cd71e983 100644 --- a/docs/standard/exceptions/how-to-use-the-try-catch-block-to-catch-exceptions.md +++ b/docs/standard/exceptions/how-to-use-the-try-catch-block-to-catch-exceptions.md @@ -1,13 +1,7 @@ --- title: "How to: Use the Try-Catch Block to Catch Exceptions" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -18,13 +12,8 @@ helpviewer_keywords: - "try/catch blocks" - "catch blocks" ms.assetid: a3ce6dfd-1f64-471b-8ad8-8cfaf406275d -caps.latest.revision: 9 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to use the try/catch block to catch exceptions diff --git a/docs/standard/exceptions/index.md b/docs/standard/exceptions/index.md index 32f88c9654445..8cc8048247010 100644 --- a/docs/standard/exceptions/index.md +++ b/docs/standard/exceptions/index.md @@ -1,13 +1,7 @@ --- title: "Handling and Throwing Exceptions" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "exceptions [.NET Framework], handling" - "runtime, exceptions" @@ -17,13 +11,8 @@ helpviewer_keywords: - "exceptions [.NET Framework]" - "common language runtime, exceptions" ms.assetid: f99a1d29-a2a8-47af-9707-9909f9010735 -caps.latest.revision: 16 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Handling and throwing exceptions in .NET diff --git a/docs/standard/exceptions/using-user-filtered-exception-handlers.md b/docs/standard/exceptions/using-user-filtered-exception-handlers.md index 894f3db86047e..ba5e3105031fe 100644 --- a/docs/standard/exceptions/using-user-filtered-exception-handlers.md +++ b/docs/standard/exceptions/using-user-filtered-exception-handlers.md @@ -1,24 +1,13 @@ --- title: "Using User-Filtered Exception Handlers" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "user-filtered exceptions" - "exceptions, user-filtered" ms.assetid: aa80d155-060d-41b4-a636-1ceb424afee8 -caps.latest.revision: 10 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Using User-Filtered Exception Handlers Currently, Visual Basic supports user-filtered exceptions. User-filtered exception handlers catch and handle exceptions based on requirements you define for the exception. These handlers use the **Catch** statement with the **When** keyword. diff --git a/docs/standard/framework-libraries.md b/docs/standard/framework-libraries.md index b078829454729..0da6d04e52933 100644 --- a/docs/standard/framework-libraries.md +++ b/docs/standard/framework-libraries.md @@ -1,20 +1,12 @@ --- title: Framework Libraries description: Learn how libraries provide implementations for many general and app-specific types, algorithms, and utility functionality. -keywords: .NET, .NET Core author: richlander ms.author: ronpet ms.date: 06/20/2016 -ms.topic: article -ms.prod: .net ms.technology: dotnet-standard -ms.devlang: dotnet ms.assetid: 7b77b6c1-8367-4602-bff3-91e4c05ac643 -ms.workload: - - "dotnet" - - "dotnetcore" --- - # Framework Libraries .NET has an expansive standard set of class libraries, referred to as either the base class libraries (core set) or framework class libraries (complete set). These libraries provide implementations for many general and app-specific types, algorithms and utility functionality. Both commercial and community libraries build on top of the framework class libraries, providing easy to use off-the-shelf libraries for a wide set of computing tasks. diff --git a/docs/standard/frameworks.md b/docs/standard/frameworks.md index 283c44d664d41..1c508400ca29a 100644 --- a/docs/standard/frameworks.md +++ b/docs/standard/frameworks.md @@ -4,13 +4,8 @@ description: Learn about target frameworks for .NET Core apps and libraries. author: richlander ms.author: mairaw ms.date: 04/16/2018 -ms.topic: article ms.custom: "updateeachrelease" -ms.prod: .net ms.technology: dotnet-standard -ms.workload: - - "dotnet" - - "dotnetcore" --- # Target frameworks diff --git a/docs/standard/garbage-collection/app-domain-resource-monitoring.md b/docs/standard/garbage-collection/app-domain-resource-monitoring.md index f677f0338be32..5fd10904ca027 100644 --- a/docs/standard/garbage-collection/app-domain-resource-monitoring.md +++ b/docs/standard/garbage-collection/app-domain-resource-monitoring.md @@ -1,26 +1,15 @@ --- title: "Application Domain Resource Monitoring" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "monitoring managed memory use by application domain" - "application domains, memory use" - "memory use, monitoring" - "application domains, resource monitoring" ms.assetid: 318bedf8-7f35-4f00-b34a-2b7b8e3fa315 -caps.latest.revision: 8 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Application Domain Resource Monitoring Application domain resource monitoring (ARM) enables hosts to monitor CPU and memory usage by application domain. This is useful for hosts such as ASP.NET that use many application domains in a long-running process. The host can unload the application domain of an application that is adversely affecting the performance of the entire process, but only if it can identify the problematic application. ARM provides information that can be used to assist in making such decisions. diff --git a/docs/standard/garbage-collection/fundamentals.md b/docs/standard/garbage-collection/fundamentals.md index 2290d417876fd..2e3709f3a4978 100644 --- a/docs/standard/garbage-collection/fundamentals.md +++ b/docs/standard/garbage-collection/fundamentals.md @@ -1,13 +1,7 @@ --- title: "Fundamentals of Garbage Collection" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "garbage collection, generations" - "garbage collection, background garbage collection" @@ -16,13 +10,8 @@ helpviewer_keywords: - "garbage collection, workstation garbage collection" - "garbage collection, managed heap" ms.assetid: 67c5a20d-1be1-4ea7-8a9a-92b0b08658d2 -caps.latest.revision: 51 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Fundamentals of Garbage Collection In the common language runtime (CLR), the garbage collector serves as an automatic memory manager. It provides the following benefits: diff --git a/docs/standard/garbage-collection/gc.md b/docs/standard/garbage-collection/gc.md index ebe75d5af98ae..8d1faeb17e244 100644 --- a/docs/standard/garbage-collection/gc.md +++ b/docs/standard/garbage-collection/gc.md @@ -1,18 +1,9 @@ --- title: Automatic memory management and garbage collection description: Learn how automatic memory management is one of the services that the Common Language Runtime provides during managed execution. -keywords: .NET, .NET Core -author: dotnet-bot -ms.author: dotnetcontent ms.date: 07/22/2016 -ms.topic: article -ms.prod: .net ms.technology: dotnet-standard -ms.devlang: dotnet ms.assetid: d095b0b6-2454-4e23-80b4-c9e8a447116c -ms.workload: - - "dotnet" - - "dotnetcore" --- # Automatic memory management and garbage collection diff --git a/docs/standard/garbage-collection/implementing-dispose.md b/docs/standard/garbage-collection/implementing-dispose.md index 5f8d8675e931d..1f6fbd93e40bb 100644 --- a/docs/standard/garbage-collection/implementing-dispose.md +++ b/docs/standard/garbage-collection/implementing-dispose.md @@ -1,13 +1,7 @@ --- title: "Implementing a Dispose method" -ms.custom: "" ms.date: "04/07/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -15,13 +9,8 @@ helpviewer_keywords: - "Dispose method" - "garbage collection, Dispose method" ms.assetid: eb4e1af0-3b48-4fbc-ad4e-fc2f64138bf9 -caps.latest.revision: 44 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Implementing a Dispose method diff --git a/docs/standard/garbage-collection/index.md b/docs/standard/garbage-collection/index.md index 05a5dc8be9f94..92a2bbdb80c56 100644 --- a/docs/standard/garbage-collection/index.md +++ b/docs/standard/garbage-collection/index.md @@ -1,13 +1,7 @@ --- title: "Garbage Collection" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "memory, garbage collection" - "garbage collection, automatic memory management" @@ -24,13 +18,8 @@ helpviewer_keywords: - "runtime, garbage collection" - "garbage collection, about" ms.assetid: 22b6cb97-0c80-4eeb-a2cf-5ed7655e37f9 -caps.latest.revision: 36 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Garbage Collection .NET's garbage collector manages the allocation and release of memory for your application. Each time you create a new object, the common language runtime allocates memory for the object from the managed heap. As long as address space is available in the managed heap, the runtime continues to allocate space for new objects. However, memory is not infinite. Eventually the garbage collector must perform a collection in order to free some memory. The garbage collector's optimizing engine determines the best time to perform a collection, based upon the allocations being made. When the garbage collector performs a collection, it checks for objects in the managed heap that are no longer being used by the application and performs the necessary operations to reclaim their memory. diff --git a/docs/standard/garbage-collection/induced.md b/docs/standard/garbage-collection/induced.md index 09cb4edca6866..8bbbd62e346a1 100644 --- a/docs/standard/garbage-collection/induced.md +++ b/docs/standard/garbage-collection/induced.md @@ -1,23 +1,12 @@ --- title: "Induced Collections" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "garbage collection, forced" ms.assetid: 019008fe-4708-4e65-bebf-04fd9941e149 -caps.latest.revision: 20 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Induced Collections In most cases, the garbage collector can determine the best time to perform a collection, and you should let it run independently. There are rare situations when a forced collection might improve your application's performance. In these cases, you can induce garbage collection by using the method to force a garbage collection. diff --git a/docs/standard/garbage-collection/latency.md b/docs/standard/garbage-collection/latency.md index 363d144a74ad0..8bbde2fc49e7e 100644 --- a/docs/standard/garbage-collection/latency.md +++ b/docs/standard/garbage-collection/latency.md @@ -1,24 +1,13 @@ --- title: "Latency Modes" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "garbage collection, intrusiveness" - "garbage collection, latency modes" ms.assetid: 96278bb7-6eab-4612-8594-ceebfc887d81 -caps.latest.revision: 41 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Latency Modes To reclaim objects, the garbage collector must stop all the executing threads in an application. In some situations, such as when an application retrieves data or displays content, a full garbage collection can occur at a critical time and impede performance. You can adjust the intrusiveness of the garbage collector by setting the property to one of the values. diff --git a/docs/standard/garbage-collection/memory-management-and-gc.md b/docs/standard/garbage-collection/memory-management-and-gc.md index 19833751482aa..89d167d143579 100644 --- a/docs/standard/garbage-collection/memory-management-and-gc.md +++ b/docs/standard/garbage-collection/memory-management-and-gc.md @@ -1,25 +1,14 @@ --- title: "Memory Management and Garbage Collection in the .NET Framework" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "GC [.NET Framework]" - "memory management [.NET Framework]" - "garbage collection [.NET Framework profiling]" ms.assetid: fd0462f7-57ad-4858-bf62-958378873602 -caps.latest.revision: 6 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Memory Management and Garbage Collection in .NET This section of the documentation provides information about managing memory in .NET. diff --git a/docs/standard/garbage-collection/notifications.md b/docs/standard/garbage-collection/notifications.md index bb683e1049881..53d28b11d6a46 100644 --- a/docs/standard/garbage-collection/notifications.md +++ b/docs/standard/garbage-collection/notifications.md @@ -1,13 +1,7 @@ --- title: "Garbage Collection Notifications" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -15,13 +9,8 @@ dev_langs: helpviewer_keywords: - "garbage collection, notifications" ms.assetid: e12d8e74-31e3-4035-a87d-f3e66f0a9b89 -caps.latest.revision: 23 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Garbage Collection Notifications There are situations in which a full garbage collection (that is, a generation 2 collection) by the common language runtime may adversely affect performance. This can be an issue particularly with servers that process large volumes of requests; in this case, a long garbage collection can cause a request time-out. To prevent a full collection from occurring during a critical period, you can be notified that a full garbage collection is approaching and then take action to redirect the workload to another server instance. You can also induce a collection yourself, provided that the current server instance does not need to process requests. diff --git a/docs/standard/garbage-collection/optimization-for-shared-web-hosting.md b/docs/standard/garbage-collection/optimization-for-shared-web-hosting.md index 0fb9c13f5247b..0177f62a8cc34 100644 --- a/docs/standard/garbage-collection/optimization-for-shared-web-hosting.md +++ b/docs/standard/garbage-collection/optimization-for-shared-web-hosting.md @@ -1,25 +1,14 @@ --- title: "Optimization for Shared Web Hosting" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "garbage collection, Web hosting" - "garbage collection, optimizing" - "garbage collection, shared Web hosting" ms.assetid: be98c0ab-7ef8-409f-8a0d-cb6e5b75ff20 -caps.latest.revision: 8 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Optimization for Shared Web Hosting If you are the administrator for a server that is shared by hosting several small Web sites, you can optimize performance and increase site capacity by adding the following `gcTrimCommitOnLowMemory` setting to the `runtime` node in the Aspnet.config file in the .NET directory: diff --git a/docs/standard/garbage-collection/performance.md b/docs/standard/garbage-collection/performance.md index 7be55214bb58e..6892ad69e31c6 100644 --- a/docs/standard/garbage-collection/performance.md +++ b/docs/standard/garbage-collection/performance.md @@ -1,24 +1,13 @@ --- title: "Garbage Collection and Performance" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "garbage collection, troubleshooting" - "garbage collection, performance" ms.assetid: c203467b-e95c-4ccf-b30b-953eb3463134 -caps.latest.revision: 35 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Garbage Collection and Performance This topic describes issues related to garbage collection and memory usage. It addresses issues that pertain to the managed heap and explains how to minimize the effect of garbage collection on your applications. Each issue has links to procedures that you can use to investigate problems. diff --git a/docs/standard/garbage-collection/unmanaged.md b/docs/standard/garbage-collection/unmanaged.md index 38459f59848d5..3e3f913c5ceba 100644 --- a/docs/standard/garbage-collection/unmanaged.md +++ b/docs/standard/garbage-collection/unmanaged.md @@ -1,13 +1,7 @@ --- title: "Cleaning Up Unmanaged Resources" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "Close method" - "Dispose method" @@ -18,13 +12,8 @@ helpviewer_keywords: - "unmanaged resource cleanup" - "Finalize method" ms.assetid: a17b0066-71c2-4ba4-9822-8e19332fc213 -caps.latest.revision: 19 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Cleaning Up Unmanaged Resources For the majority of the objects that your app creates, you can rely on .NET's garbage collector to handle memory management. However, when you create objects that include unmanaged resources, you must explicitly release those resources when you finish using them in your app. The most common types of unmanaged resource are objects that wrap operating system resources, such as files, windows, network connections, or database connections. Although the garbage collector is able to track the lifetime of an object that encapsulates an unmanaged resource, it doesn't know how to release and clean up the unmanaged resource. diff --git a/docs/standard/garbage-collection/using-objects.md b/docs/standard/garbage-collection/using-objects.md index 5ee2c52814f30..cfce002206cf4 100644 --- a/docs/standard/garbage-collection/using-objects.md +++ b/docs/standard/garbage-collection/using-objects.md @@ -1,13 +1,7 @@ --- title: "Using objects that implement IDisposable" -ms.custom: "" ms.date: "04/07/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -16,13 +10,8 @@ helpviewer_keywords: - "try/finally block" - "garbage collection, encapsulating resources" ms.assetid: 81b2cdb5-c91a-4a31-9c83-eadc52da5cf0 -caps.latest.revision: 15 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Using objects that implement IDisposable diff --git a/docs/standard/garbage-collection/weak-references.md b/docs/standard/garbage-collection/weak-references.md index f9f6f189b2396..c9d4a9edb8a08 100644 --- a/docs/standard/garbage-collection/weak-references.md +++ b/docs/standard/garbage-collection/weak-references.md @@ -1,26 +1,15 @@ --- title: "Weak References" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "weak references, short" - "weak references, using" - "weak references, long" - "garbage collection, weak references" ms.assetid: 6a600fe5-3af3-4c64-82da-10a0a8e2d79b -caps.latest.revision: 8 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Weak References The garbage collector cannot collect an object in use by an application while the application's code can reach that object. The application is said to have a strong reference to the object. diff --git a/docs/standard/generics.md b/docs/standard/generics.md index 3e832f81f7b18..4f77ef6712cf1 100644 --- a/docs/standard/generics.md +++ b/docs/standard/generics.md @@ -1,20 +1,12 @@ --- title: Generic Types (Generics) Overview description: Learn how generics act as code templates that allow you to define type-safe data structures without committing to an actual data type. -keywords: .NET, .NET Core author: kuhlenh ms.author: wiwagn ms.date: 06/20/2016 -ms.topic: article -ms.prod: .net ms.technology: dotnet-standard -ms.devlang: dotnet ms.assetid: a315b111-8e48-446c-ab19-acb6405894a7 -ms.workload: - - "dotnet" - - "dotnetcore" --- - # Generic Types (Generics) Overview We use generics all the time in C#, whether implicitly or explicitly. When you use LINQ in C#, did you ever notice that you are working with IEnumerable? Or if you ever saw an online sample of a "generic repository" for talking to databases using Entity Framework, did you see that most methods return IQueryable? You may have wondered what the **T** is in these examples and why is it in there? diff --git a/docs/standard/generics/collections.md b/docs/standard/generics/collections.md index cc279a5f6e030..77dadbf9a5782 100644 --- a/docs/standard/generics/collections.md +++ b/docs/standard/generics/collections.md @@ -1,13 +1,7 @@ --- title: "Generic Collections in .NET" -ms.custom: "" ms.date: "02/15/2018" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -19,10 +13,6 @@ helpviewer_keywords: ms.assetid: 5b646751-6ab7-465c-916c-b1a76aefa9f5 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Generic Collections in .NET diff --git a/docs/standard/generics/covariance-and-contravariance.md b/docs/standard/generics/covariance-and-contravariance.md index 1ce9ae2f5bdca..2c94a6cd431b4 100644 --- a/docs/standard/generics/covariance-and-contravariance.md +++ b/docs/standard/generics/covariance-and-contravariance.md @@ -1,13 +1,7 @@ --- title: "Covariance and Contravariance in Generics" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -17,13 +11,8 @@ helpviewer_keywords: - "covariance and contravariance in generics" - "generic type parameters" ms.assetid: 2678dc63-c7f9-4590-9ddc-0a4df684d42e -caps.latest.revision: 24 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Covariance and Contravariance in Generics Covariance and contravariance are terms that refer to the ability to use a more derived type (more specific) or a less derived type (less specific) than originally specified. Generic type parameters support covariance and contravariance to provide greater flexibility in assigning and using generic types. When you are referring to a type system, covariance, contravariance, and invariance have the following definitions. The examples assume a base class named `Base` and a derived class named `Derived`. diff --git a/docs/standard/generics/delegates-for-manipulating-arrays-and-lists.md b/docs/standard/generics/delegates-for-manipulating-arrays-and-lists.md index f1505618ea514..5b5f5825e2a14 100644 --- a/docs/standard/generics/delegates-for-manipulating-arrays-and-lists.md +++ b/docs/standard/generics/delegates-for-manipulating-arrays-and-lists.md @@ -1,13 +1,7 @@ --- title: "Generic Delegates for Manipulating Arrays and Lists" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "delegates [.NET Framework], generic delegates" - "chaining delegates" @@ -16,13 +10,8 @@ helpviewer_keywords: - "lists [.NET Framework], generic delegates" - "generics [.NET Framework], delegates" ms.assetid: 416be383-cc61-4102-9b1b-88b51adb963e -caps.latest.revision: 9 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Generic Delegates for Manipulating Arrays and Lists This topic provides an overview of generic delegates for conversions, search predicates, and actions to be taken on elements of an array or collection. diff --git a/docs/standard/generics/index.md b/docs/standard/generics/index.md index 0647b2516343e..45242164ce76d 100644 --- a/docs/standard/generics/index.md +++ b/docs/standard/generics/index.md @@ -1,9 +1,7 @@ --- title: "Generics in .NET" ms.date: "03/30/2017" -ms.prod: ".net" ms.technology: dotnet-standard -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -28,13 +26,8 @@ helpviewer_keywords: - "generic types" - "generic type parameters" ms.assetid: 2994d786-c5c7-4666-ab23-4c83129fe39c -caps.latest.revision: 23 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Generics in .NET diff --git a/docs/standard/generics/interfaces.md b/docs/standard/generics/interfaces.md index a4de0897cf1d7..b439da9072da7 100644 --- a/docs/standard/generics/interfaces.md +++ b/docs/standard/generics/interfaces.md @@ -1,26 +1,15 @@ --- title: "Generic Interfaces" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "generic interfaces [.NET Framework]" - "equality comparisons [.NET Framework]" - "generics [.NET Framework], interfaces" - "ordering comparisons [.NET Framework]" ms.assetid: 88bf5b04-d371-4edb-ba38-01ec7cabaacf -caps.latest.revision: 9 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Generic Interfaces This topic provides an overview of generic interfaces that provide common functionality across families of generic types. diff --git a/docs/standard/get-started.md b/docs/standard/get-started.md index a94c87b1bb210..13fd79d011695 100644 --- a/docs/standard/get-started.md +++ b/docs/standard/get-started.md @@ -1,20 +1,12 @@ --- title: Get Started with .NET description: Lists various articles for getting started with .NET, both from a language and platform perspective. -keywords: .NET, Getting Started, C#, F#, Visual Basic author: cartermp ms.author: mairaw ms.date: 05/01/2017 -ms.topic: article -ms.prod: .net ms.technology: dotnet-standard -ms.devlang: dotnet ms.assetid: 81c07080-acdf-4aef-a66d-0ab52fab2c04 -ms.workload: - - "dotnet" - - "dotnetcore" --- - # Get Started There are a number of ways to get started with .NET. Because .NET is a massive platform, there are multiple articles in this documentation which show how you can get started with .NET, each from a different perspective. diff --git a/docs/standard/globalization-localization/best-practices-for-developing-world-ready-apps.md b/docs/standard/globalization-localization/best-practices-for-developing-world-ready-apps.md index a898e98596f66..6d786ca9ce1c3 100644 --- a/docs/standard/globalization-localization/best-practices-for-developing-world-ready-apps.md +++ b/docs/standard/globalization-localization/best-practices-for-developing-world-ready-apps.md @@ -1,26 +1,15 @@ --- title: "Best Practices for Developing World-Ready Applications" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "global applications, best practices" - "world-ready applications, best practices" - "globalization [.NET Framework], best practices" - "international applications [.NET Framework], best practices" ms.assetid: f08169c7-aad8-4ec3-9a21-9ebd3b89986c -caps.latest.revision: 20 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Best Practices for Developing World-Ready Applications This section describes the best practices to follow when developing world-ready applications. diff --git a/docs/standard/globalization-localization/culture-insensitive-string-operations.md b/docs/standard/globalization-localization/culture-insensitive-string-operations.md index 400eb7507ebde..b70bee4b3be37 100644 --- a/docs/standard/globalization-localization/culture-insensitive-string-operations.md +++ b/docs/standard/globalization-localization/culture-insensitive-string-operations.md @@ -1,13 +1,7 @@ --- title: "Culture-Insensitive String Operations" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "culture, culture-insensitive string operations" - "case-sensitive comparisons" @@ -18,13 +12,8 @@ helpviewer_keywords: - "culture-sensitive string operations" - "culture-insensitive string operations" ms.assetid: e6e2bb94-a95d-44e2-b68c-cfdd1db77784 -caps.latest.revision: 13 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Culture-Insensitive String Operations Culture-sensitive string operations can be an advantage if you are creating applications designed to display results to users on a per-culture basis. By default, culture-sensitive methods obtain the culture to use from the property for the current thread. diff --git a/docs/standard/globalization-localization/globalization.md b/docs/standard/globalization-localization/globalization.md index a879b2ad603ab..e43bc25ca5236 100644 --- a/docs/standard/globalization-localization/globalization.md +++ b/docs/standard/globalization-localization/globalization.md @@ -1,13 +1,7 @@ --- title: "Globalization" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -19,13 +13,8 @@ helpviewer_keywords: - "application development [.NET Framework], globalization" - "culture, globalization" ms.assetid: 4e919934-6b19-42f2-b770-275a4fae87c9 -caps.latest.revision: 15 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Globalization Globalization involves designing and developing a world-ready app that supports localized interfaces and regional data for users in multiple cultures. Before beginning the design phase, you should determine which cultures your app will support. Although an app targets a single culture or region as its default, you can design and write it so that it can easily be extended to users in other cultures or regions. diff --git a/docs/standard/globalization-localization/index.md b/docs/standard/globalization-localization/index.md index 63bdb1a68cd8e..8e8139dfcad26 100644 --- a/docs/standard/globalization-localization/index.md +++ b/docs/standard/globalization-localization/index.md @@ -1,13 +1,7 @@ --- title: "Globalizing and Localizing .NET Framework Applications" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "international applications [.NET Framework]" - "globalization [.NET Framework], encoding" @@ -17,13 +11,8 @@ helpviewer_keywords: - "application development [.NET Framework], globalization" - "multilingual application development" ms.assetid: 9a59696b-d89b-45bd-946d-c75da4732d02 -caps.latest.revision: 42 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Globalizing and Localizing .NET Framework Applications Developing a [world-ready application](http://msdn.microsoft.com/goglobal/bb978433.aspx), including an application that can be localized into one or more languages, involves three steps: globalization, localizability review, and localization. diff --git a/docs/standard/globalization-localization/localizability-review.md b/docs/standard/globalization-localization/localizability-review.md index b40d9c0d598ac..20d999f8428a9 100644 --- a/docs/standard/globalization-localization/localizability-review.md +++ b/docs/standard/globalization-localization/localizability-review.md @@ -1,13 +1,7 @@ --- title: "Localizability Review" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -22,13 +16,8 @@ helpviewer_keywords: - "global applications, localizability" - "localizing resources" ms.assetid: 3aee2fbb-de47-4e37-8fe4-ddebb9719247 -caps.latest.revision: 11 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Localizability Review The localizability review is an intermediate step in the development of a world-ready application. It verifies that a globalized application is ready for localization and identifies any code or any aspects of the user interface that require special handling. This step also helps ensure that the localization process will not introduce any functional defects into your application. When all the issues raised by the localizability review have been addressed, your application is ready for localization. If the localizability review is thorough, you should not have to modify any source code during the localization process. diff --git a/docs/standard/globalization-localization/localization.md b/docs/standard/globalization-localization/localization.md index 0a7be30dbff45..f77dca50a4de0 100644 --- a/docs/standard/globalization-localization/localization.md +++ b/docs/standard/globalization-localization/localization.md @@ -1,13 +1,7 @@ --- title: "Localization" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "culture, localization" - "application development [.NET Framework], localization" @@ -20,13 +14,8 @@ helpviewer_keywords: - "localization [.NET Framework], about localization" - "localizing resources" ms.assetid: 49d520d7-92d7-44ee-bb24-8b615db1d41b -caps.latest.revision: 8 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Localization Localization is the process of translating an application's resources into localized versions for each culture that the application will support. You should proceed to the localization step only after completing the [Localizability Review](../../../docs/standard/globalization-localization/localizability-review.md) step to verify that the globalized application is ready for localization. diff --git a/docs/standard/globalization-localization/performing-culture-insensitive-case-changes.md b/docs/standard/globalization-localization/performing-culture-insensitive-case-changes.md index 765771a4b5ec4..808982381ba1c 100644 --- a/docs/standard/globalization-localization/performing-culture-insensitive-case-changes.md +++ b/docs/standard/globalization-localization/performing-culture-insensitive-case-changes.md @@ -1,13 +1,7 @@ --- title: "Performing Culture-Insensitive Case Changes" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -21,13 +15,8 @@ helpviewer_keywords: - "String.ToUpper method" - "culture parameter" ms.assetid: 822d551c-c69a-4191-82f4-183d82c9179c -caps.latest.revision: 18 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Performing Culture-Insensitive Case Changes The , , , and methods provide overloads that do not accept any parameters. By default, these overloads without parameters perform case changes based on the value of the . This produces case-sensitive results that can vary by culture. To make it clear whether you want case changes to be culture-sensitive or culture-insensitive, you should use the overloads of these methods that require you to explicitly specify a `culture` parameter. For culture-sensitive case changes, specify `CultureInfo.CurrentCulture` for the `culture` parameter. For culture-insensitive case changes, specify `CultureInfo.InvariantCulture` for the `culture` parameter. diff --git a/docs/standard/globalization-localization/performing-culture-insensitive-string-comparisons.md b/docs/standard/globalization-localization/performing-culture-insensitive-string-comparisons.md index afe0df9421996..434c315bcb206 100644 --- a/docs/standard/globalization-localization/performing-culture-insensitive-string-comparisons.md +++ b/docs/standard/globalization-localization/performing-culture-insensitive-string-comparisons.md @@ -1,13 +1,7 @@ --- title: "Performing Culture-Insensitive String Comparisons" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -19,13 +13,8 @@ helpviewer_keywords: - "culture-insensitive string operations, comparisons" - "culture parameter" ms.assetid: abae50ef-32f7-4a50-a540-fd256fd1aed0 -caps.latest.revision: 23 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Performing Culture-Insensitive String Comparisons By default, the method performs culture-sensitive and case-sensitive comparisons. This method also includes several overloads that provide a `culture` parameter that lets you specify the culture to use, and a `comparisonType` parameter that lets you specify the comparison rules to use. Calling these methods instead of the default overload removes any ambiguity about the rules used in a particular method call, and makes it clear whether a particular comparison is culture-sensitive or culture-insensitive. diff --git a/docs/standard/globalization-localization/performing-culture-insensitive-string-operations-in-arrays.md b/docs/standard/globalization-localization/performing-culture-insensitive-string-operations-in-arrays.md index 88c5fd8393f1d..5c1ec4c429a1d 100644 --- a/docs/standard/globalization-localization/performing-culture-insensitive-string-operations-in-arrays.md +++ b/docs/standard/globalization-localization/performing-culture-insensitive-string-operations-in-arrays.md @@ -1,25 +1,14 @@ --- title: "Performing Culture-Insensitive String Operations in Arrays" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "culture-insensitive string operations, in arrays" - "arrays [.NET Framework], culture-insensitive string operations" - "comparer parameter" ms.assetid: f12922e1-6234-4165-8896-63f0653ab478 -caps.latest.revision: 13 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Performing Culture-Insensitive String Operations in Arrays Overloads of the and methods perform culture-sensitive sorts by default using the property. Culture-sensitive results returned by these methods can vary by culture due to differences in sort orders. To eliminate culture-sensitive behavior, use one of the overloads of this method that accepts a `comparer` parameter. The `comparer` parameter specifies the implementation to use when comparing elements in the array. For the parameter, specify a custom invariant comparer class that uses . An example of a custom invariant comparer class is provided in the "Using the SortedList Class" subtopic of the [Performing Culture-Insensitive String Operations in Collections](../../../docs/standard/globalization-localization/performing-culture-insensitive-string-operations-in-collections.md) topic. diff --git a/docs/standard/globalization-localization/performing-culture-insensitive-string-operations-in-collections.md b/docs/standard/globalization-localization/performing-culture-insensitive-string-operations-in-collections.md index cdefc4e4491f8..785a43ba15f81 100644 --- a/docs/standard/globalization-localization/performing-culture-insensitive-string-operations-in-collections.md +++ b/docs/standard/globalization-localization/performing-culture-insensitive-string-operations-in-collections.md @@ -1,13 +1,7 @@ --- title: "Performing Culture-Insensitive String Operations in Collections" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -21,13 +15,8 @@ helpviewer_keywords: - "SortedList class, culture-insensitive string operations" - "culture parameter" ms.assetid: 5cdc9396-a64b-4615-a1cd-b605db4c5983 -caps.latest.revision: 12 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Performing Culture-Insensitive String Operations in Collections There are classes and members in the namespace that provide culture-sensitive behavior by default. The default constructors for the and classes initialize a new instance using the property. All overloads of the method create a new instance of the class using the `Thread.CurrentCulture` property by default. Overloads of the method perform culture-sensitive sorts by default using `Thread.CurrentCulture`. Sorting and lookup in a can be affected by `Thread.CurrentCulture` when strings are used as the keys. Follow the usage recommendations provided in this section to obtain culture-insensitive results from these classes and methods in the `Collections` namespace. diff --git a/docs/standard/globalization-localization/performing-culture-insensitive-string-operations.md b/docs/standard/globalization-localization/performing-culture-insensitive-string-operations.md index 9ac46ee694854..c9f0a827c91d1 100644 --- a/docs/standard/globalization-localization/performing-culture-insensitive-string-operations.md +++ b/docs/standard/globalization-localization/performing-culture-insensitive-string-operations.md @@ -1,13 +1,7 @@ --- title: "Performing Culture-Insensitive String Operations" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "case mappings" - "custom case mappings" @@ -17,13 +11,8 @@ helpviewer_keywords: - "culture, custom case mappings" - "culture-insensitive string operations, method overloads" ms.assetid: 579ef891-1f83-4c63-9ebd-2f40406b5b91 -caps.latest.revision: 13 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Performing Culture-Insensitive String Operations Most .NET Framework methods that perform culture-sensitive string operations by default provide method overloads that allow you to explicitly specify the culture to use by passing a parameter. These overloads allow you to eliminate cultural variations in case mappings and sorting rules and guarantee culture-insensitive results. diff --git a/docs/standard/glossary.md b/docs/standard/glossary.md index 0fb1c26375f1e..84b52caa369b6 100644 --- a/docs/standard/glossary.md +++ b/docs/standard/glossary.md @@ -1,19 +1,11 @@ --- title: .NET Glossary description: Find out the meaning of selected terms used in the .NET documentation. -keywords: .NET glossary, .NET dictionary, .NET terminology, .NET platform, .NET framework, .NET runtime author: tdykstra ms.author: tdykstra ms.date: 07/08/2017 -ms.topic: article -ms.prod: .net ms.technology: dotnet-standard -ms.devlang: dotnet -ms.workload: - - "dotnet" - - "dotnetcore" --- - # .NET Glossary The primary goal of this glossary is to clarify meanings of selected terms and acronyms that appear frequently in the .NET documentation without definitions. diff --git a/docs/standard/guidance-architecture.md b/docs/standard/guidance-architecture.md index f131d64a9e35d..e2d08c2de6ec2 100644 --- a/docs/standard/guidance-architecture.md +++ b/docs/standard/guidance-architecture.md @@ -1,15 +1,10 @@ --- title: .NET Architecture Guidance description: Learn about recoommended practices for architecting, designing and building .NET software. -keywords: Docker, Microservices, ASP.NET, Container, Architecture author: BillWagner ms.author: wiwagn ms.date: 10/26/2017 -ms.prod: .net ms.technology: dotnet -ms.workload: - - "dotnet" - - "dotnetcore" --- # .NET Architecture Guidance diff --git a/docs/standard/index.md b/docs/standard/index.md index 92ab7375e29a0..ba3a47792e79c 100644 --- a/docs/standard/index.md +++ b/docs/standard/index.md @@ -1,20 +1,12 @@ --- title: .NET Platform Guide description: Learn about the .NET Platform. -keywords: .NET, .NET Core author: cartermp ms.author: ronpet ms.date: 05/02/2017 -ms.topic: article -ms.prod: .net ms.technology: dotnet-standard -ms.devlang: dotnet ms.assetid: bbfe6465-329d-4982-869d-472e7ef85d93 -ms.workload: - - "dotnet" - - "dotnetcore" --- - # .NET Guide The .NET Guide provides a large amount of information about .NET. Depending on your familiarity with .NET, you may wish to explore different sections of this guide and other sections of the .NET documentation. diff --git a/docs/standard/io/asynchronous-file-i-o.md b/docs/standard/io/asynchronous-file-i-o.md index f30b3a410855c..f065ce5f6b042 100644 --- a/docs/standard/io/asynchronous-file-i-o.md +++ b/docs/standard/io/asynchronous-file-i-o.md @@ -1,13 +1,7 @@ --- title: "Asynchronous File I/O" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -23,13 +17,8 @@ helpviewer_keywords: - "multiple I/O requests" - "data streams, synchronous streams" ms.assetid: dbdd55e7-d6b9-4f9e-8abb-ab0edd4457f7 -caps.latest.revision: 23 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Asynchronous File I/O Asynchronous operations enable you to perform resource-intensive I/O operations without blocking the main thread. This performance consideration is particularly important in a [!INCLUDE[win8_appname_long](../../../includes/win8-appname-long-md.md)] app or [!INCLUDE[desktop_appname](../../../includes/desktop-appname-md.md)] app where a time-consuming stream operation can block the UI thread and make your app appear as if it is not working. diff --git a/docs/standard/io/common-i-o-tasks.md b/docs/standard/io/common-i-o-tasks.md index 8d0ed1575f9f2..ddb0f073008c3 100644 --- a/docs/standard/io/common-i-o-tasks.md +++ b/docs/standard/io/common-i-o-tasks.md @@ -1,23 +1,12 @@ --- title: "Common I/O Tasks" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "I/O, common tasks" ms.assetid: bf00c380-706a-4e38-b829-454a480629fc -caps.latest.revision: 15 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Common I/O Tasks The namespace provides several classes that allow for various actions, such as reading and writing, to be performed on files, directories, and streams. For more information, see [File and Stream I/O](../../../docs/standard/io/index.md). diff --git a/docs/standard/io/composing-streams.md b/docs/standard/io/composing-streams.md index 58f0d4de698eb..b1c61e2784248 100644 --- a/docs/standard/io/composing-streams.md +++ b/docs/standard/io/composing-streams.md @@ -1,13 +1,7 @@ --- title: "Composing Streams" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -19,13 +13,8 @@ helpviewer_keywords: - "base streams" - "streams, backing stores" ms.assetid: da761658-a535-4f26-a452-b30df47f73d5 -caps.latest.revision: 10 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Composing Streams A backing store is a storage medium, such as a disk or memory. Each different backing store implements its own stream as an implementation of the class. Each stream type reads and writes bytes from and to its given backing store. Streams that connect to backing stores are called base streams. Base streams have constructors that have the parameters necessary to connect the stream to the backing store. For example, has constructors that specify a path parameter, which specifies how the file will be shared by processes, and so on. diff --git a/docs/standard/io/how-to-add-or-remove-access-control-list-entries.md b/docs/standard/io/how-to-add-or-remove-access-control-list-entries.md index 6b30a3ea2d2e2..9c90798d8ea8d 100644 --- a/docs/standard/io/how-to-add-or-remove-access-control-list-entries.md +++ b/docs/standard/io/how-to-add-or-remove-access-control-list-entries.md @@ -1,13 +1,7 @@ --- title: "How to: Add or Remove Access Control List Entries" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -19,13 +13,8 @@ helpviewer_keywords: - "I/O [.NET Framework], access control list entries" - "access control lists [.NET Framework]" ms.assetid: 53758b39-bd9b-4640-bb04-cad5ed8d0abf -caps.latest.revision: 10 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Add or Remove Access Control List Entries To add or remove Access Control List (ACL) entries to or from a file, the or object must be obtained from the file or directory, modified, and then applied back to the file or directory. diff --git a/docs/standard/io/how-to-anticipate-out-of-space-conditions-with-isolated-storage.md b/docs/standard/io/how-to-anticipate-out-of-space-conditions-with-isolated-storage.md index a6149b1bd6cea..822db2ae08057 100644 --- a/docs/standard/io/how-to-anticipate-out-of-space-conditions-with-isolated-storage.md +++ b/docs/standard/io/how-to-anticipate-out-of-space-conditions-with-isolated-storage.md @@ -1,13 +1,7 @@ --- title: "How to: Anticipate Out-of-Space Conditions with Isolated Storage" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -28,13 +22,8 @@ helpviewer_keywords: - "isolated storage, out of space conditions" - "data storage using isolated storage, out of space conditions" ms.assetid: e35d4535-3732-421e-b1a3-37412e036145 -caps.latest.revision: 17 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Anticipate Out-of-Space Conditions with Isolated Storage Code that uses isolated storage is constrained by a [quota](../../../docs/standard/io/isolated-storage.md#quotas) that specifies the maximum size for the data compartment in which isolated storage files and directories exist. The quota is defined by security policy and is configurable by administrators. If the maximum allowed size is exceeded when you try to write data, an exception is thrown and the operation fails. This helps prevent malicious denial-of-service attacks that could cause the application to refuse requests because data storage is filled. diff --git a/docs/standard/io/how-to-compress-and-extract-files.md b/docs/standard/io/how-to-compress-and-extract-files.md index 41dffeded010a..d89cdf30cd50e 100644 --- a/docs/standard/io/how-to-compress-and-extract-files.md +++ b/docs/standard/io/how-to-compress-and-extract-files.md @@ -1,13 +1,7 @@ --- title: "How to: Compress and Extract Files" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -16,13 +10,8 @@ helpviewer_keywords: - "compression" - "compress files" ms.assetid: e9876165-3c60-4c84-a272-513e47acf579 -caps.latest.revision: 19 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Compress and Extract Files The namespace contains the following types for compressing and decompressing files and streams. You can also use these types to read and modify the contents of a compressed file: diff --git a/docs/standard/io/how-to-convert-between-dotnet-streams-and-winrt-streams.md b/docs/standard/io/how-to-convert-between-dotnet-streams-and-winrt-streams.md index 16110d6535f96..1f4da86e6a529 100644 --- a/docs/standard/io/how-to-convert-between-dotnet-streams-and-winrt-streams.md +++ b/docs/standard/io/how-to-convert-between-dotnet-streams-and-winrt-streams.md @@ -1,24 +1,13 @@ --- title: "How to: Convert Between .NET Framework Streams and Windows Runtime Streams" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: 23a763ea-8348-4244-9f8c-a4280b870b47 -caps.latest.revision: 15 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Convert Between .NET Framework Streams and Windows Runtime Streams The .NET Framework for Windows Store apps is a subset of the full .NET Framework. Because of security and other requirements for Windows Store apps, you cannot use the full set of .NET Framework APIs to open and read files. For more information, see [.NET for Windows Store apps overview](http://msdn.microsoft.com/library/windows/apps/br230302.aspx). However, you may want to use .NET Framework APIs for other stream manipulation operations. To manipulate these streams, you may find it necessary to convert between a .NET Framework stream type such as or , and a Windows Runtime stream such as [IInputStream](http://msdn.microsoft.com/library/windows/apps/windows.storage.streams.iinputstream.aspx), [IOutputStream](http://msdn.microsoft.com/library/windows/apps/windows.storage.streams.ioutputstream.aspx), or [IRandomAccessStream](http://msdn.microsoft.com/library/windows/apps/windows.storage.streams.irandomaccessstream.aspx). diff --git a/docs/standard/io/how-to-copy-directories.md b/docs/standard/io/how-to-copy-directories.md index e940916a98d48..910ee416da9c8 100644 --- a/docs/standard/io/how-to-copy-directories.md +++ b/docs/standard/io/how-to-copy-directories.md @@ -1,13 +1,7 @@ --- title: "How to: Copy Directories" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -18,13 +12,8 @@ helpviewer_keywords: - "copying directories" - "directories [.NET Framework], copying" ms.assetid: 5a969765-e5f8-4b4e-977e-90e2b0a1fe3c -caps.latest.revision: 11 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Copy Directories This example demonstrates how to use I/O classes to synchronously copy the contents of a directory to another location. In this example, the user can specify whether to also copy the subdirectories. If the subdirectories are copied, the method in this example recursively copies them by calling itself on each subsequent subdirectory until there are no more to copy. diff --git a/docs/standard/io/how-to-create-files-and-directories-in-isolated-storage.md b/docs/standard/io/how-to-create-files-and-directories-in-isolated-storage.md index 287b2b10d3acd..b93a771cf7c9e 100644 --- a/docs/standard/io/how-to-create-files-and-directories-in-isolated-storage.md +++ b/docs/standard/io/how-to-create-files-and-directories-in-isolated-storage.md @@ -1,13 +1,7 @@ --- title: "How to: Create Files and Directories in Isolated Storage" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -20,13 +14,8 @@ helpviewer_keywords: - "stores, creating files and directories" - "storing data using isolated storage, creating files and directories" ms.assetid: 2ca4d2a4-809b-4f00-bc08-bf4a64d3a5c3 -caps.latest.revision: 12 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Create Files and Directories in Isolated Storage After you have obtained an isolated store, you can create directories and files for storing data. Within a store, file and directory names are specified with respect to the root of the virtual file system. diff --git a/docs/standard/io/how-to-delete-files-and-directories-in-isolated-storage.md b/docs/standard/io/how-to-delete-files-and-directories-in-isolated-storage.md index e2e717208e8d8..7feb852e51e74 100644 --- a/docs/standard/io/how-to-delete-files-and-directories-in-isolated-storage.md +++ b/docs/standard/io/how-to-delete-files-and-directories-in-isolated-storage.md @@ -1,13 +1,7 @@ --- title: "How to: Delete Files and Directories in Isolated Storage" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -23,13 +17,8 @@ helpviewer_keywords: - "storing data using isolated storage, deleting files and directories" - "deleting directories within isolated stage file" ms.assetid: 8fcc0dea-435b-4d40-ba4d-ba056265c202 -caps.latest.revision: 12 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Delete Files and Directories in Isolated Storage You can delete directories and files within an isolated storage file. Within a store, file and directory names are operating-system dependent and are specified as relative to the root of the virtual file system. They are not case-sensitive on Windows operating systems. diff --git a/docs/standard/io/how-to-delete-stores-in-isolated-storage.md b/docs/standard/io/how-to-delete-stores-in-isolated-storage.md index 995dd085d95bb..be46d1a5b613c 100644 --- a/docs/standard/io/how-to-delete-stores-in-isolated-storage.md +++ b/docs/standard/io/how-to-delete-stores-in-isolated-storage.md @@ -1,13 +1,7 @@ --- title: "How to: Delete Stores in Isolated Storage" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -21,13 +15,8 @@ helpviewer_keywords: - "storing data using isolated storage, deleting stores" - "data storage using isolated storage, deleting stores" ms.assetid: 3947e333-5af6-4601-b2f1-24d4d6129cf3 -caps.latest.revision: 14 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Delete Stores in Isolated Storage The class supplies two methods for deleting isolated storage files: diff --git a/docs/standard/io/how-to-enumerate-directories-and-files.md b/docs/standard/io/how-to-enumerate-directories-and-files.md index aa3a6c62e97ea..f3dd07d9e69f5 100644 --- a/docs/standard/io/how-to-enumerate-directories-and-files.md +++ b/docs/standard/io/how-to-enumerate-directories-and-files.md @@ -1,26 +1,15 @@ --- title: "How to: Enumerate Directories and Files" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "I/O [.NET Framework], enumerating directories and files" ms.assetid: 86b69a08-3bfa-4e5f-b4e1-3b7cb8478215 -caps.latest.revision: 18 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Enumerate Directories and Files You can enumerate directories and files by using methods that return an enumerable collection of strings of their names. You can also use methods that return an enumerable collection of , , or objects. Enumerable collections provide better performance than arrays when you work with large collections of directories and files. diff --git a/docs/standard/io/how-to-enumerate-stores-for-isolated-storage.md b/docs/standard/io/how-to-enumerate-stores-for-isolated-storage.md index 7196b889beabc..8d4f391cdf572 100644 --- a/docs/standard/io/how-to-enumerate-stores-for-isolated-storage.md +++ b/docs/standard/io/how-to-enumerate-stores-for-isolated-storage.md @@ -1,13 +1,7 @@ --- title: "How to: Enumerate Stores for Isolated Storage" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -19,13 +13,8 @@ helpviewer_keywords: - "isolated storage, enumerating stores" - "data stores, enumerating" ms.assetid: 0fcf279a-f241-48f0-8034-2e3d331f1fcb -caps.latest.revision: 13 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Enumerate Stores for Isolated Storage You can enumerate all isolated stores for the current user by using the static method. This method takes an value and returns an enumerator. To enumerate stores, you must have the permission that specifies the value. If you call the method with the value, it returns an array of objects that are defined for the current user. diff --git a/docs/standard/io/how-to-find-existing-files-and-directories-in-isolated-storage.md b/docs/standard/io/how-to-find-existing-files-and-directories-in-isolated-storage.md index 95f3476635106..b0092a5e9b161 100644 --- a/docs/standard/io/how-to-find-existing-files-and-directories-in-isolated-storage.md +++ b/docs/standard/io/how-to-find-existing-files-and-directories-in-isolated-storage.md @@ -1,13 +1,7 @@ --- title: "How to: Find Existing Files and Directories in Isolated Storage" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -23,13 +17,8 @@ helpviewer_keywords: - "locating directories in isolated storage file" - "storing data using isolated storage, finding files and directories" ms.assetid: eb28458a-6161-4e7a-9ada-30ef93761b5c -caps.latest.revision: 12 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Find Existing Files and Directories in Isolated Storage To search for a directory in isolated storage, use the method. This method takes a string that represents a search pattern. You can use both single-character (?) and multi-character (*) wildcard characters in the search pattern, but the wildcard characters must appear in the final portion of the name. For example, `directory1/*ect*` is a valid search string, but `*ect*/directory2` is not. diff --git a/docs/standard/io/how-to-obtain-stores-for-isolated-storage.md b/docs/standard/io/how-to-obtain-stores-for-isolated-storage.md index c49d98ad4a1dd..0b2a1d281ee51 100644 --- a/docs/standard/io/how-to-obtain-stores-for-isolated-storage.md +++ b/docs/standard/io/how-to-obtain-stores-for-isolated-storage.md @@ -1,13 +1,7 @@ --- title: "How to: Obtain Stores for Isolated Storage" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -19,13 +13,8 @@ helpviewer_keywords: - "data stores, obtaining" - "data storage using isolated storage, obtaining stores" ms.assetid: fcb6b178-d526-47c4-b029-e946f880f9db -caps.latest.revision: 19 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Obtain Stores for Isolated Storage An isolated store exposes a virtual file system within a data compartment. The class supplies a number of methods for interacting with an isolated store. To create and retrieve stores, provides three static methods: diff --git a/docs/standard/io/how-to-open-and-append-to-a-log-file.md b/docs/standard/io/how-to-open-and-append-to-a-log-file.md index f1a4dee0278e4..bd287ed3cbdad 100644 --- a/docs/standard/io/how-to-open-and-append-to-a-log-file.md +++ b/docs/standard/io/how-to-open-and-append-to-a-log-file.md @@ -1,13 +1,7 @@ --- title: "How to: Open and Append to a Log File" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -17,13 +11,8 @@ helpviewer_keywords: - "log files, appending to" - "I/O [.NET Framework], log files" ms.assetid: 74423362-1721-49cb-aa0a-e04005f72a06 -caps.latest.revision: 15 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Open and Append to a Log File and write characters to and read characters from streams. The following code example opens the `log.txt` file for input, or creates the file if it does not already exist, and appends information to the end of the file. The contents of the file are then written to standard output for display. As an alternative to this example, the information could be stored as a single string or string array, and the or method could be used to achieve the same functionality. diff --git a/docs/standard/io/how-to-read-and-write-to-a-newly-created-data-file.md b/docs/standard/io/how-to-read-and-write-to-a-newly-created-data-file.md index dec7034150893..a88439ad8d151 100644 --- a/docs/standard/io/how-to-read-and-write-to-a-newly-created-data-file.md +++ b/docs/standard/io/how-to-read-and-write-to-a-newly-created-data-file.md @@ -1,13 +1,7 @@ --- title: "How to: Read and Write to a Newly Created Data File" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -19,13 +13,8 @@ helpviewer_keywords: - "I/O [.NET Framework], writing data" - "BinaryWriter class, examples" ms.assetid: e209d949-31e8-44ea-8e38-87f9093f3093 -caps.latest.revision: 16 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Read and Write to a Newly Created Data File The and classes are used for writing and reading data rather than character strings. The following example demonstrates how to write data to, and read data from, a new, empty file stream called `Test.data`. After creating the data file in the current directory, the associated and objects are created, and the object is used to write the integers 0 through 10 to `Test.data`, which leaves the file pointer at the end of the file. After setting the file pointer back to the origin, the object reads out the specified content. diff --git a/docs/standard/io/how-to-read-and-write-to-files-in-isolated-storage.md b/docs/standard/io/how-to-read-and-write-to-files-in-isolated-storage.md index f5a8adc38a196..342e7b19d4a6c 100644 --- a/docs/standard/io/how-to-read-and-write-to-files-in-isolated-storage.md +++ b/docs/standard/io/how-to-read-and-write-to-files-in-isolated-storage.md @@ -1,13 +1,7 @@ --- title: "How to: Read and Write to Files in Isolated Storage" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -22,13 +16,8 @@ helpviewer_keywords: - "data stores, reading and writing to files" - "stores, reading and writing to files" ms.assetid: f977ebdc-1b55-475a-bc3d-3376470b08ae -caps.latest.revision: 15 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Read and Write to Files in Isolated Storage To read from, or write to, a file in an isolated store, use an object with a stream reader ( object) or stream writer ( object). diff --git a/docs/standard/io/how-to-read-characters-from-a-string.md b/docs/standard/io/how-to-read-characters-from-a-string.md index c00b81c12f214..0468362eedd05 100644 --- a/docs/standard/io/how-to-read-characters-from-a-string.md +++ b/docs/standard/io/how-to-read-characters-from-a-string.md @@ -1,13 +1,7 @@ --- title: "How to: Read Characters from a String" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -19,13 +13,8 @@ helpviewer_keywords: - "reading data, strings" - "streams, reading characters from string" ms.assetid: 27ea5e52-6db8-42d8-980a-50bcfc7fd270 -caps.latest.revision: 13 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Read Characters from a String The following code examples show how to read characters synchronously and asynchronously from a string. diff --git a/docs/standard/io/how-to-read-text-from-a-file.md b/docs/standard/io/how-to-read-text-from-a-file.md index 4b69aea309e5f..dcd80332cfbcb 100644 --- a/docs/standard/io/how-to-read-text-from-a-file.md +++ b/docs/standard/io/how-to-read-text-from-a-file.md @@ -1,13 +1,7 @@ --- title: "How to: Read Text from a File" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -18,13 +12,8 @@ helpviewer_keywords: - "data streams, reading text from files" - "I/O [.NET Framework], reading text from files" ms.assetid: ed180baa-dfc6-4c69-a725-46e87edafb27 -caps.latest.revision: 23 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Read Text from a File The following examples show how to read text synchronously and asynchronously from a text file using .NET for desktop apps. In both examples, when you create the instance of the class, you provide the relative or absolute path to the file. The following examples assume that the file named TestFile.txt is in the same folder as the application. diff --git a/docs/standard/io/how-to-use-anonymous-pipes-for-local-interprocess-communication.md b/docs/standard/io/how-to-use-anonymous-pipes-for-local-interprocess-communication.md index 2ee5d943502b3..e4174d54ebeab 100644 --- a/docs/standard/io/how-to-use-anonymous-pipes-for-local-interprocess-communication.md +++ b/docs/standard/io/how-to-use-anonymous-pipes-for-local-interprocess-communication.md @@ -1,13 +1,7 @@ --- title: "How to: Use Anonymous Pipes for Local Interprocess Communication" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -19,13 +13,8 @@ helpviewer_keywords: - "one-way communication [.NET Framework]" - "local computer communication [.NET Framework], pipes" ms.assetid: e7773c77-c646-4a01-8a96-a003d59fc4c9 -caps.latest.revision: 9 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Use Anonymous Pipes for Local Interprocess Communication Anonymous pipes provide interprocess communication on a local computer. They offer less functionality than named pipes, but also require less overhead. You can use anonymous pipes to make interprocess communication on a local computer easier. You cannot use anonymous pipes for communication over a network. diff --git a/docs/standard/io/how-to-use-named-pipes-for-network-interprocess-communication.md b/docs/standard/io/how-to-use-named-pipes-for-network-interprocess-communication.md index f974435f42a1c..ca66599ab448b 100644 --- a/docs/standard/io/how-to-use-named-pipes-for-network-interprocess-communication.md +++ b/docs/standard/io/how-to-use-named-pipes-for-network-interprocess-communication.md @@ -1,13 +1,7 @@ --- title: "How to: Use Named Pipes for Network Interprocess Communication" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -21,13 +15,8 @@ helpviewer_keywords: - "impersonation [.NET Framework], named pipes" - "full duplex communcation [.NET Framework], named pipes" ms.assetid: 4e4d7e64-9f1b-4026-98f7-20488ac7b42b -caps.latest.revision: 16 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Use Named Pipes for Network Interprocess Communication Named pipes provide interprocess communication between a pipe server and one or more pipe clients. They offer more functionality than anonymous pipes, which provide interprocess communication on a local computer. Named pipes support full duplex communication over a network and multiple server instances, message-based communication, and client impersonation, which enables connecting processes to use their own set of permissions on remote servers. diff --git a/docs/standard/io/how-to-write-characters-to-a-string.md b/docs/standard/io/how-to-write-characters-to-a-string.md index bc87da38ba4bd..44a8287e52ba1 100644 --- a/docs/standard/io/how-to-write-characters-to-a-string.md +++ b/docs/standard/io/how-to-write-characters-to-a-string.md @@ -1,13 +1,7 @@ --- title: "How to: Write Characters to a String" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -17,13 +11,8 @@ helpviewer_keywords: - "streams, writing characters to strings" - "I/O [.NET Framework], writing characters to strings" ms.assetid: 1222cbeb-0760-44bf-9888-914a2a37174b -caps.latest.revision: 17 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Write Characters to a String The following code examples write characters synchronously and asynchronously from a character array into a string. diff --git a/docs/standard/io/how-to-write-text-to-a-file.md b/docs/standard/io/how-to-write-text-to-a-file.md index d9c44a1be4f24..071b57b3b8916 100644 --- a/docs/standard/io/how-to-write-text-to-a-file.md +++ b/docs/standard/io/how-to-write-text-to-a-file.md @@ -1,13 +1,7 @@ --- title: "How to: Write Text to a File" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -17,13 +11,8 @@ helpviewer_keywords: - "streams, writing text to files" - "data streams, writing text to files" ms.assetid: 060cbe06-2adf-4337-9e7b-961a5c840208 -caps.latest.revision: 29 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Write Text to a File This topic shows different ways you can write text to a file for .NET Framework applications or [!INCLUDE[win8_appname_long](../../../includes/win8-appname-long-md.md)] apps. The following classes and methods are typically used to write text to a file: diff --git a/docs/standard/io/index.md b/docs/standard/io/index.md index 7acdfa0825f86..3351608417207 100644 --- a/docs/standard/io/index.md +++ b/docs/standard/io/index.md @@ -1,13 +1,7 @@ --- title: "File and Stream I/O" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "IO namespace" - "files, I/O" @@ -16,13 +10,8 @@ helpviewer_keywords: - "streams, I/O" - "data streams, I/O" ms.assetid: 4f4a33a9-66b7-4cd7-a285-4ad3e4276cd2 -caps.latest.revision: 33 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # File and Stream I/O File and stream I/O (input/output) refers to the transfer of data either to or from a storage medium. In the .NET Framework, the `System.IO` namespaces contain types that enable reading and writing, both synchronously and asynchronously, on data streams and files. These namespaces also contain types that perform compression and decompression on files, and types that enable communication through pipes and serial ports. diff --git a/docs/standard/io/isolated-storage.md b/docs/standard/io/isolated-storage.md index 096ff75228af5..7f3a755ef9ebb 100644 --- a/docs/standard/io/isolated-storage.md +++ b/docs/standard/io/isolated-storage.md @@ -1,13 +1,7 @@ --- title: "Isolated Storage" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "data storage using isolated storage" - "stores" @@ -24,13 +18,8 @@ helpviewer_keywords: - "data storage using isolated storage, options" - "isolation" ms.assetid: aff939d7-9e49-46f2-a8cd-938d3020e94e -caps.latest.revision: 32 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Isolated Storage For [!INCLUDE[desktop_appname](../../../includes/desktop-appname-md.md)] apps, isolated storage is a data storage mechanism that provides isolation and safety by defining standardized ways of associating code with saved data. Standardization provides other benefits as well. Administrators can use tools designed to manipulate isolated storage to configure file storage space, set security policies, and delete unused data. With isolated storage, your code no longer needs unique paths to specify safe locations in the file system, and data is protected from other applications that only have isolated storage access. Hard-coded information that indicates where an application's storage area is located is unnecessary. diff --git a/docs/standard/io/memory-mapped-files.md b/docs/standard/io/memory-mapped-files.md index e8c9389c4d286..34850ebcf8191 100644 --- a/docs/standard/io/memory-mapped-files.md +++ b/docs/standard/io/memory-mapped-files.md @@ -1,13 +1,7 @@ --- title: "Memory-Mapped Files" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -15,13 +9,8 @@ helpviewer_keywords: - "memory-mapped files" - "inter-process communiation" ms.assetid: a483d1b5-64aa-45b6-86ef-11b859f7f02e -caps.latest.revision: 24 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Memory-Mapped Files A memory-mapped file contains the contents of a file in virtual memory. This mapping between a file and memory space enables an application, including multiple processes, to modify the file by reading and writing directly to the memory. Starting with the [!INCLUDE[net_v40_long](../../../includes/net-v40-long-md.md)], you can use managed code to access memory-mapped files in the same way that native Windows functions access memory-mapped files, as described in [Managing Memory-Mapped Files](https://msdn.microsoft.com/library/ms810613.aspx). diff --git a/docs/standard/io/pipe-operations.md b/docs/standard/io/pipe-operations.md index 6cea60457cf9c..71e2c8aba640f 100644 --- a/docs/standard/io/pipe-operations.md +++ b/docs/standard/io/pipe-operations.md @@ -1,26 +1,15 @@ --- title: "Pipe Operations in the .NET Framework" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "pipes [.NET Framework]" - "pipe operations [.NET Framework]" - "interprocess communication [.NET Framework], pipes" - "I/O [.NET Framework], pipes" ms.assetid: 7b964ebd-7a4f-4d28-8194-7841f9e4c702 -caps.latest.revision: 8 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Pipe Operations in the .NET Framework Pipes provide a means for interprocess communication. There are two types of pipes: diff --git a/docs/standard/io/types-of-isolation.md b/docs/standard/io/types-of-isolation.md index 85dd47b879468..b65b1fa9f0433 100644 --- a/docs/standard/io/types-of-isolation.md +++ b/docs/standard/io/types-of-isolation.md @@ -1,13 +1,7 @@ --- title: "Types of Isolation" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -24,13 +18,8 @@ helpviewer_keywords: - "isolated storage, types" - "user authentication, isolated storage" ms.assetid: 14812988-473f-44ae-b75f-fd5c2f21fb7b -caps.latest.revision: 16 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Types of Isolation Access to isolated storage is always restricted to the user who created it. To implement this type of isolation, the common language runtime uses the same notion of user identity that the operating system recognizes, which is the identity associated with the process in which the code is running when the store is opened. This identity is an authenticated user identity, but impersonation can cause the identity of the current user to change dynamically. diff --git a/docs/standard/language-independence-and-language-independent-components.md b/docs/standard/language-independence-and-language-independent-components.md index acdada421bbcc..acee1d565f40f 100644 --- a/docs/standard/language-independence-and-language-independent-components.md +++ b/docs/standard/language-independence-and-language-independent-components.md @@ -1,13 +1,7 @@ --- title: "Language Independence and Language-Independent Components" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -19,13 +13,8 @@ helpviewer_keywords: - "runtime, language interoperability" - "common language runtime, language interoperability" ms.assetid: 4f0b77d0-4844-464f-af73-6e06bedeafc6 -caps.latest.revision: 35 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Language Independence and Language-Independent Components The .NET Framework is language independent. This means that, as a developer, you can develop in one of the many languages that target the .NET Framework, such as C#, C++/CLI, Eiffel, F#, IronPython, IronRuby, PowerBuilder, Visual Basic, Visual COBOL, and Windows PowerShell. You can access the types and members of class libraries developed for the .NET Framework without having to know the language in which they were originally written and without having to follow any of the original language's conventions. If you are a component developer, your component can be accessed by any .NET Framework app regardless of its language. diff --git a/docs/standard/language-independence.md b/docs/standard/language-independence.md index e02cfc79ae8e1..b89ea5677c271 100644 --- a/docs/standard/language-independence.md +++ b/docs/standard/language-independence.md @@ -1,23 +1,13 @@ --- title: Language independence and language-independent components description: Learn how you can develop in one of many supported languages in .NET, such as C#, C++/CLI, F#, IronPython, VB, Visual COBOL, and PowerShell. -keywords: .NET, .NET Core -author: dotnet-bot -ms.author: dotnetcontent ms.date: 07/22/2016 -ms.topic: article dev_langs: - "csharp" - "vb" -ms.prod: .net ms.technology: dotnet-standard -ms.devlang: dotnet ms.assetid: 2dbed1bc-86f5-43cd-9a57-adbb1c5efba4 -ms.workload: - - "dotnet" - - "dotnetcore" --- - # Language independence and language-independent components .NET is language independent. This means that, as a developer, you can develop in one of the many languages that target .NET implementations, such as C#, F#, and Visual Basic. You can access the types and members of class libraries developed for .NET implementations without having to know the language in which they were originally written and without having to follow any of the original language's conventions. If you are a component developer, your component can be accessed by any .NET app regardless of its language. diff --git a/docs/standard/managed-code.md b/docs/standard/managed-code.md index c46314d6500cb..d64ffdc15d158 100644 --- a/docs/standard/managed-code.md +++ b/docs/standard/managed-code.md @@ -1,20 +1,12 @@ --- title: What is managed code? description: Learn how managed code is code whose execution is managed by a runtime, the Common Language Runtime (CLR). -keywords: .NET, .NET Core author: blackdwarf ms.author: mairaw ms.date: 06/20/2016 -ms.topic: article -ms.prod: .net ms.technology: dotnet-standard -ms.devlang: dotnet ms.assetid: 20bb7ea8-192e-4a96-8ef3-e10e1950fd3d -ms.workload: - - "dotnet" - - "dotnetcore" --- - # What is "managed code"? When working with .NET Framework, you will often encounter the term "managed code". This document will explain what this term means and additional information around it. diff --git a/docs/standard/managed-execution-process.md b/docs/standard/managed-execution-process.md index ef491cfdffe8c..cd53f688c5951 100644 --- a/docs/standard/managed-execution-process.md +++ b/docs/standard/managed-execution-process.md @@ -1,13 +1,7 @@ --- title: "Managed Execution Process" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "source code language" - "code, managed execution process" @@ -16,13 +10,8 @@ helpviewer_keywords: - "managed execution process" - "common language runtime, managed execution process" ms.assetid: 476b03dc-2b12-49a7-b067-41caeaa2f533 -caps.latest.revision: 20 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Managed Execution Process The managed execution process includes the following steps, which are discussed in detail later in this topic: diff --git a/docs/standard/metadata-and-self-describing-components.md b/docs/standard/metadata-and-self-describing-components.md index 027f034352431..c64ace06b0694 100644 --- a/docs/standard/metadata-and-self-describing-components.md +++ b/docs/standard/metadata-and-self-describing-components.md @@ -1,13 +1,7 @@ --- title: "Metadata and Self-Describing Components" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -21,13 +15,8 @@ helpviewer_keywords: - "PE files, metadata" - "components [.NET Framework], metadata" ms.assetid: 3dd13c5d-a508-455b-8dce-0a852882a5a7 -caps.latest.revision: 10 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Metadata and Self-Describing Components In the past, a software component (.exe or .dll) that was written in one language could not easily use a software component that was written in another language. COM provided a step towards solving this problem. The .NET Framework makes component interoperation even easier by allowing compilers to emit additional declarative information into all modules and assemblies. This information, called metadata, helps components to interact seamlessly. diff --git a/docs/standard/microservices-architecture/architect-microservice-container-applications/asynchronous-message-based-communication.md b/docs/standard/microservices-architecture/architect-microservice-container-applications/asynchronous-message-based-communication.md index 3ba1be15417b2..f3e88be167e8d 100644 --- a/docs/standard/microservices-architecture/architect-microservice-container-applications/asynchronous-message-based-communication.md +++ b/docs/standard/microservices-architecture/architect-microservice-container-applications/asynchronous-message-based-communication.md @@ -1,16 +1,9 @@ --- title: Asynchronous message-based communication description: .NET Microservices Architecture for Containerized .NET Applications | Asynchronous message-based communication -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Asynchronous message-based communication diff --git a/docs/standard/microservices-architecture/architect-microservice-container-applications/communication-in-microservice-architecture.md b/docs/standard/microservices-architecture/architect-microservice-container-applications/communication-in-microservice-architecture.md index 2ca0dfe44b819..c1ef645f6fa86 100644 --- a/docs/standard/microservices-architecture/architect-microservice-container-applications/communication-in-microservice-architecture.md +++ b/docs/standard/microservices-architecture/architect-microservice-container-applications/communication-in-microservice-architecture.md @@ -1,16 +1,9 @@ --- title: Communication in a microservice architecture description: .NET Microservices Architecture for Containerized .NET Applications | Communication in a microservice architecture architectures -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 10/18/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Communication in a microservice architecture diff --git a/docs/standard/microservices-architecture/architect-microservice-container-applications/containerize-monolithic-applications.md b/docs/standard/microservices-architecture/architect-microservice-container-applications/containerize-monolithic-applications.md index 950931036a61a..8ec121da61387 100644 --- a/docs/standard/microservices-architecture/architect-microservice-container-applications/containerize-monolithic-applications.md +++ b/docs/standard/microservices-architecture/architect-microservice-container-applications/containerize-monolithic-applications.md @@ -1,16 +1,9 @@ --- title: Containerizing monolithic applications description: .NET Microservices Architecture for Containerized .NET Applications | Containerizing monolithic applications -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Containerizing monolithic applications diff --git a/docs/standard/microservices-architecture/architect-microservice-container-applications/data-sovereignty-per-microservice.md b/docs/standard/microservices-architecture/architect-microservice-container-applications/data-sovereignty-per-microservice.md index 5d1f5ffff3346..abf2ad40bcf2e 100644 --- a/docs/standard/microservices-architecture/architect-microservice-container-applications/data-sovereignty-per-microservice.md +++ b/docs/standard/microservices-architecture/architect-microservice-container-applications/data-sovereignty-per-microservice.md @@ -1,16 +1,9 @@ --- title: Data sovereignty per microservice description: .NET Microservices Architecture for Containerized .NET Applications | Data sovereignty per microservice -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Data sovereignty per microservice diff --git a/docs/standard/microservices-architecture/architect-microservice-container-applications/direct-client-to-microservice-communication-versus-the-API-Gateway-pattern.md b/docs/standard/microservices-architecture/architect-microservice-container-applications/direct-client-to-microservice-communication-versus-the-API-Gateway-pattern.md index a8466cccde778..7f8b4c8adc4ba 100644 --- a/docs/standard/microservices-architecture/architect-microservice-container-applications/direct-client-to-microservice-communication-versus-the-API-Gateway-pattern.md +++ b/docs/standard/microservices-architecture/architect-microservice-container-applications/direct-client-to-microservice-communication-versus-the-API-Gateway-pattern.md @@ -1,16 +1,9 @@ --- title: Direct client-to-microservice communication versus the API Gateway pattern description: .NET Microservices Architecture for Containerized .NET Applications | Direct client-to-microservice communication versus the API Gateway pattern -keywords: Docker, Microservices, ASP.NET, Container, API Gateway author: CESARDELATORRE ms.author: wiwagn ms.date: 10/18/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Direct client-to-microservice communication versus the API Gateway pattern diff --git a/docs/standard/microservices-architecture/architect-microservice-container-applications/distributed-data-management.md b/docs/standard/microservices-architecture/architect-microservice-container-applications/distributed-data-management.md index adf4ab4daa936..5c4dcde97b709 100644 --- a/docs/standard/microservices-architecture/architect-microservice-container-applications/distributed-data-management.md +++ b/docs/standard/microservices-architecture/architect-microservice-container-applications/distributed-data-management.md @@ -1,16 +1,9 @@ --- title: Challenges and solutions for distributed data management description: .NET Microservices Architecture for Containerized .NET Applications | Challenges and solutions for distributed data management -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Challenges and solutions for distributed data management diff --git a/docs/standard/microservices-architecture/architect-microservice-container-applications/docker-application-state-data.md b/docs/standard/microservices-architecture/architect-microservice-container-applications/docker-application-state-data.md index 93ee1826d24dc..4377bae1a8cc1 100644 --- a/docs/standard/microservices-architecture/architect-microservice-container-applications/docker-application-state-data.md +++ b/docs/standard/microservices-architecture/architect-microservice-container-applications/docker-application-state-data.md @@ -1,16 +1,9 @@ --- title: State and data in Docker applications description: .NET Microservices Architecture for Containerized .NET Applications | State and data in Docker applications -keywords: Docker, Microservices, ASP.NET, Container, SQL, CosmosDB, Docker author: CESARDELATORRE ms.author: wiwagn ms.date: 10/18/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # State and data in Docker applications diff --git a/docs/standard/microservices-architecture/architect-microservice-container-applications/identify-microservice-domain-model-boundaries.md b/docs/standard/microservices-architecture/architect-microservice-container-applications/identify-microservice-domain-model-boundaries.md index 9cd94a25c45d1..cfcf873d0488b 100644 --- a/docs/standard/microservices-architecture/architect-microservice-container-applications/identify-microservice-domain-model-boundaries.md +++ b/docs/standard/microservices-architecture/architect-microservice-container-applications/identify-microservice-domain-model-boundaries.md @@ -1,16 +1,9 @@ --- title: Identifying domain-model boundaries for each microservice description: .NET Microservices Architecture for Containerized .NET Applications | Identifying domain-model boundaries for each microservice -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Identify domain-model boundaries for each microservice diff --git a/docs/standard/microservices-architecture/architect-microservice-container-applications/index.md b/docs/standard/microservices-architecture/architect-microservice-container-applications/index.md index 22b50dc4625d4..3c696461d103f 100644 --- a/docs/standard/microservices-architecture/architect-microservice-container-applications/index.md +++ b/docs/standard/microservices-architecture/architect-microservice-container-applications/index.md @@ -1,16 +1,9 @@ --- title: Architecting Container and Microservice Based Applications description: .NET Microservices Architecture for Containerized .NET Applications | Architecting Container and Microservice Based Applications -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Architecting Container- and Microservice-Based Applications diff --git a/docs/standard/microservices-architecture/architect-microservice-container-applications/logical-versus-physical-architecture.md b/docs/standard/microservices-architecture/architect-microservice-container-applications/logical-versus-physical-architecture.md index ad7ca2c5efcc0..ecd25f5167c7c 100644 --- a/docs/standard/microservices-architecture/architect-microservice-container-applications/logical-versus-physical-architecture.md +++ b/docs/standard/microservices-architecture/architect-microservice-container-applications/logical-versus-physical-architecture.md @@ -1,16 +1,9 @@ --- title: Logical architecture versus physical architecture description: .NET Microservices Architecture for Containerized .NET Applications | Logical architecture versus physical architecture -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Logical architecture versus physical architecture diff --git a/docs/standard/microservices-architecture/architect-microservice-container-applications/maintain-microservice-apis.md b/docs/standard/microservices-architecture/architect-microservice-container-applications/maintain-microservice-apis.md index 0945351100d24..29017556c22cc 100644 --- a/docs/standard/microservices-architecture/architect-microservice-container-applications/maintain-microservice-apis.md +++ b/docs/standard/microservices-architecture/architect-microservice-container-applications/maintain-microservice-apis.md @@ -1,16 +1,9 @@ --- title: Creating, evolving, and versioning microservice APIs and contracts description: .NET Microservices Architecture for Containerized .NET Applications | Creating, evolving, and versioning microservice APIs and contracts -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Creating, evolving, and versioning microservice APIs and contracts diff --git a/docs/standard/microservices-architecture/architect-microservice-container-applications/microservice-based-composite-ui-shape-layout.md b/docs/standard/microservices-architecture/architect-microservice-container-applications/microservice-based-composite-ui-shape-layout.md index f24c813781641..f42fa683c5d76 100644 --- a/docs/standard/microservices-architecture/architect-microservice-container-applications/microservice-based-composite-ui-shape-layout.md +++ b/docs/standard/microservices-architecture/architect-microservice-container-applications/microservice-based-composite-ui-shape-layout.md @@ -1,16 +1,9 @@ --- title: Creating composite UI based on microservices, including visual UI shape and layout generated by multiple microservices description: .NET Microservices Architecture for Containerized .NET Applications | Creating composite UI based on microservices, including visual UI shape and layout generated by multiple microservices -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Creating composite UI based on microservices, including visual UI shape and layout generated by multiple microservices diff --git a/docs/standard/microservices-architecture/architect-microservice-container-applications/microservices-addressability-service-registry.md b/docs/standard/microservices-architecture/architect-microservice-container-applications/microservices-addressability-service-registry.md index 030b010095274..5ba0f955c5f0a 100644 --- a/docs/standard/microservices-architecture/architect-microservice-container-applications/microservices-addressability-service-registry.md +++ b/docs/standard/microservices-architecture/architect-microservice-container-applications/microservices-addressability-service-registry.md @@ -1,16 +1,9 @@ --- title: Microservices addressability and the service registry description: .NET Microservices Architecture for Containerized .NET Applications | Microservices addressability and the service registry -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Microservices addressability and the service registry diff --git a/docs/standard/microservices-architecture/architect-microservice-container-applications/microservices-architecture.md b/docs/standard/microservices-architecture/architect-microservice-container-applications/microservices-architecture.md index a533ef9691d11..0fa26f5b4f922 100644 --- a/docs/standard/microservices-architecture/architect-microservice-container-applications/microservices-architecture.md +++ b/docs/standard/microservices-architecture/architect-microservice-container-applications/microservices-architecture.md @@ -1,16 +1,9 @@ --- title: Microservices architecture description: .NET Microservices Architecture for Containerized .NET Applications | Microservices architecture -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Microservices architecture diff --git a/docs/standard/microservices-architecture/architect-microservice-container-applications/resilient-high-availability-microservices.md b/docs/standard/microservices-architecture/architect-microservice-container-applications/resilient-high-availability-microservices.md index 31e0ce844e4d2..c0334087ec27b 100644 --- a/docs/standard/microservices-architecture/architect-microservice-container-applications/resilient-high-availability-microservices.md +++ b/docs/standard/microservices-architecture/architect-microservice-container-applications/resilient-high-availability-microservices.md @@ -1,16 +1,9 @@ --- title: Resiliency and high availability in microservices description: .NET Microservices Architecture for Containerized .NET Applications | Resiliency and high availability in microservices -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Resiliency and high availability in microservices diff --git a/docs/standard/microservices-architecture/architect-microservice-container-applications/scalable-available-multi-container-microservice-applications.md b/docs/standard/microservices-architecture/architect-microservice-container-applications/scalable-available-multi-container-microservice-applications.md index f29a7e2d74cc6..ee9d7fc817cf3 100644 --- a/docs/standard/microservices-architecture/architect-microservice-container-applications/scalable-available-multi-container-microservice-applications.md +++ b/docs/standard/microservices-architecture/architect-microservice-container-applications/scalable-available-multi-container-microservice-applications.md @@ -1,16 +1,9 @@ --- title: Orchestrating microservices and multi-container applications for high scalability and availability description: .NET Microservices Architecture for Containerized .NET Applications | Orchestrating microservices and multi-container applications for high scalability and availability -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 10/18/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Orchestrating microservices and multi-container applications for high scalability and availability diff --git a/docs/standard/microservices-architecture/architect-microservice-container-applications/service-oriented-architecture.md b/docs/standard/microservices-architecture/architect-microservice-container-applications/service-oriented-architecture.md index 01dd56f394e8c..b5f5ab5ac0be0 100644 --- a/docs/standard/microservices-architecture/architect-microservice-container-applications/service-oriented-architecture.md +++ b/docs/standard/microservices-architecture/architect-microservice-container-applications/service-oriented-architecture.md @@ -1,16 +1,9 @@ --- title: Service-oriented architecture description: .NET Microservices Architecture for Containerized .NET Applications | Service-oriented architecture -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Service-oriented architecture diff --git a/docs/standard/microservices-architecture/architect-microservice-container-applications/using-azure-service-fabric.md b/docs/standard/microservices-architecture/architect-microservice-container-applications/using-azure-service-fabric.md index 322c2113d4185..7b18fa8a5e049 100644 --- a/docs/standard/microservices-architecture/architect-microservice-container-applications/using-azure-service-fabric.md +++ b/docs/standard/microservices-architecture/architect-microservice-container-applications/using-azure-service-fabric.md @@ -1,16 +1,9 @@ --- title: Using Azure Service Fabric description: .NET Microservices Architecture for Containerized .NET Applications | Using Azure Service Fabric -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 10/18/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Using Azure Service Fabric diff --git a/docs/standard/microservices-architecture/container-docker-introduction/docker-containers-images-registries.md b/docs/standard/microservices-architecture/container-docker-introduction/docker-containers-images-registries.md index a3a0bf6c14576..c35f598a45c42 100644 --- a/docs/standard/microservices-architecture/container-docker-introduction/docker-containers-images-registries.md +++ b/docs/standard/microservices-architecture/container-docker-introduction/docker-containers-images-registries.md @@ -1,16 +1,9 @@ --- title: Docker containers, images, and registries description: .NET Microservices Architecture for Containerized .NET Applications | Docker containers, images, and registries -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Docker containers, images, and registries diff --git a/docs/standard/microservices-architecture/container-docker-introduction/docker-defined.md b/docs/standard/microservices-architecture/container-docker-introduction/docker-defined.md index 129148a2c2fa1..95c3b4ea64c9f 100644 --- a/docs/standard/microservices-architecture/container-docker-introduction/docker-defined.md +++ b/docs/standard/microservices-architecture/container-docker-introduction/docker-defined.md @@ -1,16 +1,9 @@ --- title: What is Docker? description: .NET Microservices Architecture for Containerized .NET Applications | What is Docker? -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # What is Docker? diff --git a/docs/standard/microservices-architecture/container-docker-introduction/docker-terminology.md b/docs/standard/microservices-architecture/container-docker-introduction/docker-terminology.md index 83af72ba00ab3..95431935dbeb5 100644 --- a/docs/standard/microservices-architecture/container-docker-introduction/docker-terminology.md +++ b/docs/standard/microservices-architecture/container-docker-introduction/docker-terminology.md @@ -1,16 +1,9 @@ --- title: Docker terminology description: .NET Microservices Architecture for Containerized .NET Applications | Docker terminology -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Docker terminology diff --git a/docs/standard/microservices-architecture/container-docker-introduction/index.md b/docs/standard/microservices-architecture/container-docker-introduction/index.md index 8fdc00cd7b6d6..bd7a13d4a53bd 100644 --- a/docs/standard/microservices-architecture/container-docker-introduction/index.md +++ b/docs/standard/microservices-architecture/container-docker-introduction/index.md @@ -1,16 +1,9 @@ --- title: Introduction to Containers and Docker description: .NET Microservices Architecture for Containerized .NET Applications | Introduction to Containers and Docker -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Introduction to Containers and Docker diff --git a/docs/standard/microservices-architecture/containerize-net-framework-applications/index.md b/docs/standard/microservices-architecture/containerize-net-framework-applications/index.md index 0b022c86a26b9..cb1d772b9fdd3 100644 --- a/docs/standard/microservices-architecture/containerize-net-framework-applications/index.md +++ b/docs/standard/microservices-architecture/containerize-net-framework-applications/index.md @@ -1,16 +1,9 @@ --- title: Migrating Legacy Monolithic .NET Framework Applications to Windows Containers description: .NET Microservices Architecture for Containerized .NET Applications | Migrating Legacy Monolithic .NET Framework Applications to Windows Containers -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Migrating Legacy Monolithic .NET Framework Applications to Windows Containers diff --git a/docs/standard/microservices-architecture/docker-application-development-process/docker-app-development-workflow.md b/docs/standard/microservices-architecture/docker-application-development-process/docker-app-development-workflow.md index 6ce0926f820d9..2c1fcfedc87c0 100644 --- a/docs/standard/microservices-architecture/docker-application-development-process/docker-app-development-workflow.md +++ b/docs/standard/microservices-architecture/docker-application-development-process/docker-app-development-workflow.md @@ -1,16 +1,9 @@ --- title: Development workflow for Docker apps description: .NET Microservices Architecture for Containerized .NET Applications | Development workflow for Docker apps -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 10/18/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Development workflow for Docker apps diff --git a/docs/standard/microservices-architecture/docker-application-development-process/index.md b/docs/standard/microservices-architecture/docker-application-development-process/index.md index abcd8e2bf4ef1..03435632f3013 100644 --- a/docs/standard/microservices-architecture/docker-application-development-process/index.md +++ b/docs/standard/microservices-architecture/docker-application-development-process/index.md @@ -1,16 +1,9 @@ --- title: Development Process for Docker Based Applications description: .NET Microservices Architecture for Containerized .NET Applications | Development Process for Docker Based Applications -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 10/18/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Development Process for Docker-Based Applications diff --git a/docs/standard/microservices-architecture/implement-resilient-applications/handle-partial-failure.md b/docs/standard/microservices-architecture/implement-resilient-applications/handle-partial-failure.md index d87ff3b18fe7b..2d790519684f2 100644 --- a/docs/standard/microservices-architecture/implement-resilient-applications/handle-partial-failure.md +++ b/docs/standard/microservices-architecture/implement-resilient-applications/handle-partial-failure.md @@ -1,16 +1,9 @@ --- title: Handling partial failure description: .NET Microservices Architecture for Containerized .NET Applications | Handling partial failure -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Handling partial failure diff --git a/docs/standard/microservices-architecture/implement-resilient-applications/implement-circuit-breaker-pattern.md b/docs/standard/microservices-architecture/implement-resilient-applications/implement-circuit-breaker-pattern.md index d4f625d2e4165..2cfaaf598d6fb 100644 --- a/docs/standard/microservices-architecture/implement-resilient-applications/implement-circuit-breaker-pattern.md +++ b/docs/standard/microservices-architecture/implement-resilient-applications/implement-circuit-breaker-pattern.md @@ -1,16 +1,9 @@ --- title: Implementing the Circuit Breaker pattern description: .NET Microservices Architecture for Containerized .NET Applications | Implementing the Circuit Breaker pattern -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 11/12/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Implementing the Circuit Breaker pattern diff --git a/docs/standard/microservices-architecture/implement-resilient-applications/implement-custom-http-call-retries-exponential-backoff.md b/docs/standard/microservices-architecture/implement-resilient-applications/implement-custom-http-call-retries-exponential-backoff.md index 8bae74b495d1a..997f0e9f106e1 100644 --- a/docs/standard/microservices-architecture/implement-resilient-applications/implement-custom-http-call-retries-exponential-backoff.md +++ b/docs/standard/microservices-architecture/implement-resilient-applications/implement-custom-http-call-retries-exponential-backoff.md @@ -1,16 +1,9 @@ --- title: Implementing custom HTTP call retries with exponential backoff description: .NET Microservices Architecture for Containerized .NET Applications | Implementing custom HTTP call retries with exponential backoff -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Implementing custom HTTP call retries with exponential backoff diff --git a/docs/standard/microservices-architecture/implement-resilient-applications/implement-http-call-retries-exponential-backoff-polly.md b/docs/standard/microservices-architecture/implement-resilient-applications/implement-http-call-retries-exponential-backoff-polly.md index 18ecc440adfa4..79c93cfa2f758 100644 --- a/docs/standard/microservices-architecture/implement-resilient-applications/implement-http-call-retries-exponential-backoff-polly.md +++ b/docs/standard/microservices-architecture/implement-resilient-applications/implement-http-call-retries-exponential-backoff-polly.md @@ -1,16 +1,9 @@ --- title: Implementing HTTP call retries with exponential backoff with Polly description: .NET Microservices Architecture for Containerized .NET Applications | Implementing HTTP call retries with exponential backoff with Polly -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Implementing HTTP call retries with exponential backoff with Polly diff --git a/docs/standard/microservices-architecture/implement-resilient-applications/implement-resilient-entity-framework-core-sql-connections.md b/docs/standard/microservices-architecture/implement-resilient-applications/implement-resilient-entity-framework-core-sql-connections.md index 61dce71ba5136..e8a0d80888d0c 100644 --- a/docs/standard/microservices-architecture/implement-resilient-applications/implement-resilient-entity-framework-core-sql-connections.md +++ b/docs/standard/microservices-architecture/implement-resilient-applications/implement-resilient-entity-framework-core-sql-connections.md @@ -1,16 +1,9 @@ --- title: Implementing resilient Entity Framework Core SQL connections description: .NET Microservices Architecture for Containerized .NET Applications | Implementing resilient Entity Framework Core SQL connections -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Implementing resilient Entity Framework Core SQL connections diff --git a/docs/standard/microservices-architecture/implement-resilient-applications/implement-retries-exponential-backoff.md b/docs/standard/microservices-architecture/implement-resilient-applications/implement-retries-exponential-backoff.md index e7a5699075cd9..fd14e24328999 100644 --- a/docs/standard/microservices-architecture/implement-resilient-applications/implement-retries-exponential-backoff.md +++ b/docs/standard/microservices-architecture/implement-resilient-applications/implement-retries-exponential-backoff.md @@ -1,16 +1,9 @@ --- title: Implementing retries with exponential backoff description: .NET Microservices Architecture for Containerized .NET Applications | Implementing retries with exponential backoff -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Implementing retries with exponential backoff diff --git a/docs/standard/microservices-architecture/implement-resilient-applications/index.md b/docs/standard/microservices-architecture/implement-resilient-applications/index.md index 0a30e754b4601..460b704f0b9f3 100644 --- a/docs/standard/microservices-architecture/implement-resilient-applications/index.md +++ b/docs/standard/microservices-architecture/implement-resilient-applications/index.md @@ -1,16 +1,9 @@ --- title: Implementing Resilient Applications description: .NET Microservices Architecture for Containerized .NET Applications | Implementing Resilient Applications -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Implementing Resilient Applications diff --git a/docs/standard/microservices-architecture/implement-resilient-applications/monitor-app-health.md b/docs/standard/microservices-architecture/implement-resilient-applications/monitor-app-health.md index a5b59745434ed..e2bd9beaa1f57 100644 --- a/docs/standard/microservices-architecture/implement-resilient-applications/monitor-app-health.md +++ b/docs/standard/microservices-architecture/implement-resilient-applications/monitor-app-health.md @@ -1,16 +1,9 @@ --- title: Health monitoring description: .NET Microservices Architecture for Containerized .NET Applications | Health monitoring -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 12/11/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Health monitoring diff --git a/docs/standard/microservices-architecture/implement-resilient-applications/partial-failure-strategies.md b/docs/standard/microservices-architecture/implement-resilient-applications/partial-failure-strategies.md index e0d8e2b7c610b..bdd768b921820 100644 --- a/docs/standard/microservices-architecture/implement-resilient-applications/partial-failure-strategies.md +++ b/docs/standard/microservices-architecture/implement-resilient-applications/partial-failure-strategies.md @@ -1,16 +1,9 @@ --- title: Strategies for handling partial failure description: .NET Microservices Architecture for Containerized .NET Applications | Strategies for handling partial failure -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Strategies for handling partial failure diff --git a/docs/standard/microservices-architecture/index.md b/docs/standard/microservices-architecture/index.md index d6bbc177d6366..687d97acdb3a8 100644 --- a/docs/standard/microservices-architecture/index.md +++ b/docs/standard/microservices-architecture/index.md @@ -1,16 +1,9 @@ --- title: .NET Microservices. Architecture for Containerized .NET Applications description: .NET Microservices Architecture for Containerized .NET Applications | Front Matter -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- ![](./media/cover.png) diff --git a/docs/standard/microservices-architecture/key-takeaways.md b/docs/standard/microservices-architecture/key-takeaways.md index 5e04ba2477cf7..5ffbfa088e4f9 100644 --- a/docs/standard/microservices-architecture/key-takeaways.md +++ b/docs/standard/microservices-architecture/key-takeaways.md @@ -1,16 +1,9 @@ --- title: key takeaways description: .NET Microservices Architecture for Containerized .NET Applications | key takeaways -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Key Takeaways diff --git a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/apply-simplified-microservice-cqrs-ddd-patterns.md b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/apply-simplified-microservice-cqrs-ddd-patterns.md index 95d41a254e101..ef71a4e0ce6a3 100644 --- a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/apply-simplified-microservice-cqrs-ddd-patterns.md +++ b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/apply-simplified-microservice-cqrs-ddd-patterns.md @@ -1,16 +1,9 @@ --- title: Applying simplified CQRS and DDD patterns in a microservice description: .NET Microservices Architecture for Containerized .NET Applications | Applying simplified CQRS and DDD patterns in a microservice -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Applying simplified CQRS and DDD patterns in a microservice diff --git a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/client-side-validation.md b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/client-side-validation.md index d3d1baf61d064..9ab771be0f3c1 100644 --- a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/client-side-validation.md +++ b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/client-side-validation.md @@ -1,16 +1,9 @@ --- title: Client-side validation (validation in the presentation layers) description: .NET Microservices Architecture for Containerized .NET Applications | Client-side validation (validation in the presentation layers) -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Client-side validation (validation in the presentation layers) diff --git a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/cqrs-microservice-reads.md b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/cqrs-microservice-reads.md index 489cca758e8c0..e7d817267370e 100644 --- a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/cqrs-microservice-reads.md +++ b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/cqrs-microservice-reads.md @@ -1,16 +1,9 @@ --- title: Implementing reads/queries in a CQRS microservice description: .NET Microservices Architecture for Containerized .NET Applications | Implementing reads/queries in a CQRS microservice -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 11/02/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Implementing reads/queries in a CQRS microservice diff --git a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/ddd-oriented-microservice.md b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/ddd-oriented-microservice.md index 431609c7b96db..c542ccc0e41e4 100644 --- a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/ddd-oriented-microservice.md +++ b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/ddd-oriented-microservice.md @@ -1,16 +1,9 @@ --- title: Designing a DDD-oriented microservice description: .NET Microservices Architecture for Containerized .NET Applications | Designing a DDD-oriented microservice -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 11/06/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Designing a DDD-oriented microservice diff --git a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/domain-events-design-implementation.md b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/domain-events-design-implementation.md index ef409e97b3690..f2ce010c81dcb 100644 --- a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/domain-events-design-implementation.md +++ b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/domain-events-design-implementation.md @@ -1,16 +1,9 @@ --- title: Domain events. design and implementation description: .NET Microservices Architecture for Containerized .NET Applications | Domain events, design and implementation -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 12/11/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Domain events: design and implementation diff --git a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/domain-model-layer-validations.md b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/domain-model-layer-validations.md index f6ebdc018cd8f..edd894c113834 100644 --- a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/domain-model-layer-validations.md +++ b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/domain-model-layer-validations.md @@ -1,16 +1,9 @@ --- title: Designing validations in the domain model layer description: .NET Microservices Architecture for Containerized .NET Applications | Designing validations in the domain model layer -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Designing validations in the domain model layer diff --git a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/enumeration-classes-over-enum-types.md b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/enumeration-classes-over-enum-types.md index 2a1d93a19bfc9..13fa48fb7b2e7 100644 --- a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/enumeration-classes-over-enum-types.md +++ b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/enumeration-classes-over-enum-types.md @@ -1,16 +1,9 @@ --- title: Using Enumeration classes instead of enum types description: .NET Microservices Architecture for Containerized .NET Applications | Using Enumeration classes instead of enum types -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 12/11/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Using enumeration classes instead of enum types diff --git a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/eshoponcontainers-cqrs-ddd-microservice.md b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/eshoponcontainers-cqrs-ddd-microservice.md index 4ecc0b4dbe905..551f22069933a 100644 --- a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/eshoponcontainers-cqrs-ddd-microservice.md +++ b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/eshoponcontainers-cqrs-ddd-microservice.md @@ -1,16 +1,9 @@ --- title: Applying CQRS and CQS approaches in a DDD microservice in eShopOnContainers description: .NET Microservices Architecture for Containerized .NET Applications | Applying CQRS and CQS approaches in a DDD microservice in eShopOnContainers -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Applying CQRS and CQS approaches in a DDD microservice in eShopOnContainers diff --git a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/implement-value-objects.md b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/implement-value-objects.md index 2c9bbe8d1cc7a..62db9f085540a 100644 --- a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/implement-value-objects.md +++ b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/implement-value-objects.md @@ -1,16 +1,9 @@ --- title: Implementing value objects description: .NET Microservices Architecture for Containerized .NET Applications | Implementing value objects -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 12/12/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Implementing value objects diff --git a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/index.md b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/index.md index 1ab151dc551f1..1b0ccd013fc7f 100644 --- a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/index.md +++ b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/index.md @@ -1,16 +1,9 @@ --- title: Tackling Business Complexity in a Microservice with DDD and CQRS Patterns description: .NET Microservices Architecture for Containerized .NET Applications | Tackling Business Complexity in a Microservice with DDD and CQRS Patterns -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Tackling Business Complexity in a Microservice with DDD and CQRS Patterns diff --git a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/infrastructure-persistence-layer-design.md b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/infrastructure-persistence-layer-design.md index 500ad68686d7f..30a8a4038203e 100644 --- a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/infrastructure-persistence-layer-design.md +++ b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/infrastructure-persistence-layer-design.md @@ -1,16 +1,9 @@ --- title: Designing the infrastructure persistence layer description: .NET Microservices Architecture for Containerized .NET Applications | Designing the infrastructure persistence layer -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 11/08/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Designing the infrastructure persistence layer diff --git a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/infrastructure-persistence-layer-implemenation-entity-framework-core.md b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/infrastructure-persistence-layer-implemenation-entity-framework-core.md index f8a9f38835419..85725bb1ed401 100644 --- a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/infrastructure-persistence-layer-implemenation-entity-framework-core.md +++ b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/infrastructure-persistence-layer-implemenation-entity-framework-core.md @@ -1,16 +1,9 @@ --- title: Implementing the infrastructure persistence layer with Entity Framework Core description: .NET Microservices Architecture for Containerized .NET Applications | Implementing the infrastructure persistence layer with Entity Framework Core -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 12/12/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Implementing the infrastructure persistence layer with Entity Framework Core diff --git a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/microservice-application-layer-implementation-web-api.md b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/microservice-application-layer-implementation-web-api.md index d83d820cbaace..3a878d2cf9da5 100644 --- a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/microservice-application-layer-implementation-web-api.md +++ b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/microservice-application-layer-implementation-web-api.md @@ -1,16 +1,9 @@ --- title: Implementing the microservice application layer using the Web API description: .NET Microservices Architecture for Containerized .NET Applications | Implementing the microservice application layer using the Web API -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 12/12/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Implementing the microservice application layer using the Web API diff --git a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/microservice-application-layer-web-api-design.md b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/microservice-application-layer-web-api-design.md index 119f5de533fd9..f07f75352f466 100644 --- a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/microservice-application-layer-web-api-design.md +++ b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/microservice-application-layer-web-api-design.md @@ -1,16 +1,9 @@ --- title: Designing the microservice application layer and Web API description: .NET Microservices Architecture for Containerized .NET Applications | Designing the microservice application layer and Web API -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 12/12/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Designing the microservice application layer and Web API diff --git a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/microservice-domain-model.md b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/microservice-domain-model.md index 516e32c44dc58..c84e270ecb7d7 100644 --- a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/microservice-domain-model.md +++ b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/microservice-domain-model.md @@ -1,16 +1,9 @@ --- title: Designing a microservice domain model description: .NET Microservices Architecture for Containerized .NET Applications | Designing a microservice domain model -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 11/09/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Designing a microservice domain model diff --git a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/net-core-microservice-domain-model.md b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/net-core-microservice-domain-model.md index 9616e44620ad7..2260473607b6b 100644 --- a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/net-core-microservice-domain-model.md +++ b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/net-core-microservice-domain-model.md @@ -1,16 +1,9 @@ --- title: Implementing a microservice domain model with .NET Core description: .NET Microservices Architecture for Containerized .NET Applications | Implementing a microservice domain model with .NET Core -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 11/09/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Implementing a microservice domain model with .NET Core diff --git a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/nosql-database-persistence-infrastructure.md b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/nosql-database-persistence-infrastructure.md index 84cdee407d0f3..79bd67f3c8d37 100644 --- a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/nosql-database-persistence-infrastructure.md +++ b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/nosql-database-persistence-infrastructure.md @@ -1,16 +1,9 @@ --- title: Using NoSQL databases as a persistence infrastructure description: .NET Microservices Architecture for Containerized .NET Applications | Using NoSQL databases as a persistence infrastructure -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 12/12/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Using NoSQL databases as a persistence infrastructure diff --git a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/seedwork-domain-model-base-classes-interfaces.md b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/seedwork-domain-model-base-classes-interfaces.md index f57989f692136..68c2060511f1c 100644 --- a/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/seedwork-domain-model-base-classes-interfaces.md +++ b/docs/standard/microservices-architecture/microservice-ddd-cqrs-patterns/seedwork-domain-model-base-classes-interfaces.md @@ -1,16 +1,9 @@ --- title: Seedwork (reusable base classes and interfaces for your domain model) description: .NET Microservices Architecture for Containerized .NET Applications | Seedwork (reusable base classes and interfaces for your domain model) -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 12/12/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Seedwork (reusable base classes and interfaces for your domain model) diff --git a/docs/standard/microservices-architecture/multi-container-microservice-net-applications/background-tasks-with-ihostedservice.md b/docs/standard/microservices-architecture/multi-container-microservice-net-applications/background-tasks-with-ihostedservice.md index 8a9bd9de72867..e354dfb437408 100644 --- a/docs/standard/microservices-architecture/multi-container-microservice-net-applications/background-tasks-with-ihostedservice.md +++ b/docs/standard/microservices-architecture/multi-container-microservice-net-applications/background-tasks-with-ihostedservice.md @@ -1,16 +1,9 @@ --- title: Implement background tasks in microservices with IHostedService and the BackgroundService class description: .NET Microservices Architecture for Containerized .NET Applications | Implement background tasks in microservices with IHostedService and the BackgroundService class -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 12/11/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Implement background tasks in microservices with IHostedService and the BackgroundService class diff --git a/docs/standard/microservices-architecture/multi-container-microservice-net-applications/data-driven-crud-microservice.md b/docs/standard/microservices-architecture/multi-container-microservice-net-applications/data-driven-crud-microservice.md index e7112880d4203..725681ec1e51d 100644 --- a/docs/standard/microservices-architecture/multi-container-microservice-net-applications/data-driven-crud-microservice.md +++ b/docs/standard/microservices-architecture/multi-container-microservice-net-applications/data-driven-crud-microservice.md @@ -1,16 +1,9 @@ --- title: Creating a simple data-driven CRUD microservice description: .NET Microservices Architecture for Containerized .NET Applications | Creating a simple data-driven CRUD microservice -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 12/11/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Creating a simple data-driven CRUD microservice diff --git a/docs/standard/microservices-architecture/multi-container-microservice-net-applications/database-server-container.md b/docs/standard/microservices-architecture/multi-container-microservice-net-applications/database-server-container.md index 8439482995ba3..16f3b7b9e9de8 100644 --- a/docs/standard/microservices-architecture/multi-container-microservice-net-applications/database-server-container.md +++ b/docs/standard/microservices-architecture/multi-container-microservice-net-applications/database-server-container.md @@ -1,16 +1,9 @@ --- title: Using a database server running as a container description: .NET Microservices Architecture for Containerized .NET Applications | Using a database server running as a container -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 10/30/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Using a database server running as a container diff --git a/docs/standard/microservices-architecture/multi-container-microservice-net-applications/index.md b/docs/standard/microservices-architecture/multi-container-microservice-net-applications/index.md index 6159ac6c3093d..8815e95846cf4 100644 --- a/docs/standard/microservices-architecture/multi-container-microservice-net-applications/index.md +++ b/docs/standard/microservices-architecture/multi-container-microservice-net-applications/index.md @@ -1,16 +1,9 @@ --- title: Designing and Developing Multi Container and Microservice Based .NET Applications description: .NET Microservices Architecture for Containerized .NET Applications | Designing and Developing Multi Container and Microservice Based .NET Applications -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Designing and Developing Multi-Container and Microservice-Based .NET Applications diff --git a/docs/standard/microservices-architecture/multi-container-microservice-net-applications/integration-event-based-microservice-communications.md b/docs/standard/microservices-architecture/multi-container-microservice-net-applications/integration-event-based-microservice-communications.md index 311111830d275..2a2295b15fd0b 100644 --- a/docs/standard/microservices-architecture/multi-container-microservice-net-applications/integration-event-based-microservice-communications.md +++ b/docs/standard/microservices-architecture/multi-container-microservice-net-applications/integration-event-based-microservice-communications.md @@ -1,16 +1,9 @@ --- title: Implementing event-based communication between microservices (integration events) description: .NET Microservices Architecture for Containerized .NET Applications | Implementing event-based communication between microservices (integration events) -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 12/11/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Implementing event-based communication between microservices (integration events) diff --git a/docs/standard/microservices-architecture/multi-container-microservice-net-applications/microservice-application-design.md b/docs/standard/microservices-architecture/multi-container-microservice-net-applications/microservice-application-design.md index 5f46e57ac58a9..9efad96f57532 100644 --- a/docs/standard/microservices-architecture/multi-container-microservice-net-applications/microservice-application-design.md +++ b/docs/standard/microservices-architecture/multi-container-microservice-net-applications/microservice-application-design.md @@ -1,16 +1,9 @@ --- title: Designing a microservice-oriented application description: .NET Microservices Architecture for Containerized .NET Applications | Designing a microservice-oriented application -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Designing a microservice-oriented application diff --git a/docs/standard/microservices-architecture/multi-container-microservice-net-applications/multi-container-applications-docker-compose.md b/docs/standard/microservices-architecture/multi-container-microservice-net-applications/multi-container-applications-docker-compose.md index 85466ea128144..706c92bd134ea 100644 --- a/docs/standard/microservices-architecture/multi-container-microservice-net-applications/multi-container-applications-docker-compose.md +++ b/docs/standard/microservices-architecture/multi-container-microservice-net-applications/multi-container-applications-docker-compose.md @@ -1,16 +1,9 @@ --- title: Defining your multi-container application with docker-compose.yml description: .NET Microservices Architecture for Containerized .NET Applications | Defining your multi-container application with docker-compose.yml -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 10/30/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Defining your multi-container application with docker-compose.yml diff --git a/docs/standard/microservices-architecture/multi-container-microservice-net-applications/rabbitmq-event-bus-development-test-environment.md b/docs/standard/microservices-architecture/multi-container-microservice-net-applications/rabbitmq-event-bus-development-test-environment.md index 2f375b4d7badf..72b260b081c38 100644 --- a/docs/standard/microservices-architecture/multi-container-microservice-net-applications/rabbitmq-event-bus-development-test-environment.md +++ b/docs/standard/microservices-architecture/multi-container-microservice-net-applications/rabbitmq-event-bus-development-test-environment.md @@ -1,16 +1,9 @@ --- title: Implementing an event bus with RabbitMQ for the development or test environment description: .NET Microservices Architecture for Containerized .NET Applications | Implementing an event bus with RabbitMQ for the development or test environment -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 12/11/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Implementing an event bus with RabbitMQ for the development or test environment diff --git a/docs/standard/microservices-architecture/multi-container-microservice-net-applications/subscribe-events.md b/docs/standard/microservices-architecture/multi-container-microservice-net-applications/subscribe-events.md index fc54c062537b6..4a53b750eda8d 100644 --- a/docs/standard/microservices-architecture/multi-container-microservice-net-applications/subscribe-events.md +++ b/docs/standard/microservices-architecture/multi-container-microservice-net-applications/subscribe-events.md @@ -1,16 +1,9 @@ --- title: Subscribing to events description: .NET Microservices Architecture for Containerized .NET Applications | Subscribing to events -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 12/11/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Subscribing to events diff --git a/docs/standard/microservices-architecture/multi-container-microservice-net-applications/test-aspnet-core-services-web-apps.md b/docs/standard/microservices-architecture/multi-container-microservice-net-applications/test-aspnet-core-services-web-apps.md index a98e075fe73d6..abaae16d13524 100644 --- a/docs/standard/microservices-architecture/multi-container-microservice-net-applications/test-aspnet-core-services-web-apps.md +++ b/docs/standard/microservices-architecture/multi-container-microservice-net-applications/test-aspnet-core-services-web-apps.md @@ -1,16 +1,9 @@ --- title: Testing ASP.NET Core services and web apps description: .NET Microservices Architecture for Containerized .NET Applications | Testing ASP.NET Core services and web apps -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 12/11/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Testing ASP.NET Core services and web apps diff --git a/docs/standard/microservices-architecture/net-core-net-framework-containers/container-framework-choice-factors.md b/docs/standard/microservices-architecture/net-core-net-framework-containers/container-framework-choice-factors.md index 916fe8d246b97..6e3b36d2d08b1 100644 --- a/docs/standard/microservices-architecture/net-core-net-framework-containers/container-framework-choice-factors.md +++ b/docs/standard/microservices-architecture/net-core-net-framework-containers/container-framework-choice-factors.md @@ -1,16 +1,9 @@ --- title: Decision table. .NET frameworks to use for Docker description: .NET Microservices Architecture for Containerized .NET Applications | Decision table, .NET frameworks to use for Docker -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 10/18/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Decision table: .NET frameworks to use for Docker diff --git a/docs/standard/microservices-architecture/net-core-net-framework-containers/general-guidance.md b/docs/standard/microservices-architecture/net-core-net-framework-containers/general-guidance.md index dca9fd3c477af..12b94496ef4d4 100644 --- a/docs/standard/microservices-architecture/net-core-net-framework-containers/general-guidance.md +++ b/docs/standard/microservices-architecture/net-core-net-framework-containers/general-guidance.md @@ -1,16 +1,9 @@ --- title: General guidance description: .NET Microservices Architecture for Containerized .NET Applications | General guidance -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 10/18/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # General guidance diff --git a/docs/standard/microservices-architecture/net-core-net-framework-containers/index.md b/docs/standard/microservices-architecture/net-core-net-framework-containers/index.md index b4bcfa93a9b82..11a85d45d7fbd 100644 --- a/docs/standard/microservices-architecture/net-core-net-framework-containers/index.md +++ b/docs/standard/microservices-architecture/net-core-net-framework-containers/index.md @@ -1,16 +1,9 @@ --- title: Choosing Between .NET Core and .NET Framework for Docker Containers description: .NET Microservices Architecture for Containerized .NET Applications | Choosing Between .NET Core and .NET Framework for Docker Containers -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Choosing Between .NET Core and .NET Framework for Docker Containers diff --git a/docs/standard/microservices-architecture/net-core-net-framework-containers/net-container-os-targets.md b/docs/standard/microservices-architecture/net-core-net-framework-containers/net-container-os-targets.md index af4f36818b65d..ed0ea65515561 100644 --- a/docs/standard/microservices-architecture/net-core-net-framework-containers/net-container-os-targets.md +++ b/docs/standard/microservices-architecture/net-core-net-framework-containers/net-container-os-targets.md @@ -1,16 +1,9 @@ --- title: What OS to target with .NET containers description: .NET Microservices Architecture for Containerized .NET Applications | What OS to target with .NET containers -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 10/18/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # What OS to target with .NET containers diff --git a/docs/standard/microservices-architecture/net-core-net-framework-containers/net-core-container-scenarios.md b/docs/standard/microservices-architecture/net-core-net-framework-containers/net-core-container-scenarios.md index 1f1481398b757..cd79649b6c8e3 100644 --- a/docs/standard/microservices-architecture/net-core-net-framework-containers/net-core-container-scenarios.md +++ b/docs/standard/microservices-architecture/net-core-net-framework-containers/net-core-container-scenarios.md @@ -1,16 +1,9 @@ --- title: When to choose .NET Core for Docker containers description: .NET Microservices Architecture for Containerized .NET Applications | When to choose .NET Core for Docker containers -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 10/18/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # When to choose .NET Core for Docker containers diff --git a/docs/standard/microservices-architecture/net-core-net-framework-containers/net-framework-container-scenarios.md b/docs/standard/microservices-architecture/net-core-net-framework-containers/net-framework-container-scenarios.md index 04186bf1c2e11..be751d0c1b001 100644 --- a/docs/standard/microservices-architecture/net-core-net-framework-containers/net-framework-container-scenarios.md +++ b/docs/standard/microservices-architecture/net-core-net-framework-containers/net-framework-container-scenarios.md @@ -1,16 +1,9 @@ --- title: When to choose .NET Framework for Docker containers description: .NET Microservices Architecture for Containerized .NET Applications | When to choose .NET Framework for Docker containers -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 10/18/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # When to choose .NET Framework for Docker containers diff --git a/docs/standard/microservices-architecture/net-core-net-framework-containers/official-net-docker-images.md b/docs/standard/microservices-architecture/net-core-net-framework-containers/official-net-docker-images.md index bebc05ae904c5..a27f86d9b4c39 100644 --- a/docs/standard/microservices-architecture/net-core-net-framework-containers/official-net-docker-images.md +++ b/docs/standard/microservices-architecture/net-core-net-framework-containers/official-net-docker-images.md @@ -1,16 +1,9 @@ --- title: Official .NET Docker images description: .NET Microservices Architecture for Containerized .NET Applications | Official .NET Docker images -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 10/18/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Official .NET Docker images diff --git a/docs/standard/microservices-architecture/net-core-single-containers-linux-windows-server-hosts/index.md b/docs/standard/microservices-architecture/net-core-single-containers-linux-windows-server-hosts/index.md index 2c9b2ee1b5ec2..e86898875bab1 100644 --- a/docs/standard/microservices-architecture/net-core-single-containers-linux-windows-server-hosts/index.md +++ b/docs/standard/microservices-architecture/net-core-single-containers-linux-windows-server-hosts/index.md @@ -1,16 +1,9 @@ --- title: Deploying Single Container Based .NET Core Web Applications on Linux or Windows Nano Server Hosts description: .NET Microservices Architecture for Containerized .NET Applications | Deploying Single Container Based .NET Core Web Applications on Linux or Windows Nano Server Hosts -keywords: Docker, Microservices, ASP.NET, Container author: CESARDELATORRE ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Deploying Single-Container-Based .NET Core Web Applications on Linux or Windows Nano Server Hosts diff --git a/docs/standard/microservices-architecture/secure-net-microservices-web-applications/authorization-net-microservices-web-applications.md b/docs/standard/microservices-architecture/secure-net-microservices-web-applications/authorization-net-microservices-web-applications.md index acb730e94c90d..ba7d42f41bcfb 100644 --- a/docs/standard/microservices-architecture/secure-net-microservices-web-applications/authorization-net-microservices-web-applications.md +++ b/docs/standard/microservices-architecture/secure-net-microservices-web-applications/authorization-net-microservices-web-applications.md @@ -1,16 +1,9 @@ --- title: About authorization in .NET microservices and web applications description: .NET Microservices Architecture for Containerized .NET Applications | About authorization in .NET microservices and web applications -keywords: Docker, Microservices, ASP.NET, Container author: mjrousos ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # About authorization in .NET microservices and web applications diff --git a/docs/standard/microservices-architecture/secure-net-microservices-web-applications/azure-key-vault-protects-secrets.md b/docs/standard/microservices-architecture/secure-net-microservices-web-applications/azure-key-vault-protects-secrets.md index b4e0dfd726f1e..009334945ab90 100644 --- a/docs/standard/microservices-architecture/secure-net-microservices-web-applications/azure-key-vault-protects-secrets.md +++ b/docs/standard/microservices-architecture/secure-net-microservices-web-applications/azure-key-vault-protects-secrets.md @@ -1,16 +1,9 @@ --- title: Using Azure Key Vault to protect secrets at production time description: .NET Microservices Architecture for Containerized .NET Applications | Using Azure Key Vault to protect secrets at production time -keywords: Docker, Microservices, ASP.NET, Container author: mjrousos ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Using Azure Key Vault to protect secrets at production time diff --git a/docs/standard/microservices-architecture/secure-net-microservices-web-applications/developer-app-secrets-storage.md b/docs/standard/microservices-architecture/secure-net-microservices-web-applications/developer-app-secrets-storage.md index 390351a176d43..9fbd2cb85f55c 100644 --- a/docs/standard/microservices-architecture/secure-net-microservices-web-applications/developer-app-secrets-storage.md +++ b/docs/standard/microservices-architecture/secure-net-microservices-web-applications/developer-app-secrets-storage.md @@ -1,16 +1,9 @@ --- title: Storing application secrets safely during development description: .NET Microservices Architecture for Containerized .NET Applications | Storing application secrets safely during development -keywords: Docker, Microservices, ASP.NET, Container author: mjrousos ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Storing application secrets safely during development diff --git a/docs/standard/microservices-architecture/secure-net-microservices-web-applications/index.md b/docs/standard/microservices-architecture/secure-net-microservices-web-applications/index.md index 8c62d5f18622b..09c7b8dafde4c 100644 --- a/docs/standard/microservices-architecture/secure-net-microservices-web-applications/index.md +++ b/docs/standard/microservices-architecture/secure-net-microservices-web-applications/index.md @@ -1,16 +1,9 @@ --- title: Securing .NET Microservices and Web Applications description: .NET Microservices Architecture for Containerized .NET Applications | Securing .NET Microservices and Web Applications -keywords: Docker, Microservices, ASP.NET, Container author: mjrousos ms.author: wiwagn ms.date: 05/26/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Securing .NET Microservices and Web Applications diff --git a/docs/standard/modern-web-apps-azure-architecture/architectural-principles.md b/docs/standard/modern-web-apps-azure-architecture/architectural-principles.md index 9869777c4f7a4..7382fee2d1d1d 100644 --- a/docs/standard/modern-web-apps-azure-architecture/architectural-principles.md +++ b/docs/standard/modern-web-apps-azure-architecture/architectural-principles.md @@ -4,12 +4,6 @@ description: Architect Modern Web Applications with ASP.NET Core and Azure | Arc author: ardalis ms.author: wiwagn ms.date: 10/06/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Architectural Principles diff --git a/docs/standard/modern-web-apps-azure-architecture/azure-hosting-recommendations-for-asp-net-web-apps.md b/docs/standard/modern-web-apps-azure-architecture/azure-hosting-recommendations-for-asp-net-web-apps.md index 8c5506718f40d..bf38dbcb174e6 100644 --- a/docs/standard/modern-web-apps-azure-architecture/azure-hosting-recommendations-for-asp-net-web-apps.md +++ b/docs/standard/modern-web-apps-azure-architecture/azure-hosting-recommendations-for-asp-net-web-apps.md @@ -4,12 +4,6 @@ description: Architect Modern Web Applications with ASP.NET Core and Azure | Azu author: ardalis ms.author: wiwagn ms.date: 10/07/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Azure Hosting Recommendations for ASP.NET Core Web Apps diff --git a/docs/standard/modern-web-apps-azure-architecture/choose-between-traditional-web-and-single-page-apps.md b/docs/standard/modern-web-apps-azure-architecture/choose-between-traditional-web-and-single-page-apps.md index 36cc045ebc9eb..11514caab2de7 100644 --- a/docs/standard/modern-web-apps-azure-architecture/choose-between-traditional-web-and-single-page-apps.md +++ b/docs/standard/modern-web-apps-azure-architecture/choose-between-traditional-web-and-single-page-apps.md @@ -4,12 +4,6 @@ description: Architect modern web applications with ASP.NET Core and Microsoft A author: ardalis ms.author: wiwagn ms.date: 10/06/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Choose Between Traditional Web Apps and Single Page Apps (SPAs) diff --git a/docs/standard/modern-web-apps-azure-architecture/common-client-side-web-technologies.md b/docs/standard/modern-web-apps-azure-architecture/common-client-side-web-technologies.md index 91d456a65c85c..54ac1cd90941a 100644 --- a/docs/standard/modern-web-apps-azure-architecture/common-client-side-web-technologies.md +++ b/docs/standard/modern-web-apps-azure-architecture/common-client-side-web-technologies.md @@ -4,12 +4,6 @@ description: Architect Modern Web Applications with ASP.NET Core and Azure | Com author: ardalis ms.author: wiwagn ms.date: 10/07/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Common Client Side Web Technologies diff --git a/docs/standard/modern-web-apps-azure-architecture/common-web-application-architectures.md b/docs/standard/modern-web-apps-azure-architecture/common-web-application-architectures.md index 5c926843a417b..ed0e3b9035d9f 100644 --- a/docs/standard/modern-web-apps-azure-architecture/common-web-application-architectures.md +++ b/docs/standard/modern-web-apps-azure-architecture/common-web-application-architectures.md @@ -4,12 +4,6 @@ description: Architect modern web applications with ASP.NET Core and Microsoft A author: ardalis ms.author: wiwagn ms.date: 10/06/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Common Web Application Architectures diff --git a/docs/standard/modern-web-apps-azure-architecture/develop-asp-net-core-mvc-apps.md b/docs/standard/modern-web-apps-azure-architecture/develop-asp-net-core-mvc-apps.md index 87a275cc9aa50..7773ed978e0b5 100644 --- a/docs/standard/modern-web-apps-azure-architecture/develop-asp-net-core-mvc-apps.md +++ b/docs/standard/modern-web-apps-azure-architecture/develop-asp-net-core-mvc-apps.md @@ -4,12 +4,6 @@ description: Architect Modern Web Applications with ASP.NET Core and Azure | dev author: ardalis ms.author: wiwagn ms.date: 10/07/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Develop ASP.NET Core MVC Apps diff --git a/docs/standard/modern-web-apps-azure-architecture/development-process-for-azure.md b/docs/standard/modern-web-apps-azure-architecture/development-process-for-azure.md index 7bf44d458fb05..f960d4fbefaa6 100644 --- a/docs/standard/modern-web-apps-azure-architecture/development-process-for-azure.md +++ b/docs/standard/modern-web-apps-azure-architecture/development-process-for-azure.md @@ -4,12 +4,6 @@ description: Architect Modern Web Applications with ASP.NET Core and Azure | Dev author: ardalis ms.author: wiwagn ms.date: 10/08/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Development process for Azure diff --git a/docs/standard/modern-web-apps-azure-architecture/index.md b/docs/standard/modern-web-apps-azure-architecture/index.md index 40b51f583d24c..9dd728a15c30c 100644 --- a/docs/standard/modern-web-apps-azure-architecture/index.md +++ b/docs/standard/modern-web-apps-azure-architecture/index.md @@ -4,12 +4,6 @@ description: Architect Modern Web Applications with ASP.NET Core and Azure | int author: ardalis ms.author: wiwagn ms.date: 10/06/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Architect Modern Web Applications with ASP.NET Core and Azure diff --git a/docs/standard/modern-web-apps-azure-architecture/modern-web-applications-characteristics.md b/docs/standard/modern-web-apps-azure-architecture/modern-web-applications-characteristics.md index 368bcda1473ba..bcd5655f2867f 100644 --- a/docs/standard/modern-web-apps-azure-architecture/modern-web-applications-characteristics.md +++ b/docs/standard/modern-web-apps-azure-architecture/modern-web-applications-characteristics.md @@ -4,12 +4,6 @@ description: Architect Modern Web Applications with ASP.NET Core and Azure | cha author: ardalis ms.author: wiwagn ms.date: 10/06/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Characteristics of Modern Web Applications diff --git a/docs/standard/modern-web-apps-azure-architecture/test-asp-net-core-mvc-apps.md b/docs/standard/modern-web-apps-azure-architecture/test-asp-net-core-mvc-apps.md index 3de0e0f3715ef..09b8859b1bba5 100644 --- a/docs/standard/modern-web-apps-azure-architecture/test-asp-net-core-mvc-apps.md +++ b/docs/standard/modern-web-apps-azure-architecture/test-asp-net-core-mvc-apps.md @@ -4,12 +4,6 @@ description: Architect Modern Web Applications with ASP.NET Core and Azure | Tes author: ardalis ms.author: wiwagn ms.date: 10/08/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Test ASP.NET Core MVC Apps diff --git a/docs/standard/modern-web-apps-azure-architecture/work-with-data-in-asp-net-core-apps.md b/docs/standard/modern-web-apps-azure-architecture/work-with-data-in-asp-net-core-apps.md index f48ce2645a737..5022ed4f65bb4 100644 --- a/docs/standard/modern-web-apps-azure-architecture/work-with-data-in-asp-net-core-apps.md +++ b/docs/standard/modern-web-apps-azure-architecture/work-with-data-in-asp-net-core-apps.md @@ -4,12 +4,6 @@ description: Architect Modern Web Applications with ASP.NET Core and Azure | wor author: ardalis ms.author: wiwagn ms.date: 10/07/2017 -ms.prod: .net-core -ms.technology: dotnet-docker -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Working with Data in ASP.NET Core Apps diff --git a/docs/standard/modernize-with-azure-and-containers/conclusions.md b/docs/standard/modernize-with-azure-and-containers/conclusions.md index 35e494d2ae53a..057087fe288fd 100644 --- a/docs/standard/modernize-with-azure-and-containers/conclusions.md +++ b/docs/standard/modernize-with-azure-and-containers/conclusions.md @@ -4,11 +4,6 @@ description: Modernize Existing .NET Applications With Azure Cloud and Windows C author: CESARDELATORRE ms.author: wiwagn ms.date: 10/26/2017 -ms.prod: .net -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Conclusions diff --git a/docs/standard/modernize-with-azure-and-containers/index.md b/docs/standard/modernize-with-azure-and-containers/index.md index 4ae6b2637edfd..125212a0af96f 100644 --- a/docs/standard/modernize-with-azure-and-containers/index.md +++ b/docs/standard/modernize-with-azure-and-containers/index.md @@ -4,11 +4,6 @@ description: Learn to lift and shift existing applications to the Azure cloud an author: CESARDELATORRE ms.author: wiwagn ms.date: 10/26/2017 -ms.prod: .net -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Modernize existing .NET applications with Azure cloud and Windows Containers (v1.0) diff --git a/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-azure-iaas.md b/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-azure-iaas.md index 14976dadd67de..0cf9b10131518 100644 --- a/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-azure-iaas.md +++ b/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-azure-iaas.md @@ -4,11 +4,6 @@ description: Modernize Existing .NET Applications With Azure Cloud and Windows C author: CESARDELATORRE ms.author: wiwagn ms.date: 10/26/2017 -ms.prod: .net -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Lift and shift existing apps Azure IaaS diff --git a/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/build-resilient-services-ready-for-the-cloud-embrace-transient-failures-in-the-cloud.md b/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/build-resilient-services-ready-for-the-cloud-embrace-transient-failures-in-the-cloud.md index d49cb01cfaddf..1d9d1eececd8d 100644 --- a/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/build-resilient-services-ready-for-the-cloud-embrace-transient-failures-in-the-cloud.md +++ b/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/build-resilient-services-ready-for-the-cloud-embrace-transient-failures-in-the-cloud.md @@ -4,11 +4,6 @@ description: .NET Microservices Architecture for Containerized .NET Applications author: CESARDELATORRE ms.author: wiwagn ms.date: 10/26/2017 -ms.prod: .net -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Build resilient services ready for the cloud: Embrace transient failures in the cloud diff --git a/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/deploy-existing-net-apps-as-windows-containers.md b/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/deploy-existing-net-apps-as-windows-containers.md index f411bf5541724..445cb92dc2517 100644 --- a/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/deploy-existing-net-apps-as-windows-containers.md +++ b/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/deploy-existing-net-apps-as-windows-containers.md @@ -4,11 +4,6 @@ description: .NET Microservices Architecture for Containerized .NET Applications author: CESARDELATORRE ms.author: wiwagn ms.date: 10/26/2017 -ms.prod: .net -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Deploy existing .NET apps as Windows containers diff --git a/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/how-to-deploy-existing-net-apps-to-azure-app-service.md b/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/how-to-deploy-existing-net-apps-to-azure-app-service.md index 19627a14c0367..b1acaef7cdf4b 100644 --- a/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/how-to-deploy-existing-net-apps-to-azure-app-service.md +++ b/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/how-to-deploy-existing-net-apps-to-azure-app-service.md @@ -4,11 +4,6 @@ description: .NET Microservices Architecture for Containerized .NET Applications author: CESARDELATORRE ms.author: wiwagn ms.date: 10/26/2017 -ms.prod: .net -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to deploy existing .NET apps to Azure App Service diff --git a/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/index.md b/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/index.md index e1f7a49f1e50f..6f0c97c0117d0 100644 --- a/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/index.md +++ b/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/index.md @@ -4,11 +4,6 @@ description: Modernize existing .NET applications with Azure Cloud and Windows c author: CESARDELATORRE ms.author: wiwagn ms.date: 10/26/2017 -ms.prod: .net -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Lift and shift existing apps DevOps diff --git a/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/microsoft-technologies-in-cloud-devops-ready-applications.md b/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/microsoft-technologies-in-cloud-devops-ready-applications.md index 04247e2141510..e347be803d3fb 100644 --- a/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/microsoft-technologies-in-cloud-devops-ready-applications.md +++ b/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/microsoft-technologies-in-cloud-devops-ready-applications.md @@ -4,11 +4,6 @@ description: .NET Microservices Architecture for Containerized .NET Applications author: CESARDELATORRE ms.author: wiwagn ms.date: 10/26/2017 -ms.prod: .net -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Microsoft technologies in cloud devops-ready applications diff --git a/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/migrate-to-hybrid-cloud-scenarios.md b/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/migrate-to-hybrid-cloud-scenarios.md index 059f0332ec0d1..1a184d73a493d 100644 --- a/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/migrate-to-hybrid-cloud-scenarios.md +++ b/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/migrate-to-hybrid-cloud-scenarios.md @@ -4,11 +4,6 @@ description: .NET Microservices Architecture for Containerized .NET Applications author: CESARDELATORRE ms.author: wiwagn ms.date: 10/2/2017 -ms.prod: .net -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Migrate to hybrid cloud scenarios diff --git a/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/modernize-your-apps-lifecycle-with-ci-cd-pipelines-and-devops-tools-in-the-cloud.md b/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/modernize-your-apps-lifecycle-with-ci-cd-pipelines-and-devops-tools-in-the-cloud.md index adb5307b2c293..7a36b2e9cf2de 100644 --- a/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/modernize-your-apps-lifecycle-with-ci-cd-pipelines-and-devops-tools-in-the-cloud.md +++ b/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/modernize-your-apps-lifecycle-with-ci-cd-pipelines-and-devops-tools-in-the-cloud.md @@ -4,11 +4,6 @@ description: .NET Microservices Architecture for Containerized .NET Applications author: CESARDELATORRE ms.author: wiwagn ms.date: 10/26/2017 -ms.prod: .net -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Modernize your app's lifecycle with CI/CD pipelines and DevOps tools in the cloud diff --git a/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/modernize-your-apps-with-monitoring-and-telemetry.md b/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/modernize-your-apps-with-monitoring-and-telemetry.md index 191f701f04b14..d70a57ade58e3 100644 --- a/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/modernize-your-apps-with-monitoring-and-telemetry.md +++ b/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/modernize-your-apps-with-monitoring-and-telemetry.md @@ -4,11 +4,6 @@ description: .NET Microservices Architecture for Containerized .NET Applications author: CESARDELATORRE ms.author: wiwagn ms.date: 10/26/2017 -ms.prod: .net -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Modernize your apps with monitoring and telemetry diff --git a/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/reasons-to-lift-and-shift-existing-net-apps-to-cloud-devops-ready-applications.md b/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/reasons-to-lift-and-shift-existing-net-apps-to-cloud-devops-ready-applications.md index 955fc58d212de..7631468c2f2b8 100644 --- a/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/reasons-to-lift-and-shift-existing-net-apps-to-cloud-devops-ready-applications.md +++ b/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/reasons-to-lift-and-shift-existing-net-apps-to-cloud-devops-ready-applications.md @@ -4,11 +4,6 @@ description: .NET Microservices Architecture for Containerized .NET Applications author: CESARDELATORRE ms.author: wiwagn ms.date: 10/26/2017 -ms.prod: .net -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Reasons to lift and shift existing .NET apps to Cloud DevOps-Ready applications diff --git a/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/what-about-cloud-optimized-applications.md b/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/what-about-cloud-optimized-applications.md index 064d2dc258fb9..072fb71c5d22f 100644 --- a/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/what-about-cloud-optimized-applications.md +++ b/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/what-about-cloud-optimized-applications.md @@ -4,11 +4,6 @@ description: .NET Microservices Architecture for Containerized .NET Applications author: CESARDELATORRE ms.author: wiwagn ms.date: 10/26/2017 -ms.prod: .net -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # What about cloud-optimized applications? diff --git a/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/when-not-to-deploy-to-windows-containers.md b/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/when-not-to-deploy-to-windows-containers.md index a0aff45b4c165..876a9eb8934e3 100644 --- a/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/when-not-to-deploy-to-windows-containers.md +++ b/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/when-not-to-deploy-to-windows-containers.md @@ -4,11 +4,6 @@ description: .NET Microservices Architecture for Containerized .NET Applications author: CESARDELATORRE ms.author: wiwagn ms.date: 10/26/2017 -ms.prod: .net -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # When not to deploy to Windows Containers diff --git a/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/when-to-deploy-windows-containers-in-your-on-premises-iaas-vm-infrastructure.md b/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/when-to-deploy-windows-containers-in-your-on-premises-iaas-vm-infrastructure.md index 1796945378680..135a9b7fe638a 100644 --- a/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/when-to-deploy-windows-containers-in-your-on-premises-iaas-vm-infrastructure.md +++ b/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/when-to-deploy-windows-containers-in-your-on-premises-iaas-vm-infrastructure.md @@ -4,11 +4,6 @@ description: .NET Microservices Architecture for Containerized .NET Applications author: CESARDELATORRE ms.author: wiwagn ms.date: 10/26/2017 -ms.prod: .net -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # When to deploy Windows Containers in your on-premises IaaS VM infrastructure diff --git a/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/when-to-deploy-windows-containers-to-azure-container-service-kubernetes.md b/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/when-to-deploy-windows-containers-to-azure-container-service-kubernetes.md index fafc821e14bc1..e7684ca496f7d 100644 --- a/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/when-to-deploy-windows-containers-to-azure-container-service-kubernetes.md +++ b/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/when-to-deploy-windows-containers-to-azure-container-service-kubernetes.md @@ -4,11 +4,6 @@ description: .NET Microservices Architecture for Containerized .NET Applications author: CESARDELATORRE ms.author: wiwagn ms.date: 10/26/2017 -ms.prod: .net -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # When to deploy Windows Containers to Azure Container Service (that is, Kubernetes) diff --git a/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/when-to-deploy-windows-containers-to-azure-vms-iaas-cloud.md b/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/when-to-deploy-windows-containers-to-azure-vms-iaas-cloud.md index c546b35cec3f8..66d894cf4dac1 100644 --- a/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/when-to-deploy-windows-containers-to-azure-vms-iaas-cloud.md +++ b/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/when-to-deploy-windows-containers-to-azure-vms-iaas-cloud.md @@ -4,11 +4,6 @@ description: .NET Microservices Architecture for Containerized .NET Applications author: CESARDELATORRE ms.author: wiwagn ms.date: 10/26/2017 -ms.prod: .net -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # When to deploy Windows Containers to Azure VMs (IaaS cloud) diff --git a/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/when-to-deploy-windows-containers-to-service-fabric.md b/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/when-to-deploy-windows-containers-to-service-fabric.md index b2c6df1fafb9e..040ecacab5c1b 100644 --- a/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/when-to-deploy-windows-containers-to-service-fabric.md +++ b/docs/standard/modernize-with-azure-and-containers/lift-and-shift-existing-apps-devops/when-to-deploy-windows-containers-to-service-fabric.md @@ -4,11 +4,6 @@ description: .NET Microservices Architecture for Containerized .NET Applications author: CESARDELATORRE ms.author: wiwagn ms.date: 10/26/2017 -ms.prod: .net -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # When to deploy Windows Containers to Service Fabric diff --git a/docs/standard/modernize-with-azure-and-containers/migrate-your-relational-databases-to-azure.md b/docs/standard/modernize-with-azure-and-containers/migrate-your-relational-databases-to-azure.md index 17ffaaebf2fc0..348fab8e8e366 100644 --- a/docs/standard/modernize-with-azure-and-containers/migrate-your-relational-databases-to-azure.md +++ b/docs/standard/modernize-with-azure-and-containers/migrate-your-relational-databases-to-azure.md @@ -4,11 +4,6 @@ description: Modernize Existing .NET Applications With Azure Cloud and Windows C author: CESARDELATORRE ms.author: wiwagn ms.date: 10/26/2017 -ms.prod: .net -ms.topic: article -ms.workload: - - "dotnet" - - "dotnetcore" --- # Migrate your relational databases to azure diff --git a/docs/standard/modernize-with-azure-and-containers/walkthroughs-technical-get-started-overview.md b/docs/standard/modernize-with-azure-and-containers/walkthroughs-technical-get-started-overview.md index e3ac301335e7d..127bb64b08e81 100644 --- a/docs/standard/modernize-with-azure-and-containers/walkthroughs-technical-get-started-overview.md +++ b/docs/standard/modernize-with-azure-and-containers/walkthroughs-technical-get-started-overview.md @@ -4,11 +4,6 @@ description: Modernize Existing .NET Applications With Azure Cloud and Windows C author: CESARDELATORRE ms.author: wiwagn ms.date: 10/26/2017 -ms.prod: .net -ms.topic: article -ms.workload: -- "dotnet" -- "dotnetcore" --- # Walkthroughs and technical get started overview diff --git a/docs/standard/native-interop.md b/docs/standard/native-interop.md index 19d140163d860..fddddcd4af03b 100644 --- a/docs/standard/native-interop.md +++ b/docs/standard/native-interop.md @@ -1,20 +1,12 @@ --- title: Native interoperability description: Learn how to interface with native components in .NET. -keywords: .NET, .NET Core author: blackdwarf ms.author: ronpet ms.date: 06/20/2016 -ms.topic: article -ms.prod: .net ms.technology: dotnet-standard -ms.devlang: dotnet ms.assetid: 3c357112-35fb-44ba-a07b-6a1c140370ac -ms.workload: - - "dotnet" - - "dotnetcore" --- - # Native Interoperability In this document, we will dive a little bit deeper into all three ways of doing "native interoperability" that are available using .NET. diff --git a/docs/standard/net-standard.md b/docs/standard/net-standard.md index aca978a544762..070a3fa7dc447 100644 --- a/docs/standard/net-standard.md +++ b/docs/standard/net-standard.md @@ -1,18 +1,11 @@ --- title: .NET Standard description: Learn about .NET Standard, its versions and the .NET implementations that support it. -keywords: .NET Standard, PCL, .NET author: mairaw ms.author: mairaw ms.date: 08/13/2017 -ms.topic: article -ms.prod: .net ms.technology: dotnet-standard -ms.devlang: dotnet ms.assetid: c044882c-af15-45f2-96d1-534557a5ee9b -ms.workload: - - "dotnet" - - "dotnetcore" --- # .NET Standard diff --git a/docs/standard/numerics.md b/docs/standard/numerics.md index 86f25b91b2945..bfac765d32db1 100644 --- a/docs/standard/numerics.md +++ b/docs/standard/numerics.md @@ -1,13 +1,7 @@ --- title: "Numerics in the .NET Framework" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "SIMD" - "System.Numerics.Vectors" @@ -17,13 +11,8 @@ helpviewer_keywords: - "numerics" - "BigInteger" ms.assetid: dfebc18e-acde-4510-9fa7-9a0f4aa3bd11 -caps.latest.revision: 11 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Numerics in the .NET Framework The .NET Framework supports the standard numeric integral and floating-point primitives, as well as , an integral type with no theoretical upper or lower bound, , a type that represents complex numbers, and a set of SIMD-enabled vector types in the namespace. diff --git a/docs/standard/parallel-processing-and-concurrency.md b/docs/standard/parallel-processing-and-concurrency.md index 9e4ab4491ec02..6631f242082f6 100644 --- a/docs/standard/parallel-processing-and-concurrency.md +++ b/docs/standard/parallel-processing-and-concurrency.md @@ -2,21 +2,14 @@ title: "Parallel Processing, Concurrency, and Async Programming in .NET" description: "Learn how to make your application more responsive and faster with .NET capabilities for parallel processing and asynchronous programming" ms.date: "04/06/2018" -ms.prod: ".net" ms.technology: dotnet-standard -ms.topic: "article" helpviewer_keywords: - "parallel processing [.NET]" - "concurrency [.NET]" - "asynchronous programming [.NET]" ms.assetid: e573faa8-0212-44b1-a850-ce85dc54f47f -caps.latest.revision: 7 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Parallel Processing, Concurrency, and Async Programming in .NET .NET provides several ways for you to write asynchronous code to make your application more responsive to a user and write parallel code that uses multiple threads of execution to maximize the performance of your user's computer. diff --git a/docs/standard/parallel-programming/attached-and-detached-child-tasks.md b/docs/standard/parallel-programming/attached-and-detached-child-tasks.md index 1969c232806ff..01d26c74fe7d9 100644 --- a/docs/standard/parallel-programming/attached-and-detached-child-tasks.md +++ b/docs/standard/parallel-programming/attached-and-detached-child-tasks.md @@ -1,26 +1,15 @@ --- title: "Attached and Detached Child Tasks" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "tasks, child tasks" ms.assetid: c95788bf-90a6-4e96-b7bc-58e36a228cc5 -caps.latest.revision: 21 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Attached and Detached Child Tasks A *child task* (or *nested task*) is a instance that is created in the user delegate of another task, which is known as the *parent task*. A child task can be either detached or attached. A *detached child task* is a task that executes independently of its parent. An *attached child task* is a nested task that is created with the option whose parent does not explicitly or by default prohibit it from being attached. A task may create any number of attached and detached child tasks, limited only by system resources. diff --git a/docs/standard/parallel-programming/chaining-tasks-by-using-continuation-tasks.md b/docs/standard/parallel-programming/chaining-tasks-by-using-continuation-tasks.md index 3315f9c01679c..ed19601566367 100644 --- a/docs/standard/parallel-programming/chaining-tasks-by-using-continuation-tasks.md +++ b/docs/standard/parallel-programming/chaining-tasks-by-using-continuation-tasks.md @@ -1,26 +1,15 @@ --- title: "Chaining Tasks by Using Continuation Tasks" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "tasks, continuations" ms.assetid: 0b45e9a2-de28-46ce-8212-1817280ed42d -caps.latest.revision: 30 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Chaining Tasks by Using Continuation Tasks In asynchronous programming, it is very common for one asynchronous operation, on completion, to invoke a second operation and pass data to it. Traditionally, this has been done by using callback methods. In the Task Parallel Library, the same functionality is provided by *continuation tasks*. A continuation task (also known just as a continuation) is an asynchronous task that is invoked by another task, which is known as the *antecedent*, when the antecedent finishes. diff --git a/docs/standard/parallel-programming/custom-partitioners-for-plinq-and-tpl.md b/docs/standard/parallel-programming/custom-partitioners-for-plinq-and-tpl.md index eb48252d184b5..ae3717cb5ee2e 100644 --- a/docs/standard/parallel-programming/custom-partitioners-for-plinq-and-tpl.md +++ b/docs/standard/parallel-programming/custom-partitioners-for-plinq-and-tpl.md @@ -1,26 +1,15 @@ --- title: "Custom Partitioners for PLINQ and TPL" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "tasks, partitioners" ms.assetid: 96153688-9a01-47c4-8430-909cee9a2887 -caps.latest.revision: 19 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Custom Partitioners for PLINQ and TPL To parallelize an operation on a data source, one of the essential steps is to *partition* the source into multiple sections that can be accessed concurrently by multiple threads. PLINQ and the Task Parallel Library (TPL) provide default partitioners that work transparently when you write a parallel query or loop. For more advanced scenarios, you can plug in your own partitioner. diff --git a/docs/standard/parallel-programming/data-parallelism-task-parallel-library.md b/docs/standard/parallel-programming/data-parallelism-task-parallel-library.md index abef0966a036b..fc5e14dc37c29 100644 --- a/docs/standard/parallel-programming/data-parallelism-task-parallel-library.md +++ b/docs/standard/parallel-programming/data-parallelism-task-parallel-library.md @@ -1,26 +1,15 @@ --- title: "Data Parallelism (Task Parallel Library)" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "parallelism, data" ms.assetid: 3f05f33f-f1da-4b16-81c2-9ceff1bef449 -caps.latest.revision: 25 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Data Parallelism (Task Parallel Library) *Data parallelism* refers to scenarios in which the same operation is performed concurrently (that is, in parallel) on elements in a source collection or array. In data parallel operations, the source collection is partitioned so that multiple threads can operate on different segments concurrently. diff --git a/docs/standard/parallel-programming/data-structures-for-parallel-programming.md b/docs/standard/parallel-programming/data-structures-for-parallel-programming.md index ac3a03f3a9312..4826bdf50985a 100644 --- a/docs/standard/parallel-programming/data-structures-for-parallel-programming.md +++ b/docs/standard/parallel-programming/data-structures-for-parallel-programming.md @@ -1,23 +1,12 @@ --- title: "Data Structures for Parallel Programming" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "data structures, multi-threading" ms.assetid: bdc82f2f-4754-45a1-a81e-fe2e9c30cef9 -caps.latest.revision: 15 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Data Structures for Parallel Programming The .NET Framework version 4 introduces several new types that are useful in parallel programming, including a set of concurrent collection classes, lightweight synchronization primitives, and types for lazy initialization. You can use these types with any multithreaded application code, including the Task Parallel Library and PLINQ. diff --git a/docs/standard/parallel-programming/dataflow-task-parallel-library.md b/docs/standard/parallel-programming/dataflow-task-parallel-library.md index e9212ca74da9f..e944dbe7a093c 100644 --- a/docs/standard/parallel-programming/dataflow-task-parallel-library.md +++ b/docs/standard/parallel-programming/dataflow-task-parallel-library.md @@ -1,9 +1,7 @@ --- title: "Dataflow (Task Parallel Library)" ms.date: "03/30/2017" -ms.prod: ".net" ms.technology: dotnet-standard -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -13,10 +11,6 @@ helpviewer_keywords: ms.assetid: 643575d0-d26d-4c35-8de7-a9c403e97dd6 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Dataflow (Task Parallel Library) The Task Parallel Library (TPL) provides dataflow components to help increase the robustness of concurrency-enabled applications. These dataflow components are collectively referred to as the *TPL Dataflow Library*. This dataflow model promotes actor-based programming by providing in-process message passing for coarse-grained dataflow and pipelining tasks. The dataflow components build on the types and scheduling infrastructure of the TPL and integrate with the C#, Visual Basic, and F# language support for asynchronous programming. These dataflow components are useful when you have multiple operations that must communicate with one another asynchronously or when you want to process data as it becomes available. For example, consider an application that processes image data from a web camera. By using the dataflow model, the application can process image frames as they become available. If the application enhances image frames, for example, by performing light correction or red-eye reduction, you can create a *pipeline* of dataflow components. Each stage of the pipeline might use more coarse-grained parallelism functionality, such as the functionality that is provided by the TPL, to transform the image. diff --git a/docs/standard/parallel-programming/exception-handling-task-parallel-library.md b/docs/standard/parallel-programming/exception-handling-task-parallel-library.md index a3f75dfd925bf..6477eaf65d77a 100644 --- a/docs/standard/parallel-programming/exception-handling-task-parallel-library.md +++ b/docs/standard/parallel-programming/exception-handling-task-parallel-library.md @@ -1,26 +1,15 @@ --- title: "Exception Handling (Task Parallel Library)" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "tasks, exceptions" ms.assetid: beb51e50-9061-4d3d-908c-56a4f7c2e8c1 -caps.latest.revision: 21 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Exception Handling (Task Parallel Library) Unhandled exceptions that are thrown by user code that is running inside a task are propagated back to the calling thread, except in certain scenarios that are described later in this topic. Exceptions are propagated when you use one of the static or instance or `Wait` methods, and you handle them by enclosing the call in a `try`/`catch` statement. If a task is the parent of attached child tasks, or if you are waiting on multiple tasks, multiple exceptions could be thrown. diff --git a/docs/standard/parallel-programming/for-further-reading-parallel-programming.md b/docs/standard/parallel-programming/for-further-reading-parallel-programming.md index 34823b061c994..c64a44a8cdb44 100644 --- a/docs/standard/parallel-programming/for-further-reading-parallel-programming.md +++ b/docs/standard/parallel-programming/for-further-reading-parallel-programming.md @@ -1,17 +1,12 @@ --- title: "For Further Reading (Parallel Programming)" ms.date: "04/26/2018" -ms.prod: ".net" ms.technology: dotnet-standard -ms.topic: "article" helpviewer_keywords: - "tasks, further reading" +ms.assetid: 98aee307-dde6-4cad-bb58-078497b8064f author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # For Further Reading (Parallel Programming) diff --git a/docs/standard/parallel-programming/how-to-cancel-a-dataflow-block.md b/docs/standard/parallel-programming/how-to-cancel-a-dataflow-block.md index 0ab6aaa7838eb..d80a5a8b6893c 100644 --- a/docs/standard/parallel-programming/how-to-cancel-a-dataflow-block.md +++ b/docs/standard/parallel-programming/how-to-cancel-a-dataflow-block.md @@ -1,9 +1,7 @@ --- title: "How to: Cancel a Dataflow Block" ms.date: "03/30/2017" -ms.prod: ".net" ms.technology: dotnet-standard -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -14,10 +12,6 @@ helpviewer_keywords: ms.assetid: fbddda0d-da3b-4ec8-a1d6-67ab8573fcd7 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Cancel a Dataflow Block This document demonstrates how to enable cancellation in your application. This example uses Windows Forms to show where work items are active in a dataflow pipeline and also the effects of cancellation. diff --git a/docs/standard/parallel-programming/how-to-cancel-a-parallel-for-or-foreach-loop.md b/docs/standard/parallel-programming/how-to-cancel-a-parallel-for-or-foreach-loop.md index 623db095a78e9..60f187f842983 100644 --- a/docs/standard/parallel-programming/how-to-cancel-a-parallel-for-or-foreach-loop.md +++ b/docs/standard/parallel-programming/how-to-cancel-a-parallel-for-or-foreach-loop.md @@ -1,13 +1,7 @@ --- title: "How to: Cancel a Parallel.For or ForEach Loop" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -15,13 +9,8 @@ helpviewer_keywords: - "parallel foreach loop, how to cancel" - "parallel for loops, how to cancel" ms.assetid: 9d19b591-ea95-4418-8ea7-b6266af9905b -caps.latest.revision: 12 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Cancel a Parallel.For or ForEach Loop The and methods support cancellation through the use of cancellation tokens. For more information about cancellation in general, see [Cancellation](../../../docs/standard/threading/cancellation-in-managed-threads.md). In a parallel loop, you supply the to the method in the parameter and then enclose the parallel call in a try-catch block. diff --git a/docs/standard/parallel-programming/how-to-cancel-a-plinq-query.md b/docs/standard/parallel-programming/how-to-cancel-a-plinq-query.md index 8b4fb3f651f97..5c8ae9ce406ff 100644 --- a/docs/standard/parallel-programming/how-to-cancel-a-plinq-query.md +++ b/docs/standard/parallel-programming/how-to-cancel-a-plinq-query.md @@ -1,13 +1,7 @@ --- title: "How to: Cancel a PLINQ Query" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -15,13 +9,8 @@ helpviewer_keywords: - "PLINQ queries, how to cancel" - "cancellation, PLINQ" ms.assetid: 80b14640-edfa-4153-be1b-3e003d3e9c1a -caps.latest.revision: 16 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Cancel a PLINQ Query The following examples show two ways to cancel a PLINQ query. The first example shows how to cancel a query that consists mostly of data traversal. The second example shows how to cancel a query that contains a user function that is computationally expensive. diff --git a/docs/standard/parallel-programming/how-to-cancel-a-task-and-its-children.md b/docs/standard/parallel-programming/how-to-cancel-a-task-and-its-children.md index 0da02e98d81dd..d938bf555ced9 100644 --- a/docs/standard/parallel-programming/how-to-cancel-a-task-and-its-children.md +++ b/docs/standard/parallel-programming/how-to-cancel-a-task-and-its-children.md @@ -1,26 +1,15 @@ --- title: "How to: Cancel a Task and Its Children" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "tasks, how to cancel" ms.assetid: 08574301-8331-4719-ad50-9cf7f6ff3048 -caps.latest.revision: 16 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Cancel a Task and Its Children These examples show how to perform the following tasks: diff --git a/docs/standard/parallel-programming/how-to-combine-parallel-and-sequential-linq-queries.md b/docs/standard/parallel-programming/how-to-combine-parallel-and-sequential-linq-queries.md index d1c12d7c28dda..ebabe81405f9a 100644 --- a/docs/standard/parallel-programming/how-to-combine-parallel-and-sequential-linq-queries.md +++ b/docs/standard/parallel-programming/how-to-combine-parallel-and-sequential-linq-queries.md @@ -1,26 +1,15 @@ --- title: "How to: Combine Parallel and Sequential LINQ Queries" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "parallel queries, combine parallel and sequential" ms.assetid: 1167cfe6-c8aa-4096-94ba-c66c3a4edf4c -caps.latest.revision: 10 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Combine Parallel and Sequential LINQ Queries This example shows how to use the method to instruct PLINQ to process all subsequent operators in the query sequentially. Although sequential processing is generally slower than parallel, sometimes it is necessary to produce correct results. diff --git a/docs/standard/parallel-programming/how-to-control-ordering-in-a-plinq-query.md b/docs/standard/parallel-programming/how-to-control-ordering-in-a-plinq-query.md index 7d9c7b60a44f7..4cf299b0a9c16 100644 --- a/docs/standard/parallel-programming/how-to-control-ordering-in-a-plinq-query.md +++ b/docs/standard/parallel-programming/how-to-control-ordering-in-a-plinq-query.md @@ -1,26 +1,15 @@ --- title: "How to: Control Ordering in a PLINQ Query" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "PLINQ queries, how to control ordering" ms.assetid: c67eccc7-004d-4b2f-987e-919cbbd62ef7 -caps.latest.revision: 10 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Control Ordering in a PLINQ Query These examples show how to control the ordering in a PLINQ query by using the extension method. diff --git a/docs/standard/parallel-programming/how-to-create-and-execute-a-simple-plinq-query.md b/docs/standard/parallel-programming/how-to-create-and-execute-a-simple-plinq-query.md index eea9231e7dee1..42550baf3b143 100644 --- a/docs/standard/parallel-programming/how-to-create-and-execute-a-simple-plinq-query.md +++ b/docs/standard/parallel-programming/how-to-create-and-execute-a-simple-plinq-query.md @@ -1,26 +1,15 @@ --- title: "How to: Create and Execute a Simple PLINQ Query" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "PLINQ queries, how to create" ms.assetid: 983b4213-bddd-4a44-9262-cbe59186df4c -caps.latest.revision: 14 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Create and Execute a Simple PLINQ Query The following example shows how to create a simple Parallel LINQ query by using the extension method on the source sequence, and executing the query by using the method. diff --git a/docs/standard/parallel-programming/how-to-create-pre-computed-tasks.md b/docs/standard/parallel-programming/how-to-create-pre-computed-tasks.md index 7e6bdfcfc526c..4d858eefc0cfb 100644 --- a/docs/standard/parallel-programming/how-to-create-pre-computed-tasks.md +++ b/docs/standard/parallel-programming/how-to-create-pre-computed-tasks.md @@ -1,26 +1,15 @@ --- title: "How to: Create Pre-Computed Tasks" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "tasks, creating pre-computed" ms.assetid: a73eafa2-1f49-4106-a19e-997186029b58 -caps.latest.revision: 6 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Create Pre-Computed Tasks This document describes how to use the method to retrieve the results of asynchronous download operations that are held in a cache. The method returns a finished object that holds the provided value as its property. This method is useful when you perform an asynchronous operation that returns a object, and the result of that object is already computed. diff --git a/docs/standard/parallel-programming/how-to-handle-exceptions-in-a-plinq-query.md b/docs/standard/parallel-programming/how-to-handle-exceptions-in-a-plinq-query.md index cf97f7bd02033..7ef3564f65267 100644 --- a/docs/standard/parallel-programming/how-to-handle-exceptions-in-a-plinq-query.md +++ b/docs/standard/parallel-programming/how-to-handle-exceptions-in-a-plinq-query.md @@ -1,26 +1,15 @@ --- title: "How to: Handle Exceptions in a PLINQ Query" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "PLINQ queries, how to handle exceptions" ms.assetid: 8d56ff9b-a571-4d31-b41f-80c0b51b70a5 -caps.latest.revision: 13 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Handle Exceptions in a PLINQ Query The first example in this topic shows how to handle the that can be thrown from a PLINQ query when it executes. The second example shows how to put try-catch blocks within delegates, as close as possible to where the exception will be thrown. In this way, you can catch them as soon as they occur and possibly continue query execution. When exceptions are allowed to bubble up back to the joining thread, then it is possible that a query may continue to process some items after the exception is raised. diff --git a/docs/standard/parallel-programming/how-to-handle-exceptions-in-parallel-loops.md b/docs/standard/parallel-programming/how-to-handle-exceptions-in-parallel-loops.md index f35a5324460f0..5347a5e6b1866 100644 --- a/docs/standard/parallel-programming/how-to-handle-exceptions-in-parallel-loops.md +++ b/docs/standard/parallel-programming/how-to-handle-exceptions-in-parallel-loops.md @@ -1,26 +1,15 @@ --- title: "How to: Handle Exceptions in Parallel Loops" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "parallel loops, how to handle exceptions" ms.assetid: 512f0d5a-4636-4875-b766-88f20044f143 -caps.latest.revision: 14 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Handle Exceptions in Parallel Loops The and overloads do not have any special mechanism to handle exceptions that might be thrown. In this respect, they resemble regular `for` and `foreach` loops (`For` and `For Each` in Visual Basic); an unhandled exception causes the loop to terminate immediately. diff --git a/docs/standard/parallel-programming/how-to-implement-a-partitioner-for-static-partitioning.md b/docs/standard/parallel-programming/how-to-implement-a-partitioner-for-static-partitioning.md index 9adfab56194af..7186ce1a14930 100644 --- a/docs/standard/parallel-programming/how-to-implement-a-partitioner-for-static-partitioning.md +++ b/docs/standard/parallel-programming/how-to-implement-a-partitioner-for-static-partitioning.md @@ -1,23 +1,12 @@ --- title: "How to: Implement a Partitioner for Static Partitioning" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "tasks, how to create a static partitioner" ms.assetid: f4410508-cac6-4ba7-bef1-c5e68b2794f3 -caps.latest.revision: 6 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Implement a Partitioner for Static Partitioning The following example shows one way to implement a simple custom partitioner for PLINQ that performs static partitioning. Because the partitioner does not support dynamic partitions, it is not consumable from . This particular partitioner might provide speedup over the default range partitioner for data sources for which each element requires an increasing amount of processing time. diff --git a/docs/standard/parallel-programming/how-to-implement-a-producer-consumer-dataflow-pattern.md b/docs/standard/parallel-programming/how-to-implement-a-producer-consumer-dataflow-pattern.md index 0246adba75f2a..7dfa7c330f49c 100644 --- a/docs/standard/parallel-programming/how-to-implement-a-producer-consumer-dataflow-pattern.md +++ b/docs/standard/parallel-programming/how-to-implement-a-producer-consumer-dataflow-pattern.md @@ -1,9 +1,7 @@ --- title: "How to: Implement a Producer-Consumer Dataflow Pattern" ms.date: "03/30/2017" -ms.prod: ".net" ms.technology: dotnet-standard -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -14,10 +12,6 @@ helpviewer_keywords: ms.assetid: 47a1d38c-fe9c-44aa-bd15-937bd5659b0b author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Implement a Producer-Consumer Dataflow Pattern This document describes how to use the TPL Dataflow Library to implement a producer-consumer pattern. In this pattern, the *producer* sends messages to a message block, and the *consumer* reads messages from that block. diff --git a/docs/standard/parallel-programming/how-to-implement-dynamic-partitions.md b/docs/standard/parallel-programming/how-to-implement-dynamic-partitions.md index bf7716aac9e3a..b1127fd79001e 100644 --- a/docs/standard/parallel-programming/how-to-implement-dynamic-partitions.md +++ b/docs/standard/parallel-programming/how-to-implement-dynamic-partitions.md @@ -1,26 +1,15 @@ --- title: "How to: Implement Dynamic Partitions" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "tasks, how to create a dynamic partitioner" ms.assetid: c875ad12-a161-43e6-ad1c-3d6927c536a7 -caps.latest.revision: 5 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Implement Dynamic Partitions The following example shows how to implement a custom that implements dynamic partitioning and can be used from certain overloads and from PLINQ. diff --git a/docs/standard/parallel-programming/how-to-iterate-file-directories-with-plinq.md b/docs/standard/parallel-programming/how-to-iterate-file-directories-with-plinq.md index c0cf49eb1132c..bacc280b42442 100644 --- a/docs/standard/parallel-programming/how-to-iterate-file-directories-with-plinq.md +++ b/docs/standard/parallel-programming/how-to-iterate-file-directories-with-plinq.md @@ -1,23 +1,12 @@ --- title: "How to: Iterate File Directories with PLINQ" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "PLINQ queries, how to iterate directories" ms.assetid: 354e8ce3-35c4-431c-99ca-7661d1f3901b -caps.latest.revision: 8 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Iterate File Directories with PLINQ This example shows two simple ways to parallelize operations on file directories. The first query uses the method to populate an array of file names in a directory and all subdirectories. This method does not return until the entire array is populated, and therefore it can introduce latency at the beginning of the operation. However, after the array is populated, PLINQ can process it in parallel very quickly. diff --git a/docs/standard/parallel-programming/how-to-iterate-file-directories-with-the-parallel-class.md b/docs/standard/parallel-programming/how-to-iterate-file-directories-with-the-parallel-class.md index 33b14b1c9fe21..6da5deb1a841d 100644 --- a/docs/standard/parallel-programming/how-to-iterate-file-directories-with-the-parallel-class.md +++ b/docs/standard/parallel-programming/how-to-iterate-file-directories-with-the-parallel-class.md @@ -1,26 +1,15 @@ --- title: "How to: Iterate File Directories with the Parallel Class" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "parallel loops, how to iterate directories" ms.assetid: 555e9f48-f53d-4774-9bcf-3e965c732ec5 -caps.latest.revision: 8 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Iterate File Directories with the Parallel Class In many cases, file iteration is an operation that can be easily parallelized. The topic [How to: Iterate File Directories with PLINQ](../../../docs/standard/parallel-programming/how-to-iterate-file-directories-with-plinq.md) shows the easiest way to perform this task for many scenarios. However, complications can arise when your code has to deal with the many types of exceptions that can arise when accessing the file system. The following example shows one approach to the problem. It uses a stack-based iteration to traverse all files and folders under a specified directory, and it enables your code to catch and handle various exceptions. Of course, the way that you handle the exceptions is up to you. diff --git a/docs/standard/parallel-programming/how-to-measure-plinq-query-performance.md b/docs/standard/parallel-programming/how-to-measure-plinq-query-performance.md index a6f3eee5fd35c..0f5f27f5997d9 100644 --- a/docs/standard/parallel-programming/how-to-measure-plinq-query-performance.md +++ b/docs/standard/parallel-programming/how-to-measure-plinq-query-performance.md @@ -1,26 +1,15 @@ --- title: "How to: Measure PLINQ Query Performance" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "PLINQ queries, how to measure performance" ms.assetid: 491ba43b-2c10-473d-9aab-e2cb96446711 -caps.latest.revision: 7 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Measure PLINQ Query Performance This example shows how use the class to measure the time it takes for a PLINQ query to execute. diff --git a/docs/standard/parallel-programming/how-to-perform-action-when-a-dataflow-block-receives-data.md b/docs/standard/parallel-programming/how-to-perform-action-when-a-dataflow-block-receives-data.md index 0de6c092b768f..2c63e23c0f768 100644 --- a/docs/standard/parallel-programming/how-to-perform-action-when-a-dataflow-block-receives-data.md +++ b/docs/standard/parallel-programming/how-to-perform-action-when-a-dataflow-block-receives-data.md @@ -1,9 +1,7 @@ --- title: "How to: Perform Action When a Dataflow Block Receives Data" ms.date: "03/30/2017" -ms.prod: ".net" ms.technology: dotnet-standard -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -13,10 +11,6 @@ helpviewer_keywords: ms.assetid: fc2585dc-965e-4632-ace7-73dd02684ed3 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Perform Action When a Dataflow Block Receives Data *Execution dataflow block* types call a user-provided delegate when they receive data. The , , and classes are execution dataflow block types. You can use the `delegate` keyword (`Sub` in Visual Basic), , , or a lambda expression when you provide a work function to an execution dataflow block. This document describes how to use and lambda expressions to perform action in execution blocks. diff --git a/docs/standard/parallel-programming/how-to-prevent-a-child-task-from-attaching-to-its-parent.md b/docs/standard/parallel-programming/how-to-prevent-a-child-task-from-attaching-to-its-parent.md index ff453489dc31a..f2da7cc80a161 100644 --- a/docs/standard/parallel-programming/how-to-prevent-a-child-task-from-attaching-to-its-parent.md +++ b/docs/standard/parallel-programming/how-to-prevent-a-child-task-from-attaching-to-its-parent.md @@ -1,26 +1,15 @@ --- title: "How to: Prevent a Child Task from Attaching to its Parent" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "tasks, preventing attachments" ms.assetid: c0fb85d4-9e80-4905-9f65-29acc54201c4 -caps.latest.revision: 5 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Prevent a Child Task from Attaching to its Parent This document demonstrates how to prevent a child task from attaching to the parent task. Preventing a child task from attaching to its parent is useful when you call a component that is written by a third party and that also uses tasks. For example, a third-party component that uses the option to create a or object can cause problems in your code if it is long-running or throws an unhandled exception. diff --git a/docs/standard/parallel-programming/how-to-return-a-value-from-a-task.md b/docs/standard/parallel-programming/how-to-return-a-value-from-a-task.md index 0939acab73ab0..5b8ed85209576 100644 --- a/docs/standard/parallel-programming/how-to-return-a-value-from-a-task.md +++ b/docs/standard/parallel-programming/how-to-return-a-value-from-a-task.md @@ -1,26 +1,15 @@ --- title: "How to: Return a Value from a Task" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "tasks, how to return a value" ms.assetid: c4bc0f44-eba2-4e96-9e03-1cc787461e61 -caps.latest.revision: 9 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Return a Value from a Task This example shows how to use the type to return a value from the property. It requires that the C:\Users\Public\Pictures\Sample Pictures\ directory exists, and that it contains files. diff --git a/docs/standard/parallel-programming/how-to-specify-a-task-scheduler-in-a-dataflow-block.md b/docs/standard/parallel-programming/how-to-specify-a-task-scheduler-in-a-dataflow-block.md index b9879f53e64a2..0a49844147d33 100644 --- a/docs/standard/parallel-programming/how-to-specify-a-task-scheduler-in-a-dataflow-block.md +++ b/docs/standard/parallel-programming/how-to-specify-a-task-scheduler-in-a-dataflow-block.md @@ -1,9 +1,7 @@ --- title: "How to: Specify a Task Scheduler in a Dataflow Block" ms.date: "03/30/2017" -ms.prod: ".net" ms.technology: dotnet-standard -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -14,10 +12,6 @@ helpviewer_keywords: ms.assetid: 27ece374-ed5b-49ef-9cec-b20db34a65e8 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Specify a Task Scheduler in a Dataflow Block This document demonstrates how to associate a specific task scheduler when you use dataflow in your application. The example uses the class in a Windows Forms application to show when reader tasks are active and when a writer task is active. It also uses the method to enable a dataflow block to run on the user-interface thread. diff --git a/docs/standard/parallel-programming/how-to-specify-merge-options-in-plinq.md b/docs/standard/parallel-programming/how-to-specify-merge-options-in-plinq.md index b7e8cf4ed9686..53dc08e562bf9 100644 --- a/docs/standard/parallel-programming/how-to-specify-merge-options-in-plinq.md +++ b/docs/standard/parallel-programming/how-to-specify-merge-options-in-plinq.md @@ -1,26 +1,15 @@ --- title: "How to: Specify Merge Options in PLINQ" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "PLINQ queries, how to use merge options" ms.assetid: 0f33b527-e91a-4550-a39a-e63e396fd831 -caps.latest.revision: 11 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Specify Merge Options in PLINQ This example shows how to specify the merge options that will apply to all subsequent operators in a PLINQ query. You do not have to set merge options explicitly, but doing so may improve performance. For more information about merge options, see [Merge Options in PLINQ](../../../docs/standard/parallel-programming/merge-options-in-plinq.md). diff --git a/docs/standard/parallel-programming/how-to-specify-the-degree-of-parallelism-in-a-dataflow-block.md b/docs/standard/parallel-programming/how-to-specify-the-degree-of-parallelism-in-a-dataflow-block.md index 6a9f36bb95289..9d42d692ebf5b 100644 --- a/docs/standard/parallel-programming/how-to-specify-the-degree-of-parallelism-in-a-dataflow-block.md +++ b/docs/standard/parallel-programming/how-to-specify-the-degree-of-parallelism-in-a-dataflow-block.md @@ -1,9 +1,7 @@ --- title: "How to: Specify the Degree of Parallelism in a Dataflow Block" ms.date: "03/30/2017" -ms.prod: ".net" ms.technology: dotnet-standard -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -14,10 +12,6 @@ helpviewer_keywords: ms.assetid: e4088541-ee05-40db-95f5-147cfe62fde7 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Specify the Degree of Parallelism in a Dataflow Block This document describes how to set the property to enable an execution dataflow block to process more than one message at a time. Doing this is useful when you have a dataflow block that performs a long-running computation and can benefit from processing messages in parallel. This example uses the class to perform multiple dataflow operations concurrently; however, you can specify the maximum degree of parallelism in any of the predefined execution block types that the TPL Dataflow Library provides, , , and . diff --git a/docs/standard/parallel-programming/how-to-specify-the-execution-mode-in-plinq.md b/docs/standard/parallel-programming/how-to-specify-the-execution-mode-in-plinq.md index 96d8524c0b0c9..bea59b2960134 100644 --- a/docs/standard/parallel-programming/how-to-specify-the-execution-mode-in-plinq.md +++ b/docs/standard/parallel-programming/how-to-specify-the-execution-mode-in-plinq.md @@ -1,26 +1,15 @@ --- title: "How to: Specify the Execution Mode in PLINQ" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "PLINQ queries, how to use execution mode" ms.assetid: e52ff26c-c5d3-4fab-9fec-c937fb387963 -caps.latest.revision: 8 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Specify the Execution Mode in PLINQ This example shows how to force PLINQ to bypass its default heuristics and parallelize a query regardless of the query's shape. diff --git a/docs/standard/parallel-programming/how-to-speed-up-small-loop-bodies.md b/docs/standard/parallel-programming/how-to-speed-up-small-loop-bodies.md index a796b9714d552..2f613fa681692 100644 --- a/docs/standard/parallel-programming/how-to-speed-up-small-loop-bodies.md +++ b/docs/standard/parallel-programming/how-to-speed-up-small-loop-bodies.md @@ -1,26 +1,15 @@ --- title: "How to: Speed Up Small Loop Bodies" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "parallel loops, how to speed up" ms.assetid: c7a66677-cb59-4cbf-969a-d2e8fc61a6ce -caps.latest.revision: 18 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Speed Up Small Loop Bodies When a loop has a small body, it might perform more slowly than the equivalent sequential loop, such as the [for](~/docs/csharp/language-reference/keywords/for.md) loop in C# and the [For](http://msdn.microsoft.com/library/c470a263-9b49-4308-8fd6-8592b84a7980) loop in Visual Basic. Slower performance is caused by the overhead involved in partitioning the data and the cost of invoking a delegate on each loop iteration. To address such scenarios, the class provides the method, which enables you to provide a sequential loop for the delegate body, so that the delegate is invoked only once per partition, instead of once per iteration. For more information, see [Custom Partitioners for PLINQ and TPL](../../../docs/standard/parallel-programming/custom-partitioners-for-plinq-and-tpl.md). diff --git a/docs/standard/parallel-programming/how-to-traverse-a-binary-tree-with-parallel-tasks.md b/docs/standard/parallel-programming/how-to-traverse-a-binary-tree-with-parallel-tasks.md index 31571b549dc8c..89b1e89c54600 100644 --- a/docs/standard/parallel-programming/how-to-traverse-a-binary-tree-with-parallel-tasks.md +++ b/docs/standard/parallel-programming/how-to-traverse-a-binary-tree-with-parallel-tasks.md @@ -1,26 +1,15 @@ --- title: "How to: Traverse a Binary Tree with Parallel Tasks" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "tasks, how to traverse a tree" ms.assetid: 4265d169-6c69-4f36-b10d-b7ae7f72f4df -caps.latest.revision: 8 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Traverse a Binary Tree with Parallel Tasks The following example shows two ways in which parallel tasks can be used to traverse a tree data structure. The creation of the tree itself is left as an exercise. diff --git a/docs/standard/parallel-programming/how-to-unlink-dataflow-blocks.md b/docs/standard/parallel-programming/how-to-unlink-dataflow-blocks.md index a21b4dcdca1b2..1b6079f5b68ca 100644 --- a/docs/standard/parallel-programming/how-to-unlink-dataflow-blocks.md +++ b/docs/standard/parallel-programming/how-to-unlink-dataflow-blocks.md @@ -1,9 +1,7 @@ --- title: "How to: Unlink Dataflow Blocks" ms.date: "03/30/2017" -ms.prod: ".net" ms.technology: dotnet-standard -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -14,10 +12,6 @@ helpviewer_keywords: ms.assetid: 40f0208d-4618-47f7-85cf-4913d07d2d7d author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Unlink Dataflow Blocks This document describes how to unlink a target dataflow block from its source. diff --git a/docs/standard/parallel-programming/how-to-unwrap-a-nested-task.md b/docs/standard/parallel-programming/how-to-unwrap-a-nested-task.md index 8d808742e154f..9bcaa841b2d03 100644 --- a/docs/standard/parallel-programming/how-to-unwrap-a-nested-task.md +++ b/docs/standard/parallel-programming/how-to-unwrap-a-nested-task.md @@ -1,26 +1,15 @@ --- title: "How to: Unwrap a Nested Task" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "tasks, how to unwrap nested tasks" ms.assetid: a0769dd2-0f6d-48ca-8418-a9d39de7f450 -caps.latest.revision: 11 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Unwrap a Nested Task You can return a task from a method, and then wait on or continue from that task, as shown in the following example: diff --git a/docs/standard/parallel-programming/how-to-use-joinblock-to-read-data-from-multiple-sources.md b/docs/standard/parallel-programming/how-to-use-joinblock-to-read-data-from-multiple-sources.md index d9a622da2fe8e..9d5091374246f 100644 --- a/docs/standard/parallel-programming/how-to-use-joinblock-to-read-data-from-multiple-sources.md +++ b/docs/standard/parallel-programming/how-to-use-joinblock-to-read-data-from-multiple-sources.md @@ -1,9 +1,7 @@ --- title: "How to: Use JoinBlock to Read Data From Multiple Sources" ms.date: "03/30/2017" -ms.prod: ".net" ms.technology: dotnet-standard -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -14,10 +12,6 @@ helpviewer_keywords: ms.assetid: e9c1ada4-ac57-4704-87cb-2f5117f8151d author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Use JoinBlock to Read Data From Multiple Sources This document explains how to use the class to perform an operation when data is available from multiple sources. It also demonstrates how to use non-greedy mode to enable multiple join blocks to share a data source more efficiently. diff --git a/docs/standard/parallel-programming/how-to-use-parallel-invoke-to-execute-parallel-operations.md b/docs/standard/parallel-programming/how-to-use-parallel-invoke-to-execute-parallel-operations.md index 3f5227fa6a89f..99e9a95850f95 100644 --- a/docs/standard/parallel-programming/how-to-use-parallel-invoke-to-execute-parallel-operations.md +++ b/docs/standard/parallel-programming/how-to-use-parallel-invoke-to-execute-parallel-operations.md @@ -1,13 +1,7 @@ --- title: "How to: Use Parallel.Invoke to Execute Parallel Operations" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -15,13 +9,8 @@ helpviewer_keywords: - "task parallelism in .NET" - "parallel programming, task parallelism" ms.assetid: 6b3ecd79-dec9-4ce1-abf4-62e5392a59c6 -caps.latest.revision: 22 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Use Parallel.Invoke to Execute Parallel Operations This example shows how to parallelize operations by using in the Task Parallel Library. Three operations are performed on a shared data source. Because none of the operations modifies the source, they can be executed in parallel in a straightforward manner. diff --git a/docs/standard/parallel-programming/how-to-wrap-eap-patterns-in-a-task.md b/docs/standard/parallel-programming/how-to-wrap-eap-patterns-in-a-task.md index c7ff259b8d805..fdc36ba01751f 100644 --- a/docs/standard/parallel-programming/how-to-wrap-eap-patterns-in-a-task.md +++ b/docs/standard/parallel-programming/how-to-wrap-eap-patterns-in-a-task.md @@ -1,26 +1,15 @@ --- title: "How to: Wrap EAP Patterns in a Task" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "tasks, how to wrap EAP patterns" ms.assetid: f11ed467-af2f-4504-8a2e-299a6c36d44e -caps.latest.revision: 9 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Wrap EAP Patterns in a Task The following example shows how to expose an arbitrary sequence of Event-Based Asynchronous Pattern (EAP) operations as one task by using a . The example also shows how to use a to invoke the built-in cancellation methods on the objects. diff --git a/docs/standard/parallel-programming/how-to-write-a-custom-plinq-aggregate-function.md b/docs/standard/parallel-programming/how-to-write-a-custom-plinq-aggregate-function.md index 9e50cd5f3b578..357d248ac55c5 100644 --- a/docs/standard/parallel-programming/how-to-write-a-custom-plinq-aggregate-function.md +++ b/docs/standard/parallel-programming/how-to-write-a-custom-plinq-aggregate-function.md @@ -1,26 +1,15 @@ --- title: "How to: Write a Custom PLINQ Aggregate Function" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "PLINQ queries, how to create aggregate function" ms.assetid: 5a70dd49-ab2a-4798-b551-196ee7042b1a -caps.latest.revision: 7 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Write a Custom PLINQ Aggregate Function This example shows how to use the method to apply a custom aggregation function to a source sequence. diff --git a/docs/standard/parallel-programming/how-to-write-a-parallel-for-loop-with-thread-local-variables.md b/docs/standard/parallel-programming/how-to-write-a-parallel-for-loop-with-thread-local-variables.md index bfb65276c2a22..71674aaa8edc9 100644 --- a/docs/standard/parallel-programming/how-to-write-a-parallel-for-loop-with-thread-local-variables.md +++ b/docs/standard/parallel-programming/how-to-write-a-parallel-for-loop-with-thread-local-variables.md @@ -1,26 +1,15 @@ --- title: "How to: Write a Parallel.For Loop with Thread-Local Variables" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "parallel for loops, how to use local state" ms.assetid: 68384064-7ee7-41e2-90e3-71f00bde01bb -caps.latest.revision: 23 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Write a Parallel.For Loop with Thread-Local Variables This example shows how to use thread-local variables to store and retrieve state in each separate task that is created by a loop. By using thread-local data, you can avoid the overhead of synchronizing a large number of accesses to shared state. Instead of writing to a shared resource on each iteration, you compute and store the value until all iterations for the task are complete. You can then write the final result once to the shared resource, or pass it to another method. diff --git a/docs/standard/parallel-programming/how-to-write-a-parallel-foreach-loop-with-thread-local-variables.md b/docs/standard/parallel-programming/how-to-write-a-parallel-foreach-loop-with-thread-local-variables.md index e81d23f741280..096ba0e597153 100644 --- a/docs/standard/parallel-programming/how-to-write-a-parallel-foreach-loop-with-thread-local-variables.md +++ b/docs/standard/parallel-programming/how-to-write-a-parallel-foreach-loop-with-thread-local-variables.md @@ -1,26 +1,15 @@ --- title: "How to: Write a Parallel.ForEach Loop with Thread-Local Variables" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "parallel foreach loop, how to use local state" ms.assetid: 24b10041-b30b-45cb-aa65-66cf568ca76d -caps.latest.revision: 18 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Write a Parallel.ForEach Loop with Thread-Local Variables The following example shows how to write a method that uses thread-local variables. When a loop executes, it divides its source collection into multiple partitions. Each partition will get its own copy of the "thread-local" variable. (The term "thread-local" is slightly inaccurate here, because in some cases two partitions may run on the same thread.) diff --git a/docs/standard/parallel-programming/how-to-write-a-simple-parallel-for-loop.md b/docs/standard/parallel-programming/how-to-write-a-simple-parallel-for-loop.md index 3d7970ff13e4e..c60578de72ad7 100644 --- a/docs/standard/parallel-programming/how-to-write-a-simple-parallel-for-loop.md +++ b/docs/standard/parallel-programming/how-to-write-a-simple-parallel-for-loop.md @@ -1,13 +1,7 @@ --- title: "How to: Write a Simple Parallel.For Loop" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -16,13 +10,8 @@ helpviewer_keywords: - "for loop, parallel construction in .NET" - "parallel for loops, how to use" ms.assetid: 9029ba7f-a9d1-4526-8c84-c88716dba5d4 -caps.latest.revision: 18 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Write a Simple Parallel.For Loop This topic contains two examples that illustrate the method. The first uses the method overload, and the second uses the overload, the two simplest overloads of the method. You can use these two overloads of the method when you do not need to cancel the loop, break out of the loop iterations, or maintain any thread-local state. diff --git a/docs/standard/parallel-programming/how-to-write-a-simple-parallel-foreach-loop.md b/docs/standard/parallel-programming/how-to-write-a-simple-parallel-foreach-loop.md index 0bf7357847925..aacf0f31a679b 100644 --- a/docs/standard/parallel-programming/how-to-write-a-simple-parallel-foreach-loop.md +++ b/docs/standard/parallel-programming/how-to-write-a-simple-parallel-foreach-loop.md @@ -1,13 +1,7 @@ --- title: "How to: Write a Simple Parallel.ForEach Loop" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -15,13 +9,8 @@ helpviewer_keywords: - "foreach, parallel version" - "parallel programming, foreach" ms.assetid: cb5fab92-1c19-499e-ae91-8b7525dd875f -caps.latest.revision: 19 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Write a Simple Parallel.ForEach Loop This example shows how to use a loop to enable data parallelism over any or data source. diff --git a/docs/standard/parallel-programming/how-to-write-messages-to-and-read-messages-from-a-dataflow-block.md b/docs/standard/parallel-programming/how-to-write-messages-to-and-read-messages-from-a-dataflow-block.md index af7190ed60bd8..096767d3fda91 100644 --- a/docs/standard/parallel-programming/how-to-write-messages-to-and-read-messages-from-a-dataflow-block.md +++ b/docs/standard/parallel-programming/how-to-write-messages-to-and-read-messages-from-a-dataflow-block.md @@ -1,9 +1,7 @@ --- title: "How to: Write Messages to and Read Messages from a Dataflow Block" ms.date: "03/30/2017" -ms.prod: ".net" ms.technology: dotnet-standard -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -13,10 +11,6 @@ helpviewer_keywords: ms.assetid: 1a9bf078-aa82-46eb-b95a-f87237f028c5 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Write Messages to and Read Messages from a Dataflow Block This document describes how to use the TPL Dataflow Library to write messages to and read messages from a dataflow block. The TPL Dataflow Library provides both synchronous and asynchronous methods for writing messages to and reading messages from a dataflow block. This document uses the class. The class buffers messages and behaves as both a message source and as a message target. diff --git a/docs/standard/parallel-programming/index.md b/docs/standard/parallel-programming/index.md index ade69a44cb32a..059e0020449e3 100644 --- a/docs/standard/parallel-programming/index.md +++ b/docs/standard/parallel-programming/index.md @@ -1,17 +1,12 @@ --- title: "Parallel Programming in .NET" ms.date: "03/30/2017" -ms.prod: ".net" ms.technology: dotnet-standard -ms.topic: "article" helpviewer_keywords: - "parallel programming" +ms.assetid: 4d83c690-ad2d-489e-a2e0-b85b898a672d author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Parallel Programming in .NET diff --git a/docs/standard/parallel-programming/introduction-to-plinq.md b/docs/standard/parallel-programming/introduction-to-plinq.md index ba2c257bd4ff6..7d11f1ec3b05b 100644 --- a/docs/standard/parallel-programming/introduction-to-plinq.md +++ b/docs/standard/parallel-programming/introduction-to-plinq.md @@ -1,26 +1,15 @@ --- title: "Introduction to PLINQ" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "PLINQ queries, introduction to" ms.assetid: eaa720d8-8999-4eb7-8df5-3c19ca61cad0 -caps.latest.revision: 22 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Introduction to PLINQ ## What is a Parallel Query? diff --git a/docs/standard/parallel-programming/lambda-expressions-in-plinq-and-tpl.md b/docs/standard/parallel-programming/lambda-expressions-in-plinq-and-tpl.md index 5b286325ada14..349e102e5111b 100644 --- a/docs/standard/parallel-programming/lambda-expressions-in-plinq-and-tpl.md +++ b/docs/standard/parallel-programming/lambda-expressions-in-plinq-and-tpl.md @@ -1,13 +1,7 @@ --- title: "Lambda Expressions in PLINQ and TPL" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -16,13 +10,8 @@ helpviewer_keywords: - "Action delegate, creating with lambda expression" - "lambda expressions, with Action and Func" ms.assetid: 645b2c17-29d0-4ffa-8684-430743cc2f2d -caps.latest.revision: 12 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Lambda Expressions in PLINQ and TPL The Task Parallel Library (TPL) contains many methods that take one of the or family of delegates as input parameters. You use these delegates to pass in your custom program logic to the parallel loop, task or query. The code examples for TPL as well as PLINQ use lambda expressions to create instances of those delegates as inline code blocks. This topic provides a brief introduction to Func and Action and shows you how to use lambda expressions in the Task Parallel Library and PLINQ. diff --git a/docs/standard/parallel-programming/merge-options-in-plinq.md b/docs/standard/parallel-programming/merge-options-in-plinq.md index b57fc384d670c..87ca8c75b23bd 100644 --- a/docs/standard/parallel-programming/merge-options-in-plinq.md +++ b/docs/standard/parallel-programming/merge-options-in-plinq.md @@ -1,26 +1,15 @@ --- title: "Merge Options in PLINQ" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "PLINQ queries, merge options" ms.assetid: e8f7be3b-88de-4f33-ab14-dc008e76c1ba -caps.latest.revision: 10 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Merge Options in PLINQ When a query is executing as parallel, PLINQ partitions the source sequence so that multiple threads can work on different parts concurrently, typically on separate threads. If the results are to be consumed on one thread, for example, in a `foreach` (`For Each` in Visual Basic) loop, then the results from every thread must be merged back into one sequence. The kind of merge that PLINQ performs depends on the operators that are present in the query. For example, operators that impose a new order on the results must buffer all elements from all threads. From the perspective of the consuming thread (which is also that of the application user) a fully buffered query might run for a noticeable period of time before it produces its first result. Other operators, by default, are partially buffered; they yield their results in batches. One operator, is not buffered by default. It yields all elements from all threads immediately. diff --git a/docs/standard/parallel-programming/order-preservation-in-plinq.md b/docs/standard/parallel-programming/order-preservation-in-plinq.md index ceb1ee37dd8d3..80de9503c6195 100644 --- a/docs/standard/parallel-programming/order-preservation-in-plinq.md +++ b/docs/standard/parallel-programming/order-preservation-in-plinq.md @@ -1,26 +1,15 @@ --- title: "Order Preservation in PLINQ" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "PLINQ queries, order preservation" ms.assetid: 10d202bc-19e1-4b5c-bbf1-9a977322a9ca -caps.latest.revision: 19 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Order Preservation in PLINQ In PLINQ, the goal is to maximize performance while maintaining correctness. A query should run as fast as possible but still produce the correct results. In some cases, correctness requires the order of the source sequence to be preserved; however, ordering can be computationally expensive. Therefore, by default, PLINQ does not preserve the order of the source sequence. In this regard, PLINQ resembles [!INCLUDE[vbtecdlinq](../../../includes/vbtecdlinq-md.md)], but is unlike LINQ to Objects, which does preserve ordering. diff --git a/docs/standard/parallel-programming/parallel-diagnostic-tools.md b/docs/standard/parallel-programming/parallel-diagnostic-tools.md index 5707484bfb7af..6d41b1ea9bb1f 100644 --- a/docs/standard/parallel-programming/parallel-diagnostic-tools.md +++ b/docs/standard/parallel-programming/parallel-diagnostic-tools.md @@ -1,23 +1,12 @@ --- title: "Parallel Diagnostic Tools" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "parallel programming, debugging and profiling tools" ms.assetid: 38f7302a-ddf6-4179-ba19-f49e00395b9f -caps.latest.revision: 6 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Parallel Diagnostic Tools Visual Studio provides extensive support for debugging and profiling multi-threaded applications. diff --git a/docs/standard/parallel-programming/parallel-linq-plinq.md b/docs/standard/parallel-programming/parallel-linq-plinq.md index a7bba8c75f0c1..dbeddd38d05f7 100644 --- a/docs/standard/parallel-programming/parallel-linq-plinq.md +++ b/docs/standard/parallel-programming/parallel-linq-plinq.md @@ -1,23 +1,12 @@ --- title: "Parallel LINQ (PLINQ)" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "PLINQ, overview" ms.assetid: 3d4d0cd3-bde4-490b-99e7-f4e41be96455 -caps.latest.revision: 17 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Parallel LINQ (PLINQ) Parallel LINQ (PLINQ) is a parallel implementation of LINQ to Objects. PLINQ implements the full set of LINQ standard query operators as extension methods for the namespace and has additional operators for parallel operations. PLINQ combines the simplicity and readability of LINQ syntax with the power of parallel programming. Just like code that targets the Task Parallel Library, PLINQ queries scale in the degree of concurrency based on the capabilities of the host computer. diff --git a/docs/standard/parallel-programming/plinq-data-sample.md b/docs/standard/parallel-programming/plinq-data-sample.md index f600066e9e549..775667d741b5d 100644 --- a/docs/standard/parallel-programming/plinq-data-sample.md +++ b/docs/standard/parallel-programming/plinq-data-sample.md @@ -1,26 +1,15 @@ --- title: "PLINQ Data Sample" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "PLINQ queries, sample data" ms.assetid: 4fccbb35-eaa5-44e9-a252-a5c3d4bc7604 -caps.latest.revision: 9 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # PLINQ Data Sample This sample contains example data in .csv format, together with methods that transform it into in-memory collections of Customers, Products, Orders, and Order Details. To further experiment with PLINQ, you can paste code examples from certain other topics into the code in this topic and invoke it from the `Main` method. You can also use this data with your own PLINQ queries. diff --git a/docs/standard/parallel-programming/potential-pitfalls-in-data-and-task-parallelism.md b/docs/standard/parallel-programming/potential-pitfalls-in-data-and-task-parallelism.md index ede0aca878ebc..cacd12900ee7a 100644 --- a/docs/standard/parallel-programming/potential-pitfalls-in-data-and-task-parallelism.md +++ b/docs/standard/parallel-programming/potential-pitfalls-in-data-and-task-parallelism.md @@ -1,26 +1,15 @@ --- title: "Potential Pitfalls in Data and Task Parallelism" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "parallel programming, pitfalls" ms.assetid: 1e357177-e699-4b8f-9e49-56d3513ed128 -caps.latest.revision: 14 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Potential Pitfalls in Data and Task Parallelism In many cases, and can provide significant performance improvements over ordinary sequential loops. However, the work of parallelizing the loop introduces complexity that can lead to problems that, in sequential code, are not as common or are not encountered at all. This topic lists some practices to avoid when you write parallel loops. diff --git a/docs/standard/parallel-programming/potential-pitfalls-with-plinq.md b/docs/standard/parallel-programming/potential-pitfalls-with-plinq.md index f2f5b89824c59..08accbb66a411 100644 --- a/docs/standard/parallel-programming/potential-pitfalls-with-plinq.md +++ b/docs/standard/parallel-programming/potential-pitfalls-with-plinq.md @@ -1,26 +1,15 @@ --- title: "Potential Pitfalls with PLINQ" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "PLINQ queries, pitfalls" ms.assetid: 75a38b55-4bc4-488a-87d5-89dbdbdc76a2 -caps.latest.revision: 13 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Potential Pitfalls with PLINQ In many cases, PLINQ can provide significant performance improvements over sequential LINQ to Objects queries. However, the work of parallelizing the query execution introduces complexity that can lead to problems that, in sequential code, are not as common or are not encountered at all. This topic lists some practices to avoid when you write PLINQ queries. diff --git a/docs/standard/parallel-programming/task-based-asynchronous-programming.md b/docs/standard/parallel-programming/task-based-asynchronous-programming.md index bc7091831ea18..93a436474fae3 100644 --- a/docs/standard/parallel-programming/task-based-asynchronous-programming.md +++ b/docs/standard/parallel-programming/task-based-asynchronous-programming.md @@ -1,26 +1,15 @@ --- title: "Task-based Asynchronous Programming" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "parallelism, task" ms.assetid: 458b5e69-5210-45e5-bc44-3888f86abd6f -caps.latest.revision: 51 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Task-based Asynchronous Programming The Task Parallel Library (TPL) is based on the concept of a *task*, which represents an asynchronous operation. In some ways, a task resembles a thread or work item, but at a higher level of abstraction. The term *task parallelism* refers to one or more independent tasks running concurrently. Tasks provide two primary benefits: diff --git a/docs/standard/parallel-programming/task-cancellation.md b/docs/standard/parallel-programming/task-cancellation.md index 854234c4c2195..d1927320d1f0e 100644 --- a/docs/standard/parallel-programming/task-cancellation.md +++ b/docs/standard/parallel-programming/task-cancellation.md @@ -1,13 +1,7 @@ --- title: "Task Cancellation" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -15,13 +9,8 @@ helpviewer_keywords: - "tasks, cancellation" - "asynchronous task cancellation" ms.assetid: 3ecf1ea9-e399-4a6a-a0d6-8475f48dcb28 -caps.latest.revision: 18 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Task Cancellation The and classes support cancellation through the use of cancellation tokens in the .NET Framework. For more information, see [Cancellation in Managed Threads](../../../docs/standard/threading/cancellation-in-managed-threads.md). In the Task classes, cancellation involves cooperation between the user delegate, which represents a cancelable operation and the code that requested the cancellation. A successful cancellation involves the requesting code calling the method, and the user delegate terminating the operation in a timely manner. You can terminate the operation by using one of these options: diff --git a/docs/standard/parallel-programming/task-parallel-library-tpl.md b/docs/standard/parallel-programming/task-parallel-library-tpl.md index acff25e9c92ea..3a9f166a083d1 100644 --- a/docs/standard/parallel-programming/task-parallel-library-tpl.md +++ b/docs/standard/parallel-programming/task-parallel-library-tpl.md @@ -1,25 +1,14 @@ --- title: "Task Parallel Library (TPL)" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - ".NET, concurrency in" - ".NET, parallel programming in" - "Parallel Programming" ms.assetid: b8f99f43-9104-45fd-9bff-385a20488a23 -caps.latest.revision: 37 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Task Parallel Library (TPL) The Task Parallel Library (TPL) is a set of public types and APIs in the and namespaces. The purpose of the TPL is to make developers more productive by simplifying the process of adding parallelism and concurrency to applications. The TPL scales the degree of concurrency dynamically to most efficiently use all the processors that are available. In addition, the TPL handles the partitioning of the work, the scheduling of threads on the , cancellation support, state management, and other low-level details. By using TPL, you can maximize the performance of your code while focusing on the work that your program is designed to accomplish. diff --git a/docs/standard/parallel-programming/tpl-and-traditional-async-programming.md b/docs/standard/parallel-programming/tpl-and-traditional-async-programming.md index 30b5c5623af1c..00e1da7479adc 100644 --- a/docs/standard/parallel-programming/tpl-and-traditional-async-programming.md +++ b/docs/standard/parallel-programming/tpl-and-traditional-async-programming.md @@ -1,26 +1,15 @@ --- title: "TPL and Traditional .NET Framework Asynchronous Programming" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "tasks, with other asynchronous models" ms.assetid: e7b31170-a156-433f-9f26-b1fc7cd1776f -caps.latest.revision: 16 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # TPL and Traditional .NET Framework Asynchronous Programming The .NET Framework provides the following two standard patterns for performing I/O-bound and compute-bound asynchronous operations: diff --git a/docs/standard/parallel-programming/understanding-speedup-in-plinq.md b/docs/standard/parallel-programming/understanding-speedup-in-plinq.md index f09c3fcdd6259..1d08f2cbe143a 100644 --- a/docs/standard/parallel-programming/understanding-speedup-in-plinq.md +++ b/docs/standard/parallel-programming/understanding-speedup-in-plinq.md @@ -1,26 +1,15 @@ --- title: "Understanding Speedup in PLINQ" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "PLINQ queries, performance tuning" ms.assetid: 53706c7e-397d-467a-98cd-c0d1fd63ba5e -caps.latest.revision: 14 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Understanding Speedup in PLINQ The primary purpose of PLINQ is to speed up the execution of LINQ to Objects queries by executing the query delegates in parallel on multi-core computers. PLINQ performs best when the processing of each element in a source collection is independent, with no shared state involved among the individual delegates. Such operations are common in LINQ to Objects and PLINQ, and are often called "*delightfully parallel*" because they lend themselves easily to scheduling on multiple threads. However, not all queries consist entirely of delightfully parallel operations; in most cases, a query involves some operators that either cannot be parallelized, or that slow down parallel execution. And even with queries that are entirely delightfully parallel, PLINQ must still partition the data source and schedule the work on the threads, and usually merge the results when the query completes. All these operations add to the computational cost of parallelization; these costs of adding parallelization are called *overhead*. To achieve optimum performance in a PLINQ query, the goal is to maximize the parts that are delightfully parallel and minimize the parts that require overhead. This article provides information that will help you write PLINQ queries that are as efficient as possible while still yielding correct results. diff --git a/docs/standard/parallel-programming/using-tpl-with-other-asynchronous-patterns.md b/docs/standard/parallel-programming/using-tpl-with-other-asynchronous-patterns.md index e1766ea59f321..5eeb8d73ab26a 100644 --- a/docs/standard/parallel-programming/using-tpl-with-other-asynchronous-patterns.md +++ b/docs/standard/parallel-programming/using-tpl-with-other-asynchronous-patterns.md @@ -1,23 +1,12 @@ --- title: "Using TPL with Other Asynchronous Patterns" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "tasks and APM" ms.assetid: 7add905b-ff60-4353-af79-5089038d9a08 -caps.latest.revision: 8 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Using TPL with Other Asynchronous Patterns The Task Parallel Library can be used with traditional .NET Framework asynchronous programming patterns in various ways. diff --git a/docs/standard/parallel-programming/walkthrough-creating-a-custom-dataflow-block-type.md b/docs/standard/parallel-programming/walkthrough-creating-a-custom-dataflow-block-type.md index 739ded868604c..4c3f7fd577670 100644 --- a/docs/standard/parallel-programming/walkthrough-creating-a-custom-dataflow-block-type.md +++ b/docs/standard/parallel-programming/walkthrough-creating-a-custom-dataflow-block-type.md @@ -1,9 +1,7 @@ --- title: "Walkthrough: Creating a Custom Dataflow Block Type" ms.date: "03/30/2017" -ms.prod: ".net" ms.technology: dotnet-standard -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -14,10 +12,6 @@ helpviewer_keywords: ms.assetid: a6147146-0a6a-4d9b-ab0f-237b3c1ac691 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Walkthrough: Creating a Custom Dataflow Block Type Although the TPL Dataflow Library provides several dataflow block types that enable a variety of functionality, you can also create custom block types. This document describes how to create a dataflow block type that implements custom behavior. diff --git a/docs/standard/parallel-programming/walkthrough-creating-a-dataflow-pipeline.md b/docs/standard/parallel-programming/walkthrough-creating-a-dataflow-pipeline.md index ac67e2ea62a2e..538f7ff20df5f 100644 --- a/docs/standard/parallel-programming/walkthrough-creating-a-dataflow-pipeline.md +++ b/docs/standard/parallel-programming/walkthrough-creating-a-dataflow-pipeline.md @@ -1,9 +1,7 @@ --- title: "Walkthrough: Creating a Dataflow Pipeline" ms.date: "03/30/2017" -ms.prod: ".net" ms.technology: dotnet-standard -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -14,10 +12,6 @@ helpviewer_keywords: ms.assetid: 69308f82-aa22-4ac5-833d-e748533b58e8 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Walkthrough: Creating a Dataflow Pipeline Although you can use the , , and methods to receive messages from source blocks, you can also connect message blocks to form a *dataflow pipeline*. A dataflow pipeline is a series of components, or *dataflow blocks*, each of which performs a specific task that contributes to a larger goal. Every dataflow block in a dataflow pipeline performs work when it receives a message from another dataflow block. An analogy to this is an assembly line for automobile manufacturing. As each vehicle passes through the assembly line, one station assembles the frame, the next one installs the engine, and so on. Because an assembly line enables multiple vehicles to be assembled at the same time, it provides better throughput than assembling complete vehicles one at a time. diff --git a/docs/standard/parallel-programming/walkthrough-using-batchblock-and-batchedjoinblock-to-improve-efficiency.md b/docs/standard/parallel-programming/walkthrough-using-batchblock-and-batchedjoinblock-to-improve-efficiency.md index 9421dbd0506d2..8481128ec7bd0 100644 --- a/docs/standard/parallel-programming/walkthrough-using-batchblock-and-batchedjoinblock-to-improve-efficiency.md +++ b/docs/standard/parallel-programming/walkthrough-using-batchblock-and-batchedjoinblock-to-improve-efficiency.md @@ -1,9 +1,7 @@ --- title: "Walkthrough: Using BatchBlock and BatchedJoinBlock to Improve Efficiency" ms.date: "03/30/2017" -ms.prod: ".net" ms.technology: dotnet-standard -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -13,10 +11,6 @@ helpviewer_keywords: ms.assetid: 5beb4983-80c2-4f60-8c51-a07f9fd94cb3 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Walkthrough: Using BatchBlock and BatchedJoinBlock to Improve Efficiency The TPL Dataflow Library provides the and classes so that you can receive and buffer data from one or more sources and then propagate out that buffered data as one collection. This batching mechanism is useful when you collect data from one or more sources and then process multiple data elements as a batch. For example, consider an application that uses dataflow to insert records into a database. This operation can be more efficient if multiple items are inserted at the same time instead of one at a time sequentially. This document describes how to use the class to improve the efficiency of such database insert operations. It also describes how to use the class to capture both the results and any exceptions that occur when the program reads from a database. diff --git a/docs/standard/parallel-programming/walkthrough-using-dataflow-in-a-windows-forms-application.md b/docs/standard/parallel-programming/walkthrough-using-dataflow-in-a-windows-forms-application.md index a02e3a431f899..ac6ab1644c1fe 100644 --- a/docs/standard/parallel-programming/walkthrough-using-dataflow-in-a-windows-forms-application.md +++ b/docs/standard/parallel-programming/walkthrough-using-dataflow-in-a-windows-forms-application.md @@ -1,9 +1,7 @@ --- title: "Walkthrough: Using Dataflow in a Windows Forms Application" ms.date: "03/30/2017" -ms.prod: ".net" ms.technology: dotnet-standard -ms.topic: "article" helpviewer_keywords: - "TPL dataflow library, in Windows Forms" - "Task Parallel Library, dataflows" @@ -11,10 +9,6 @@ helpviewer_keywords: ms.assetid: 9c65cdf7-660c-409f-89ea-59d7ec8e127c author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Walkthrough: Using Dataflow in a Windows Forms Application This document demonstrates how to create a network of dataflow blocks that perform image processing in a Windows Forms application. diff --git a/docs/standard/security/creating-a-cryptographic-scheme.md b/docs/standard/security/creating-a-cryptographic-scheme.md index 3f419a352f72a..e9d907fd71305 100644 --- a/docs/standard/security/creating-a-cryptographic-scheme.md +++ b/docs/standard/security/creating-a-cryptographic-scheme.md @@ -1,24 +1,13 @@ --- title: "Creating a Cryptographic Scheme" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "encryption [.NET Framework], creating cryptographic schemes" - "cryptography [.NET Framework], creating cryptographic schemes" ms.assetid: d40c509f-5a5e-46cc-94cb-a951e9ab6843 -caps.latest.revision: 8 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Creating a Cryptographic Scheme The cryptographic components of the .NET Framework can be combined to create different schemes to encrypt and decrypt data. diff --git a/docs/standard/security/cryptographic-services.md b/docs/standard/security/cryptographic-services.md index 455fbace72993..c3360f65678f1 100644 --- a/docs/standard/security/cryptographic-services.md +++ b/docs/standard/security/cryptographic-services.md @@ -1,13 +1,7 @@ --- title: "Cryptographic Services" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "cryptography [.NET Framework]" - "pattern of derived class inheritance" @@ -30,13 +24,8 @@ helpviewer_keywords: - "cryptography [.NET Framework], about" - "random number generation" ms.assetid: f96284bc-7b73-44b5-ac59-fac613ad09f8 -caps.latest.revision: 34 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Cryptographic Services Public networks such as the Internet do not provide a means of secure communication between entities. Communication over such networks is susceptible to being read or even modified by unauthorized third parties. Cryptography helps protect data from being viewed, provides ways to detect whether data has been modified, and helps provide a secure means of communication over otherwise nonsecure channels. For example, data can be encrypted by using a cryptographic algorithm, transmitted in an encrypted state, and later decrypted by the intended party. If a third party intercepts the encrypted data, it will be difficult to decipher. diff --git a/docs/standard/security/cryptographic-signatures.md b/docs/standard/security/cryptographic-signatures.md index d5e29861a51c4..144a995130d3d 100644 --- a/docs/standard/security/cryptographic-signatures.md +++ b/docs/standard/security/cryptographic-signatures.md @@ -1,13 +1,7 @@ --- title: "Cryptographic Signatures" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -26,13 +20,8 @@ helpviewer_keywords: - "digital signatures, verifying" - "signing XML" ms.assetid: aa87cb7f-e608-4a81-948b-c9b8a1225783 -caps.latest.revision: 17 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Cryptographic Signatures Cryptographic digital signatures use public key algorithms to provide data integrity. When you sign data with a digital signature, someone else can verify the signature, and can prove that the data originated from you and was not altered after you signed it. For more information about digital signatures, see [Cryptographic Services](../../../docs/standard/security/cryptographic-services.md). diff --git a/docs/standard/security/cryptography-model.md b/docs/standard/security/cryptography-model.md index 73c4eb9846766..9eaad76082dd4 100644 --- a/docs/standard/security/cryptography-model.md +++ b/docs/standard/security/cryptography-model.md @@ -1,24 +1,13 @@ --- title: ".NET Framework Cryptography Model" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "cryptography [.NET Framework], model" - "encryption [.NET Framework], model" ms.assetid: 12fecad4-fbab-432a-bade-2f05976a2971 -caps.latest.revision: 17 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # .NET Framework Cryptography Model The .NET Framework provides implementations of many standard cryptographic algorithms. These algorithms are easy to use and have the safest possible default properties. In addition, the .NET Framework cryptography model of object inheritance, stream design, and configuration is extremely extensible. diff --git a/docs/standard/security/decrypting-data.md b/docs/standard/security/decrypting-data.md index 58a7c45ae8276..dd624c8557053 100644 --- a/docs/standard/security/decrypting-data.md +++ b/docs/standard/security/decrypting-data.md @@ -1,13 +1,7 @@ --- title: "Decrypting Data" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -17,13 +11,8 @@ helpviewer_keywords: - "asymmetric decryption" - "decryption" ms.assetid: 9b266b6c-a9b2-4d20-afd8-b3a0d8fd48a0 -caps.latest.revision: 15 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Decrypting Data Decryption is the reverse operation of encryption. For secret-key encryption, you must know both the key and IV that were used to encrypt the data. For public-key encryption, you must know either the public key (if the data was encrypted using the private key) or the private key (if the data was encrypted using the public key). diff --git a/docs/standard/security/encrypting-data.md b/docs/standard/security/encrypting-data.md index 81bddc8a6f05d..f7e54eb971521 100644 --- a/docs/standard/security/encrypting-data.md +++ b/docs/standard/security/encrypting-data.md @@ -1,13 +1,7 @@ --- title: "Encrypting Data" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -17,13 +11,8 @@ helpviewer_keywords: - "cryptography [.NET Framework], asymmetric" - "asymmetric encryption" ms.assetid: 7ecce51f-db5f-4bd4-9321-cceb6fcb2a77 -caps.latest.revision: 16 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Encrypting Data Symmetric encryption and asymmetric encryption are performed using different processes. Symmetric encryption is performed on streams and is therefore useful to encrypt large amounts of data. Asymmetric encryption is performed on a small number of bytes and is therefore useful only for small amounts of data. diff --git a/docs/standard/security/ensuring-data-integrity-with-hash-codes.md b/docs/standard/security/ensuring-data-integrity-with-hash-codes.md index b7cc16ba66160..1701b5c69a0d4 100644 --- a/docs/standard/security/ensuring-data-integrity-with-hash-codes.md +++ b/docs/standard/security/ensuring-data-integrity-with-hash-codes.md @@ -1,13 +1,7 @@ --- title: "Ensuring Data Integrity with Hash Codes" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -20,13 +14,8 @@ helpviewer_keywords: - "encryption [.NET Framework], hash" - "hash" ms.assetid: 33660f33-b70f-4dca-8c87-ab35cfc2961a -caps.latest.revision: 14 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Ensuring Data Integrity with Hash Codes A hash value is a numeric value of a fixed length that uniquely identifies data. Hash values represent large amounts of data as much smaller numeric values, so they are used with digital signatures. You can sign a hash value more efficiently than signing the larger value. Hash values are also useful for verifying the integrity of data sent through insecure channels. The hash value of received data can be compared to the hash value of data as it was sent to determine whether the data was altered. diff --git a/docs/standard/security/generating-keys-for-encryption-and-decryption.md b/docs/standard/security/generating-keys-for-encryption-and-decryption.md index 10beb065be4e0..e77fcb94d9df6 100644 --- a/docs/standard/security/generating-keys-for-encryption-and-decryption.md +++ b/docs/standard/security/generating-keys-for-encryption-and-decryption.md @@ -1,13 +1,7 @@ --- title: "Generating Keys for Encryption and Decryption" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -20,13 +14,8 @@ helpviewer_keywords: - "asymmetric keys [.NET Framework]" - "cryptography [.NET Framework], keys" ms.assetid: c197dfc9-a453-4226-898d-37a16638056e -caps.latest.revision: 14 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Generating Keys for Encryption and Decryption Creating and managing keys is an important part of the cryptographic process. Symmetric algorithms require the creation of a key and an initialization vector (IV). The key must be kept secret from anyone who should not decrypt your data. The IV does not have to be secret, but should be changed for each session. Asymmetric algorithms require the creation of a public key and a private key. The public key can be made public to anyone, while the private key must known only by the party who will decrypt the data encrypted with the public key. This section describes how to generate and manage keys for both symmetric and asymmetric algorithms. diff --git a/docs/standard/security/how-to-access-hardware-encryption-devices.md b/docs/standard/security/how-to-access-hardware-encryption-devices.md index 2c293aee017f5..66ca38ad308e5 100644 --- a/docs/standard/security/how-to-access-hardware-encryption-devices.md +++ b/docs/standard/security/how-to-access-hardware-encryption-devices.md @@ -1,13 +1,7 @@ --- title: "How to: Access Hardware Encryption Devices" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -19,13 +13,8 @@ helpviewer_keywords: - "hardware encryption" - "CspParameters" ms.assetid: b0e734df-6eb4-4b16-b48c-6f0fe82d5f17 -caps.latest.revision: 9 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Access Hardware Encryption Devices You can use the class to access hardware encryption devices. For example, you can use this class to integrate your application with a smart card, a hardware random number generator, or a hardware implementation of a particular cryptographic algorithm. diff --git a/docs/standard/security/how-to-create-a-windowsprincipal-object.md b/docs/standard/security/how-to-create-a-windowsprincipal-object.md index 5a123f5e26438..664339d83a5a9 100644 --- a/docs/standard/security/how-to-create-a-windowsprincipal-object.md +++ b/docs/standard/security/how-to-create-a-windowsprincipal-object.md @@ -1,13 +1,7 @@ --- title: "How to: Create a WindowsPrincipal Object" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -17,13 +11,8 @@ helpviewer_keywords: - "security [.NET Framework], principals" - "principal objects, creating" ms.assetid: 56eb10ca-e61d-4ed2-af7a-555fc4c25a25 -caps.latest.revision: 14 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Create a WindowsPrincipal Object There are two ways to create a object, depending on whether code must repeatedly perform role-based validation or must perform it only once. diff --git a/docs/standard/security/how-to-create-genericprincipal-and-genericidentity-objects.md b/docs/standard/security/how-to-create-genericprincipal-and-genericidentity-objects.md index 26686347c79f5..abfd7388a3ee3 100644 --- a/docs/standard/security/how-to-create-genericprincipal-and-genericidentity-objects.md +++ b/docs/standard/security/how-to-create-genericprincipal-and-genericidentity-objects.md @@ -1,13 +1,7 @@ --- title: "How to: Create GenericPrincipal and GenericIdentity Objects" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -17,13 +11,8 @@ helpviewer_keywords: - "Creating GenericPrincipal Objects" - "GenericIdentity Objects" ms.assetid: 465694cf-258b-4747-9dae-35b01a5bcdbb -caps.latest.revision: 10 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Create GenericPrincipal and GenericIdentity Objects You can use the class in conjunction with the class to create an authorization scheme that exists independent of a Windows domain. diff --git a/docs/standard/security/how-to-decrypt-xml-elements-with-asymmetric-keys.md b/docs/standard/security/how-to-decrypt-xml-elements-with-asymmetric-keys.md index 2408f44f92500..31d61bc84f3c3 100644 --- a/docs/standard/security/how-to-decrypt-xml-elements-with-asymmetric-keys.md +++ b/docs/standard/security/how-to-decrypt-xml-elements-with-asymmetric-keys.md @@ -1,13 +1,7 @@ --- title: "How to: Decrypt XML Elements with Asymmetric Keys" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -18,13 +12,8 @@ helpviewer_keywords: - "XML encryption" - "decryption" ms.assetid: dd5de491-dafe-4b94-966d-99714b2e754a -caps.latest.revision: 14 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Decrypt XML Elements with Asymmetric Keys You can use the classes in the namespace to encrypt and decrypt an element within an XML document. XML Encryption is a standard way to exchange or store encrypted XML data, without worrying about the data being easily read. For more information about the XML Encryption standard, see the World Wide Web Consortium (W3C) recommendation [XML Signature Syntax and Processing](https://www.w3.org/TR/xmldsig-core/). diff --git a/docs/standard/security/how-to-decrypt-xml-elements-with-symmetric-keys.md b/docs/standard/security/how-to-decrypt-xml-elements-with-symmetric-keys.md index f82b8660b770e..a037508bd848c 100644 --- a/docs/standard/security/how-to-decrypt-xml-elements-with-symmetric-keys.md +++ b/docs/standard/security/how-to-decrypt-xml-elements-with-symmetric-keys.md @@ -1,13 +1,7 @@ --- title: "How to: Decrypt XML Elements with Symmetric Keys" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -19,13 +13,8 @@ helpviewer_keywords: - "Rijndael" - "decryption" ms.assetid: 6038aff0-f92c-4e29-a618-d793410410d8 -caps.latest.revision: 10 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Decrypt XML Elements with Symmetric Keys You can use the classes in the namespace to encrypt an element within an XML document. XML Encryption allows you to store or transport sensitive XML, without worrying about the data being easily read. This code example decrypts an XML element using the Advanced Encryption Standard (AES) algorithm, also known as Rijndael. diff --git a/docs/standard/security/how-to-decrypt-xml-elements-with-x-509-certificates.md b/docs/standard/security/how-to-decrypt-xml-elements-with-x-509-certificates.md index b73bc1b967ba7..2be8559c68567 100644 --- a/docs/standard/security/how-to-decrypt-xml-elements-with-x-509-certificates.md +++ b/docs/standard/security/how-to-decrypt-xml-elements-with-x-509-certificates.md @@ -1,13 +1,7 @@ --- title: "How to: Decrypt XML Elements with X.509 Certificates" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -19,13 +13,8 @@ helpviewer_keywords: - "X.509 certificates" - "certificates, X.509 certificates" ms.assetid: bd015722-d88d-408d-8ca8-e4e475c441ed -caps.latest.revision: 7 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Decrypt XML Elements with X.509 Certificates You can use the classes in the namespace to encrypt and decrypt an element within an XML document. XML Encryption is a standard way to exchange or store encrypted XML data, without worrying about the data being easily read. For more information about the XML Encryption standard, see the World Wide Web Consortium (W3C) specification for XML Encryption located at http://www.w3.org/TR/xmldsig-core/. diff --git a/docs/standard/security/how-to-encrypt-xml-elements-with-asymmetric-keys.md b/docs/standard/security/how-to-encrypt-xml-elements-with-asymmetric-keys.md index 2e3787dbb53b1..acd43464774e9 100644 --- a/docs/standard/security/how-to-encrypt-xml-elements-with-asymmetric-keys.md +++ b/docs/standard/security/how-to-encrypt-xml-elements-with-asymmetric-keys.md @@ -1,13 +1,7 @@ --- title: "How to: Encrypt XML Elements with Asymmetric Keys" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -23,13 +17,8 @@ helpviewer_keywords: - "Rijndael" - "encryption [.NET Framework], asymmetric keys" ms.assetid: a164ba4f-e596-4bbe-a9ca-f214fe89ed48 -caps.latest.revision: 11 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Encrypt XML Elements with Asymmetric Keys You can use the classes in the namespace to encrypt an element within an XML document. XML Encryption is a standard way to exchange or store encrypted XML data, without worrying about the data being easily read. For more information about the XML Encryption standard, see the World Wide Web Consortium (W3C) specification for XML Encryption located at http://www.w3.org/TR/xmldsig-core/. diff --git a/docs/standard/security/how-to-encrypt-xml-elements-with-symmetric-keys.md b/docs/standard/security/how-to-encrypt-xml-elements-with-symmetric-keys.md index 1783b9a4cb4a1..3848688e40868 100644 --- a/docs/standard/security/how-to-encrypt-xml-elements-with-symmetric-keys.md +++ b/docs/standard/security/how-to-encrypt-xml-elements-with-symmetric-keys.md @@ -1,13 +1,7 @@ --- title: "How to: Encrypt XML Elements with Symmetric Keys" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -22,13 +16,8 @@ helpviewer_keywords: - "Advanced Encryption Standard algorithm" - "Rijndael" ms.assetid: d8461a44-aa2c-4ef4-b3e4-ab7cbaaee1b5 -caps.latest.revision: 11 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Encrypt XML Elements with Symmetric Keys You can use the classes in the namespace to encrypt an element within an XML document. XML Encryption allows you to store or transport sensitive XML, without worrying about the data being easily read. This procedure decrypts an XML element using the Advanced Encryption Standard (AES) algorithm, also known as Rijndael. diff --git a/docs/standard/security/how-to-encrypt-xml-elements-with-x-509-certificates.md b/docs/standard/security/how-to-encrypt-xml-elements-with-x-509-certificates.md index c03d3f5bfa1b2..67d20c29a0ddf 100644 --- a/docs/standard/security/how-to-encrypt-xml-elements-with-x-509-certificates.md +++ b/docs/standard/security/how-to-encrypt-xml-elements-with-x-509-certificates.md @@ -1,13 +1,7 @@ --- title: "How to: Encrypt XML Elements with X.509 Certificates" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -20,13 +14,8 @@ helpviewer_keywords: - "X.509 certificates" - "certificates, X.509 certificates" ms.assetid: 761f1c66-631c-47af-aa86-ad9c50cfa453 -caps.latest.revision: 15 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Encrypt XML Elements with X.509 Certificates You can use the classes in the namespace to encrypt an element within an XML document. XML Encryption is a standard way to exchange or store encrypted XML data, without worrying about the data being easily read. For more information about the XML Encryption standard, see the World Wide Web Consortium (W3C) specification for XML Encryption located at http://www.w3.org/TR/xmldsig-core/. diff --git a/docs/standard/security/how-to-sign-xml-documents-with-digital-signatures.md b/docs/standard/security/how-to-sign-xml-documents-with-digital-signatures.md index fc9fe90a85e3b..cd20d219fa1d4 100644 --- a/docs/standard/security/how-to-sign-xml-documents-with-digital-signatures.md +++ b/docs/standard/security/how-to-sign-xml-documents-with-digital-signatures.md @@ -1,13 +1,7 @@ --- title: "How to: Sign XML Documents with Digital Signatures" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -20,13 +14,8 @@ helpviewer_keywords: - "XML signing" - "signing XML" ms.assetid: 99692ac1-d8c9-42d7-b1bf-2737b01037e4 -caps.latest.revision: 13 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Sign XML Documents with Digital Signatures You can use the classes in the namespace to sign an XML document or part of an XML document with a digital signature. XML digital signatures (XMLDSIG) allow you to verify that data was not altered after it was signed. For more information about the XMLDSIG standard, see the World Wide Web Consortium (W3C) recommendation [XML Signature Syntax and Processing](https://www.w3.org/TR/xmldsig-core/). diff --git a/docs/standard/security/how-to-store-asymmetric-keys-in-a-key-container.md b/docs/standard/security/how-to-store-asymmetric-keys-in-a-key-container.md index 9f1297cc8c077..11907c54802d2 100644 --- a/docs/standard/security/how-to-store-asymmetric-keys-in-a-key-container.md +++ b/docs/standard/security/how-to-store-asymmetric-keys-in-a-key-container.md @@ -1,13 +1,7 @@ --- title: "How to: Store Asymmetric Keys in a Key Container" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -21,13 +15,8 @@ helpviewer_keywords: - "encryption [.NET Framework], asymmetric keys" - "decryption keys" ms.assetid: 0dbcbd8d-0dcf-40e9-9f0c-e3f162d35ccc -caps.latest.revision: 20 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Store Asymmetric Keys in a Key Container Asymmetric private keys should never be stored verbatim or in plain text on the local computer. If you need to store a private key, you should use a key container. For more information on key containers, see [Understanding Machine-Level and User-Level RSA Key Containers](https://msdn.microsoft.com/library/9a179f38-8fb7-4442-964c-fb7b9f39f5b9). diff --git a/docs/standard/security/how-to-use-data-protection.md b/docs/standard/security/how-to-use-data-protection.md index 289dc8d8abc2b..c53c8dba551e1 100644 --- a/docs/standard/security/how-to-use-data-protection.md +++ b/docs/standard/security/how-to-use-data-protection.md @@ -1,13 +1,7 @@ --- title: "How to: Use Data Protection" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -22,13 +16,8 @@ helpviewer_keywords: - "decryption" - "data [.NET Framework], encryption" ms.assetid: 606698b0-cb1a-42ca-beeb-0bea34205d20 -caps.latest.revision: 11 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Use Data Protection The .NET Framework provides access to the data protection API (DPAPI), which allows you to encrypt data using information from the current user account or computer. When you use the DPAPI, you alleviate the difficult problem of explicitly generating and storing a cryptographic key. diff --git a/docs/standard/security/how-to-verify-the-digital-signatures-of-xml-documents.md b/docs/standard/security/how-to-verify-the-digital-signatures-of-xml-documents.md index bbe2ee844e9d8..6c9dfb0914123 100644 --- a/docs/standard/security/how-to-verify-the-digital-signatures-of-xml-documents.md +++ b/docs/standard/security/how-to-verify-the-digital-signatures-of-xml-documents.md @@ -1,13 +1,7 @@ --- title: "How to: Verify the Digital Signatures of XML Documents" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -20,13 +14,8 @@ helpviewer_keywords: - "XML digital signatures" - "digital signatures, verifying" ms.assetid: a4d5ceb1-b9f5-47e8-9e4a-a2b39110002f -caps.latest.revision: 8 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Verify the Digital Signatures of XML Documents You can use the classes in the namespace to verify XML data signed with a digital signature. XML digital signatures (XMLDSIG) allow you to verify that data was not altered after it was signed. For more information about the XMLDSIG standard, see the World Wide Web Consortium (W3C) specification at http://www.w3.org/TR/xmldsig-core/. diff --git a/docs/standard/security/impersonating-and-reverting.md b/docs/standard/security/impersonating-and-reverting.md index 70ec465099fd0..92ab86fa0a783 100644 --- a/docs/standard/security/impersonating-and-reverting.md +++ b/docs/standard/security/impersonating-and-reverting.md @@ -1,13 +1,7 @@ --- title: "Impersonating and Reverting" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -16,13 +10,8 @@ helpviewer_keywords: - "security [.NET Framework], impersonating Windows accounts" - "impersonating Windows accounts" ms.assetid: b93d402c-6c28-4f50-b2bc-d9607dc3e470 -caps.latest.revision: 13 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Impersonating and Reverting Sometimes you might need to obtain a Windows account token to impersonate a Windows account. For example, your ASP.NET-based application might have to act on behalf of several users at different times. Your application might accept a token that represents an administrator from Internet Information Services (IIS), impersonate that user, perform an operation, and revert to the previous identity. Next, it might accept a token from IIS that represents a user with fewer rights, perform some operation, and revert again. diff --git a/docs/standard/security/index.md b/docs/standard/security/index.md index 8696e1c0d0471..677bd19bed249 100644 --- a/docs/standard/security/index.md +++ b/docs/standard/security/index.md @@ -1,26 +1,15 @@ --- title: "Security in the .NET Framework" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - ".NET Framework, security" - "security [.NET Framework], about security" - "application development [.NET Framework], security" - "security [.NET Framework]" ms.assetid: 9a9621d7-8883-4a4f-a874-65e8e09e20a6 -caps.latest.revision: 37 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Security in the .NET Framework The common language runtime and the .NET Framework provide many useful classes and services that enable developers to easily write secure code and enable system administrators to customize the permissions granted to code so that it can access protected resources. In addition, the runtime and the .NET Framework provide useful classes and services that facilitate the use of cryptography and role-based security. diff --git a/docs/standard/security/key-security-concepts.md b/docs/standard/security/key-security-concepts.md index bdf2265a889a8..b36d9b48d2f8f 100644 --- a/docs/standard/security/key-security-concepts.md +++ b/docs/standard/security/key-security-concepts.md @@ -1,13 +1,7 @@ --- title: "Key Security Concepts" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -17,13 +11,8 @@ helpviewer_keywords: - "permissions [.NET Framework]" - "security [.NET Framework], about security" ms.assetid: 3cfced4f-ea02-4e66-ae98-d69286363e98 -caps.latest.revision: 22 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Key Security Concepts The Microsoft .NET Framework offers role-based security to help address security concerns about mobile code and to provide support that enables components to determine what users are authorized to do. diff --git a/docs/standard/security/principal-and-identity-objects.md b/docs/standard/security/principal-and-identity-objects.md index 2bfbb9a0b01fd..a4221eb6c015c 100644 --- a/docs/standard/security/principal-and-identity-objects.md +++ b/docs/standard/security/principal-and-identity-objects.md @@ -1,13 +1,7 @@ --- title: "Principal and Identity Objects" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "WindowsIdentity objects" - "GenericIdentity objects" @@ -18,13 +12,8 @@ helpviewer_keywords: - "security [.NET Framework], principals" - "WindowsPrincipal objects" ms.assetid: aa5930ad-f3d7-40aa-b6f6-c6edcd5c64f7 -caps.latest.revision: 9 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Principal and Identity Objects Managed code can discover the identity or the role of a principal through a object, which contains a reference to an object. It might be helpful to compare identity and principal objects to familiar concepts like user and group accounts. In most network environments, user accounts represent people or programs, while group accounts represent certain categories of users and the rights they possess. Similarly, .NET Framework identity objects represent users, while roles represent memberships and security contexts. In the .NET Framework, the principal object encapsulates both an identity object and a role. .NET Framework applications grant rights to the principal based on its identity or, more commonly, its role membership. diff --git a/docs/standard/security/replacing-a-principal-object.md b/docs/standard/security/replacing-a-principal-object.md index 0ee5aac5043bd..f901d7b543924 100644 --- a/docs/standard/security/replacing-a-principal-object.md +++ b/docs/standard/security/replacing-a-principal-object.md @@ -1,13 +1,7 @@ --- title: "Replacing a Principal Object" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -16,13 +10,8 @@ helpviewer_keywords: - "security [.NET Framework], replacing principal objects" - "security [.NET Framework], principals" ms.assetid: c323687e-b196-487b-beba-f38f9b3f961b -caps.latest.revision: 13 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Replacing a Principal Object Applications that provide authentication services must be able to replace the **Principal** object () for a given thread. Furthermore, the security system must help protect the ability to replace **Principal** objects because a maliciously attached, incorrect **Principal** compromises the security of your application by claiming an untrue identity or role. Therefore, applications that require the ability to replace **Principal** objects must be granted the object for principal control. (Note that this permission is not required for performing role-based security checks or for creating **Principal** objects.) diff --git a/docs/standard/security/role-based-security.md b/docs/standard/security/role-based-security.md index 455d9ce7e9cae..b3c80d6ca1a6e 100644 --- a/docs/standard/security/role-based-security.md +++ b/docs/standard/security/role-based-security.md @@ -1,13 +1,7 @@ --- title: "Role-Based Security" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "role-based security, about role-based security" - "user authentication, principals" @@ -17,13 +11,8 @@ helpviewer_keywords: - "authentication [.NET Framework], principals" - "role-based security, principals" ms.assetid: 578cc32b-5654-4d8b-9d8c-ebcbc5c75390 -caps.latest.revision: 13 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Role-Based Security Roles are often used in financial or business applications to enforce policy. For example, an application might impose limits on the size of the transaction being processed depending on whether the user making the request is a member of a specified role. Clerks might have authorization to process transactions that are less than a specified threshold, supervisors might have a higher limit, and vice-presidents might have a still higher limit (or no limit at all). Role-based security can also be used when an application requires multiple approvals to complete an action. Such a case might be a purchasing system in which any employee can generate a purchase request, but only a purchasing agent can convert that request into a purchase order that can be sent to a supplier. diff --git a/docs/standard/security/secure-coding-guidelines.md b/docs/standard/security/secure-coding-guidelines.md index cbcf32b4df767..f7d508cf079d1 100644 --- a/docs/standard/security/secure-coding-guidelines.md +++ b/docs/standard/security/secure-coding-guidelines.md @@ -1,13 +1,7 @@ --- title: "Secure Coding Guidelines" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "managed wrapper to native code implementation" - "secure coding" @@ -21,13 +15,8 @@ helpviewer_keywords: - "security-neutral code" - "security [.NET Framework], coding guidelines" ms.assetid: 4f882d94-262b-4494-b0a6-ba9ba1f5f177 -caps.latest.revision: 20 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Secure Coding Guidelines Evidence-based security and code access security provide very powerful, explicit mechanisms to implement security. Most application code can simply use the infrastructure implemented by the .NET Framework. In some cases, additional application-specific security is required, built either by extending the security system or by using new ad hoc methods. diff --git a/docs/standard/security/securing-state-data.md b/docs/standard/security/securing-state-data.md index bdb0fe0fc93b7..39329e007aedf 100644 --- a/docs/standard/security/securing-state-data.md +++ b/docs/standard/security/securing-state-data.md @@ -1,26 +1,15 @@ --- title: "Securing State Data" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "security [.NET Framework], state data" - "code security, state data" - "secure coding, state data" - "state data security" ms.assetid: 12671309-2877-43fe-a3df-6863507e712d -caps.latest.revision: 9 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Securing State Data Applications that handle sensitive data or make any kind of security decisions need to keep that data under their own control and cannot allow other potentially malicious code to access the data directly. The best way to protect data in memory is to declare the data as private or internal (with scope limited to the same assembly) variables. However, even this data is subject to access you should be aware of: diff --git a/docs/standard/security/security-and-on-the-fly-code-generation.md b/docs/standard/security/security-and-on-the-fly-code-generation.md index 896c87067479a..9a4047149b902 100644 --- a/docs/standard/security/security-and-on-the-fly-code-generation.md +++ b/docs/standard/security/security-and-on-the-fly-code-generation.md @@ -1,26 +1,15 @@ --- title: "Security and On-the-Fly Code Generation" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "code security, on-the-fly code generation" - "on-the-fly code generation" - "security [.NET Framework], on-the-fly code generation" - "secure coding, on-the-fly code generation" ms.assetid: 6d221724-bb21-4d76-90c3-0ee2a2e69be2 -caps.latest.revision: 10 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Security and On-the-Fly Code Generation Some libraries operate by generating code and running it to perform some operation for the caller. The basic problem is generating code on behalf of lesser-trust code and running it at a higher trust. The problem worsens when the caller can influence code generation, so you must ensure that only code you consider safe is generated. diff --git a/docs/standard/security/security-and-race-conditions.md b/docs/standard/security/security-and-race-conditions.md index f4faaef151142..622275b3c2199 100644 --- a/docs/standard/security/security-and-race-conditions.md +++ b/docs/standard/security/security-and-race-conditions.md @@ -1,13 +1,7 @@ --- title: "Security and Race Conditions" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -17,13 +11,8 @@ helpviewer_keywords: - "secure coding, race conditions" - "code security, race conditions" ms.assetid: ea3edb80-b2e8-4e85-bfed-311b20cb59b6 -caps.latest.revision: 9 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Security and Race Conditions Another area of concern is the potential for security holes exploited by race conditions. There are several ways in which this might happen. The subtopics that follow outline some of the major pitfalls that the developer must avoid. diff --git a/docs/standard/security/security-and-user-input.md b/docs/standard/security/security-and-user-input.md index 89ef0a9c333cd..acb41ecc8b17c 100644 --- a/docs/standard/security/security-and-user-input.md +++ b/docs/standard/security/security-and-user-input.md @@ -1,26 +1,15 @@ --- title: "Security and User Input" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "security [.NET Framework], user input" - "user input, security" - "secure coding, user input" - "code security, user input" ms.assetid: 9141076a-96c9-4b01-93de-366bb1d858bc -caps.latest.revision: 7 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Security and User Input User data, which is any kind of input (data from a Web request or URL, input to controls of a Microsoft Windows Forms application, and so on), can adversely influence code because often that data is used directly as parameters to call other code. This situation is analogous to malicious code calling your code with strange parameters, and the same precautions should be taken. User input is actually harder to make safe because there is no stack frame to trace the presence of the potentially untrusted data. diff --git a/docs/standard/security/walkthrough-creating-a-cryptographic-application.md b/docs/standard/security/walkthrough-creating-a-cryptographic-application.md index 37ef5f917f931..3451bd5e4e73b 100644 --- a/docs/standard/security/walkthrough-creating-a-cryptographic-application.md +++ b/docs/standard/security/walkthrough-creating-a-cryptographic-application.md @@ -1,13 +1,7 @@ --- title: "Walkthrough: Creating a Cryptographic Application" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -16,13 +10,8 @@ helpviewer_keywords: - "cryptography [NET Framework], cryptographic application example" - "cryptography [NET Framework], application example" ms.assetid: abf48c11-1e72-431d-9562-39cf23e1a8ff -caps.latest.revision: 17 author: "mairaw" ms.author: "mairaw" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Walkthrough: Creating a Cryptographic Application This walkthrough demonstrates how to encrypt and decrypt content. The code examples are designed for a Windows Forms application. This application does not demonstrate real world scenarios, such as using smart cards. Instead, it demonstrates the fundamentals of encryption and decryption. diff --git a/docs/standard/serialization/add-element-for-xmlschemaimporterextensions.md b/docs/standard/serialization/add-element-for-xmlschemaimporterextensions.md index e7860266c4b64..00677c39a8e95 100644 --- a/docs/standard/serialization/add-element-for-xmlschemaimporterextensions.md +++ b/docs/standard/serialization/add-element-for-xmlschemaimporterextensions.md @@ -1,23 +1,10 @@ --- title: "<add> Element for <xmlSchemaImporterExtensions>" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "XML serialization, configuration" - " element for element" ms.assetid: c828a558-094b-441e-9065-790b87315fa0 -caps.latest.revision: 3 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # <add> Element for <xmlSchemaImporterExtensions> Adds types used by the for mapping XSD types to .NET Framework types. For more information about configuration files, see [Configuration File Schema](../../../docs/framework/configure-apps/file-schema/index.md). diff --git a/docs/standard/serialization/attributes-that-control-encoded-soap-serialization.md b/docs/standard/serialization/attributes-that-control-encoded-soap-serialization.md index 0e89604e179f9..58375a2a00938 100644 --- a/docs/standard/serialization/attributes-that-control-encoded-soap-serialization.md +++ b/docs/standard/serialization/attributes-that-control-encoded-soap-serialization.md @@ -1,12 +1,6 @@ --- title: "Attributes That Control Encoded SOAP Serialization" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "SOAP, XML serialization" - "XML serialization, SOAP" @@ -14,13 +8,6 @@ helpviewer_keywords: - "attributes [.NET Framework], XML serialization" - "serialization, attributes" ms.assetid: 93ee258c-9c0f-4a08-897c-c10db7a00f91 -caps.latest.revision: 8 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Attributes That Control Encoded SOAP Serialization The World Wide Web Consortium (www.w3.org) document named "Simple Object Access Protocol (SOAP) 1.1" contains an optional section (section 5) that describes how SOAP parameters can be encoded. To conform to section 5 of the specification, you must use a special set of attributes found in the namespace. Apply those attributes as appropriate to classes and members of classes, and then use the to serialize instances of the class or classes. diff --git a/docs/standard/serialization/attributes-that-control-xml-serialization.md b/docs/standard/serialization/attributes-that-control-xml-serialization.md index 6277eb820c92f..c7cc4b11e1bfb 100644 --- a/docs/standard/serialization/attributes-that-control-xml-serialization.md +++ b/docs/standard/serialization/attributes-that-control-xml-serialization.md @@ -1,12 +1,6 @@ --- title: "Attributes That Control XML Serialization" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "classes, serializing" - "XmlSerializer class, serializing" @@ -15,13 +9,6 @@ helpviewer_keywords: - "serialization, attributes" - "XML Schema, serializing" ms.assetid: 414b820f-a696-4206-b576-2711d85490c7 -caps.latest.revision: 7 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Attributes That Control XML Serialization You can apply the attributes in the following table to classes and class members to control the way in which the serializes or deserializes an instance of the class. To understand how these attributes control XML serialization, see [Controlling XML Serialization Using Attributes](../../../docs/standard/serialization/controlling-xml-serialization-using-attributes.md). diff --git a/docs/standard/serialization/basic-serialization-technology-sample.md b/docs/standard/serialization/basic-serialization-technology-sample.md index 45edd2aa7c2f1..fa0790274143b 100644 --- a/docs/standard/serialization/basic-serialization-technology-sample.md +++ b/docs/standard/serialization/basic-serialization-technology-sample.md @@ -1,20 +1,7 @@ --- title: "Basic Serialization Technology Sample" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 9d824e16-08d1-4a36-bc7f-2388c1f75f34 -caps.latest.revision: 9 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Basic Serialization Technology Sample [Download sample](https://download.microsoft.com/download/4/7/B/47B2164C-E780-4B10-8DE4-2CB5B886E0A6/Technologies/Serialization/Runtime%20Serialization/Basic.zip.exe) diff --git a/docs/standard/serialization/basic-serialization.md b/docs/standard/serialization/basic-serialization.md index 4f982a3578865..19056c35d817d 100644 --- a/docs/standard/serialization/basic-serialization.md +++ b/docs/standard/serialization/basic-serialization.md @@ -1,21 +1,12 @@ --- title: "Basic serialization" ms.date: "03/30/2017" -ms.prod: ".net" -ms.topic: "article" helpviewer_keywords: - "binary serialization, basic serialization" - "serialization, basic serialization" ms.assetid: d899d43c-335a-433e-a589-cd187192984f dev_langs: - "CSharp" -caps.latest.revision: 7 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Basic serialization diff --git a/docs/standard/serialization/binary-serialization.md b/docs/standard/serialization/binary-serialization.md index 6175a8e397628..3614535d72849 100644 --- a/docs/standard/serialization/binary-serialization.md +++ b/docs/standard/serialization/binary-serialization.md @@ -1,8 +1,6 @@ --- title: "Binary serialization" ms.date: "01/02/2018" -ms.prod: ".net" -ms.topic: "article" helpviewer_keywords: - "binary serialization" - "serialization, about serialization" @@ -11,12 +9,8 @@ helpviewer_keywords: - "binary serialization, .net core serialization" - "serialization, cross-framework" ms.assetid: 2b1ea3be-1152-4032-b2b3-07794054c405 -caps.latest.revision: 5 author: "ViktorHofer" ms.author: "mairaw" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Binary serialization diff --git a/docs/standard/serialization/controlling-xml-serialization-using-attributes.md b/docs/standard/serialization/controlling-xml-serialization-using-attributes.md index 4e31221f29f96..75b22dc24660f 100644 --- a/docs/standard/serialization/controlling-xml-serialization-using-attributes.md +++ b/docs/standard/serialization/controlling-xml-serialization-using-attributes.md @@ -1,12 +1,6 @@ --- title: "Controlling XML Serialization Using Attributes" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -21,13 +15,6 @@ helpviewer_keywords: - "serialization, examples" - "serialization, attributes" ms.assetid: 47d4c39d-30e1-4c7b-8a2e-301325390647 -caps.latest.revision: 4 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Controlling XML Serialization Using Attributes Attributes can be used to control the XML serialization of an object or to create an alternate XML stream from the same set of classes. For more details about creating an alternate XML stream, see [How to: Specify an Alternate Element Name for an XML Stream](../../../docs/standard/serialization/how-to-specify-an-alternate-element-name-for-an-xml-stream.md). diff --git a/docs/standard/serialization/custom-serialization-order-with-xmlserializer.md b/docs/standard/serialization/custom-serialization-order-with-xmlserializer.md index e0d7d61a8e189..710e725bd5437 100644 --- a/docs/standard/serialization/custom-serialization-order-with-xmlserializer.md +++ b/docs/standard/serialization/custom-serialization-order-with-xmlserializer.md @@ -1,20 +1,7 @@ --- title: "Custom Serialization Order With XmlSerializer" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 975abd20-2a1d-42db-aed3-e898025ccce7 -caps.latest.revision: 9 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Custom Serialization Order With XmlSerializer [Download Sample](https://download.microsoft.com/download/4/7/B/47B2164C-E780-4B10-8DE4-2CB5B886E0A6/Technologies/Serialization/Xml%20Serialization/CustomOrder.zip.exe) diff --git a/docs/standard/serialization/custom-serialization.md b/docs/standard/serialization/custom-serialization.md index eee011021bc70..6f9a633f6fe1f 100644 --- a/docs/standard/serialization/custom-serialization.md +++ b/docs/standard/serialization/custom-serialization.md @@ -1,8 +1,6 @@ --- title: "Custom serialization" ms.date: "03/30/2017" -ms.prod: ".net" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -19,13 +17,6 @@ helpviewer_keywords: - "OnDeserializedAttribute class, custom serialization" - "OnSerializingAttribute class, custom serialization" ms.assetid: 12ed422d-5280-49b8-9b71-a2ed129c0384 -caps.latest.revision: 11 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Custom serialization Custom serialization is the process of controlling the serialization and deserialization of a type. By controlling serialization, it's possible to ensure serialization compatibility, which is the ability to serialize and deserialize between versions of a type without breaking the core functionality of the type. For example, in the first version of a type, there may be only two fields. In the next version of a type, several more fields are added. Yet the second version of an application must be able to serialize and deserialize both types. The following sections describe how to control serialization. diff --git a/docs/standard/serialization/datetimeserialization-element.md b/docs/standard/serialization/datetimeserialization-element.md index 5f1ac259eb5d5..d1b17e8516b96 100644 --- a/docs/standard/serialization/datetimeserialization-element.md +++ b/docs/standard/serialization/datetimeserialization-element.md @@ -1,24 +1,11 @@ --- title: "<dateTimeSerialization> Element" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "dateTimeSerialization element" - "XML serialization, configuration" - " element" ms.assetid: 90fda55c-7730-41e9-bc4b-6423a4b920af -caps.latest.revision: 5 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # <dateTimeSerialization> Element Determines the serialization mode of objects. diff --git a/docs/standard/serialization/examples-of-xml-serialization.md b/docs/standard/serialization/examples-of-xml-serialization.md index 326729345691b..98214caab6b5e 100644 --- a/docs/standard/serialization/examples-of-xml-serialization.md +++ b/docs/standard/serialization/examples-of-xml-serialization.md @@ -1,12 +1,6 @@ --- title: "Examples of XML Serialization" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -19,13 +13,6 @@ helpviewer_keywords: - "DataSet class, serializing" - "XML Schema, serializing" ms.assetid: eec46337-9696-435b-a375-dc5effae6992 -caps.latest.revision: 6 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Examples of XML Serialization XML serialization can take more than one form, from simple to complex. For example, you can serialize a class that simply consists of public fields and properties, as shown in [Introducing XML Serialization](../../../docs/standard/serialization/introducing-xml-serialization.md). The following code examples address various advanced scenarios, including how to use XML serialization to generate an XML stream that conforms to a specific XML Schema (XSD) document. diff --git a/docs/standard/serialization/how-to-chunk-serialized-data.md b/docs/standard/serialization/how-to-chunk-serialized-data.md index 71ee016fd992e..cfe5095eee4a2 100644 --- a/docs/standard/serialization/how-to-chunk-serialized-data.md +++ b/docs/standard/serialization/how-to-chunk-serialized-data.md @@ -1,8 +1,6 @@ --- title: "How to: chunk serialized data" ms.date: "03/30/2017" -ms.prod: ".net" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -15,13 +13,6 @@ helpviewer_keywords: - "serialization, examples" - "binary serialization, examples" ms.assetid: 22f1b818-7e0d-428a-8680-f17d6ebdd185 -caps.latest.revision: 3 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: chunk serialized data diff --git a/docs/standard/serialization/how-to-control-serialization-of-derived-classes.md b/docs/standard/serialization/how-to-control-serialization-of-derived-classes.md index ba53c2892a7e7..4a528f74deaee 100644 --- a/docs/standard/serialization/how-to-control-serialization-of-derived-classes.md +++ b/docs/standard/serialization/how-to-control-serialization-of-derived-classes.md @@ -1,23 +1,10 @@ --- title: "How to: Control Serialization of Derived Classes" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" ms.assetid: caa92596-9e15-4d91-acbe-56911ef47a84 -caps.latest.revision: 3 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Control Serialization of Derived Classes Using the **XmlElementAttribute** attribute to change the name of an XML element is not the only way to customize object serialization. You can also customize the XML stream by deriving from an existing class and instructing the instance how to serialize the new class. diff --git a/docs/standard/serialization/how-to-deserialize-an-object.md b/docs/standard/serialization/how-to-deserialize-an-object.md index 2b8a238ef47c9..f856071ccc1d5 100644 --- a/docs/standard/serialization/how-to-deserialize-an-object.md +++ b/docs/standard/serialization/how-to-deserialize-an-object.md @@ -1,12 +1,6 @@ --- title: "How to: Deserialize an Object" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -14,13 +8,6 @@ helpviewer_keywords: - "deserializing objects" - "objects, deserializing steps" ms.assetid: 287129c8-035a-4fea-b7b3-4790057ca076 -caps.latest.revision: 4 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Deserialize an Object When you deserialize an object, the transport format determines whether you will create a stream or file object. After the transport format is determined, you can call the or methods, as required. diff --git a/docs/standard/serialization/how-to-determine-if-netstandard-object-is-serializable.md b/docs/standard/serialization/how-to-determine-if-netstandard-object-is-serializable.md index 4a47d643a577f..56b7a15b78b0b 100644 --- a/docs/standard/serialization/how-to-determine-if-netstandard-object-is-serializable.md +++ b/docs/standard/serialization/how-to-determine-if-netstandard-object-is-serializable.md @@ -1,10 +1,7 @@ --- title: "How to: Determine if a .NET Standard object is serializable" description: "Shows how to determine whether a .NET Standard type can be serialized at run time." -ms.custom: "" ms.date: "10/20/2017" -ms.prod: ".net" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -13,10 +10,6 @@ helpviewer_keywords: - "objects, serializing steps" author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Determine if a .NET Standard object is serializable diff --git a/docs/standard/serialization/how-to-override-encoded-soap-xml-serialization.md b/docs/standard/serialization/how-to-override-encoded-soap-xml-serialization.md index 3f7eacc7620ad..82a553994ab14 100644 --- a/docs/standard/serialization/how-to-override-encoded-soap-xml-serialization.md +++ b/docs/standard/serialization/how-to-override-encoded-soap-xml-serialization.md @@ -1,23 +1,10 @@ --- title: "How to: Override Encoded SOAP XML Serialization" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "overriding XML serialization" - "SOAP, overriding encoded XML serialization" ms.assetid: d0791df8-04e3-46b4-a6be-fe0ed09267e8 -caps.latest.revision: 6 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Override Encoded SOAP XML Serialization [Code Example](#tskhowtooverrideencodedsoapxmlserializationanchor1) diff --git a/docs/standard/serialization/how-to-qualify-xml-element-and-xml-attribute-names.md b/docs/standard/serialization/how-to-qualify-xml-element-and-xml-attribute-names.md index f8fdbfb0586d0..2e8c82d698c1a 100644 --- a/docs/standard/serialization/how-to-qualify-xml-element-and-xml-attribute-names.md +++ b/docs/standard/serialization/how-to-qualify-xml-element-and-xml-attribute-names.md @@ -1,12 +1,6 @@ --- title: "How to: Qualify XML Element and XML Attribute Names" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -15,13 +9,6 @@ helpviewer_keywords: - "qualifying XML elements" - "XML namespaces, qualifying elements and names in" ms.assetid: 44719f90-7e15-42e8-a9e2-282287e2b5bf -caps.latest.revision: 9 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Qualify XML Element and XML Attribute Names [Code Example](#cpconworkingwithxmlnamespacesanchor1) diff --git a/docs/standard/serialization/how-to-serialize-an-object-as-a-soap-encoded-xml-stream.md b/docs/standard/serialization/how-to-serialize-an-object-as-a-soap-encoded-xml-stream.md index 03f056d9b019f..65744d1133470 100644 --- a/docs/standard/serialization/how-to-serialize-an-object-as-a-soap-encoded-xml-stream.md +++ b/docs/standard/serialization/how-to-serialize-an-object-as-a-soap-encoded-xml-stream.md @@ -1,12 +1,6 @@ --- title: "How to: Serialize an Object as a SOAP-Encoded XML Stream" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -15,13 +9,6 @@ helpviewer_keywords: - "XML serialization, SOAP" - "serialization, SOAP" ms.assetid: af406e0a-fa3a-46dd-a7ba-c80731eba3a0 -caps.latest.revision: 6 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Serialize an Object as a SOAP-Encoded XML Stream diff --git a/docs/standard/serialization/how-to-serialize-an-object.md b/docs/standard/serialization/how-to-serialize-an-object.md index d9eee591a6bbb..9eab3a3d82ac6 100644 --- a/docs/standard/serialization/how-to-serialize-an-object.md +++ b/docs/standard/serialization/how-to-serialize-an-object.md @@ -1,12 +1,6 @@ --- title: "How to: Serialize an Object" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -14,13 +8,6 @@ helpviewer_keywords: - "serializing objects" - "objects, serializing steps" ms.assetid: a1207d05-32b2-4953-8582-959607991227 -caps.latest.revision: 6 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Serialize an Object To serialize an object, first create the object that is to be serialized and set its public properties and fields. To do this, you must determine the transport format in which the XML stream is to be stored, either as a stream or as a file. For example, if the XML stream must be saved in a permanent form, create a object. diff --git a/docs/standard/serialization/how-to-specify-an-alternate-element-name-for-an-xml-stream.md b/docs/standard/serialization/how-to-specify-an-alternate-element-name-for-an-xml-stream.md index f16a0f74e12bc..bf5f18b31d00c 100644 --- a/docs/standard/serialization/how-to-specify-an-alternate-element-name-for-an-xml-stream.md +++ b/docs/standard/serialization/how-to-specify-an-alternate-element-name-for-an-xml-stream.md @@ -1,12 +1,6 @@ --- title: "How to: Specify an Alternate Element Name for an XML Stream" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -18,13 +12,6 @@ helpviewer_keywords: - "classes, overriding" - "overriding classes" ms.assetid: 5cc1c0b0-f94b-4525-9a41-88a582cd6668 -caps.latest.revision: 7 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Specify an Alternate Element Name for an XML Stream [Code Example](#cpconoverridingserializationofclasseswithxmlattributeoverridesclassanchor1) diff --git a/docs/standard/serialization/index.md b/docs/standard/serialization/index.md index 18b7862afd5cd..991a50b48d143 100644 --- a/docs/standard/serialization/index.md +++ b/docs/standard/serialization/index.md @@ -1,12 +1,6 @@ --- title: "Serialization in .NET" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "XML serialization, defined" - "binary serialization" @@ -14,13 +8,6 @@ helpviewer_keywords: - "serialization" - "objects, serializing" ms.assetid: 4d1111c0-9447-4231-a997-96a2b74b3453 -caps.latest.revision: 6 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Serialization in .NET Serialization is the process of converting the state of an object into a form that can be persisted or transported. The complement of serialization is deserialization, which converts a stream into an object. Together, these processes allow data to be easily stored and transferred. diff --git a/docs/standard/serialization/introducing-xml-serialization.md b/docs/standard/serialization/introducing-xml-serialization.md index e40617eb12b4d..73f124c10c386 100644 --- a/docs/standard/serialization/introducing-xml-serialization.md +++ b/docs/standard/serialization/introducing-xml-serialization.md @@ -1,12 +1,6 @@ --- title: "Introducing XML Serialization" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -18,13 +12,6 @@ helpviewer_keywords: - "DataSet class, serializing" - "XML Schema, serializing" ms.assetid: 8c63200d-db63-4a03-a93d-21641623df62 -caps.latest.revision: 8 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Introducing XML Serialization Serialization is the process of converting an object into a form that can be readily transported. For example, you can serialize an object and transport it over the Internet using HTTP between a client and a server. On the other end, deserialization reconstructs the object from the stream. diff --git a/docs/standard/serialization/schemaimporterextension-technology-sample.md b/docs/standard/serialization/schemaimporterextension-technology-sample.md index 0472d881f579b..29146bc6f1a54 100644 --- a/docs/standard/serialization/schemaimporterextension-technology-sample.md +++ b/docs/standard/serialization/schemaimporterextension-technology-sample.md @@ -1,20 +1,7 @@ --- title: "SchemaImporterExtension Technology Sample" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 3f5eb78f-0ef6-433a-b095-3a63b1ce0bc9 -caps.latest.revision: 6 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # SchemaImporterExtension Technology Sample [Download Sample](https://download.microsoft.com/download/4/7/B/47B2164C-E780-4B10-8DE4-2CB5B886E0A6/Technologies/Serialization/Xml%20Serialization/SchemaImporterExtension.zip.exe) diff --git a/docs/standard/serialization/schemaimporterextensions-element.md b/docs/standard/serialization/schemaimporterextensions-element.md index e95c5de9090a8..e8767ac39e30c 100644 --- a/docs/standard/serialization/schemaimporterextensions-element.md +++ b/docs/standard/serialization/schemaimporterextensions-element.md @@ -1,24 +1,11 @@ --- title: "<schemaImporterExtensions> Element" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "XML serialization, configuration" - "schemaImporterExtensions element" - " element" ms.assetid: 465ef2a0-f909-4ac1-9a56-0ead5c849698 -caps.latest.revision: 3 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # <schemaImporterExtensions> Element Contains types that are used by the for mapping of XSD types to .NET Framework types. For more information about configuration files, see [Configuration File Schema](../../../docs/framework/configure-apps/file-schema/index.md). diff --git a/docs/standard/serialization/selective-serialization.md b/docs/standard/serialization/selective-serialization.md index 1a4d18b5eb8ca..2a362ae471bbc 100644 --- a/docs/standard/serialization/selective-serialization.md +++ b/docs/standard/serialization/selective-serialization.md @@ -1,21 +1,12 @@ --- title: "Selective serialization" ms.date: "08/07/2017" -ms.prod: ".net" -ms.topic: "article" dev_langs: - "CSharp" helpviewer_keywords: - "serialization, selective serialization" - "binary serialization, selective serialization" ms.assetid: 39c56635-95d2-4afd-aff1-b022e7649bb3 -caps.latest.revision: 6 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Selective serialization A class often contains fields that shouldn't be serialized. For example, assume a class stores a thread ID in a member variable. When the class is deserialized, the thread stored the ID for when the class was serialized might no longer be running; so serializing this value doesn't make sense. You can prevent member variables from being serialized by marking them with the [NonSerialized](xref:System.NonSerializedAttribute) attribute as follows. diff --git a/docs/standard/serialization/serialization-concepts.md b/docs/standard/serialization/serialization-concepts.md index 614322b5866e0..edbc24994d8a8 100644 --- a/docs/standard/serialization/serialization-concepts.md +++ b/docs/standard/serialization/serialization-concepts.md @@ -1,16 +1,7 @@ --- title: "Serialization concepts" ms.date: "08/07/2017" -ms.prod: ".net" -ms.topic: "article" ms.assetid: e1ff4740-20a1-4c76-a8ad-d857db307054 -caps.latest.revision: 4 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Serialization concepts Why would you want to use serialization? The two most important reasons are to persist the state of an object to a storage medium so an exact copy can be re-created at a later stage, and to send the object by value from one application domain to another. For example, serialization is used to save session state in ASP.NET and to copy objects to the Clipboard in Windows Forms. It is also used by remoting to pass objects by value from one application domain to another. diff --git a/docs/standard/serialization/serialization-guidelines.md b/docs/standard/serialization/serialization-guidelines.md index 86e8ec176b4aa..d59260d3a1e8d 100644 --- a/docs/standard/serialization/serialization-guidelines.md +++ b/docs/standard/serialization/serialization-guidelines.md @@ -1,8 +1,6 @@ --- title: "Serialization guidelines" ms.date: "03/30/2017" -ms.prod: ".net" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -10,13 +8,6 @@ helpviewer_keywords: - "serialization, guidelines" - "binary serialization, guidelines" ms.assetid: ebbeddff-179d-443f-bf08-9c373199a73a -caps.latest.revision: 11 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Serialization guidelines This document lists the guidelines to consider when designing an API to be serialized. diff --git a/docs/standard/serialization/serialization-how-to-topics.md b/docs/standard/serialization/serialization-how-to-topics.md index fe1441afd6d54..5874426e7b655 100644 --- a/docs/standard/serialization/serialization-how-to-topics.md +++ b/docs/standard/serialization/serialization-how-to-topics.md @@ -1,22 +1,9 @@ --- title: "Serialization How-to Topics" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "serialization, how-tos" ms.assetid: 46c972ab-2193-4f72-9413-eca4521ed4b0 -caps.latest.revision: 3 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Serialization How-to Topics The following list includes links to the How-to topics found in the conceptual documentation for serialization. diff --git a/docs/standard/serialization/serialization-samples.md b/docs/standard/serialization/serialization-samples.md index c0e61eb30d49c..9b8349611442d 100644 --- a/docs/standard/serialization/serialization-samples.md +++ b/docs/standard/serialization/serialization-samples.md @@ -1,20 +1,7 @@ --- title: "Serialization Samples for the .NET Framework" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 6a56f66d-c80a-43e9-8e50-fb9b61120222 -caps.latest.revision: 3 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Serialization Samples for the .NET Framework This section demonstrates serializing objects in the .NET Framework. diff --git a/docs/standard/serialization/serialization-tools.md b/docs/standard/serialization/serialization-tools.md index 597ce0de8d724..3ee503bd26691 100644 --- a/docs/standard/serialization/serialization-tools.md +++ b/docs/standard/serialization/serialization-tools.md @@ -1,20 +1,7 @@ --- title: "Serialization Tools" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 593b675f-938c-44ff-807b-0ca9fea30103 -caps.latest.revision: 4 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Serialization Tools This section contains detailed information about the serialization tools. You can run all the tools from the command line. diff --git a/docs/standard/serialization/steps-in-the-serialization-process.md b/docs/standard/serialization/steps-in-the-serialization-process.md index 7ec610f084bb0..a484d426c8e11 100644 --- a/docs/standard/serialization/steps-in-the-serialization-process.md +++ b/docs/standard/serialization/steps-in-the-serialization-process.md @@ -1,19 +1,10 @@ --- title: "Steps in the serialization process" ms.date: "08/07/2017" -ms.prod: ".net" -ms.topic: "article" helpviewer_keywords: - "binary serialization, steps" - "serialization, steps" ms.assetid: 4bcbc883-2a91-418f-b968-6c86a25e9737 -caps.latest.revision: 6 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Steps in the serialization process When the method is called on a [formatter](xref:System.Runtime.Serialization.Formatter), object serialization proceeds according to the following sequence of rules: diff --git a/docs/standard/serialization/system-xml-serialization-element.md b/docs/standard/serialization/system-xml-serialization-element.md index ff14d3169954d..0e70da52a9641 100644 --- a/docs/standard/serialization/system-xml-serialization-element.md +++ b/docs/standard/serialization/system-xml-serialization-element.md @@ -1,24 +1,11 @@ --- title: "<system.xml.serialization> Element" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "system.xml.serialization element" - "XML serialization, configuration" - " element" ms.assetid: 3ce45919-388a-418c-8968-6df0372c73ec -caps.latest.revision: 5 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # <system.xml.serialization> Element The top-level element for controlling XML serialization. For more information about configuration files, see [Configuration File Schema](../../../docs/framework/configure-apps/file-schema/index.md). diff --git a/docs/standard/serialization/the-xml-schema-definition-tool-and-xml-serialization.md b/docs/standard/serialization/the-xml-schema-definition-tool-and-xml-serialization.md index f930d946b18b9..d5fd5002dc47a 100644 --- a/docs/standard/serialization/the-xml-schema-definition-tool-and-xml-serialization.md +++ b/docs/standard/serialization/the-xml-schema-definition-tool-and-xml-serialization.md @@ -1,25 +1,12 @@ --- title: "The XML Schema Definition Tool and XML Serialization" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "Xsd.exe" - "XML serialization, XML Schema Definition tool" - "XML Schema Definition tool" - "serialization, XML Schema Definition tool" ms.assetid: 3c03f855-f931-47ff-bbc6-50c0367a16e4 -caps.latest.revision: 7 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # The XML Schema Definition Tool and XML Serialization The XML Schema Definition tool ([XML Schema Definition Tool (Xsd.exe)](../../../docs/standard/serialization/xml-schema-definition-tool-xsd-exe.md)) is installed along with the .NET Framework tools as part of the Windows® Software Development Kit (SDK). The tool is designed primarily for two purposes: diff --git a/docs/standard/serialization/version-tolerant-serialization-technology-sample.md b/docs/standard/serialization/version-tolerant-serialization-technology-sample.md index ee2ef4d86e52a..a506fc7c3b844 100644 --- a/docs/standard/serialization/version-tolerant-serialization-technology-sample.md +++ b/docs/standard/serialization/version-tolerant-serialization-technology-sample.md @@ -1,20 +1,7 @@ --- title: "Version Tolerant Serialization Technology Sample" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 2a183664-bfbf-4ff0-96f6-c836284ea916 -caps.latest.revision: 6 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Version Tolerant Serialization Technology Sample [Download Sample](https://download.microsoft.com/download/4/7/B/47B2164C-E780-4B10-8DE4-2CB5B886E0A6/Technologies/Serialization/Runtime%20Serialization/VTS.zip.exe) diff --git a/docs/standard/serialization/version-tolerant-serialization.md b/docs/standard/serialization/version-tolerant-serialization.md index 1238266c4e78c..242e4c858aac2 100644 --- a/docs/standard/serialization/version-tolerant-serialization.md +++ b/docs/standard/serialization/version-tolerant-serialization.md @@ -1,8 +1,6 @@ --- title: "Version tolerant serialization" ms.date: "08/08/2017" -ms.prod: ".net" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -15,13 +13,6 @@ helpviewer_keywords: - "BinaryFormatter class, samples" - "serialization, attributes" ms.assetid: bea0ffe3-2708-4a16-ac7d-e586ed6b8e8d -caps.latest.revision: 9 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Version tolerant serialization In version 1.0 and 1.1 of the .NET Framework, creating serializable types that would be reusable from one version of an application to the next was problematic. If a type was modified by adding extra fields, the following problems would occur: diff --git a/docs/standard/serialization/web-services-generics-serialization-technology-sample.md b/docs/standard/serialization/web-services-generics-serialization-technology-sample.md index 8852aa485e831..b38355ae284ac 100644 --- a/docs/standard/serialization/web-services-generics-serialization-technology-sample.md +++ b/docs/standard/serialization/web-services-generics-serialization-technology-sample.md @@ -1,20 +1,7 @@ --- title: "Web Services Generics Serialization Technology Sample" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: cdc15ea4-f678-4729-8ebe-188ae720bef7 -caps.latest.revision: 7 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Web Services Generics Serialization Technology Sample [Download Sample](https://download.microsoft.com/download/4/7/B/47B2164C-E780-4B10-8DE4-2CB5B886E0A6/Technologies/Serialization/Xml%20Serialization/GenericsSerialization.zip.exe) diff --git a/docs/standard/serialization/web-services-ixmlserializable-technology-sample.md b/docs/standard/serialization/web-services-ixmlserializable-technology-sample.md index cb04066508777..0db3e8837bf44 100644 --- a/docs/standard/serialization/web-services-ixmlserializable-technology-sample.md +++ b/docs/standard/serialization/web-services-ixmlserializable-technology-sample.md @@ -1,20 +1,7 @@ --- title: "Web Services IXmlSerializable Technology Sample" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: 0202d3f1-a50b-427d-a5bb-79208b8f1c22 -caps.latest.revision: 6 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Web Services IXmlSerializable Technology Sample [Download Sample](https://download.microsoft.com/download/4/7/B/47B2164C-E780-4B10-8DE4-2CB5B886E0A6/Technologies/Serialization/Xml%20Serialization/IXmlSerializable.zip.exe) diff --git a/docs/standard/serialization/xml-and-soap-serialization.md b/docs/standard/serialization/xml-and-soap-serialization.md index d168cb21e4987..47ef9f8db06c8 100644 --- a/docs/standard/serialization/xml-and-soap-serialization.md +++ b/docs/standard/serialization/xml-and-soap-serialization.md @@ -1,12 +1,6 @@ --- title: "XML and SOAP Serialization" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "SOAP, XML serialization" - "XML serialization, SOAP" @@ -15,13 +9,6 @@ helpviewer_keywords: - "XML serialization" - "serialization" ms.assetid: 832ac524-21bc-419a-a27b-ca8bfc45840f -caps.latest.revision: 4 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XML and SOAP Serialization XML serialization converts (serializes) the public fields and properties of an object, or the parameters and return values of methods, into an XML stream that conforms to a specific XML Schema definition language (XSD) document. XML serialization results in strongly typed classes with public properties and fields that are converted to a serial format (in this case, XML) for storage or transport. diff --git a/docs/standard/serialization/xml-schema-def-tool-gen.md b/docs/standard/serialization/xml-schema-def-tool-gen.md index 57bd88472e1c8..e6a76a60e11f2 100644 --- a/docs/standard/serialization/xml-schema-def-tool-gen.md +++ b/docs/standard/serialization/xml-schema-def-tool-gen.md @@ -1,25 +1,12 @@ --- title: "How to: Use the XML Schema Definition Tool to Generate Classes and XML Schema Documents" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "generating XML classes using XML Schema Definition tool" - "generating XML Schema Document using XML Schema Definition tool" - "XML Schema Definition tool, using to generate classes that conform to specific schema" - "XML Schema Definition tool, using to generate XML Schema Document" ms.assetid: 51f0edc3-993d-4051-b7f2-77753694d3d1 -caps.latest.revision: 5 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Use the XML Schema Definition Tool to Generate Classes and XML Schema Documents The XML Schema Definition tool (Xsd.exe) allows you to generate an XML schema that describes a class or to generate the class defined by an XML schema. The following procedures show how to perform these operations. diff --git a/docs/standard/serialization/xml-schema-definition-tool-xsd-exe.md b/docs/standard/serialization/xml-schema-definition-tool-xsd-exe.md index ea9ed7b82e4a0..d8f867a5e49fa 100644 --- a/docs/standard/serialization/xml-schema-definition-tool-xsd-exe.md +++ b/docs/standard/serialization/xml-schema-definition-tool-xsd-exe.md @@ -1,20 +1,7 @@ --- title: "XML Schema Definition Tool (Xsd.exe)" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: a6e6e65c-347f-4494-9457-653bf29baac2 -caps.latest.revision: 7 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XML Schema Definition Tool (Xsd.exe) The XML Schema Definition (Xsd.exe) tool generates XML schema or common language runtime classes from XDR, XML, and XSD files, or from classes in a runtime assembly. diff --git a/docs/standard/serialization/xml-serialization-with-xml-web-services.md b/docs/standard/serialization/xml-serialization-with-xml-web-services.md index ff2f6d643610d..dfb407f2d1b54 100644 --- a/docs/standard/serialization/xml-serialization-with-xml-web-services.md +++ b/docs/standard/serialization/xml-serialization-with-xml-web-services.md @@ -1,12 +1,6 @@ --- title: "XML Serialization with XML Web Services" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -23,13 +17,6 @@ helpviewer_keywords: - "literal XML serialization" - "serialization, attributes" ms.assetid: a416192f-8102-458e-bc0a-0b8f3f784da9 -caps.latest.revision: 5 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XML Serialization with XML Web Services XML serialization is the underlying transport mechanism used in the XML Web services architecture, performed by the class. To control the XML generated by an XML Web service, you can apply the attributes listed in both [Attributes That Control XML Serialization](../../../docs/standard/serialization/attributes-that-control-xml-serialization.md) and [Attributes That Control Encoded SOAP Serialization](../../../docs/standard/serialization/attributes-that-control-encoded-soap-serialization.md) to the classes, return values, parameters, and fields of a file used to create an XML Web service (.asmx). For more information about creating an XML Web service, see [Building XML Web Services Using ASP.NET](https://msdn.microsoft.com/library/01dfc27c-c68e-4910-a0aa-5e4c2a766b0c). diff --git a/docs/standard/serialization/xml-serializer-generator-tool-sgen-exe.md b/docs/standard/serialization/xml-serializer-generator-tool-sgen-exe.md index fedff0dc43833..d9c7f73c12312 100644 --- a/docs/standard/serialization/xml-serializer-generator-tool-sgen-exe.md +++ b/docs/standard/serialization/xml-serializer-generator-tool-sgen-exe.md @@ -1,20 +1,7 @@ --- title: "XML Serializer Generator Tool (Sgen.exe)" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" ms.assetid: cc1d1f1c-fb26-4be9-885a-3fe84c81cec6 -caps.latest.revision: 4 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # XML Serializer Generator Tool (Sgen.exe) The XML Serializer Generator creates an XML serialization assembly for types in a specified assembly in order to improve the startup performance of a when it serializes or deserializes objects of the specified types. diff --git a/docs/standard/serialization/xmlserializer-element.md b/docs/standard/serialization/xmlserializer-element.md index 9a7c0bfd764cb..36ae1f07fa45a 100644 --- a/docs/standard/serialization/xmlserializer-element.md +++ b/docs/standard/serialization/xmlserializer-element.md @@ -1,24 +1,11 @@ --- title: "<xmlSerializer> Element" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - " element" - "XML serialization, configuration" - "xmlSerializer element" ms.assetid: d129d10c-3eb7-45d9-8098-5fa853825e47 -caps.latest.revision: 4 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # <xmlSerializer> Element Specifies whether an additional check of progress of the is done. diff --git a/docs/standard/threading/autoresetevent.md b/docs/standard/threading/autoresetevent.md index c882b0174b531..6f3c1fd4ace39 100644 --- a/docs/standard/threading/autoresetevent.md +++ b/docs/standard/threading/autoresetevent.md @@ -1,24 +1,13 @@ --- title: "AutoResetEvent" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "threading [.NET Framework], AutoResetEvent class" - "AutoResetEvent class" ms.assetid: 6d39c48d-6b37-4a9b-8631-f2924cfd9c18 -caps.latest.revision: 9 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # AutoResetEvent The class represents a local wait handle event that resets automatically when signaled, after releasing a single waiting thread. This class represents a special case of its base class, . See the [EventWaitHandle](../../../docs/standard/threading/eventwaithandle.md) conceptual documentation for the use and features of automatic reset events. diff --git a/docs/standard/threading/barrier.md b/docs/standard/threading/barrier.md index 7c0917e4767d0..40afc5c5d2452 100644 --- a/docs/standard/threading/barrier.md +++ b/docs/standard/threading/barrier.md @@ -1,26 +1,15 @@ --- title: "Barrier (.NET Framework)" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "synchronization primitives, Barrier" ms.assetid: 613a8bc7-6a28-4795-bd6c-1abd9050478f -caps.latest.revision: 13 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Barrier (.NET Framework) A *barrier* is a user-defined synchronization primitive that enables multiple threads (known as *participants*) to work concurrently on an algorithm in phases. Each participant executes until it reaches the barrier point in the code. The barrier represents the end of one phase of work. When a participant reaches the barrier, it blocks until all participants have reached the same barrier. After all participants have reached the barrier, you can optionally invoke a post-phase action. This post-phase action can be used to perform actions by a single thread while all other threads are still blocked. After the action has been executed, the participants are all unblocked. diff --git a/docs/standard/threading/canceling-threads-cooperatively.md b/docs/standard/threading/canceling-threads-cooperatively.md index e973645f9b3b7..d5177c19df6df 100644 --- a/docs/standard/threading/canceling-threads-cooperatively.md +++ b/docs/standard/threading/canceling-threads-cooperatively.md @@ -1,26 +1,15 @@ --- title: "Canceling Threads Cooperatively" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "threads, cancellation" ms.assetid: d2d6d5fd-e263-4fa0-847b-2fc3e0d82337 -caps.latest.revision: 6 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Canceling Threads Cooperatively Prior to the [!INCLUDE[net_v40_long](../../../includes/net-v40-long-md.md)], the .NET Framework provided no built-in way to cancel a thread cooperatively after it was started. However, in [!INCLUDE[net_v40_long](../../../includes/net-v40-long-md.md)], you can use cancellation tokens to cancel threads, just as you can use them to cancel objects or PLINQ queries. Although the class does not offer built-in support for cancellation tokens, you can pass a token to a thread procedure by using the constructor that takes a delegate. The following example demonstrates how to do this. diff --git a/docs/standard/threading/cancellation-in-managed-threads.md b/docs/standard/threading/cancellation-in-managed-threads.md index 6752e4c0c8be0..f14fc49559161 100644 --- a/docs/standard/threading/cancellation-in-managed-threads.md +++ b/docs/standard/threading/cancellation-in-managed-threads.md @@ -1,26 +1,15 @@ --- title: "Cancellation in Managed Threads" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "cancellation in .NET, overview" ms.assetid: eea11fe5-d8b0-4314-bb5d-8a58166fb1c3 -caps.latest.revision: 23 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Cancellation in Managed Threads Starting with the [!INCLUDE[net_v40_long](../../../includes/net-v40-long-md.md)], the .NET Framework uses a unified model for cooperative cancellation of asynchronous or long-running synchronous operations. This model is based on a lightweight object called a cancellation token. The object that invokes one or more cancelable operations, for example by creating new threads or tasks, passes the token to each operation. Individual operations can in turn pass copies of the token to other operations. At some later time, the object that created the token can use it to request that the operations stop what they are doing. Only the requesting object can issue the cancellation request, and each listener is responsible for noticing the request and responding to it in an appropriate and timely manner. diff --git a/docs/standard/threading/countdownevent.md b/docs/standard/threading/countdownevent.md index faa38bb38c0fd..9176b21b2b974 100644 --- a/docs/standard/threading/countdownevent.md +++ b/docs/standard/threading/countdownevent.md @@ -1,26 +1,15 @@ --- title: "CountdownEvent" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "synchronization primitives, CountdownEvent" ms.assetid: eec3812a-e20f-4ecd-bfef-6921d508b708 -caps.latest.revision: 8 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # CountdownEvent is a synchronization primitive that unblocks its waiting threads after it has been signaled a certain number of times. is designed for scenarios in which you would otherwise have to use a or and manually decrement a variable before signaling the event. For example, in a fork/join scenario, you can just create a that has a signal count of 5, and then start five work items on the thread pool and have each work item call when it completes. Each call to decrements the signal count by 1. On the main thread, the call to will block until the signal count is zero. diff --git a/docs/standard/threading/creating-threads-and-passing-data-at-start-time.md b/docs/standard/threading/creating-threads-and-passing-data-at-start-time.md index b4105acd32287..3ed7d88be8738 100644 --- a/docs/standard/threading/creating-threads-and-passing-data-at-start-time.md +++ b/docs/standard/threading/creating-threads-and-passing-data-at-start-time.md @@ -1,13 +1,7 @@ --- title: "Creating Threads and Passing Data at Start Time" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -17,13 +11,8 @@ helpviewer_keywords: - "threading [.NET Framework], passing data to threads" - "threading [.NET Framework], retrieving data from threads" ms.assetid: 52b32222-e185-4f42-91a7-eaca65c0ab6d -caps.latest.revision: 18 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Creating Threads and Passing Data at Start Time When an operating-system process is created, the operating system injects a thread to execute code in that process, including any original application domain. From that point on, application domains can be created and destroyed without any operating system threads necessarily being created or destroyed. If the code being executed is managed code, then a object for the thread executing in the current application domain can be obtained by retrieving the static property of type . This topic describes thread creation and discusses alternatives for passing data to the thread procedure. diff --git a/docs/standard/threading/destroying-threads.md b/docs/standard/threading/destroying-threads.md index bfa51147f4aa9..5d324d707aaf8 100644 --- a/docs/standard/threading/destroying-threads.md +++ b/docs/standard/threading/destroying-threads.md @@ -1,13 +1,7 @@ --- title: "Destroying Threads" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -15,13 +9,8 @@ helpviewer_keywords: - "destroying threads" - "threading [.NET Framework], destroying threads" ms.assetid: df54e648-c5d1-47c9-bd29-8e4438c1db6d -caps.latest.revision: 12 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Destroying Threads The method is used to stop a managed thread permanently. When you call , the common language runtime throws a in the target thread, which the target thread can catch. For more information, see . diff --git a/docs/standard/threading/eventwaithandle-autoresetevent-countdownevent-manualresetevent.md b/docs/standard/threading/eventwaithandle-autoresetevent-countdownevent-manualresetevent.md index 5969d0f1b22d6..f1fb40de6c79e 100644 --- a/docs/standard/threading/eventwaithandle-autoresetevent-countdownevent-manualresetevent.md +++ b/docs/standard/threading/eventwaithandle-autoresetevent-countdownevent-manualresetevent.md @@ -1,25 +1,14 @@ --- title: "EventWaitHandle, AutoResetEvent, CountdownEvent, ManualResetEvent" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "wait handles" - "threading [.NET Framework], EventWaitHandle class" - "event wait handles [.NET Framework]" ms.assetid: cd94fc34-ac15-427f-b723-a1240a4fab7d -caps.latest.revision: 12 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # EventWaitHandle, AutoResetEvent, CountdownEvent, ManualResetEvent Event wait handles allow threads to synchronize activities by signaling each other and by waiting on each other's signals. These synchronization events are based on Win32 wait handles and can be divided into two types: those that reset automatically when signaled and those that are reset manually. diff --git a/docs/standard/threading/eventwaithandle.md b/docs/standard/threading/eventwaithandle.md index f3fe45e2e27cc..7cd2cd90700e4 100644 --- a/docs/standard/threading/eventwaithandle.md +++ b/docs/standard/threading/eventwaithandle.md @@ -1,26 +1,15 @@ --- title: "EventWaitHandle" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "threading [.NET Framework], EventWaitHandle class" - "EventWaitHandle class" - "event wait handles [.NET Framework]" - "threading [.NET Framework], cross-process synchronization" ms.assetid: 11ee0b38-d663-4617-b793-35eb6c64e9fc -caps.latest.revision: 9 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # EventWaitHandle The class allows threads to communicate with each other by signaling and by waiting for signals. Event wait handles (also referred to simply as events) are wait handles that can be signaled in order to release one or more waiting threads. After it is signaled, an event wait handle is reset either manually or automatically. The class can represent either a local event wait handle (local event) or a named system event wait handle (named event or system event, visible to all processes). diff --git a/docs/standard/threading/exceptions-in-managed-threads.md b/docs/standard/threading/exceptions-in-managed-threads.md index ee0878d2bd213..660b2b3058a6b 100644 --- a/docs/standard/threading/exceptions-in-managed-threads.md +++ b/docs/standard/threading/exceptions-in-managed-threads.md @@ -1,26 +1,15 @@ --- title: "Exceptions in Managed Threads" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "unhandled exceptions,in managed threads" - "threading [.NET Framework],unhandled exceptions" - "threading [.NET Framework],exceptions in managed threads" - "managed threading" ms.assetid: 11294769-2e89-43cb-890e-ad4ad79cfbee -caps.latest.revision: 9 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Exceptions in Managed Threads Starting with the .NET Framework version 2.0, the common language runtime allows most unhandled exceptions in threads to proceed naturally. In most cases this means that the unhandled exception causes the application to terminate. diff --git a/docs/standard/threading/foreground-and-background-threads.md b/docs/standard/threading/foreground-and-background-threads.md index 61399adb03a86..8b40ef6616534 100644 --- a/docs/standard/threading/foreground-and-background-threads.md +++ b/docs/standard/threading/foreground-and-background-threads.md @@ -1,26 +1,15 @@ --- title: "Foreground and Background Threads" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "threading [.NET Framework], foreground" - "threading [.NET Framework], background" - "foreground threads" - "background threads" ms.assetid: cfe0d632-dd35-47e0-91ad-f742a444005e -caps.latest.revision: 12 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Foreground and Background Threads A managed thread is either a background thread or a foreground thread. Background threads are identical to foreground threads with one exception: a background thread does not keep the managed execution environment running. Once all foreground threads have been stopped in a managed process (where the .exe file is a managed assembly), the system stops all background threads and shuts down. diff --git a/docs/standard/threading/how-to-enable-thread-tracking-mode-in-spinlock.md b/docs/standard/threading/how-to-enable-thread-tracking-mode-in-spinlock.md index e47703c608752..b99d6567b9300 100644 --- a/docs/standard/threading/how-to-enable-thread-tracking-mode-in-spinlock.md +++ b/docs/standard/threading/how-to-enable-thread-tracking-mode-in-spinlock.md @@ -1,26 +1,15 @@ --- title: "How to: Enable Thread-Tracking Mode in SpinLock" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "SpinLock, how to enable thread-tracking" ms.assetid: 62ee2e68-0bdd-4869-afc9-f0a57a11ae01 -caps.latest.revision: 8 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Enable Thread-Tracking Mode in SpinLock is a low-level mutual exclusion lock that you can use for scenarios that have very short wait times. is not re-entrant. After a thread enters the lock, it must exit the lock correctly before it can enter again. Typically, any attempt to re-enter the lock would cause deadlock, and deadlocks can be very difficult to debug. As an aid to development, supports a thread-tracking mode that causes an exception to be thrown when a thread attempts to re-enter a lock that it already holds. This lets you more easily locate the point at which the lock was not exited correctly. You can turn on thread-tracking mode by using the constructor that takes a Boolean input parameter, and passing in an argument of `true`. After you complete the development and testing phases, turn off thread-tracking mode for better performance. diff --git a/docs/standard/threading/how-to-listen-for-cancellation-requests-by-polling.md b/docs/standard/threading/how-to-listen-for-cancellation-requests-by-polling.md index 4d9cc2d6b9a42..2e2340255e50f 100644 --- a/docs/standard/threading/how-to-listen-for-cancellation-requests-by-polling.md +++ b/docs/standard/threading/how-to-listen-for-cancellation-requests-by-polling.md @@ -1,26 +1,15 @@ --- title: "How to: Listen for Cancellation Requests by Polling" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "cancellation, how to poll for requests" ms.assetid: c7f2f022-d08e-4e00-b4eb-ae84844cb1bc -caps.latest.revision: 12 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Listen for Cancellation Requests by Polling The following example shows one way that user code can poll a cancellation token at regular intervals to see whether cancellation has been requested from the calling thread. This example uses the type, but the same pattern applies to asynchronous operations created directly by the type or the type. diff --git a/docs/standard/threading/how-to-listen-for-cancellation-requests-that-have-wait-handles.md b/docs/standard/threading/how-to-listen-for-cancellation-requests-that-have-wait-handles.md index 9ddbdbdb7a109..2fe91a107e163 100644 --- a/docs/standard/threading/how-to-listen-for-cancellation-requests-that-have-wait-handles.md +++ b/docs/standard/threading/how-to-listen-for-cancellation-requests-that-have-wait-handles.md @@ -1,26 +1,15 @@ --- title: "How to: Listen for Cancellation Requests That Have Wait Handles" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "cancellation, waiting with wait handles" ms.assetid: 6e2aa49b-fc84-4bcf-962b-17db98b7edcb -caps.latest.revision: 9 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Listen for Cancellation Requests That Have Wait Handles If a method is blocked while it is waiting for an event to be signaled, it cannot check the value of the cancellation token and respond in a timely manner. The first example shows how to solve this problem when you are working with events such as that do not natively support the unified cancellation framework. The second example shows a more streamlined approach that uses , which does support unified cancellation. diff --git a/docs/standard/threading/how-to-listen-for-multiple-cancellation-requests.md b/docs/standard/threading/how-to-listen-for-multiple-cancellation-requests.md index 5ee6c31d04e6f..7b7506f828ffa 100644 --- a/docs/standard/threading/how-to-listen-for-multiple-cancellation-requests.md +++ b/docs/standard/threading/how-to-listen-for-multiple-cancellation-requests.md @@ -1,13 +1,7 @@ --- title: "How to: Listen for Multiple Cancellation Requests" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -15,13 +9,8 @@ helpviewer_keywords: - "cancellation tokens, joining" - "LinkedTokenSource, how to" ms.assetid: 6f4f3804-2ed7-41b4-a97a-6e32b93f6e05 -caps.latest.revision: 9 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Listen for Multiple Cancellation Requests This example shows how to listen to two cancellation tokens simultaneously so that you can cancel an operation if either token requests it. diff --git a/docs/standard/threading/how-to-register-callbacks-for-cancellation-requests.md b/docs/standard/threading/how-to-register-callbacks-for-cancellation-requests.md index b891054a1157b..d04d497f1d1f3 100644 --- a/docs/standard/threading/how-to-register-callbacks-for-cancellation-requests.md +++ b/docs/standard/threading/how-to-register-callbacks-for-cancellation-requests.md @@ -1,26 +1,15 @@ --- title: "How to: Register Callbacks for Cancellation Requests" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "cancellation, how to register callbacks" ms.assetid: 8838dd75-18ed-4b8b-b322-cd4531faac64 -caps.latest.revision: 9 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Register Callbacks for Cancellation Requests The following example shows how to register a delegate that will be invoked when a property becomes true due to a call to on the object that created the token. Use this technique for cancelling asynchronous operations that do not natively support the unified cancellation framework, and for unblocking methods that might be waiting for an asynchronous operation to finish. diff --git a/docs/standard/threading/how-to-synchronize-concurrent-operations-with-a-barrier.md b/docs/standard/threading/how-to-synchronize-concurrent-operations-with-a-barrier.md index 9d7be12fc6877..9e88a8d89489f 100644 --- a/docs/standard/threading/how-to-synchronize-concurrent-operations-with-a-barrier.md +++ b/docs/standard/threading/how-to-synchronize-concurrent-operations-with-a-barrier.md @@ -1,26 +1,15 @@ --- title: "How to: Synchronize Concurrent Operations with a Barrier" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "Barrier, how to use" ms.assetid: e1a253ff-e0fb-4df8-95ff-d01a90d4cb19 -caps.latest.revision: 10 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Synchronize Concurrent Operations with a Barrier The following example shows how to synchronize concurrent tasks with a . diff --git a/docs/standard/threading/how-to-use-spinlock-for-low-level-synchronization.md b/docs/standard/threading/how-to-use-spinlock-for-low-level-synchronization.md index 2b8a756399c70..2f280d581d2b8 100644 --- a/docs/standard/threading/how-to-use-spinlock-for-low-level-synchronization.md +++ b/docs/standard/threading/how-to-use-spinlock-for-low-level-synchronization.md @@ -1,26 +1,15 @@ --- title: "How to: Use SpinLock for Low-Level Synchronization" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "SpinLock, how to use" ms.assetid: a9ed3e4e-4f29-4207-b730-ed0a51ecbc19 -caps.latest.revision: 15 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Use SpinLock for Low-Level Synchronization The following example demonstrates how to use a . diff --git a/docs/standard/threading/how-to-use-spinwait-to-implement-a-two-phase-wait-operation.md b/docs/standard/threading/how-to-use-spinwait-to-implement-a-two-phase-wait-operation.md index e83583e3b3441..0c11f6bcd6fdc 100644 --- a/docs/standard/threading/how-to-use-spinwait-to-implement-a-two-phase-wait-operation.md +++ b/docs/standard/threading/how-to-use-spinwait-to-implement-a-two-phase-wait-operation.md @@ -1,26 +1,15 @@ --- title: "How to: Use SpinWait to Implement a Two-Phase Wait Operation" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "SpinWait, how to synchronize two-phase wait" ms.assetid: b2ac4e4a-051a-4f65-b4b9-f8e103aff195 -caps.latest.revision: 8 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # How to: Use SpinWait to Implement a Two-Phase Wait Operation The following example shows how to use a object to implement a two-phase wait operation. In the first phase, the synchronization object, a `Latch`, spins for a few cycles while it checks whether the lock has become available. In the second phase, if the lock becomes available, then the `Wait` method returns without using the to perform its wait; otherwise, `Wait` performs the wait. diff --git a/docs/standard/threading/index.md b/docs/standard/threading/index.md index d20735f17dd35..1126201e50db0 100644 --- a/docs/standard/threading/index.md +++ b/docs/standard/threading/index.md @@ -1,24 +1,13 @@ --- title: "Managed Threading" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "threading [.NET Framework], about threading" - "managed threading" ms.assetid: 7b46a7d9-c6f1-46d1-a947-ae97471bba87 -caps.latest.revision: 19 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Managed Threading Whether you are developing for computers with one processor or several, you want your application to provide the most responsive interaction with the user, even if the application is currently doing other work. Using multiple threads of execution is one of the most powerful ways to keep your application responsive to the user and at the same time make use of the processor in between or even during user events. While this section introduces the basic concepts of threading, it focuses on managed threading concepts and using managed threading. diff --git a/docs/standard/threading/interlocked-operations.md b/docs/standard/threading/interlocked-operations.md index 6e8bc89c451bf..c84d897001d9d 100644 --- a/docs/standard/threading/interlocked-operations.md +++ b/docs/standard/threading/interlocked-operations.md @@ -1,13 +1,7 @@ --- title: "Interlocked Operations" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -16,13 +10,8 @@ helpviewer_keywords: - "Interlocked class, about Interlocked class" - "threading [.NET Framework], Interlocked class" ms.assetid: cbda7114-c752-4f3e-ada1-b1e8dd262f2b -caps.latest.revision: 13 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Interlocked Operations The class provides methods that synchronize access to a variable that is shared by multiple threads. The threads of different processes can use this mechanism if the variable is in shared memory. Interlocked operations are atomic — that is, the entire operation is a unit that cannot be interrupted by another interlocked operation on the same variable. This is important in operating systems with preemptive multithreading, where a thread can be suspended after loading a value from a memory address, but before having the chance to alter it and store it. diff --git a/docs/standard/threading/managed-and-unmanaged-threading-in-windows.md b/docs/standard/threading/managed-and-unmanaged-threading-in-windows.md index ce34b250a1dfc..b3459f16ff3a1 100644 --- a/docs/standard/threading/managed-and-unmanaged-threading-in-windows.md +++ b/docs/standard/threading/managed-and-unmanaged-threading-in-windows.md @@ -1,25 +1,14 @@ --- title: "Managed and Unmanaged Threading in Windows" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "threading [.NET Framework], unmanaged" - "threading [.NET Framework], managed" - "managed threading" ms.assetid: 4fb6452f-c071-420d-9e71-da16dee7a1eb -caps.latest.revision: 17 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Managed and Unmanaged Threading in Windows Management of all threads is done through the class, including threads created by the common language runtime and those created outside the runtime that enter the managed environment to execute code. The runtime monitors all the threads in its process that have ever executed code within the managed execution environment. It does not track any other threads. Threads can enter the managed execution environment through COM interop (because the runtime exposes managed objects as COM objects to the unmanaged world), the COM [DllGetClassObject](https://msdn.microsoft.com/library/ms680760.aspx) function, and platform invoke. diff --git a/docs/standard/threading/managed-thread-states.md b/docs/standard/threading/managed-thread-states.md index 3565c5715230f..626093f91614c 100644 --- a/docs/standard/threading/managed-thread-states.md +++ b/docs/standard/threading/managed-thread-states.md @@ -1,23 +1,12 @@ --- title: "Managed Thread States" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "threading [.NET Framework], states" ms.assetid: 63890d5e-6025-4a7c-aaf0-d8bfd54b455f -caps.latest.revision: 12 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Managed Thread States The property provides a bit mask that indicates the thread's current state. A thread is always in at least one of the possible states in the enumeration, and can be in multiple states at the same time. diff --git a/docs/standard/threading/managed-threading-basics.md b/docs/standard/threading/managed-threading-basics.md index b6d3a053f9568..4417daba46869 100644 --- a/docs/standard/threading/managed-threading-basics.md +++ b/docs/standard/threading/managed-threading-basics.md @@ -1,26 +1,15 @@ --- title: "Managed Threading Basics" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "multiple threads" - "threading [.NET Framework], multiple threads" - "threading [.NET Framework], about threading" - "managed threading" ms.assetid: b2944911-0e8f-427d-a8bb-077550618935 -caps.latest.revision: 16 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Managed Threading Basics The first five topics of this section are designed to help you determine when to use managed threading, and to explain some basic features. For information on classes that provide additional features, see [Threading Objects and Features](../../../docs/standard/threading/threading-objects-and-features.md) and [Overview of Synchronization Primitives](../../../docs/standard/threading/overview-of-synchronization-primitives.md). diff --git a/docs/standard/threading/managed-threading-best-practices.md b/docs/standard/threading/managed-threading-best-practices.md index c8b49aa2ca19c..615a3763a9bc3 100644 --- a/docs/standard/threading/managed-threading-best-practices.md +++ b/docs/standard/threading/managed-threading-best-practices.md @@ -1,13 +1,7 @@ --- title: "Managed Threading Best Practices" -ms.custom: "" ms.date: "11/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -16,13 +10,8 @@ helpviewer_keywords: - "threading [.NET Framework], best practices" - "managed threading" ms.assetid: e51988e7-7f4b-4646-a06d-1416cee8d557 -caps.latest.revision: 19 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Managed Threading Best Practices Multithreading requires careful programming. For most tasks, you can reduce complexity by queuing requests for execution by thread pool threads. This topic addresses more difficult situations, such as coordinating the work of multiple threads, or handling threads that block. diff --git a/docs/standard/threading/manualresetevent-and-manualreseteventslim.md b/docs/standard/threading/manualresetevent-and-manualreseteventslim.md index ee415aaa4c30a..0160bc46ff16a 100644 --- a/docs/standard/threading/manualresetevent-and-manualreseteventslim.md +++ b/docs/standard/threading/manualresetevent-and-manualreseteventslim.md @@ -1,24 +1,13 @@ --- title: "ManualResetEvent and ManualResetEventSlim" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "threading [.NET Framework], ManualResetEvent class" - "ManualResetEvent class, about ManualResetEvent class" ms.assetid: 465fdcf9-ba24-4d8d-a43f-d983b7cb0cc6 -caps.latest.revision: 17 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # ManualResetEvent and ManualResetEventSlim The class represents a local wait handle event that must be reset manually after it is signaled. This class represents a special case of its base class, . See the [EventWaitHandle](../../../docs/standard/threading/eventwaithandle.md) conceptual documentation for the use and features of manual reset events. diff --git a/docs/standard/threading/mutexes.md b/docs/standard/threading/mutexes.md index 37fb178723486..3734577b5af09 100644 --- a/docs/standard/threading/mutexes.md +++ b/docs/standard/threading/mutexes.md @@ -1,26 +1,15 @@ --- title: "Mutexes" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "wait handles" - "threading [.NET Framework], Mutex class" - "Mutex class, about Mutex class" - "threading [.NET Framework], cross-process synchronization" ms.assetid: 9dd06e25-12c0-4a9e-855a-452dc83803e2 -caps.latest.revision: 15 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Mutexes You can use a object to provide exclusive access to a resource. The class uses more system resources than the class, but it can be marshaled across application domain boundaries, it can be used with multiple waits, and it can be used to synchronize threads in different processes. For a comparison of managed synchronization mechanisms, see [Overview of Synchronization Primitives](../../../docs/standard/threading/overview-of-synchronization-primitives.md). diff --git a/docs/standard/threading/overview-of-synchronization-primitives.md b/docs/standard/threading/overview-of-synchronization-primitives.md index 4a66dc896d30b..a8e1443391ee5 100644 --- a/docs/standard/threading/overview-of-synchronization-primitives.md +++ b/docs/standard/threading/overview-of-synchronization-primitives.md @@ -1,25 +1,14 @@ --- title: "Overview of Synchronization Primitives" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "synchronization, threads" - "threading [.NET Framework],synchronizing threads" - "managed threading" ms.assetid: b782bcb8-da6a-4c6a-805f-2eb46d504309 -caps.latest.revision: 17 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Overview of Synchronization Primitives The .NET Framework provides a range of synchronization primitives for controlling the interactions of threads and avoiding race conditions. These can be roughly divided into three categories: locking, signaling, and interlocked operations. diff --git a/docs/standard/threading/pausing-and-resuming-threads.md b/docs/standard/threading/pausing-and-resuming-threads.md index b58d5b7186b00..3e352ff33c5e6 100644 --- a/docs/standard/threading/pausing-and-resuming-threads.md +++ b/docs/standard/threading/pausing-and-resuming-threads.md @@ -1,13 +1,7 @@ --- title: "Pausing and Resuming Threads" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -16,13 +10,8 @@ helpviewer_keywords: - "threading [.NET Framework], pausing" - "pausing threads" ms.assetid: 9fce4859-a19d-4506-b082-7dd0792688ca -caps.latest.revision: 14 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Pausing and Resuming Threads The most common ways to synchronize the activities of threads are to block and release threads, or to lock objects or regions of code. For more information on these locking and blocking mechanisms, see [Overview of Synchronization Primitives](../../../docs/standard/threading/overview-of-synchronization-primitives.md). diff --git a/docs/standard/threading/reader-writer-locks.md b/docs/standard/threading/reader-writer-locks.md index 87d52be675311..17941e0068e95 100644 --- a/docs/standard/threading/reader-writer-locks.md +++ b/docs/standard/threading/reader-writer-locks.md @@ -1,24 +1,13 @@ --- title: "Reader-Writer Locks" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "ReaderWriterLock class, about ReaderWriterLock class" - "threading [.NET Framework], ReaderWriterLock class" ms.assetid: 8c71acf2-2c18-4f4d-8cdb-0728639265fd -caps.latest.revision: 11 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Reader-Writer Locks The class enables multiple threads to read a resource concurrently, but requires a thread to wait for an exclusive lock in order to write to the resource. diff --git a/docs/standard/threading/scheduling-threads.md b/docs/standard/threading/scheduling-threads.md index 916b18fa848cf..f735b9f8f96f5 100644 --- a/docs/standard/threading/scheduling-threads.md +++ b/docs/standard/threading/scheduling-threads.md @@ -1,24 +1,13 @@ --- title: "Scheduling Threads" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "threading [.NET Framework], scheduling" - "scheduling threads" ms.assetid: 67e4a0eb-3095-4ea7-b20f-908faa476277 -caps.latest.revision: 6 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Scheduling Threads Every thread has a thread priority assigned to it. Threads created within the common language runtime are initially assigned the priority of **ThreadPriority.Normal**. Threads created outside the runtime retain the priority they had before they entered the managed environment. You can get or set the priority of any thread with the **Thread.Priority** property. diff --git a/docs/standard/threading/semaphore-and-semaphoreslim.md b/docs/standard/threading/semaphore-and-semaphoreslim.md index 677779f410f7a..1db8ca2314b7f 100644 --- a/docs/standard/threading/semaphore-and-semaphoreslim.md +++ b/docs/standard/threading/semaphore-and-semaphoreslim.md @@ -1,13 +1,7 @@ --- title: "Semaphore and SemaphoreSlim" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "counting semaphores" - "semaphores" @@ -16,13 +10,8 @@ helpviewer_keywords: - "SemaphoreSlim class, about SemaphoreSlim class" - "threading [.NET Framework], Semaphore class" ms.assetid: 7722a333-b974-47a2-a7c0-f09097fb644e -caps.latest.revision: 17 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Semaphore and SemaphoreSlim The class represents a named (systemwide) or local semaphore. It is a thin wrapper around the Win32 semaphore object. Win32 semaphores are counting semaphores, which can be used to control access to a pool of resources. diff --git a/docs/standard/threading/spinlock.md b/docs/standard/threading/spinlock.md index bd31f8073cd79..911c2ee7f9e86 100644 --- a/docs/standard/threading/spinlock.md +++ b/docs/standard/threading/spinlock.md @@ -1,23 +1,12 @@ --- title: "SpinLock" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "synchronization primitives, SpinLock" ms.assetid: f9af93bb-7a0d-4ba5-afe8-74f48b6b6958 -caps.latest.revision: 8 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # SpinLock The structure is a low-level, mutual-exclusion synchronization primitive that spins while it waits to acquire a lock. On multicore computers, when wait times are expected to be short and when contention is minimal, can perform better than other kinds of locks. However, we recommend that you use only when you determine by profiling that the method or the methods are significantly slowing the performance of your program. diff --git a/docs/standard/threading/spinwait.md b/docs/standard/threading/spinwait.md index 452ddb1097ae2..96b8cca05377e 100644 --- a/docs/standard/threading/spinwait.md +++ b/docs/standard/threading/spinwait.md @@ -1,26 +1,15 @@ --- title: "SpinWait" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "synchronization primitives, SpinWait" ms.assetid: 36012f42-34e5-4f86-adf4-973f433ed6c6 -caps.latest.revision: 9 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # SpinWait is a lightweight synchronization type that you can use in low-level scenarios to avoid the expensive context switches and kernel transitions that are required for kernel events. On multicore computers, when a resource is not expected to be held for long periods of time, it can be more efficient for a waiting thread to spin in user mode for a few dozen or a few hundred cycles, and then retry to acquire the resource. If the resource is available after spinning, then you have saved several thousand cycles. If the resource is still not available, then you have spent only a few cycles and can still enter a kernel-based wait. This spinning-then-waiting combination is sometimes referred to as a *two-phase wait operation*. diff --git a/docs/standard/threading/synchronizing-data-for-multithreading.md b/docs/standard/threading/synchronizing-data-for-multithreading.md index abcf39bdad9dc..fd3f99d8a5fb3 100644 --- a/docs/standard/threading/synchronizing-data-for-multithreading.md +++ b/docs/standard/threading/synchronizing-data-for-multithreading.md @@ -1,25 +1,14 @@ --- title: "Synchronizing Data for Multithreading" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "synchronization, threads" - "threading [.NET Framework], synchronizing threads" - "managed threading" ms.assetid: b980eb4c-71d5-4860-864a-6dfe3692430a -caps.latest.revision: 16 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Synchronizing Data for Multithreading When multiple threads can make calls to the properties and methods of a single object, it is critical that those calls be synchronized. Otherwise one thread might interrupt what another thread is doing, and the object could be left in an invalid state. A class whose members are protected from such interruptions is called thread-safe. diff --git a/docs/standard/threading/the-managed-thread-pool.md b/docs/standard/threading/the-managed-thread-pool.md index a843e2aa0fb67..e6775dc09ab7d 100644 --- a/docs/standard/threading/the-managed-thread-pool.md +++ b/docs/standard/threading/the-managed-thread-pool.md @@ -1,13 +1,7 @@ --- title: "The Managed Thread Pool" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -18,13 +12,8 @@ helpviewer_keywords: - "threading [.NET Framework], thread pool" - "threading [.NET Framework], pooling" ms.assetid: 2be05b06-a42e-4c9d-a739-96c21d673927 -caps.latest.revision: 24 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # The Managed Thread Pool The class provides your application with a pool of worker threads that are managed by the system, allowing you to concentrate on application tasks rather than thread management. If you have short tasks that require background processing, the managed thread pool is an easy way to take advantage of multiple threads. For example, beginning with the [!INCLUDE[net_v40_long](../../../includes/net-v40-long-md.md)] you can create and objects, which perform asynchronous tasks on thread pool threads. diff --git a/docs/standard/threading/thread-local-storage-thread-relative-static-fields-and-data-slots.md b/docs/standard/threading/thread-local-storage-thread-relative-static-fields-and-data-slots.md index 8442f6e6900d3..3ce9bb676cefa 100644 --- a/docs/standard/threading/thread-local-storage-thread-relative-static-fields-and-data-slots.md +++ b/docs/standard/threading/thread-local-storage-thread-relative-static-fields-and-data-slots.md @@ -1,26 +1,15 @@ --- title: "Thread Local Storage: Thread-Relative Static Fields and Data Slots" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "threading [.NET Framework], local storage" - "threading [.NET Framework], thread-relative static fields" - "local thread storage" - "TLS" ms.assetid: c633a4dc-a790-4ed1-96b5-f72bd968b284 -caps.latest.revision: 13 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Thread Local Storage: Thread-Relative Static Fields and Data Slots You can use managed thread local storage (TLS) to store data that is unique to a thread and application domain. The .NET Framework provides two ways to use managed TLS: thread-relative static fields and data slots. diff --git a/docs/standard/threading/thread-suspend-garbage-collection-and-safe-points.md b/docs/standard/threading/thread-suspend-garbage-collection-and-safe-points.md index 76102f96d1639..31162f3e1eccf 100644 --- a/docs/standard/threading/thread-suspend-garbage-collection-and-safe-points.md +++ b/docs/standard/threading/thread-suspend-garbage-collection-and-safe-points.md @@ -1,13 +1,7 @@ --- title: "Thread.Suspend, Garbage Collection, and Safe Points" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "suspending threads" - "safe points" @@ -15,13 +9,8 @@ helpviewer_keywords: - "threading [.NET Framework], garbage collection" - "garbage collection, threads" ms.assetid: e8f58e17-2714-4821-802a-f8eb3b2baa62 -caps.latest.revision: 7 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Thread.Suspend, Garbage Collection, and Safe Points When you call on a thread, the system notes that a thread suspension has been requested and allows the thread to execute until it has reached a safe point before actually suspending the thread. A safe point for a thread is a point in its execution at which garbage collection can be performed. diff --git a/docs/standard/threading/threading-objects-and-features.md b/docs/standard/threading/threading-objects-and-features.md index 06e238f8606e2..6757035386764 100644 --- a/docs/standard/threading/threading-objects-and-features.md +++ b/docs/standard/threading/threading-objects-and-features.md @@ -1,24 +1,13 @@ --- title: "Threading Objects and Features" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "threading [.NET Framework], features" - "managed threading" ms.assetid: 239b2e8d-581b-4ca3-992b-0e8525b9321c -caps.latest.revision: 15 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Threading Objects and Features The .NET Framework provides a number of objects that help you create and manage multithreaded applications. Managed threads are represented by the class. The class provides easy creation and management of multithreaded background tasks. The class does the same for tasks that interact with the user interface. The class executes background tasks at timed intervals. diff --git a/docs/standard/threading/threads-and-threading.md b/docs/standard/threading/threads-and-threading.md index 7e9eb66460150..3211c929549b1 100644 --- a/docs/standard/threading/threads-and-threading.md +++ b/docs/standard/threading/threads-and-threading.md @@ -1,25 +1,14 @@ --- title: "Threads and Threading" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "multiple threads" - "threading [.NET Framework]" - "threading [.NET Framework], multiple threads" ms.assetid: 5baac3aa-e603-4fa6-9f89-0f2c1084e6b1 -caps.latest.revision: 14 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Threads and Threading Operating systems use processes to separate the different applications that they are executing. Threads are the basic unit to which an operating system allocates processor time, and more than one thread can be executing code inside that process. Each thread maintains exception handlers, a scheduling priority, and a set of structures the system uses to save the thread context until it is scheduled. The thread context includes all the information the thread needs to seamlessly resume execution, including the thread's set of CPU registers and stack, in the address space of the thread's host process. diff --git a/docs/standard/threading/timers.md b/docs/standard/threading/timers.md index b275fd881b3ec..43706e912a158 100644 --- a/docs/standard/threading/timers.md +++ b/docs/standard/threading/timers.md @@ -1,13 +1,7 @@ --- title: "Timers" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" dev_langs: - "csharp" - "vb" @@ -16,13 +10,8 @@ helpviewer_keywords: - "threading [.NET Framework], timers" - "timers, about timers" ms.assetid: 7091500d-be18-499b-a942-95366ce185e5 -caps.latest.revision: 12 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Timers Timers are lightweight objects that enable you to specify a delegate to be called at a specified time. A thread in the thread pool performs the wait operation. diff --git a/docs/standard/threading/using-threads-and-threading.md b/docs/standard/threading/using-threads-and-threading.md index 6bfec3d9ff877..e28fa809d10e3 100644 --- a/docs/standard/threading/using-threads-and-threading.md +++ b/docs/standard/threading/using-threads-and-threading.md @@ -1,24 +1,13 @@ --- title: "Using Threads and Threading" -ms.custom: "" ms.date: "03/30/2017" -ms.prod: ".net" -ms.reviewer: "" -ms.suite: "" ms.technology: dotnet-standard -ms.tgt_pltfrm: "" -ms.topic: "article" helpviewer_keywords: - "threading [.NET Framework], about threading" - "managed threading" ms.assetid: 9b5ec2cd-121b-4d49-b075-222cf26f2344 -caps.latest.revision: 14 author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # Using Threads and Threading The topics in this section discuss the creation and management of managed threads, how to pass data to managed threads and get results back, and how to destroy threads and handle a . diff --git a/docs/standard/tour.md b/docs/standard/tour.md index 920502f019276..b94beeda908ff 100644 --- a/docs/standard/tour.md +++ b/docs/standard/tour.md @@ -1,20 +1,12 @@ --- title: Tour of .NET description: A guided tour through some of the prominent features of .NET. -keywords: .NET, .NET Core, Tour, Programming Languages, Unsafe, Memory Management, Type Safety, Async author: cartermp ms.author: wiwagn ms.date: 05/22/2017 -ms.topic: article -ms.prod: .net ms.technology: dotnet-standard -ms.devlang: dotnet ms.assetid: bbfe6465-329d-4982-869d-472e7ef85d93 -ms.workload: - - "dotnet" - - "dotnetcore" --- - # Tour of .NET .NET is a general purpose development platform. It has several key features, such as support for multiple programming languages, asynchronous and concurrent programming models, and native interoperability, which enable a wide range of scenarios across multiple platforms. diff --git a/docs/standard/using-linq.md b/docs/standard/using-linq.md index 206a114ae291d..d095c62f99463 100644 --- a/docs/standard/using-linq.md +++ b/docs/standard/using-linq.md @@ -1,20 +1,12 @@ --- title: LINQ (Language Integrated Query) description: Learn how LINQ provides language-level querying capabilities and an API to C# and VB as a way to write expressive, declarative code. -keywords: .NET, .NET Core author: cartermp ms.author: wiwagn ms.date: 06/20/2016 -ms.topic: article -ms.prod: .net ms.technology: dotnet-standard -ms.devlang: dotnet ms.assetid: c00939e1-59e3-4e61-8fe9-08ad6b3f1295 -ms.workload: - - "dotnet" - - "dotnetcore" --- - # LINQ (Language Integrated Query) ## What is it? diff --git a/docs/standard/whats-new/whats-new-in-dotnet-standard.md b/docs/standard/whats-new/whats-new-in-dotnet-standard.md index a4bf0e16b7587..a45113e64739d 100644 --- a/docs/standard/whats-new/whats-new-in-dotnet-standard.md +++ b/docs/standard/whats-new/whats-new-in-dotnet-standard.md @@ -3,15 +3,9 @@ title: "What's new in the .NET Standard" description: This article summarizes new features and enhancements found in each new version of .NET Standard. ms.custom: "updateeachrelease" ms.date: "04/12/2018" -ms.prod: ".net" -ms.topic: "article" ms.technology: dotnet-standard author: "rpetrusha" ms.author: "ronpet" -manager: "wpickett" -ms.workload: - - "dotnet" - - "dotnetcore" --- # What's new in the .NET Standard