From 180f6c479b7007b7463250fbead6a6156e113d45 Mon Sep 17 00:00:00 2001 From: David Coulter Date: Mon, 14 Sep 2020 15:58:47 -0700 Subject: [PATCH 01/13] Links: .NET - Pass 1 --- api/index.md | 2 +- docs/azure/authentication.md | 2 +- docs/azure/includes/dotnet-all.md | 126 +++++++++--------- docs/azure/includes/dotnet-new.md | 44 +++--- docs/azure/landing-page.yml | 6 +- docs/azure/migration/app-service.md | 8 +- docs/core/about.md | 4 +- .../xml-serializer-generator.md | 4 +- docs/core/deploying/deploy-with-vs.md | 2 +- docs/core/diagnostics/debug-deadlock.md | 6 +- docs/core/diagnostics/debug-highcpu.md | 12 +- docs/core/diagnostics/debug-memory-leak.md | 10 +- docs/core/diagnostics/event-counter-perf.md | 4 +- docs/core/diagnostics/index.md | 2 +- docs/core/get-started.md | 6 +- .../core/install/macos-notarization-issues.md | 2 +- docs/core/install/macos.md | 2 +- docs/core/install/windows.md | 2 +- docs/core/introduction.md | 4 +- docs/core/migration/index.md | 2 +- docs/core/rid-catalog.md | 6 +- docs/core/run-time-config/index.md | 2 +- docs/core/run-time-config/networking.md | 2 +- .../testing/unit-testing-code-coverage.md | 4 +- docs/core/tools/custom-templates.md | 2 +- docs/core/tools/dotnet-add-package.md | 8 +- docs/core/tools/dotnet-install-script.md | 2 +- docs/core/tools/dotnet-nuget-add-source.md | 2 +- .../core/tools/dotnet-nuget-disable-source.md | 2 +- docs/core/tools/dotnet-nuget-enable-source.md | 2 +- docs/core/tools/dotnet-nuget-list-source.md | 2 +- docs/core/tools/dotnet-nuget-remove-source.md | 2 +- docs/core/tools/dotnet-nuget-update-source.md | 2 +- docs/core/tools/dotnet-pack.md | 6 +- docs/core/tools/dotnet-publish.md | 2 +- docs/core/tools/dotnet-test.md | 2 +- docs/core/tools/dotnet.md | 2 +- docs/core/tools/using-ci-with-cli.md | 6 +- .../library-with-visual-studio-mac.md | 2 +- docs/core/tutorials/with-visual-studio-mac.md | 2 +- docs/core/tutorials/with-visual-studio.md | 2 +- docs/core/whats-new/dotnet-core-3-0.md | 6 +- docs/csharp/expression-trees-translating.md | 2 +- .../how-to/concatenate-multiple-strings.md | 2 +- docs/csharp/how-to/index.md | 16 +-- docs/csharp/index.yml | 4 +- .../builtin-types/nullable-value-types.md | 2 +- .../compiler-messages/cs0052.md | 2 +- .../compiler-messages/cs0122.md | 2 +- .../compiler-messages/cs0165.md | 2 +- .../compiler-messages/cs0246.md | 2 +- .../baseaddress-compiler-option.md | 2 +- .../keywords/partial-type.md | 2 +- .../keywords/private-protected.md | 2 +- .../keywords/protected-internal.md | 2 +- .../language-reference/keywords/protected.md | 2 +- .../language-reference/operators/await.md | 2 +- .../operators/lambda-expressions.md | 2 +- .../operators/operator-overloading.md | 2 +- .../user-defined-conversion-operators.md | 2 +- docs/csharp/linq/index.md | 2 +- docs/csharp/linq/perform-grouped-joins.md | 2 +- docs/csharp/misc/cs0473.md | 2 +- docs/csharp/misc/cs0515.md | 2 +- docs/csharp/misc/cs0558.md | 2 +- docs/csharp/misc/cs0659.md | 2 +- docs/csharp/misc/cs1021.md | 2 +- .../auto-implemented-properties.md | 2 +- .../classes-and-structs/constants.md | 2 +- .../classes-and-structs/constructors.md | 2 +- .../classes-and-structs/extension-methods.md | 8 +- ...static-classes-and-static-class-members.md | 2 +- .../static-constructors.md | 2 +- ...tasks-and-process-them-as-they-complete.md | 2 +- .../task-asynchronous-programming-model.md | 6 +- ...gging-expression-trees-in-visual-studio.md | 4 +- .../linq/basic-queries-linq-to-xml.md | 28 ++-- .../linq/data-transformations-with-linq.md | 4 +- ...der-the-fields-of-a-delimited-file-linq.md | 2 +- .../programming-guide/concepts/linq/index.md | 2 +- .../concepts/linq/linq-and-strings.md | 4 +- .../concepts/linq/linq-to-objects.md | 2 +- .../linq/walkthrough-writing-queries-linq.md | 2 +- .../programming-guide/delegates/index.md | 6 +- ...se-base-class-events-in-derived-classes.md | 2 +- docs/csharp/programming-guide/events/index.md | 6 +- .../generics/generic-classes.md | 4 +- .../interop/example-com-class.md | 2 +- ...use-platform-invoke-to-play-a-wave-file.md | 2 +- .../interop/interoperability-overview.md | 2 +- .../interop/walkthrough-office-programming.md | 2 +- .../types/casting-and-type-conversions.md | 2 +- .../how-to-convert-a-string-to-a-number.md | 2 +- docs/csharp/tour-of-csharp/features.md | 2 +- .../csharp/tutorials/intro-to-csharp/index.md | 4 +- docs/csharp/tutorials/working-with-linq.md | 2 +- docs/csharp/walkthroughs.md | 10 +- .../version-update-considerations.md | 2 +- .../desktop-wpf/data/data-binding-overview.md | 40 +++--- .../styles-templates-create-apply-style.md | 2 +- .../fundamentals/styles-templates-overview.md | 18 +-- .../fundamentals/xaml-resources-define.md | 22 +-- docs/desktop-wpf/fundamentals/xaml.md | 38 +++--- docs/desktop-wpf/index.yml | 4 +- .../convert-project-from-net-framework.md | 4 +- docs/desktop-wpf/overview/index.md | 6 +- .../themes/how-to-create-apply-template.md | 4 +- docs/desktop-wpf/toc.yml | 4 +- ...ributes-with-custom-types-and-libraries.md | 2 +- .../xaml-services/define-custom-types.md | 2 +- docs/desktop-wpf/xaml-services/index.md | 2 +- .../markup-extensions-overview.md | 2 +- .../xaml-services/type-converters-overview.md | 2 +- .../xaml-services/types-for-primitives.md | 26 ++-- .../xaml-2009-language-features.md | 2 +- .../xaml-services/xamlname-grammar.md | 2 +- .../xaml-services/xarray-markup-extension.md | 6 +- .../xaml-services/xclass-directive.md | 12 +- .../xaml-services/xclassmodifier-directive.md | 8 +- .../xcode-intrinsic-xaml-type.md | 2 +- .../xdata-intrinsic-xaml-type.md | 2 +- .../xaml-services/xfieldmodifier-directive.md | 6 +- .../xaml-services/xkey-directive.md | 16 +-- .../xaml-services/xmember-directive.md | 2 +- .../xaml-services/xml-character-entities.md | 2 +- .../xaml-services/xml-language-handling.md | 2 +- .../xaml-services/xname-directive.md | 8 +- .../xaml-services/xnull-markup-extension.md | 6 +- .../xaml-services/xproperty-directive.md | 2 +- .../xaml-services/xshared-attribute.md | 2 +- .../xaml-services/xstatic-markup-extension.md | 6 +- .../xaml-services/xsubclass-directive.md | 2 +- .../xaml-services/xtype-markup-extension.md | 4 +- .../xaml-services/xtypearguments-directive.md | 2 +- .../xaml-services/xuid-directive.md | 6 +- docs/framework/64-bit-apps.md | 2 +- .../app-domains/application-domains.md | 2 +- .../how-to-view-the-contents-of-the-gac.md | 2 +- ...binding-redirection-security-permission.md | 2 +- .../application-settings-schema.md | 6 +- .../file-schema/appsettings/index.md | 4 +- .../file-schema/compiler/compiler-element.md | 2 +- .../compiler/provideroption-element.md | 2 +- .../file-schema/configuration-element.md | 6 +- .../configure-apps/file-schema/index.md | 8 +- .../appcontextswitchoverrides-element.md | 2 +- .../generatepublisherevidence-element.md | 2 +- .../runtime/loadfromremotesources-element.md | 6 +- .../runtime/qualifyassembly-element.md | 2 +- .../runtime/supportportability-element.md | 2 +- .../file-schema/startup/startup-element.md | 4 +- .../startup/supportedruntime-element.md | 2 +- .../wcf/add-of-commonparameters.md | 4 +- .../file-schema/wcf/add-of-services.md | 2 +- .../file-schema/wcf/basichttpbinding.md | 2 +- .../wcf/basichttpcontextbinding.md | 2 +- .../file-schema/wcf/binarymessageencoding.md | 2 +- .../wcf/bytestreammessageencoding.md | 2 +- .../file-schema/wcf/certificate-element.md | 4 +- .../file-schema/wcf/certificate-of-peer.md | 4 +- .../file-schema/wcf/commonparameters.md | 4 +- .../configure-apps/file-schema/wcf/custom.md | 4 +- .../file-schema/wcf/httpdigest-element.md | 2 +- .../configure-apps/file-schema/wcf/index.md | 4 +- .../messagesenderauthentication-element.md | 4 +- .../wcf/messagesenderauthentication.md | 4 +- .../file-schema/wcf/mtommessageencoding.md | 2 +- .../file-schema/wcf/nethttpbinding.md | 2 +- .../file-schema/wcf/nethttpsbinding.md | 2 +- .../file-schema/wcf/netmsmqbinding.md | 2 +- .../file-schema/wcf/netnamedpipebinding.md | 2 +- .../file-schema/wcf/netpeertcpbinding.md | 6 +- .../file-schema/wcf/nettcpbinding.md | 4 +- .../file-schema/wcf/nettcpcontextbinding.md | 4 +- .../wcf/peer-of-clientcredentials-element.md | 6 +- .../wcf/peer-of-servicecredentials.md | 4 +- .../wcf/peerauthentication-element.md | 4 +- .../file-schema/wcf/peerauthentication.md | 4 +- .../file-schema/wcf/resolver.md | 2 +- .../wcf/services-of-workflowruntime.md | 2 +- .../file-schema/wcf/tcptransport.md | 2 +- .../file-schema/wcf/textmessageencoding.md | 2 +- .../file-schema/wcf/udpbinding.md | 2 +- .../file-schema/wcf/webhttpbinding.md | 4 +- .../file-schema/wcf/webmessageencoding.md | 4 +- .../file-schema/wcf/workflowruntime.md | 4 +- .../wcf/ws2007federationhttpbinding.md | 4 +- .../file-schema/wcf/ws2007httpbinding.md | 4 +- .../file-schema/wcf/wsdualhttpbinding.md | 4 +- .../wcf/wsfederationhttpbinding.md | 4 +- .../file-schema/wcf/wshttpbinding.md | 4 +- .../file-schema/wcf/wshttpcontextbinding.md | 4 +- .../applicationpool-element-web-settings.md | 2 +- .../windows-identity-foundation/add.md | 2 +- .../windows-identity-foundation/remove.md | 2 +- .../sessionsecuritytokencache.md | 2 +- .../file-schema/winforms/index.md | 2 +- ...windows-forms-add-configuration-element.md | 6 +- docs/framework/configure-apps/index.md | 8 +- .../specify-assembly-location.md | 2 +- .../data/adonet/ado-net-code-examples.md | 8 +- ...o-net-technology-options-and-guidelines.md | 4 +- .../data/adonet/asynchronous-programming.md | 6 +- .../data/adonet/code-access-security.md | 14 +- ...nection-strings-and-configuration-files.md | 16 +-- .../cross-table-queries-linq-to-dataset.md | 4 +- docs/framework/data/adonet/data-providers.md | 2 +- docs/framework/data/adonet/data-tracing.md | 6 +- .../adonet/data-type-mappings-in-ado-net.md | 2 +- ...uming-a-dataset-from-an-xml-web-service.md | 2 +- .../dataset-datatable-dataview/dataviews.md | 4 +- .../handling-dataset-events.md | 4 +- .../dataset-datatable-dataview/index.md | 2 +- .../loading-a-dataset-from-xml.md | 2 +- .../security-guidance.md | 32 ++--- .../debugging-linq-to-dataset-queries.md | 2 +- .../data/adonet/ef/connection-strings.md | 4 +- .../data/adonet/ef/data-providers.md | 2 +- .../adonet/ef/deployment-considerations.md | 4 +- ...velopment-and-deployment-considerations.md | 2 +- .../adonet/ef/edm-generator-edmgen-exe.md | 4 +- ...lient-provider-for-the-entity-framework.md | 4 +- ...d-an-entityconnection-connection-string.md | 4 +- .../ef/how-to-define-the-connection-string.md | 10 +- ...ed-entity-sql-query-using-entitycommand.md | 4 +- ...ed-stored-procedure-using-entitycommand.md | 4 +- .../ef/how-to-execute-a-polymorphic-query.md | 4 +- ...cute-a-query-that-returns-complex-types.md | 6 +- ...a-query-that-returns-nested-collections.md | 2 +- ...uery-that-returns-primitivetype-results.md | 2 +- ...te-a-query-that-returns-reftype-results.md | 2 +- ...ery-that-returns-structuraltype-results.md | 2 +- ...el-and-mapping-files-embedded-resources.md | 2 +- ...elationships-with-the-navigate-operator.md | 2 +- ...dmgen-exe-to-generate-object-layer-code.md | 10 +- ...to-generate-the-model-and-mapping-files.md | 14 +- ...exe-to-validate-model-and-mapping-files.md | 8 +- docs/framework/data/adonet/ef/index.md | 2 +- ...g-functions-in-linq-to-entities-queries.md | 4 +- .../compiled-queries-linq-to-entities.md | 4 +- .../composing-nested-entity-sql-queries.md | 2 +- .../language-reference/entity-sql-language.md | 26 ++-- .../entity-sql-reference.md | 2 +- .../language-reference/function-entity-sql.md | 2 +- .../how-to-call-custom-database-functions.md | 4 +- ...del-defined-functions-as-object-methods.md | 8 +- ...call-model-defined-functions-in-queries.md | 8 +- .../adonet/ef/language-reference/index.md | 4 +- .../ef/language-reference/isof-entity-sql.md | 2 +- .../ef/language-reference/limit-entity-sql.md | 2 +- .../language-reference/oftype-entity-sql.md | 2 +- .../language-reference/paging-entity-sql.md | 2 +- .../queries-in-linq-to-entities.md | 2 +- ...pression-syntax-examples-join-operators.md | 2 +- .../ef/language-reference/skip-entity-sql.md | 4 +- ...y-operators-in-linq-to-entities-queries.md | 4 +- .../ef/language-reference/treat-entity-sql.md | 2 +- .../user-defined-functions-entity-sql.md | 2 +- .../adonet/ef/migration-considerations.md | 24 ++-- .../data/adonet/ef/modeling-and-mapping.md | 2 +- docs/framework/data/adonet/ef/overview.md | 2 +- .../adonet/ef/performance-considerations.md | 44 +++--- docs/framework/data/adonet/ef/resources.md | 6 +- .../data/adonet/ef/security-considerations.md | 8 +- .../ef/sqlclient-for-the-entity-framework.md | 2 +- docs/framework/data/adonet/ef/terminology.md | 16 +-- .../working-with-data-definition-language.md | 4 +- .../adonet/ef/working-with-data-providers.md | 2 +- .../data/adonet/ef/working-with-objects.md | 2 +- .../data/adonet/entity-data-model.md | 4 +- .../adonet/establishing-the-connection.md | 2 +- .../data/adonet/factory-model-overview.md | 2 +- ...ject-to-a-winforms-datagridview-control.md | 2 +- .../adonet/obtaining-a-dbproviderfactory.md | 2 +- ...e-db-odbc-and-oracle-connection-pooling.md | 2 +- .../data/adonet/performance-counters.md | 4 +- .../protecting-connection-information.md | 2 +- .../data/adonet/secure-client-applications.md | 24 ++-- .../data/adonet/secure-data-access.md | 12 +- .../adonet/securing-ado-net-applications.md | 4 +- .../data/adonet/security-overview.md | 6 +- .../sorting-with-dataview-linq-to-dataset.md | 2 +- .../data/adonet/sql/clr-stored-procedures.md | 4 +- .../data/adonet/sql/date-and-time-data.md | 6 +- ...ing-cross-database-access-in-sql-server.md | 2 +- .../sql/enabling-query-notifications.md | 18 +-- ...ing-row-level-permissions-in-sql-server.md | 2 +- .../data/adonet/sql/linq/aggregate-queries.md | 2 +- .../adonet/sql/linq/background-information.md | 2 +- ...-object-model-in-visual-basic-or-csharp.md | 2 +- ...implementing-business-logic-linq-to-sql.md | 2 +- docs/framework/data/adonet/sql/linq/index.md | 6 +- .../linq/linq-to-sql-n-tier-with-aspnet.md | 2 +- .../linq-to-sql-n-tier-with-web-services.md | 2 +- ...nd-remote-applications-with-linq-to-sql.md | 2 +- .../data/adonet/sql/linq/programming-guide.md | 2 +- .../data/adonet/sql/linq/reference.md | 4 +- .../framework/data/adonet/sql/linq/samples.md | 6 +- .../adonet/sql/linq/sql-clr-type-mapping.md | 4 +- .../sql-server-compact-and-linq-to-sql.md | 2 +- .../sql/modifying-large-value-max-data.md | 2 +- ...nd-user-schema-separation-in-sql-server.md | 2 +- .../sql/query-notifications-in-sql-server.md | 12 +- ...signing-stored-procedures-in-sql-server.md | 2 +- .../adonet/sql/sql-server-express-security.md | 4 +- .../sql/sql-server-express-user-instances.md | 2 +- .../sql/sql-server-features-and-adonet.md | 2 +- .../adonet/sql/table-valued-parameters.md | 4 +- docs/framework/data/adonet/whats-new.md | 6 +- docs/framework/data/index.md | 4 +- .../using-system-transactions-in-aspnet.md | 10 +- ...application-scenarios-wcf-data-services.md | 6 +- ...ynchronous-operations-wcf-data-services.md | 4 +- ...ng-service-operations-wcf-data-services.md | 2 +- ...ring-the-data-service-wcf-data-services.md | 2 +- ...ata-service-using-an-adonet-ef-data-wcf.md | 2 +- .../data/wcf/creating-the-data-service.md | 4 +- ...eloping-and-deploying-wcf-data-services.md | 26 ++-- .../feed-customization-wcf-data-services.md | 4 +- ...ervice-client-library-wcf-data-services.md | 4 +- .../getting-started-with-wcf-data-services.md | 4 +- ...eeds-with-ef-provider-wcf-data-services.md | 2 +- ...velop-a-wcf-data-service-running-on-iis.md | 2 +- ...s-to-the-data-service-wcf-data-services.md | 2 +- ...-data-service-classes-wcf-data-services.md | 2 +- docs/framework/data/wcf/index.md | 4 +- .../data/wcf/securing-wcf-data-services.md | 8 +- .../streaming-provider-wcf-data-services.md | 8 +- ...-a-client-application-wcf-data-services.md | 2 +- ...tions-to-implement-server-side-behavior.md | 16 +-- ...-service-client-utility-datasvcutil-exe.md | 4 +- .../wcf/wcf-data-services-client-library.md | 2 +- .../data/wcf/wcf-data-services-overview.md | 2 +- .../data/wcf/wcf-data-services-resources.md | 6 +- ...king-with-binary-data-wcf-data-services.md | 6 +- .../making-an-image-easier-to-debug.md | 2 +- .../performance-counters.md | 2 +- .../best-practices-for-assembly-loading.md | 2 +- docs/framework/deployment/client-profile.md | 4 +- .../deployment-guide-for-developers.md | 8 +- .../deployment/guide-for-administrators.md | 28 ++-- docs/framework/develop-client-apps.md | 8 +- docs/framework/development-guide.md | 2 +- docs/framework/get-started/overview.md | 4 +- .../get-started/system-requirements.md | 2 +- .../framework/install/guide-for-developers.md | 2 +- .../blittable-and-non-blittable-types.md | 8 +- .../interop/compiling-an-interop-project.md | 4 +- ...-framework-based-com-components-for-reg.md | 6 +- docs/framework/interop/copying-and-pinning.md | 2 +- .../creating-prototypes-in-managed-code.md | 2 +- .../interop/default-marshaling-behavior.md | 4 +- .../interop/default-marshaling-for-arrays.md | 6 +- .../interop/default-marshaling-for-objects.md | 2 +- .../interop/default-marshaling-for-strings.md | 2 +- .../deploying-an-interop-application.md | 6 +- .../interop/exposing-com-components.md | 6 +- .../exposing-dotnet-components-to-com.md | 4 +- .../how-to-create-wrappers-manually.md | 12 +- ...ary-interop-assemblies-using-tlbimp-exe.md | 2 +- .../how-to-map-hresults-and-exceptions.md | 2 +- .../how-to-reference-net-types-from-com.md | 4 +- ...-to-register-primary-interop-assemblies.md | 6 +- ...importing-a-type-library-as-an-assembly.md | 12 +- docs/framework/interop/interop-marshaling.md | 8 +- ...shaling-a-delegate-as-a-callback-method.md | 4 +- ...arshaling-classes-structures-and-unions.md | 8 +- .../marshaling-data-with-com-interop.md | 14 +- docs/framework/interop/marshaling-strings.md | 16 +-- .../interop/packaging-an-assembly-for-com.md | 4 +- .../registering-assemblies-with-com.md | 4 +- ...-equivalence-and-embedded-interop-types.md | 2 +- docs/framework/mef/index.md | 4 +- .../mef/mef-for-net-for-windows-store-apps.md | 6 +- .../migrating-from-the-net-framework-1-1.md | 4 +- .../net-framework-4-migration-issues.md | 30 ++--- .../migration-guide/version-compatibility.md | 4 +- .../versions-and-dependencies.md | 10 +- .../misc/code-access-security-basics.md | 2 +- docs/framework/misc/code-access-security.md | 2 +- ...s-permissions-and-policy-administration.md | 2 +- docs/framework/misc/securing-method-access.md | 2 +- .../misc/security-transparent-code-level-1.md | 2 +- .../misc/security-transparent-code-level-2.md | 2 +- ...g-libraries-from-partially-trusted-code.md | 2 +- .../getting-started-with-net-native.md | 2 +- docs/framework/net-native/index.md | 2 +- ...ing-startup-improvement-with-net-native.md | 4 +- ...ng-your-windows-store-app-to-net-native.md | 10 +- .../internet-protocol-version-6.md | 4 +- ...etwork-isolation-for-windows-store-apps.md | 12 +- .../network-programming-samples.md | 24 ++-- .../caching-in-net-framework-applications.md | 14 +- docs/framework/performance/clr-etw-events.md | 2 +- .../performance/controlling-logging.md | 2 +- ...w-events-in-the-common-language-runtime.md | 2 +- .../exception-thrown-v1-etw-event.md | 4 +- docs/framework/performance/index.md | 10 +- .../framework/performance/performance-tips.md | 12 +- .../writing-large-responsive-apps.md | 6 +- ...-source-code-generation-and-compilation.md | 2 +- ...piling-source-code-from-a-codedom-graph.md | 2 +- ...ine-a-generic-type-with-reflection-emit.md | 4 +- ...w-to-define-and-execute-dynamic-methods.md | 6 +- .../security-considerations-for-reflection.md | 4 +- .../security-issues-in-reflection-emit.md | 4 +- .../using-the-codedom.md | 2 +- docs/framework/resources/index.md | 2 +- ...and-deploying-resources-in-desktop-apps.md | 2 +- .../retrieving-resources-in-desktop-apps.md | 6 +- ...ol-exe-code-access-security-policy-tool.md | 8 +- docs/framework/tools/index.md | 4 +- ...xe-manifest-generation-and-editing-tool.md | 2 +- ...ation-and-editing-tool-graphical-client.md | 4 +- ...anaged-profile-guided-optimization-tool.md | 2 +- .../tools/ngen-exe-native-image-generator.md | 2 +- ...svcs-exe-net-services-installation-tool.md | 2 +- ...nnotate-exe-net-security-annotator-tool.md | 2 +- .../tools/tlbexp-exe-type-library-exporter.md | 4 +- .../tools/tlbimp-exe-type-library-importer.md | 6 +- .../tools/winmdexp-exe-error-messages.md | 4 +- ...xe-windows-runtime-metadata-export-tool.md | 6 +- ...inres-exe-windows-forms-resource-editor.md | 2 +- .../accessibility-best-practices.md | 4 +- ...ntent-to-a-text-box-using-ui-automation.md | 2 +- .../caching-in-ui-automation-clients.md | 2 +- ...-content-of-a-table-using-ui-automation.md | 2 +- ...n-element-based-on-a-property-condition.md | 2 +- ...utomation-selectionitem-control-pattern.md | 2 +- ...e-ui-automation-provider-implementation.md | 2 +- ...ion3-getactiverejitrequestilcode-method.md | 2 +- .../debugging/icordebugfunction3-interface.md | 2 +- ...frame4-enumeratelocalvariablesex-method.md | 2 +- .../icordebugilframe4-getcodeex-method.md | 2 +- ...debugilframe4-getlocalvariableex-method.md | 2 +- .../debugging/ilcodekind-enumeration.md | 2 +- ...bindingdisplay-getcurrentdisplay-method.md | 2 +- .../corbindtocurrentruntime-function.md | 2 +- .../hosting/hosting-interfaces.md | 2 +- .../hosting/iclrsyncmanager-interface.md | 2 +- .../hosting/icorruntimehost-interface.md | 2 +- .../ihosttaskmanager-enterruntime-method.md | 2 +- ...ttaskmanager-reverseleaveruntime-method.md | 2 +- docs/framework/unmanaged-api/hosting/index.md | 2 +- docs/framework/unmanaged-api/index.md | 4 +- .../metadata/coropenflags-enumeration.md | 2 +- ...dispenserex-openscopeonitypeinfo-method.md | 2 +- .../clr-profilers-and-windows-store-apps.md | 14 +- .../cor-prf-rejit-flags-enumeration.md | 2 +- ...rof-e-unsupported-call-sequence-hresult.md | 2 +- ...info10-enumerateobjectreferences-method.md | 2 +- ...info10-getlohobjectsizethreshold-method.md | 2 +- .../profiling/icorprofilerinfo10-interface.md | 2 +- ...corprofilerinfo10-isfrozenobject-method.md | 2 +- ...rinfo10-requestrejitwithinliners-method.md | 2 +- ...icorprofilerinfo10-resumeruntime-method.md | 2 +- ...corprofilerinfo10-suspendruntime-method.md | 2 +- ...corprofilerinfo2-dostacksnapshot-method.md | 2 +- .../icorprofilerinfo9-getcodeinfo4-method.md | 2 +- ...filerinfo9-getiltonativemapping3-method.md | 2 +- ...nfo9-getnativecodestartaddresses-method.md | 2 +- .../profiling/icorprofilerinfo9-interface.md | 2 +- .../profiling/profiling-overview.md | 2 +- .../tlbexp/gettypelibinfo-function.md | 2 +- .../tlbexp/itypelibresolver-interface.md | 2 +- .../loadtypelibwithresolver-function.md | 2 +- .../tlbexp/resolvetypelib-method.md | 8 +- .../unmanaged-api/wmi/formatfromrawvalue.md | 2 +- docs/framework/unmanaged-api/wmi/get.md | 2 +- .../unmanaged-api/wmi/geterrorinfo.md | 2 +- ...e-consumption-and-improving-performance.md | 2 +- ...asic-profile-1-1-interoperable-services.md | 2 +- .../wcf/deploying-a-wcf-library-project.md | 2 +- ...ploying-wcf-applications-with-clickonce.md | 4 +- .../configuring-your-application.md | 2 +- .../etw/analytic-tracing-overview.md | 2 +- .../dynamically-enabling-analytic-tracing.md | 6 +- .../performance-counters/calls-duration.md | 2 +- .../calls-failed-per-second.md | 2 +- .../calls-faulted-per-second.md | 2 +- .../performance-counters/calls-per-second.md | 2 +- .../endpoint-calls-duration.md | 2 +- .../endpoint-calls-failed-per-second.md | 2 +- .../endpoint-calls-faulted-per-second.md | 2 +- .../endpoint-calls-per-second.md | 2 +- ...e-messaging-messages-dropped-per-second.md | 2 +- ...e-messaging-sessions-faulted-per-second.md | 2 +- ...ecurity-calls-not-authorized-per-second.md | 2 +- ...-and-authentication-failures-per-second.md | 2 +- ...endpoint-transactions-flowed-per-second.md | 2 +- .../diagnostics/performance-counters/index.md | 2 +- .../instances-per-second.md | 2 +- .../queue-dropped-messages-per-second.md | 2 +- .../queued-poison-messages-per-second.md | 2 +- .../queued-rejected-messages-per-second.md | 2 +- ...e-messaging-messages-dropped-per-second.md | 2 +- ...e-messaging-sessions-faulted-per-second.md | 2 +- ...ecurity-calls-not-authorized-per-second.md | 2 +- ...-and-authentication-failures-per-second.md | 2 +- .../service-calls-duration.md | 2 +- .../service-calls-failed-per-second.md | 2 +- .../service-calls-faulted-per-second.md | 2 +- .../service-calls-per-second.md | 2 +- ...ecurity-calls-not-authorized-per-second.md | 2 +- ...-and-authentication-failures-per-second.md | 2 +- .../service-transactions-flowed-per-second.md | 2 +- ...ransacted-operations-aborted-per-second.md | 2 +- ...nsacted-operations-committed-per-second.md | 2 +- ...ansacted-operations-in-doubt-per-second.md | 2 +- .../transactions-flowed-per-second.md | 2 +- .../security-concerns-for-message-logging.md | 2 +- .../tracing/configuring-tracing.md | 4 +- ...ty-concerns-and-useful-tips-for-tracing.md | 2 +- ...rvicemodel-channels-msmqmessagerejected.md | 6 +- ...odel-channels-msmqpoisonmessagerejected.md | 4 +- .../wcf/extending/custom-bindings.md | 2 +- ...o-lock-down-endpoints-in-the-enterprise.md | 4 +- ...dentity-of-a-service-for-authentication.md | 4 +- .../access-control-mechanisms.md | 2 +- ...ervices-with-a-windows-store-client-app.md | 2 +- ...ervice-reference-in-a-workflow-solution.md | 4 +- .../wcf/feature-details/adopting-wcf.md | 2 +- .../ajax-integration-and-json-support.md | 2 +- .../auditing-security-events.md | 2 +- .../feature-details/authentication-in-wcf.md | 2 +- .../feature-details/authorization-in-wcf.md | 2 +- .../feature-details/bindings-and-security.md | 2 +- ...ching-support-for-wcf-web-http-services.md | 4 +- .../wcf/feature-details/choosing-a-filter.md | 2 +- .../choosing-a-message-encoder.md | 2 +- .../common-security-scenarios.md | 2 +- ...wcf-based-on-purpose-and-standards-used.md | 2 +- ...fig-wcf-service-with-aspnet-web-service.md | 2 +- ...uration-based-activation-in-iis-and-was.md | 2 +- .../configuring-iis-for-wcf.md | 2 +- ...uring-the-wpa--service-for-use-with-wcf.md | 2 +- ...nfiguring-ws-atomic-transaction-support.md | 2 +- .../feature-details/correlation-overview.md | 6 +- ...debugging-windows-authentication-errors.md | 4 +- .../delegation-and-impersonation-with-wcf.md | 6 +- .../wcf/feature-details/denial-of-service.md | 4 +- ...information-services-hosted-wcf-service.md | 8 +- .../distributed-application-security.md | 2 +- .../wcf/feature-details/error-handling.md | 2 +- ...-protection-for-authentication-overview.md | 2 +- .../federation-and-issued-tokens.md | 2 +- ...osting-in-a-windows-service-application.md | 2 +- ...osting-in-internet-information-services.md | 4 +- ...g-in-windows-process-activation-service.md | 4 +- .../hosting-workflow-services.md | 2 +- docs/framework/wcf/feature-details/hosting.md | 4 +- ...s-a-service-from-a-workflow-application.md | 2 +- ...ess-a-wse-3-0-service-with-a-wcf-client.md | 4 +- ...onfigure-a-port-with-an-ssl-certificate.md | 2 +- ...nt-to-interoperate-with-wse3-0-services.md | 4 +- ...re-persistence-with-workflowservicehost.md | 6 +- .../how-to-create-a-supporting-credential.md | 2 +- ...certificates-for-use-during-development.md | 2 +- .../how-to-enable-message-replay-detection.md | 2 +- ...ange-messages-within-a-reliable-session.md | 2 +- ...cf-service-in-a-managed-windows-service.md | 2 +- .../how-to-host-a-wcf-service-in-iis.md | 4 +- .../how-to-host-a-wcf-service-in-was.md | 2 +- ...-service-with-windows-server-app-fabric.md | 22 +-- ...and-configure-wcf-activation-components.md | 2 +- .../how-to-obtain-a-certificate-wcf.md | 2 +- ...overability-to-a-wcf-service-and-client.md | 6 +- ...ecure-messages-within-reliable-sessions.md | 2 +- ...util-exe-to-download-metadata-documents.md | 2 +- ...on-manager-role-provider-with-a-service.md | 2 +- .../http-transport-security.md | 8 +- ...prise-services-transactional-components.md | 2 +- ...rmation-services-hosting-best-practices.md | 2 +- .../internet-unsecured-client-and-service.md | 2 +- .../intranet-unsecured-client-and-service.md | 2 +- .../large-data-and-streaming.md | 2 +- .../limiting-message-distribution.md | 4 +- .../message-security-in-wcf.md | 2 +- ...sage-security-with-a-certificate-client.md | 2 +- ...essage-security-with-a-user-name-client.md | 2 +- ...s-client-without-credential-negotiation.md | 6 +- .../message-security-with-a-windows-client.md | 2 +- ...ssage-security-with-an-anonymous-client.md | 2 +- .../message-security-with-issued-tokens.md | 2 +- ...ssage-security-with-mutual-certificates.md | 4 +- ...rating-net-remoting-applications-to-wcf.md | 2 +- .../migrating-wse-3-0-web-services-to-wcf.md | 6 +- .../partial-trust-feature-compatibility.md | 4 +- .../wcf/feature-details/peer-resolvers.md | 2 +- .../peer-to-peer-networking.md | 4 +- .../programming-wcf-security.md | 2 +- ...ecuring-messages-using-message-security.md | 2 +- .../securing-services-and-clients.md | 2 +- .../security-behaviors-in-wcf.md | 4 +- .../security-concepts-used-in-wcf.md | 4 +- .../wcf/feature-details/security-concepts.md | 2 +- .../security-guidance-and-best-practices.md | 4 +- .../wcf/feature-details/security-overview.md | 2 +- .../framework/wcf/feature-details/security.md | 2 +- ...-in-json-with-message-level-programming.md | 4 +- .../service-endpoints-and-queue-addressing.md | 4 +- .../supported-deployment-scenarios.md | 6 +- .../supporting-multiple-iis-site-bindings.md | 2 +- .../system-web-routing-integration.md | 4 +- .../wcf/feature-details/transaction-models.md | 2 +- .../transport-security-overview.md | 10 +- ...sport-security-with-an-anonymous-client.md | 2 +- ...port-security-with-basic-authentication.md | 2 +- ...ecurity-with-certificate-authentication.md | 2 +- ...rt-security-with-windows-authentication.md | 2 +- .../wcf/feature-details/trusted-subsystem.md | 2 +- .../feature-details/unsupported-scenarios.md | 2 +- .../was-activation-architecture.md | 2 +- .../feature-details/wcf-discovery-overview.md | 2 +- .../wcf-security-terminology.md | 2 +- .../wcf-services-and-aspnet.md | 2 +- ...rvices-protocols-interoperability-guide.md | 2 +- ...stem-provided-interoperability-bindings.md | 2 +- .../working-with-certificates.md | 6 +- .../working-with-nats-and-firewalls.md | 2 +- ...ement-an-asynchronous-service-operation.md | 2 +- .../wcf/migrating-from-net-remoting-to-wcf.md | 2 +- .../wcf/samples/aspnet-compatibility.md | 2 +- .../wcf/samples/authorization-policy.md | 4 +- .../framework/wcf/samples/circular-tracing.md | 2 +- .../wcf/samples/client-validation.md | 4 +- .../wcf/samples/custom-binding-security.md | 2 +- .../custom-secure-metadata-endpoint.md | 6 +- docs/framework/wcf/samples/custom-token.md | 6 +- ...n-patterns-list-based-publish-subscribe.md | 6 +- docs/framework/wcf/samples/etw-tracing.md | 2 +- .../wcf/samples/extending-tracing.md | 2 +- .../hello-world-with-the-routing-service.md | 2 +- .../samples/iis-hosting-using-inline-code.md | 2 +- docs/framework/wcf/samples/index.md | 2 +- .../wcf/samples/knownassemblyattribute.md | 8 +- .../samples/membership-and-role-provider.md | 6 +- .../wcf/samples/message-correlation.md | 2 +- .../wcf/samples/message-queuing-to-wcf.md | 2 +- .../wcf/samples/message-security-anonymous.md | 4 +- .../samples/message-security-certificate.md | 6 +- .../message-security-over-message-queuing.md | 6 +- .../wcf/samples/message-security-sample.md | 6 +- .../wcf/samples/message-security-user-name.md | 6 +- docs/framework/wcf/samples/msmq-activation.md | 2 +- .../wcf/samples/namedpipe-activation.md | 2 +- ...ime-setup-procedure-for-the-wcf-samples.md | 2 +- .../wcf/samples/pii-security-lockdown.md | 8 +- .../wcf/samples/running-the-samples.md | 6 +- .../wcf/samples/saml-token-provider.md | 6 +- .../wcf/samples/security-validation.md | 2 +- docs/framework/wcf/samples/self-host.md | 2 +- .../wcf/samples/service-identity-sample.md | 4 +- .../wcf/samples/set-up-instructions.md | 2 +- ...mplified-configuration-for-wcf-services.md | 2 +- .../wcf/samples/supporting-tokens.md | 4 +- .../systemwebrouting-integration-sample.md | 2 +- docs/framework/wcf/samples/tcp-activation.md | 2 +- .../wcf/samples/token-authenticator.md | 6 +- docs/framework/wcf/samples/token-provider.md | 6 +- .../samples/tracing-and-message-logging.md | 2 +- docs/framework/wcf/samples/transport-udp.md | 2 +- .../transport-wse-3-0-tcp-interoperability.md | 4 +- .../wcf/samples/trusted-facade-service.md | 4 +- .../samples/user-name-password-validator.md | 6 +- .../wcf/samples/using-performance-counters.md | 2 +- .../using-the-wcf-moniker-with-com-clients.md | 4 +- .../wcf/samples/wcf-analytic-tracing.md | 6 +- ...-services-and-event-tracing-for-windows.md | 2 +- .../wcf/samples/wcf-to-message-queuing.md | 4 +- .../wcf/samples/windows-service-host.md | 2 +- docs/framework/wcf/samples/wmi-provider.md | 2 +- .../samples/x-509-certificate-validator.md | 4 +- .../wcf/troubleshooting-setup-issues.md | 2 +- .../wcf/using-the-wcf-development-tools.md | 2 +- .../wcf/wcf-service-host-wcfsvchost-exe.md | 2 +- docs/framework/wcf/wcf-service-publishing.md | 2 +- .../wcf/wcf-simplification-features.md | 2 +- .../wcf/wcf-troubleshooting-quickstart.md | 4 +- docs/framework/wcf/whats-wcf.md | 2 +- docs/framework/whats-new/index.md | 26 ++-- docs/framework/whats-new/obsolete-members.md | 4 +- docs/framework/whats-new/obsolete-types.md | 2 +- .../whats-new/whats-new-in-accessibility.md | 2 +- docs/framework/whats-new/whats-obsolete.md | 8 +- docs/framework/windows-services/index.md | 2 +- ...e-application-in-the-component-designer.md | 2 +- .../configuring-tracking-for-a-workflow.md | 6 +- .../custom-tracking-records.md | 4 +- .../debugging-workflows.md | 2 +- .../deprecated-types.md | 2 +- .../feature-specifics.md | 10 +- ...create-a-custom-persistence-participant.md | 2 +- ...nce-for-workflows-and-workflow-services.md | 4 +- .../instance-stores.md | 2 +- .../migration-guidance.md | 24 ++-- ...ework-3-0-wf-in-net-framework-4-interop.md | 2 +- .../windows-workflow-foundation/overview.md | 2 +- .../performance.md | 2 +- .../persistence-best-practices.md | 2 +- .../persistence-database-schema.md | 2 +- ...operties-of-sql-workflow-instance-store.md | 4 +- .../samples/custom-tracking.md | 2 +- ...ed-policy-activity-in-net-framework-4-5.md | 2 +- .../samples/index.md | 4 +- .../samples/sendmail-custom-activity.md | 6 +- .../samples/sql-tracking.md | 2 +- ...ng-events-into-event-tracing-in-windows.md | 2 +- .../windows-workflow-foundation/security.md | 2 +- .../sql-server-persistence-database.md | 2 +- .../sql-workflow-instance-store.md | 4 +- .../tracking-participants.md | 4 +- .../tracking-profiles.md | 4 +- .../tracking-records.md | 4 +- ...g-tracking-to-troubleshoot-applications.md | 4 +- .../variable-and-argument-tracking.md | 4 +- ...tures-in-the-rehosted-workflow-designer.md | 2 +- .../whats-new-in-wf-in-dotnet.md | 4 +- .../workflow-persistence.md | 2 +- .../workflow-security.md | 2 +- .../workflow-tracing.md | 4 +- .../workflow-tracking-and-tracing.md | 2 +- .../language-reference/compiler-directives.md | 2 +- .../exception-handling/exception-types.md | 2 +- .../language-reference/xml-documentation.md | 4 +- docs/fsharp/style-guide/conventions.md | 2 +- .../using-fsharp-on-azure/blob-storage.md | 6 +- .../using-fsharp-on-azure/file-storage.md | 24 ++-- docs/fsharp/using-fsharp-on-azure/index.md | 6 +- .../using-fsharp-on-azure/queue-storage.md | 2 +- .../using-fsharp-on-azure/table-storage.md | 10 +- docs/fundamentals/index.yml | 13 +- .../configure-code-analysis-rules.md | 4 +- docs/index.yml | 18 +-- .../how-does-mldotnet-work.md | 2 +- .../how-to-use-the-automl-api.md | 2 +- docs/machine-learning/index.yml | 4 +- .../azure-training-concepts-model-builder.md | 2 +- .../resources/ml-net-cli-telemetry.md | 2 +- docs/machine-learning/toc.yml | 6 +- .../tutorials/sentiment-analysis-cli.md | 4 +- docs/samples-and-tutorials/index.md | 2 +- .../databricks-deploy-methods.md | 6 +- docs/spark/how-to-guides/debug.md | 2 +- .../how-to-guides/hdinsight-deploy-methods.md | 4 +- .../hdinsight-notebook-installation.md | 10 +- docs/spark/index.yml | 6 +- docs/spark/toc.yml | 4 +- docs/spark/tutorials/databricks-deployment.md | 6 +- docs/spark/tutorials/hdinsight-deployment.md | 2 +- ...pect-contents-using-metadataloadcontext.md | 2 +- ...ts-the-event-based-asynchronous-pattern.md | 2 +- ...ent-based-asynchronous-pattern-overview.md | 4 +- ...rt-the-event-based-asynchronous-pattern.md | 4 +- ...ng-the-event-based-asynchronous-pattern.md | 6 +- .../attributes/writing-custom-attributes.md | 4 +- docs/standard/base-types/best-practices.md | 4 +- .../standard/base-types/common-type-system.md | 2 +- .../custom-date-and-time-format-strings.md | 6 +- .../custom-numeric-format-strings.md | 6 +- .../standard-date-and-time-format-strings.md | 6 +- .../standard-numeric-format-strings.md | 6 +- docs/standard/class-library-overview.md | 2 +- .../standard/collections/thread-safe/index.md | 2 +- docs/standard/components.md | 4 +- docs/standard/cross-platform/index.md | 6 +- ...-windows-store-apps-and-windows-runtime.md | 12 +- ...lass-library-with-model-view-view-model.md | 2 +- docs/standard/data/sqlite/TOC.yml | 4 +- docs/standard/data/sqlite/index.md | 2 +- docs/standard/data/xml/index.md | 6 +- .../managing-namespaces-in-an-xml-document.md | 2 +- .../migrating-from-the-xsltransform-class.md | 6 +- .../xml/process-xml-data-using-linq-to-xml.md | 10 +- .../data/xml/processing-xml-data-in-memory.md | 4 +- .../using-the-xslcompiledtransform-class.md | 2 +- .../data/xml/xml-processing-options.md | 6 +- ...schema-xsd-validation-with-xmlschemaset.md | 2 +- .../data/xml/xpath-namespace-navigation.md | 2 +- .../data/xml/xslt-extension-objects.md | 2 +- ...stylesheet-scripting-using-msxsl-script.md | 2 +- .../datetime/converting-between-time-zones.md | 2 +- docs/standard/events/index.md | 2 +- .../events/observer-design-pattern.md | 2 +- docs/standard/generics.md | 2 +- ...actices-for-developing-world-ready-apps.md | 2 +- ...etween-dotnet-streams-and-winrt-streams.md | 8 +- .../how-to-read-characters-from-a-string.md | 2 +- .../io/how-to-read-text-from-a-file.md | 6 +- docs/standard/io/index.md | 10 +- docs/standard/io/isolated-storage.md | 2 +- docs/standard/io/memory-mapped-files.md | 2 +- docs/standard/io/types-of-isolation.md | 2 +- .../linq/calculate-intermediate-values.md | 2 +- ...s-terminology-functional-transformation.md | 6 +- docs/standard/linq/control-type-projection.md | 2 +- .../linq/debug-empty-query-results-sets.md | 2 +- docs/standard/linq/filter-optional-element.md | 2 +- docs/standard/linq/find-attribute-parent.md | 2 +- .../find-attributes-siblings-specific-name.md | 2 +- docs/standard/linq/find-child-element.md | 2 +- .../find-child-elements-based-position.md | 2 +- .../standard/linq/find-descendant-elements.md | 2 +- .../linq/find-descendants-child-element.md | 2 +- .../linq/find-element-specific-attribute.md | 2 +- docs/standard/linq/find-elements-namespace.md | 2 +- .../linq/find-elements-specific-attribute.md | 2 +- .../linq/find-immediate-preceding-sibling.md | 2 +- .../standard/linq/find-list-child-elements.md | 2 +- docs/standard/linq/find-preceding-siblings.md | 2 +- docs/standard/linq/find-related-elements.md | 2 +- docs/standard/linq/find-sibling-nodes.md | 2 +- .../linq/find-union-two-location-paths.md | 2 +- docs/standard/linq/index.md | 6 +- docs/standard/linq/project-new-type.md | 2 +- .../linq/sort-elements-multiple-keys.md | 2 +- docs/standard/linq/sort-elements.md | 2 +- .../standard/linq/transform-shape-xml-tree.md | 2 +- .../linq/work-dictionaries-linq-xml.md | 2 +- ...rite-query-finds-elements-based-context.md | 2 +- .../xml-shape-wordprocessingml-documents.md | 4 +- docs/standard/native-interop/com-wrappers.md | 6 +- .../exceptions-interoperability.md | 2 +- .../runtime-callable-wrapper.md | 2 +- .../data-parallelism-task-parallel-library.md | 2 +- ...or-further-reading-parallel-programming.md | 4 +- ...ile-directories-with-the-parallel-class.md | 2 +- .../how-to-speed-up-small-loop-bodies.md | 2 +- .../security/cross-platform-cryptography.md | 4 +- .../security/cryptographic-services.md | 2 +- ...how-to-create-a-windowsprincipal-object.md | 2 +- ...icprincipal-and-genericidentity-objects.md | 2 +- ...tore-asymmetric-keys-in-a-key-container.md | 2 +- .../security/key-security-concepts.md | 2 +- .../serialization/binary-serialization.md | 4 +- .../introducing-xml-serialization.md | 2 +- .../serialization/serialization-concepts.md | 2 +- .../serialization/serialization-guidelines.md | 2 +- ...a-definition-tool-and-xml-serialization.md | 2 +- .../xml-and-soap-serialization.md | 2 +- ...xml-serialization-with-xml-web-services.md | 4 +- .../managed-threading-best-practices.md | 2 +- .../creating-and-using-components.md | 4 +- .../how-to-show-available-serial-ports.md | 2 +- ...ead-text-from-files-with-a-streamreader.md | 4 +- ...-to-files-in-the-my-documents-directory.md | 4 +- .../developing-apps/windows-forms/index.md | 24 ++-- docs/visual-basic/index.yml | 4 +- .../statements/declare-statement.md | 2 +- docs/visual-basic/misc/bc31007.md | 2 +- docs/visual-basic/misc/bc31013.md | 2 +- docs/visual-basic/misc/bc31027.md | 2 +- docs/visual-basic/misc/bc31072.md | 4 +- docs/visual-basic/misc/bc42200.md | 2 +- ...t-be-queried-if-the-file-does-not-exist.md | 2 +- ...annot-be-queried-while-open-for-writing.md | 2 +- ...ied-in-filename-is-not-a-valid-xml-file.md | 2 +- ...rs-of-a-custom-log-name-are-significant.md | 4 +- .../misc/process-processname-was-not-found.md | 2 +- ...tlogsource-is-registered-to-another-log.md | 8 +- ...vent-log-does-not-exist-on-this-machine.md | 2 +- .../system-event-log-cannot-be-deleted.md | 4 +- .../misc/target-folder-is-a-file.md | 4 +- ...etfilepath-specifies-an-existing-folder.md | 4 +- ...-uploadfile-needs-to-include-a-filename.md | 2 +- ...onnectiontimeout-must-be-greater-than-0.md | 2 +- .../the-file-is-currently-open-for-reading.md | 2 +- .../the-file-is-currently-open-for-writing.md | 2 +- .../misc/the-specified-path-does-not-exist.md | 2 +- ...an-only-be-done-when-the-file-is-closed.md | 2 +- ...e-a-network-connection-is-not-available.md | 2 +- .../misc/unable-to-sink-events-of-object.md | 2 +- ...dows-function-that-takes-unsigned-types.md | 2 +- .../com-interop/how-to-call-windows-apis.md | 2 +- .../how-to-work-with-activex-controls.md | 4 +- .../programming-guide/concepts/async/index.md | 8 +- .../programming-guide/concepts/collections.md | 2 +- ...gging-expression-trees-in-visual-studio.md | 4 +- .../concepts/linq/cloning-vs-attaching.md | 2 +- .../linq/getting-started-with-linq.md | 2 +- ...-reorder-the-fields-of-a-delimited-file.md | 2 +- .../programming-guide/concepts/linq/index.md | 2 +- .../concepts/linq/introduction-to-linq.md | 2 +- .../concepts/linq/linq-and-strings.md | 4 +- .../concepts/linq/linq-to-objects.md | 2 +- .../linq/tutorial-deferred-execution.md | 6 +- .../linq/walkthrough-writing-queries.md | 2 +- ...h-persisting-an-object-in-visual-studio.md | 2 +- .../language-features/events/index.md | 2 +- .../linq/introduction-to-linq.md | 4 +- ...e-how-objects-are-created-and-destroyed.md | 2 +- ...ressions-with-the-maskedtextbox-control.md | 2 +- .../strings/validating-strings.md | 2 +- ...h-validating-that-passwords-are-complex.md | 4 +- .../variables/variable-declaration.md | 2 +- .../language-features/xml/index.md | 2 +- .../program-structure/coding-conventions.md | 2 +- .../program-structure/comments-in-code.md | 2 +- .../command-line-compiler/bugreport.md | 2 +- docs/welcome.md | 4 +- docs/whats-new/2020-06.md | 20 +-- docs/whats-new/2020-07.md | 2 +- docs/whats-new/2020-08.md | 64 ++++----- docs/whats-new/dotnet-2020-04.md | 2 +- docs/whats-new/dotnet-2020-05.md | 4 +- docs/whats-new/index.yml | 18 +-- .../aspnetcore/3.0/authn-apis-json-types.md | 2 +- ...entity-ui-adddefaultui-overload-removed.md | 4 +- .../aspnetcore/3.0/obsolete-apis-removed.md | 10 +- .../aspnetcore/3.0/pubternal-apis-removed.md | 2 +- .../3.1/http-cookie-samesite-authn-impacts.md | 2 +- ...supported-tls-protocol-versions-changed.md | 2 +- .../5.0/localization-members-removed.md | 2 +- .../localization-pubternal-apis-removed.md | 2 +- .../5.0/icu-globalization-api.md | 2 +- includes/csharplangspec-md.md | 2 +- includes/dotnet-restore-note-options.md | 2 +- includes/dotnet-restore-note.md | 2 +- .../core/changes-path-normalization.md | 2 +- ...oth-deprecatedattribute-winmd-scenarios.md | 4 +- ...lue-servicepointmanagersecurityprotocol.md | 2 +- .../sslstream-supports-tls-alerts.md | 2 +- ...dauxrecord-flag-underlying-schannel-api.md | 4 +- ...rentwindowhandle-now-expects-hwnd-value.md | 2 +- .../wf/workflow-30-types-are-obsolete.md | 2 +- ...ents-windows-forms-controls-for-net-472.md | 4 +- ...ments-windows-forms-controls-for-net-48.md | 6 +- ...ity-improvements-windows-forms-controls.md | 2 +- ...erty-contains-valid-control-case-nested.md | 2 +- ...fontfile-method-releases-font-resources.md | 2 +- ...pbutton-downbutton-actions-are-sync-now.md | 2 +- ...y-resizes-child-hwnd-during-dpi-changes.md | 2 +- ...avascriptstringencode-escapes-ampersand.md | 2 +- ...ls-byref-safearray-parameters-on-events.md | 2 +- ...ect-sql-server-1997-databases-using-via.md | 4 +- ...binding-improvement-for-keyedcollection.md | 2 +- 936 files changed, 1978 insertions(+), 1979 deletions(-) diff --git a/api/index.md b/api/index.md index 740ea076cfda5..272d9e8435e8c 100644 --- a/api/index.md +++ b/api/index.md @@ -11,4 +11,4 @@ ms.date: "01/24/2020" --- # .NET API browser -Welcome to the .NET API browser – your one-stop shop for all .NET-based APIs from Microsoft. Start searching for any managed APIs by typing in the box below. You can learn more about the API browser [in our blog post](https://aka.ms/apibrowser). If you have any feedback, create a new issue in the [MicrosoftDocs/feedback repository on GitHub](https://github.com/MicrosoftDocs/feedback/issues). +Welcome to the .NET API browser – your one-stop shop for all .NET-based APIs from Microsoft. Start searching for any managed APIs by typing in the box below. You can learn more about the API browser [in our blog post](/teamblog/announcing-unified-dotnet-experience-on-docs). If you have any feedback, create a new issue in the [MicrosoftDocs/feedback repository on GitHub](https://github.com/MicrosoftDocs/feedback/issues). diff --git a/docs/azure/authentication.md b/docs/azure/authentication.md index 6da9e5efd09bd..804d052284480 100644 --- a/docs/azure/authentication.md +++ b/docs/azure/authentication.md @@ -20,7 +20,7 @@ To authenticate with libraries that don't support Azure.Identity, see the rest o ## Access Azure resources -To interact with Azure resources, such as retrieving a secret from Key Vault or storing a blob in Storage, many Azure service libraries require a connection string or keys for authentication. For example, SQL Database uses a [standard SQL connection string](https://docs.microsoft.com/azure/azure-sql/database/connect-query-dotnet-core). Service connection strings are used in other Azure services like [CosmosDB](/azure/cosmos-db/), [Azure Cache for Redis](/azure/azure-cache-for-redis/cache-dotnet-how-to-use-azure-redis-cache), and [Service Bus](/azure/service-bus-messaging/service-bus-dotnet-get-started-with-queues). You can get those strings using the Azure portal, CLI, or PowerShell. You can also use the Azure management libraries for .NET to query resources to build connection strings in your code. +To interact with Azure resources, such as retrieving a secret from Key Vault or storing a blob in Storage, many Azure service libraries require a connection string or keys for authentication. For example, SQL Database uses a [standard SQL connection string](/azure/azure-sql/database/connect-query-dotnet-core). Service connection strings are used in other Azure services like [CosmosDB](/azure/cosmos-db/), [Azure Cache for Redis](/azure/azure-cache-for-redis/cache-dotnet-how-to-use-azure-redis-cache), and [Service Bus](/azure/service-bus-messaging/service-bus-dotnet-get-started-with-queues). You can get those strings using the Azure portal, CLI, or PowerShell. You can also use the Azure management libraries for .NET to query resources to build connection strings in your code. The methods for using a connection string vary by product. [Refer to the documentation for your Azure product](/azure/?product=featured). diff --git a/docs/azure/includes/dotnet-all.md b/docs/azure/includes/dotnet-all.md index 4e15959b77a86..323139660d6f1 100644 --- a/docs/azure/includes/dotnet-all.md +++ b/docs/azure/includes/dotnet-all.md @@ -1,29 +1,29 @@ | Name | Package | Docs | Source | | ---- | ------- | ---- | ------ | -| App Configuration | NuGet [1.0.1](https://www.nuget.org/packages/Azure.Data.AppConfiguration/1.0.1) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Data.AppConfiguration-readme/) | github [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Data.AppConfiguration_1.0.1/sdk/appconfiguration/Azure.Data.AppConfiguration/) | -| ASP.NET Extension - Configuration Secrets | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Extensions.AspNetCore.Configuration.Secrets/1.0.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Extensions.AspNetCore.Configuration.Secrets-readme/) | github [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Extensions.AspNetCore.Configuration.Secrets_1.0.0/sdk/extensions/Azure.Extensions.AspNetCore.Configuration.Secrets/) | -| ASP.NET Extension - DataProtection Blobs | NuGet [1.0.1](https://www.nuget.org/packages/Azure.Extensions.AspNetCore.DataProtection.Blobs/1.0.1) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Extensions.AspNetCore.DataProtection.Blobs-readme/) | github [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Extensions.AspNetCore.DataProtection.Blobs_1.0.1/sdk/extensions/Azure.Extensions.AspNetCore.DataProtection.Blobs/) | -| ASP.NET Extension - DataProtection Keys | NuGet [1.0.2](https://www.nuget.org/packages/Azure.Extensions.AspNetCore.DataProtection.Keys/1.0.2) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Extensions.AspNetCore.DataProtection.Keys-readme/) | github [1.0.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Extensions.AspNetCore.DataProtection.Keys_1.0.2/sdk/extensions/Azure.Extensions.AspNetCore.DataProtection.Keys/) | +| App Configuration | NuGet [1.0.1](https://www.nuget.org/packages/Azure.Data.AppConfiguration/1.0.1) | [docs](/dotnet/api/overview/azure/Data.AppConfiguration-readme/) | github [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Data.AppConfiguration_1.0.1/sdk/appconfiguration/Azure.Data.AppConfiguration/) | +| ASP.NET Extension - Configuration Secrets | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Extensions.AspNetCore.Configuration.Secrets/1.0.0) | [docs](/dotnet/api/overview/azure/Extensions.AspNetCore.Configuration.Secrets-readme/) | github [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Extensions.AspNetCore.Configuration.Secrets_1.0.0/sdk/extensions/Azure.Extensions.AspNetCore.Configuration.Secrets/) | +| ASP.NET Extension - DataProtection Blobs | NuGet [1.0.1](https://www.nuget.org/packages/Azure.Extensions.AspNetCore.DataProtection.Blobs/1.0.1) | [docs](/dotnet/api/overview/azure/Extensions.AspNetCore.DataProtection.Blobs-readme/) | github [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Extensions.AspNetCore.DataProtection.Blobs_1.0.1/sdk/extensions/Azure.Extensions.AspNetCore.DataProtection.Blobs/) | +| ASP.NET Extension - DataProtection Keys | NuGet [1.0.2](https://www.nuget.org/packages/Azure.Extensions.AspNetCore.DataProtection.Keys/1.0.2) | [docs](/dotnet/api/overview/azure/Extensions.AspNetCore.DataProtection.Keys-readme/) | github [1.0.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Extensions.AspNetCore.DataProtection.Keys_1.0.2/sdk/extensions/Azure.Extensions.AspNetCore.DataProtection.Keys/) | | Azure.Core.Experimental | NuGet [0.1.0-preview.5](https://www.nuget.org/packages/Azure.Core.Experimental/0.1.0-preview.5) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Core.Experimental-readme/) | | -| Cognitive Search | NuGet [11.1.1](https://www.nuget.org/packages/Azure.Search.Documents/11.1.1) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Search.Documents-readme/) | github [11.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Search.Documents_11.1.1/sdk/search/Azure.Search.Documents/) | -| Core | NuGet [1.5.0](https://www.nuget.org/packages/Azure.Core/1.5.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Core-readme/) | github [1.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Core_1.5.0/sdk/core/Azure.Core/) | -| Cosmos | NuGet [4.0.0-preview3](https://www.nuget.org/packages/Azure.Cosmos/4.0.0-preview3) | [docs](https://docs.microsoft.com/dotnet/api/azure.cosmos?view=azure-dotnet-preview) | github [4.0.0-preview3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Cosmos_4.0.0-preview3/sdk/https://github.com/Azure/azure-cosmos-dotnet-v3/tree/releases/4.0.0-preview3/Azure.Cosmos/) | -| Event Hubs | NuGet [5.2.0](https://www.nuget.org/packages/Azure.Messaging.EventHubs/5.2.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Messaging.EventHubs-readme/) | github [5.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventHubs_5.2.0/sdk/eventhub/Azure.Messaging.EventHubs/) | -| Event Hubs - Event Processor | NuGet [5.2.0](https://www.nuget.org/packages/Azure.Messaging.EventHubs.Processor/5.2.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Messaging.EventHubs.Processor-readme/) | github [5.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventHubs.Processor_5.2.0/sdk/eventhub/Azure.Messaging.EventHubs.Processor/) | -| Form Recognizer | NuGet [3.0.0](https://www.nuget.org/packages/Azure.AI.FormRecognizer/3.0.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/AI.FormRecognizer-readme/) | github [3.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.FormRecognizer_3.0.0/sdk/formrecognizer/Azure.AI.FormRecognizer/) | -| Identity | NuGet [1.2.2](https://www.nuget.org/packages/Azure.Identity/1.2.2) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Identity-readme/) | github [1.2.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Identity_1.2.2/sdk/identity/Azure.Identity/) | -| KeyVault - Certificates | NuGet [4.1.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Certificates/4.1.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Security.KeyVault.Certificates-readme/) | github [4.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Certificates_4.1.0/sdk/keyvault/Azure.Security.KeyVault.Certificates/) | -| KeyVault - Keys | NuGet [4.1.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Keys/4.1.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Security.KeyVault.Keys-readme/) | github [4.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Keys_4.1.0/sdk/keyvault/Azure.Security.KeyVault.Keys/) | -| KeyVault - Secrets | NuGet [4.1.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Secrets/4.1.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Security.KeyVault.Secrets-readme/) | github [4.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Secrets_4.1.0/sdk/keyvault/Azure.Security.KeyVault.Secrets/) | +| Cognitive Search | NuGet [11.1.1](https://www.nuget.org/packages/Azure.Search.Documents/11.1.1) | [docs](/dotnet/api/overview/azure/Search.Documents-readme/) | github [11.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Search.Documents_11.1.1/sdk/search/Azure.Search.Documents/) | +| Core | NuGet [1.5.0](https://www.nuget.org/packages/Azure.Core/1.5.0) | [docs](/dotnet/api/overview/azure/Core-readme/) | github [1.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Core_1.5.0/sdk/core/Azure.Core/) | +| Cosmos | NuGet [4.0.0-preview3](https://www.nuget.org/packages/Azure.Cosmos/4.0.0-preview3) | [docs](/dotnet/api/azure.cosmos?view=azure-dotnet-preview) | github [4.0.0-preview3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Cosmos_4.0.0-preview3/sdk/https://github.com/Azure/azure-cosmos-dotnet-v3/tree/releases/4.0.0-preview3/Azure.Cosmos/) | +| Event Hubs | NuGet [5.2.0](https://www.nuget.org/packages/Azure.Messaging.EventHubs/5.2.0) | [docs](/dotnet/api/overview/azure/Messaging.EventHubs-readme/) | github [5.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventHubs_5.2.0/sdk/eventhub/Azure.Messaging.EventHubs/) | +| Event Hubs - Event Processor | NuGet [5.2.0](https://www.nuget.org/packages/Azure.Messaging.EventHubs.Processor/5.2.0) | [docs](/dotnet/api/overview/azure/Messaging.EventHubs.Processor-readme/) | github [5.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventHubs.Processor_5.2.0/sdk/eventhub/Azure.Messaging.EventHubs.Processor/) | +| Form Recognizer | NuGet [3.0.0](https://www.nuget.org/packages/Azure.AI.FormRecognizer/3.0.0) | [docs](/dotnet/api/overview/azure/AI.FormRecognizer-readme/) | github [3.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.FormRecognizer_3.0.0/sdk/formrecognizer/Azure.AI.FormRecognizer/) | +| Identity | NuGet [1.2.2](https://www.nuget.org/packages/Azure.Identity/1.2.2) | [docs](/dotnet/api/overview/azure/Identity-readme/) | github [1.2.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Identity_1.2.2/sdk/identity/Azure.Identity/) | +| KeyVault - Certificates | NuGet [4.1.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Certificates/4.1.0) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Certificates-readme/) | github [4.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Certificates_4.1.0/sdk/keyvault/Azure.Security.KeyVault.Certificates/) | +| KeyVault - Keys | NuGet [4.1.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Keys/4.1.0) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Keys-readme/) | github [4.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Keys_4.1.0/sdk/keyvault/Azure.Security.KeyVault.Keys/) | +| KeyVault - Secrets | NuGet [4.1.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Secrets/4.1.0) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Secrets-readme/) | github [4.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Secrets_4.1.0/sdk/keyvault/Azure.Security.KeyVault.Secrets/) | | Microsoft.Azure.Core.NewtonsoftJson | NuGet [1.0.0-preview.1](https://www.nuget.org/packages/Microsoft.Azure.Core.NewtonsoftJson/1.0.0-preview.1) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Microsoft.Core.NewtonsoftJson-readme/) | | -| Service Bus | NuGet [7.0.0-preview.6](https://www.nuget.org/packages/Azure.Messaging.ServiceBus/7.0.0-preview.6) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Messaging.ServiceBus-readme/) | github [7.0.0-preview.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.ServiceBus_7.0.0-preview.6/sdk/servicebus/Azure.Messaging.ServiceBus/) | -| Storage - Blobs | NuGet [12.6.0](https://www.nuget.org/packages/Azure.Storage.Blobs/12.6.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Storage.Blobs-readme/) | github [12.6.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.6.0/sdk/storage/Azure.Storage.Blobs/) | -| Storage - Blobs Batch | NuGet [12.3.1](https://www.nuget.org/packages/Azure.Storage.Blobs.Batch/12.3.1) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Storage.Blobs.Batch-readme/) | github [12.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.Batch_12.3.1/sdk/storage/Azure.Storage.Blobs.Batch/) | -| Storage - Common | NuGet [12.5.2](https://www.nuget.org/packages/Azure.Storage.Common/12.5.2) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Storage.Common-readme/) | github [12.5.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.5.2/sdk/storage/Azure.Storage.Common/) | -| Storage - Files Data Lake | NuGet [12.4.0](https://www.nuget.org/packages/Azure.Storage.Files.DataLake/12.4.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Storage.Files.DataLake-readme/) | github [12.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.DataLake_12.4.0/sdk/storage/Azure.Storage.Files.DataLake/) | -| Storage - Files Shares | NuGet [12.4.0](https://www.nuget.org/packages/Azure.Storage.Files.Shares/12.4.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Storage.Files.Shares-readme/) | github [12.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.4.0/sdk/storage/Azure.Storage.Files.Shares/) | -| Storage - Queues | NuGet [12.4.2](https://www.nuget.org/packages/Azure.Storage.Queues/12.4.2) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Storage.Queues-readme/) | github [12.4.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.4.2/sdk/storage/Azure.Storage.Queues/) | -| Text Analytics | NuGet [5.0.0](https://www.nuget.org/packages/Azure.AI.TextAnalytics/5.0.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/AI.TextAnalytics-readme/) | github [5.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.0.0/sdk/textanalytics/Azure.AI.TextAnalytics/) | +| Service Bus | NuGet [7.0.0-preview.6](https://www.nuget.org/packages/Azure.Messaging.ServiceBus/7.0.0-preview.6) | [docs](/dotnet/api/overview/azure/Messaging.ServiceBus-readme/) | github [7.0.0-preview.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.ServiceBus_7.0.0-preview.6/sdk/servicebus/Azure.Messaging.ServiceBus/) | +| Storage - Blobs | NuGet [12.6.0](https://www.nuget.org/packages/Azure.Storage.Blobs/12.6.0) | [docs](/dotnet/api/overview/azure/Storage.Blobs-readme/) | github [12.6.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.6.0/sdk/storage/Azure.Storage.Blobs/) | +| Storage - Blobs Batch | NuGet [12.3.1](https://www.nuget.org/packages/Azure.Storage.Blobs.Batch/12.3.1) | [docs](/dotnet/api/overview/azure/Storage.Blobs.Batch-readme/) | github [12.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.Batch_12.3.1/sdk/storage/Azure.Storage.Blobs.Batch/) | +| Storage - Common | NuGet [12.5.2](https://www.nuget.org/packages/Azure.Storage.Common/12.5.2) | [docs](/dotnet/api/overview/azure/Storage.Common-readme/) | github [12.5.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.5.2/sdk/storage/Azure.Storage.Common/) | +| Storage - Files Data Lake | NuGet [12.4.0](https://www.nuget.org/packages/Azure.Storage.Files.DataLake/12.4.0) | [docs](/dotnet/api/overview/azure/Storage.Files.DataLake-readme/) | github [12.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.DataLake_12.4.0/sdk/storage/Azure.Storage.Files.DataLake/) | +| Storage - Files Shares | NuGet [12.4.0](https://www.nuget.org/packages/Azure.Storage.Files.Shares/12.4.0) | [docs](/dotnet/api/overview/azure/Storage.Files.Shares-readme/) | github [12.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.4.0/sdk/storage/Azure.Storage.Files.Shares/) | +| Storage - Queues | NuGet [12.4.2](https://www.nuget.org/packages/Azure.Storage.Queues/12.4.2) | [docs](/dotnet/api/overview/azure/Storage.Queues-readme/) | github [12.4.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.4.2/sdk/storage/Azure.Storage.Queues/) | +| Text Analytics | NuGet [5.0.0](https://www.nuget.org/packages/Azure.AI.TextAnalytics/5.0.0) | [docs](/dotnet/api/overview/azure/AI.TextAnalytics-readme/) | github [5.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.0.0/sdk/textanalytics/Azure.AI.TextAnalytics/) | | Resource Management - AppConfiguration | NuGet [1.0.0-preview.1](https://www.nuget.org/packages/Azure.ResourceManager.AppConfiguration/1.0.0-preview.1) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/ResourceManager.AppConfiguration-readme/) | github [1.0.0-preview.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppConfiguration_1.0.0-preview.1/sdk/appconfiguration/Azure.ResourceManager.AppConfiguration/) | | Resource Management - Compute | NuGet [1.0.0-preview.1](https://www.nuget.org/packages/Azure.ResourceManager.Compute/1.0.0-preview.1) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/ResourceManager.Compute-readme/) | github [1.0.0-preview.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Compute_1.0.0-preview.1/sdk/compute/Azure.ResourceManager.Compute/) | | Resource Management - EventHubs | NuGet [1.0.0-preview.1](https://www.nuget.org/packages/Azure.ResourceManager.EventHubs/1.0.0-preview.1) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/ResourceManager.EventHubs-readme/) | github [1.0.0-preview.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EventHubs_1.0.0-preview.1/sdk/eventhub/Azure.ResourceManager.EventHubs/) | @@ -60,7 +60,7 @@ | Microsoft.Azure.AppService.ApiApps.Common | NuGet [0.9.36](https://www.nuget.org/packages/Microsoft.Azure.AppService.ApiApps.Common/0.9.36) | | | | Microsoft.Azure.AppService.ApiApps.Service | NuGet [0.9.64](https://www.nuget.org/packages/Microsoft.Azure.AppService.ApiApps.Service/0.9.64) | | | | Microsoft.Azure.Attestation | NuGet [0.10.0-preview](https://www.nuget.org/packages/Microsoft.Azure.Attestation/0.10.0-preview) | | github [0.10.0-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Attestation_0.10.0-preview/sdk/attestation/Microsoft.Azure.Attestation/) | -| Microsoft.Azure.Batch | NuGet [13.0.0](https://www.nuget.org/packages/Microsoft.Azure.Batch/13.0.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/batch?view=azure-dotnet) | github [13.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Batch_13.0.0/sdk/batch/Microsoft.Azure.Batch/) | +| Microsoft.Azure.Batch | NuGet [13.0.0](https://www.nuget.org/packages/Microsoft.Azure.Batch/13.0.0) | [docs](/dotnet/api/overview/azure/batch?view=azure-dotnet) | github [13.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Batch_13.0.0/sdk/batch/Microsoft.Azure.Batch/) | | Microsoft.Azure.Batch.Apps.Cryptography | NuGet [1.1.1.4](https://www.nuget.org/packages/Microsoft.Azure.Batch.Apps.Cryptography/1.1.1.4) | | | | Microsoft.Azure.Batch.Conventions.Files | NuGet [3.5.1](https://www.nuget.org/packages/Microsoft.Azure.Batch.Conventions.Files/3.5.1) | | github [3.5.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Batch.Conventions.Files_3.5.1/sdk/batch/Microsoft.Azure.Batch.Conventions.Files/) | | Microsoft.Azure.Batch.FileStaging | NuGet [8.3.0](https://www.nuget.org/packages/Microsoft.Azure.Batch.FileStaging/8.3.0) | | github [8.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Batch.FileStaging_8.3.0/sdk/https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/batch/Microsoft.Azure.Batch.FileStaging/Microsoft.Azure.Batch.FileStaging/) | @@ -104,20 +104,20 @@ | Microsoft.Azure.Common.Dependencies | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.Common.Dependencies/1.0.0) | | | | Microsoft.Azure.ConfigurationManager | NuGet [4.0.0](https://www.nuget.org/packages/Microsoft.Azure.ConfigurationManager/4.0.0) | | | | Microsoft.Azure.ContainerRegistry | NuGet [1.0.0-preview.1](https://www.nuget.org/packages/Microsoft.Azure.ContainerRegistry/1.0.0-preview.1) | | github [1.0.0-preview.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.ContainerRegistry_1.0.0-preview.1/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/) | -| Microsoft.Azure.Cosmos | NuGet [3.12.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.12.0)
NuGet [3.13.0-preview](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.13.0-preview) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/cosmosdb?view=azure-dotnet) | github [3.12.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Cosmos_3.12.0/sdk/https://github.com/Azure/azure-cosmos-dotnet-v3/tree/3.12.0/Microsoft.Azure.Cosmos/Microsoft.Azure.Cosmos/)
github [3.13.0-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Cosmos_3.13.0-preview/sdk/https://github.com/Azure/azure-cosmos-dotnet-v3/tree/3.12.0/Microsoft.Azure.Cosmos/Microsoft.Azure.Cosmos/) | +| Microsoft.Azure.Cosmos | NuGet [3.12.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.12.0)
NuGet [3.13.0-preview](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.13.0-preview) | [docs](/dotnet/api/overview/azure/cosmosdb?view=azure-dotnet) | github [3.12.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Cosmos_3.12.0/sdk/https://github.com/Azure/azure-cosmos-dotnet-v3/tree/3.12.0/Microsoft.Azure.Cosmos/Microsoft.Azure.Cosmos/)
github [3.13.0-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Cosmos_3.13.0-preview/sdk/https://github.com/Azure/azure-cosmos-dotnet-v3/tree/3.12.0/Microsoft.Azure.Cosmos/Microsoft.Azure.Cosmos/) | | Microsoft.Azure.Cosmos.Direct | NuGet [3.13.1](https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Direct/3.13.1) | | github [3.13.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Cosmos.Direct_3.13.1/sdk/https://github.com/Azure/azure-cosmos-dotnet-v3/Microsoft.Azure.Cosmos.Direct/) | | Microsoft.Azure.Cosmos.Encryption | NuGet [1.0.0-preview6](https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Encryption/1.0.0-preview6) | | github [1.0.0-preview6](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Cosmos.Encryption_1.0.0-preview6/sdk/https://github.com/Azure/azure-cosmos-dotnet-v3/tree/releases/encryption/1.0.0-preview4/Microsoft.Azure.Cosmos.Encryption/Microsoft.Azure.Cosmos.Encryption/) | | Microsoft.Azure.Cosmos.Table | NuGet [2.0.0-preview](https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Table/2.0.0-preview) | | | | Microsoft.Azure.CosmosDB.BulkExecutor | NuGet [2.4.1-preview](https://www.nuget.org/packages/Microsoft.Azure.CosmosDB.BulkExecutor/2.4.1-preview) | | github [2.4.1-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.CosmosDB.BulkExecutor_2.4.1-preview/sdk/https://github.com/Azure/azure-cosmosdb-bulkexecutor-dotnet-getting-started/Microsoft.Azure.CosmosDB.BulkExecutor/) | | Microsoft.Azure.CosmosDB.Table | NuGet [2.1.2](https://www.nuget.org/packages/Microsoft.Azure.CosmosDB.Table/2.1.2) | | | -| Microsoft.Azure.DataLake.Store | NuGet [1.2.3-alpha](https://www.nuget.org/packages/Microsoft.Azure.DataLake.Store/1.2.3-alpha) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/data-lake-store?view=azure-dotnet-preview) | github [1.2.3-alpha](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.DataLake.Store_1.2.3-alpha/sdk/https://github.com/Azure/azure-data-lake-store-net/tree/1.2.3-alpha/Microsoft.Azure.DataLake.Store/) | +| Microsoft.Azure.DataLake.Store | NuGet [1.2.3-alpha](https://www.nuget.org/packages/Microsoft.Azure.DataLake.Store/1.2.3-alpha) | [docs](/dotnet/api/overview/azure/data-lake-store?view=azure-dotnet-preview) | github [1.2.3-alpha](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.DataLake.Store_1.2.3-alpha/sdk/https://github.com/Azure/azure-data-lake-store-net/tree/1.2.3-alpha/Microsoft.Azure.DataLake.Store/) | | Microsoft.Azure.DataLake.USQL.SDK | NuGet [1.4.200831](https://www.nuget.org/packages/Microsoft.Azure.DataLake.USQL.SDK/1.4.200831) | | | | Microsoft.Azure.DCAP | NuGet [1.6.0](https://www.nuget.org/packages/Microsoft.Azure.DCAP/1.6.0) | | github [1.6.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.DCAP_1.6.0/sdk/https://github.com/microsoft/Azure-DCAP-Client/tree/1.6/Microsoft.Azure.DCAP/) | | Microsoft.Azure.DocumentDB | NuGet [2.11.6](https://www.nuget.org/packages/Microsoft.Azure.DocumentDB/2.11.6) | | github [2.11.6](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.DocumentDB_2.11.6/sdk/https://github.com/Azure/azure-cosmos-dotnet-v2/Microsoft.Azure.DocumentDB/) | | Microsoft.Azure.DocumentDB.ChangeFeedProcessor | NuGet [2.3.2](https://www.nuget.org/packages/Microsoft.Azure.DocumentDB.ChangeFeedProcessor/2.3.2) | | github [2.3.2](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.DocumentDB.ChangeFeedProcessor_2.3.2/sdk/https://github.com/Azure/azure-documentdb-changefeedprocessor-dotnet/tree/master/Microsoft.Azure.DocumentDB.ChangeFeedProcessor/) | | Microsoft.Azure.DocumentDB.Core | NuGet [2.11.6](https://www.nuget.org/packages/Microsoft.Azure.DocumentDB.Core/2.11.6) | | github [2.11.6](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.DocumentDB.Core_2.11.6/sdk/https://github.com/Azure/azure-cosmos-dotnet-v2/Microsoft.Azure.DocumentDB.Core/) | -| Microsoft.Azure.EventGrid | NuGet [3.2.0](https://www.nuget.org/packages/Microsoft.Azure.EventGrid/3.2.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/eventgrid?view=azure-dotnet) | github [3.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.EventGrid_3.2.0/sdk/eventgrid/Microsoft.Azure.EventGrid/) | -| Microsoft.Azure.EventHubs | NuGet [4.3.0](https://www.nuget.org/packages/Microsoft.Azure.EventHubs/4.3.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/event-hubs?view=azure-dotnet) | github [4.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.EventHubs_4.3.0/sdk/eventhub/Microsoft.Azure.EventHubs/) | +| Microsoft.Azure.EventGrid | NuGet [3.2.0](https://www.nuget.org/packages/Microsoft.Azure.EventGrid/3.2.0) | [docs](/dotnet/api/overview/azure/eventgrid?view=azure-dotnet) | github [3.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.EventGrid_3.2.0/sdk/eventgrid/Microsoft.Azure.EventGrid/) | +| Microsoft.Azure.EventHubs | NuGet [4.3.0](https://www.nuget.org/packages/Microsoft.Azure.EventHubs/4.3.0) | [docs](/dotnet/api/overview/azure/event-hubs?view=azure-dotnet) | github [4.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.EventHubs_4.3.0/sdk/eventhub/Microsoft.Azure.EventHubs/) | | Microsoft.Azure.EventHubs.Processor | NuGet [4.3.0](https://www.nuget.org/packages/Microsoft.Azure.EventHubs.Processor/4.3.0) | | github [4.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.EventHubs.Processor_4.3.0/sdk/eventhub/Microsoft.Azure.EventHubs.Processor/) | | Microsoft.Azure.EventHubs.ServiceFabricProcessor | NuGet [0.5.4](https://www.nuget.org/packages/Microsoft.Azure.EventHubs.ServiceFabricProcessor/0.5.4) | | github [0.5.4](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.EventHubs.ServiceFabricProcessor_0.5.4/sdk/eventhub/Microsoft.Azure.EventHubs.ServiceFabricProcessor/) | | Microsoft.Azure.Functions.Extensions | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Extensions/1.0.0)
NuGet [1.1.0-preview1](https://www.nuget.org/packages/Microsoft.Azure.Functions.Extensions/1.1.0-preview1) | | github [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Functions.Extensions_1.0.0/sdk/https://github.com/Azure/azure-functions-dotnet-extensions/Microsoft.Azure.Functions.Extensions/)
github [1.1.0-preview1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Functions.Extensions_1.1.0-preview1/sdk/https://github.com/Azure/azure-functions-dotnet-extensions/Microsoft.Azure.Functions.Extensions/) | @@ -140,31 +140,31 @@ | Microsoft.Azure.Management.ApiManagement | NuGet [6.0.0-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.ApiManagement/6.0.0-preview) | | github [6.0.0-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.ApiManagement_6.0.0-preview/sdk/apimanagement/Microsoft.Azure.Management.ApiManagement/) | | Microsoft.Azure.Management.ApplicationInsights | NuGet [0.3.0-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.ApplicationInsights/0.3.0-preview) | | github [0.3.0-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.ApplicationInsights_0.3.0-preview/sdk/applicationinsights/Microsoft.Azure.Management.ApplicationInsights/) | | Microsoft.Azure.Management.AppPlatform | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.Management.AppPlatform/1.0.0) | | github [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.AppPlatform_1.0.0/sdk/appplatform/Microsoft.Azure.Management.AppPlatform/) | -| Microsoft.Azure.Management.AppService.Fluent | NuGet [1.34.0](https://www.nuget.org/packages/Microsoft.Azure.Management.AppService.Fluent/1.34.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/appservice?view=azure-dotnet) | | +| Microsoft.Azure.Management.AppService.Fluent | NuGet [1.34.0](https://www.nuget.org/packages/Microsoft.Azure.Management.AppService.Fluent/1.34.0) | [docs](/dotnet/api/overview/azure/appservice?view=azure-dotnet) | | | Microsoft.Azure.Management.Attestation | NuGet [0.12.0-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.Attestation/0.12.0-preview) | | github [0.12.0-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.Attestation_0.12.0-preview/sdk/attestation/Microsoft.Azure.Management.Attestation/) | | Microsoft.Azure.Management.Authorization | NuGet [2.12.0-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.Authorization/2.12.0-preview) | | github [2.12.0-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.Authorization_2.12.0-preview/sdk/authorization/Microsoft.Azure.Management.Authorization/) | -| Microsoft.Azure.Management.Automation | NuGet [3.8.1-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.Automation/3.8.1-preview) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/automation?view=azure-dotnet-preview) | github [3.8.1-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.Automation_3.8.1-preview/sdk/https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/automation/Microsoft.Azure.Management.Automation/Microsoft.Azure.Management.Automation/) | +| Microsoft.Azure.Management.Automation | NuGet [3.8.1-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.Automation/3.8.1-preview) | [docs](/dotnet/api/overview/azure/automation?view=azure-dotnet-preview) | github [3.8.1-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.Automation_3.8.1-preview/sdk/https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/automation/Microsoft.Azure.Management.Automation/Microsoft.Azure.Management.Automation/) | | Microsoft.Azure.Management.Avs | NuGet [1.0.0-preview.1](https://www.nuget.org/packages/Microsoft.Azure.Management.Avs/1.0.0-preview.1) | | github [1.0.0-preview.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.Avs_1.0.0-preview.1/sdk/avs/Microsoft.Azure.Management.Avs/) | | Microsoft.Azure.Management.AzureStackHCI | NuGet [1.0.0-preview.1](https://www.nuget.org/packages/Microsoft.Azure.Management.AzureStackHCI/1.0.0-preview.1) | | github [1.0.0-preview.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.AzureStackHCI_1.0.0-preview.1/sdk/azurestackhci/Microsoft.Azure.Management.AzureStackHCI/) | | Microsoft.Azure.Management.BackupServices | NuGet [1.0.5-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.BackupServices/1.0.5-preview) | | | -| Microsoft.Azure.Management.Batch | NuGet [11.0.0](https://www.nuget.org/packages/Microsoft.Azure.Management.Batch/11.0.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/batch?view=azure-dotnet) | github [11.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.Batch_11.0.0/sdk/batch/Microsoft.Azure.Management.Batch/) | +| Microsoft.Azure.Management.Batch | NuGet [11.0.0](https://www.nuget.org/packages/Microsoft.Azure.Management.Batch/11.0.0) | [docs](/dotnet/api/overview/azure/batch?view=azure-dotnet) | github [11.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.Batch_11.0.0/sdk/batch/Microsoft.Azure.Management.Batch/) | | Microsoft.Azure.Management.Batch.Fluent | NuGet [1.26.1](https://www.nuget.org/packages/Microsoft.Azure.Management.Batch.Fluent/1.26.1) | | | -| Microsoft.Azure.Management.BatchAI | NuGet [2.0.0](https://www.nuget.org/packages/Microsoft.Azure.Management.BatchAI/2.0.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/batchai?view=azure-dotnet) | github [2.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.BatchAI_2.0.0/sdk/https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/batchai/Microsoft.Azure.Management.BatchAI/Microsoft.Azure.Management.BatchAI/) | +| Microsoft.Azure.Management.BatchAI | NuGet [2.0.0](https://www.nuget.org/packages/Microsoft.Azure.Management.BatchAI/2.0.0) | [docs](/dotnet/api/overview/azure/batchai?view=azure-dotnet) | github [2.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.BatchAI_2.0.0/sdk/https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/batchai/Microsoft.Azure.Management.BatchAI/Microsoft.Azure.Management.BatchAI/) | | Microsoft.Azure.Management.BatchAI.Fluent | NuGet [1.34.0](https://www.nuget.org/packages/Microsoft.Azure.Management.BatchAI.Fluent/1.34.0) | | | -| Microsoft.Azure.Management.Billing | NuGet [4.1.0](https://www.nuget.org/packages/Microsoft.Azure.Management.Billing/4.1.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/billing?view=azure-dotnet) | github [4.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.Billing_4.1.0/sdk/billing/Microsoft.Azure.Management.Billing/) | +| Microsoft.Azure.Management.Billing | NuGet [4.1.0](https://www.nuget.org/packages/Microsoft.Azure.Management.Billing/4.1.0) | [docs](/dotnet/api/overview/azure/billing?view=azure-dotnet) | github [4.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.Billing_4.1.0/sdk/billing/Microsoft.Azure.Management.Billing/) | | Microsoft.Azure.Management.Billing.Fluent | NuGet [1.9.1-beta](https://www.nuget.org/packages/Microsoft.Azure.Management.Billing.Fluent/1.9.1-beta) | | | | Microsoft.Azure.Management.Blueprint | NuGet [0.20.7-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.Blueprint/0.20.7-preview) | | github [0.20.7-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.Blueprint_0.20.7-preview/sdk/blueprint/Microsoft.Azure.Management.Blueprint/) | | Microsoft.Azure.Management.BotService | NuGet [0.9.3-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.BotService/0.9.3-preview) | | github [0.9.3-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.BotService_0.9.3-preview/sdk/https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/botservice/Microsoft.Azure.Management.BotService/Microsoft.Azure.Management.BotService/) | | Microsoft.Azure.Management.Cdn | NuGet [5.0.0-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.Cdn/5.0.0-preview) | | github [5.0.0-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.Cdn_5.0.0-preview/sdk/cdn/Microsoft.Azure.Management.Cdn/) | -| Microsoft.Azure.Management.Cdn.Fluent | NuGet [1.34.0](https://www.nuget.org/packages/Microsoft.Azure.Management.Cdn.Fluent/1.34.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/cdn?view=azure-dotnet) | | +| Microsoft.Azure.Management.Cdn.Fluent | NuGet [1.34.0](https://www.nuget.org/packages/Microsoft.Azure.Management.Cdn.Fluent/1.34.0) | [docs](/dotnet/api/overview/azure/cdn?view=azure-dotnet) | | | Microsoft.Azure.Management.CognitiveServices | NuGet [7.3.0-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.CognitiveServices/7.3.0-preview) | | github [7.3.0-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.CognitiveServices_7.3.0-preview/sdk/cognitiveservices/Microsoft.Azure.Management.CognitiveServices/) | | Microsoft.Azure.Management.CognitiveServices.Fluent | NuGet [1.9.1-beta](https://www.nuget.org/packages/Microsoft.Azure.Management.CognitiveServices.Fluent/1.9.1-beta) | | | | Microsoft.Azure.Management.Compute | NuGet [39.0.0](https://www.nuget.org/packages/Microsoft.Azure.Management.Compute/39.0.0) | | github [39.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.Compute_39.0.0/sdk/compute/Microsoft.Azure.Management.Compute/) | -| Microsoft.Azure.Management.Compute.Fluent | NuGet [1.34.0](https://www.nuget.org/packages/Microsoft.Azure.Management.Compute.Fluent/1.34.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/virtualmachines?view=azure-dotnet) | | +| Microsoft.Azure.Management.Compute.Fluent | NuGet [1.34.0](https://www.nuget.org/packages/Microsoft.Azure.Management.Compute.Fluent/1.34.0) | [docs](/dotnet/api/overview/azure/virtualmachines?view=azure-dotnet) | | | Microsoft.Azure.Management.Consumption | NuGet [3.0.2](https://www.nuget.org/packages/Microsoft.Azure.Management.Consumption/3.0.2) | | github [3.0.2](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.Consumption_3.0.2/sdk/https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/consumption/Microsoft.Azure.Management.Consumption/Microsoft.Azure.Management.Consumption/) | | Microsoft.Azure.Management.Consumption.Fluent | NuGet [1.9.1-beta](https://www.nuget.org/packages/Microsoft.Azure.Management.Consumption.Fluent/1.9.1-beta) | | | | Microsoft.Azure.Management.ContainerInstance | NuGet [3.0.0](https://www.nuget.org/packages/Microsoft.Azure.Management.ContainerInstance/3.0.0) | | github [3.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.ContainerInstance_3.0.0/sdk/containerinstance/Microsoft.Azure.Management.ContainerInstance/) | -| Microsoft.Azure.Management.ContainerInstance.Fluent | NuGet [1.34.0](https://www.nuget.org/packages/Microsoft.Azure.Management.ContainerInstance.Fluent/1.34.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/containerinstance?view=azure-dotnet) | | +| Microsoft.Azure.Management.ContainerInstance.Fluent | NuGet [1.34.0](https://www.nuget.org/packages/Microsoft.Azure.Management.ContainerInstance.Fluent/1.34.0) | [docs](/dotnet/api/overview/azure/containerinstance?view=azure-dotnet) | | | Microsoft.Azure.Management.ContainerRegistry | NuGet [5.0.0-preview.5](https://www.nuget.org/packages/Microsoft.Azure.Management.ContainerRegistry/5.0.0-preview.5) | | github [5.0.0-preview.5](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.ContainerRegistry_5.0.0-preview.5/sdk/containerregistry/Microsoft.Azure.Management.ContainerRegistry/) | | Microsoft.Azure.Management.ContainerRegistry.Fluent | NuGet [1.34.0](https://www.nuget.org/packages/Microsoft.Azure.Management.ContainerRegistry.Fluent/1.34.0) | | | | Microsoft.Azure.Management.ContainerService | NuGet [1.1.0](https://www.nuget.org/packages/Microsoft.Azure.Management.ContainerService/1.1.0) | | github [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.ContainerService_1.1.0/sdk/containerservice/Microsoft.Azure.Management.ContainerService/) | @@ -175,31 +175,31 @@ | Microsoft.Azure.Management.CustomerInsights.Fluent | NuGet [1.9.1-beta](https://www.nuget.org/packages/Microsoft.Azure.Management.CustomerInsights.Fluent/1.9.1-beta) | | | | Microsoft.Azure.Management.DataBox | NuGet [1.2.0](https://www.nuget.org/packages/Microsoft.Azure.Management.DataBox/1.2.0) | | github [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.DataBox_1.2.0/sdk/databox/Microsoft.Azure.Management.DataBox/) | | Microsoft.Azure.Management.DataBoxEdge | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.Management.DataBoxEdge/1.0.0) | | github [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.DataBoxEdge_1.0.0/sdk/databoxedge/Microsoft.Azure.Management.DataBoxEdge/) | -| Microsoft.Azure.Management.DataFactories | NuGet [4.13.3](https://www.nuget.org/packages/Microsoft.Azure.Management.DataFactories/4.13.3) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/data-factory?view=azure-dotnet) | | -| Microsoft.Azure.Management.DataFactory | NuGet [4.11.0](https://www.nuget.org/packages/Microsoft.Azure.Management.DataFactory/4.11.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/data-factory?view=azure-dotnet) | github [4.11.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.DataFactory_4.11.0/sdk/datafactory/Microsoft.Azure.Management.DataFactory/) | -| Microsoft.Azure.Management.DataLake.Analytics | NuGet [3.5.3-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.DataLake.Analytics/3.5.3-preview) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/data-lake-analytics?view=azure-dotnet-preview) | github [3.5.3-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.DataLake.Analytics_3.5.3-preview/sdk/https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/datalake-analytics/Microsoft.Azure.Management.DataLake.Analytics/Microsoft.Azure.Management.DataLake.Analytics/) | -| Microsoft.Azure.Management.DataLake.Store | NuGet [2.4.2-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.DataLake.Store/2.4.2-preview) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/data-lake-store?view=azure-dotnet-preview) | github [2.4.2-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.DataLake.Store_2.4.2-preview/sdk/https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/datalake-store/Microsoft.Azure.Management.DataLake.Store/Microsoft.Azure.Management.DataLake.Store/) | +| Microsoft.Azure.Management.DataFactories | NuGet [4.13.3](https://www.nuget.org/packages/Microsoft.Azure.Management.DataFactories/4.13.3) | [docs](/dotnet/api/overview/azure/data-factory?view=azure-dotnet) | | +| Microsoft.Azure.Management.DataFactory | NuGet [4.11.0](https://www.nuget.org/packages/Microsoft.Azure.Management.DataFactory/4.11.0) | [docs](/dotnet/api/overview/azure/data-factory?view=azure-dotnet) | github [4.11.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.DataFactory_4.11.0/sdk/datafactory/Microsoft.Azure.Management.DataFactory/) | +| Microsoft.Azure.Management.DataLake.Analytics | NuGet [3.5.3-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.DataLake.Analytics/3.5.3-preview) | [docs](/dotnet/api/overview/azure/data-lake-analytics?view=azure-dotnet-preview) | github [3.5.3-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.DataLake.Analytics_3.5.3-preview/sdk/https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/datalake-analytics/Microsoft.Azure.Management.DataLake.Analytics/Microsoft.Azure.Management.DataLake.Analytics/) | +| Microsoft.Azure.Management.DataLake.Store | NuGet [2.4.2-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.DataLake.Store/2.4.2-preview) | [docs](/dotnet/api/overview/azure/data-lake-store?view=azure-dotnet-preview) | github [2.4.2-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.DataLake.Store_2.4.2-preview/sdk/https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/datalake-store/Microsoft.Azure.Management.DataLake.Store/Microsoft.Azure.Management.DataLake.Store/) | | Microsoft.Azure.Management.DataLake.StoreUploader | NuGet [1.0.1-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.DataLake.StoreUploader/1.0.1-preview) | | | | Microsoft.Azure.Management.DataMigration | NuGet [0.10.0-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.DataMigration/0.10.0-preview) | | github [0.10.0-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.DataMigration_0.10.0-preview/sdk/datamigration/Microsoft.Azure.Management.DataMigration/) | -| Microsoft.Azure.Management.DataShare | NuGet [1.0.1](https://www.nuget.org/packages/Microsoft.Azure.Management.DataShare/1.0.1) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/datashare?view=azure-dotnet) | github [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.DataShare_1.0.1/sdk/datashare/Microsoft.Azure.Management.DataShare/) | +| Microsoft.Azure.Management.DataShare | NuGet [1.0.1](https://www.nuget.org/packages/Microsoft.Azure.Management.DataShare/1.0.1) | [docs](/dotnet/api/overview/azure/datashare?view=azure-dotnet) | github [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.DataShare_1.0.1/sdk/datashare/Microsoft.Azure.Management.DataShare/) | | Microsoft.Azure.Management.DeploymentManager | NuGet [0.9.1-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.DeploymentManager/0.9.1-preview) | | github [0.9.1-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.DeploymentManager_0.9.1-preview/sdk/deploymentmanager/Microsoft.Azure.Management.DeploymentManager/) | | Microsoft.Azure.Management.DeviceProvisioningServices | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.Management.DeviceProvisioningServices/1.0.0) | | github [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.DeviceProvisioningServices_1.0.0/sdk/https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/deviceprovisioningservices/Microsoft.Azure.Management.DeviceProvisioningServices/Microsoft.Azure.Management.DeviceProvisioningServices/) | | Microsoft.Azure.Management.Devices.Fluent | NuGet [1.9.1-beta](https://www.nuget.org/packages/Microsoft.Azure.Management.Devices.Fluent/1.9.1-beta) | | | | Microsoft.Azure.Management.DevSpaces | NuGet [0.10.0-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.DevSpaces/0.10.0-preview) | | github [0.10.0-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.DevSpaces_0.10.0-preview/sdk/https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/devspaces/Microsoft.Azure.Management.DevSpaces/Microsoft.Azure.Management.DevSpaces/) | | Microsoft.Azure.Management.DevTestLabs | NuGet [3.0.0](https://www.nuget.org/packages/Microsoft.Azure.Management.DevTestLabs/3.0.0) | | github [3.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.DevTestLabs_3.0.0/sdk/https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/devtestlabs/Microsoft.Azure.Management.DevTestLabs/Microsoft.Azure.Management.DevTestLabs/) | | Microsoft.Azure.Management.DigitalTwins | NuGet [1.0.0-preview.1](https://www.nuget.org/packages/Microsoft.Azure.Management.DigitalTwins/1.0.0-preview.1) | | github [1.0.0-preview.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.DigitalTwins_1.0.0-preview.1/sdk/digitaltwins/Microsoft.Azure.Management.DigitalTwins/) | -| Microsoft.Azure.Management.Dns | NuGet [3.0.1](https://www.nuget.org/packages/Microsoft.Azure.Management.Dns/3.0.1) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/dns?view=azure-dotnet) | github [3.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.Dns_3.0.1/sdk/https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/dns/Microsoft.Azure.Management.Dns/Microsoft.Azure.Management.Dns/) | +| Microsoft.Azure.Management.Dns | NuGet [3.0.1](https://www.nuget.org/packages/Microsoft.Azure.Management.Dns/3.0.1) | [docs](/dotnet/api/overview/azure/dns?view=azure-dotnet) | github [3.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.Dns_3.0.1/sdk/https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/dns/Microsoft.Azure.Management.Dns/Microsoft.Azure.Management.Dns/) | | Microsoft.Azure.Management.Dns.Fluent | NuGet [1.34.0](https://www.nuget.org/packages/Microsoft.Azure.Management.Dns.Fluent/1.34.0) | | | | Microsoft.Azure.Management.EdgeGateway | NuGet [0.8.1-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.EdgeGateway/0.8.1-preview) | | github [0.8.1-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.EdgeGateway_0.8.1-preview/sdk/https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/edgegateway/Microsoft.Azure.Management.EdgeGateway/Microsoft.Azure.Management.EdgeGateway/) | -| Microsoft.Azure.Management.EventGrid | NuGet [6.0.0](https://www.nuget.org/packages/Microsoft.Azure.Management.EventGrid/6.0.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/eventgrid?view=azure-dotnet) | github [6.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.EventGrid_6.0.0/sdk/eventgrid/Microsoft.Azure.Management.EventGrid/) | -| Microsoft.Azure.Management.EventHub | NuGet [2.8.0-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.EventHub/2.8.0-preview) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/event-hubs?view=azure-dotnet-preview) | github [2.8.0-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.EventHub_2.8.0-preview/sdk/https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/eventhub/Microsoft.Azure.Management.EventHub/Microsoft.Azure.Management.EventHub/) | +| Microsoft.Azure.Management.EventGrid | NuGet [6.0.0](https://www.nuget.org/packages/Microsoft.Azure.Management.EventGrid/6.0.0) | [docs](/dotnet/api/overview/azure/eventgrid?view=azure-dotnet) | github [6.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.EventGrid_6.0.0/sdk/eventgrid/Microsoft.Azure.Management.EventGrid/) | +| Microsoft.Azure.Management.EventHub | NuGet [2.8.0-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.EventHub/2.8.0-preview) | [docs](/dotnet/api/overview/azure/event-hubs?view=azure-dotnet-preview) | github [2.8.0-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.EventHub_2.8.0-preview/sdk/https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/eventhub/Microsoft.Azure.Management.EventHub/Microsoft.Azure.Management.EventHub/) | | Microsoft.Azure.Management.EventHub.Fluent | NuGet [1.34.0](https://www.nuget.org/packages/Microsoft.Azure.Management.EventHub.Fluent/1.34.0) | | | | Microsoft.Azure.Management.Fluent | NuGet [1.34.0](https://www.nuget.org/packages/Microsoft.Azure.Management.Fluent/1.34.0) | | | | Microsoft.Azure.Management.FrontDoor | NuGet [3.0.0](https://www.nuget.org/packages/Microsoft.Azure.Management.FrontDoor/3.0.0) | | github [3.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.FrontDoor_3.0.0/sdk/frontdoor/Microsoft.Azure.Management.FrontDoor/) | | Microsoft.Azure.Management.Graph.RBAC.Fluent | NuGet [1.34.0](https://www.nuget.org/packages/Microsoft.Azure.Management.Graph.RBAC.Fluent/1.34.0) | | | | Microsoft.Azure.Management.GuestConfiguration | NuGet [1.4.0](https://www.nuget.org/packages/Microsoft.Azure.Management.GuestConfiguration/1.4.0) | | github [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.GuestConfiguration_1.4.0/sdk/guestconfiguration/Microsoft.Azure.Management.GuestConfiguration/) | -| Microsoft.Azure.Management.HDInsight | NuGet [5.6.0](https://www.nuget.org/packages/Microsoft.Azure.Management.HDInsight/5.6.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/hdinsight?view=azure-dotnet) | github [5.6.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.HDInsight_5.6.0/sdk/hdinsight/Microsoft.Azure.Management.HDInsight/) | -| Microsoft.Azure.Management.HDInsight.Job | NuGet [2.0.7](https://www.nuget.org/packages/Microsoft.Azure.Management.HDInsight.Job/2.0.7) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/hdinsight?view=azure-dotnet) | | +| Microsoft.Azure.Management.HDInsight | NuGet [5.6.0](https://www.nuget.org/packages/Microsoft.Azure.Management.HDInsight/5.6.0) | [docs](/dotnet/api/overview/azure/hdinsight?view=azure-dotnet) | github [5.6.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.HDInsight_5.6.0/sdk/hdinsight/Microsoft.Azure.Management.HDInsight/) | +| Microsoft.Azure.Management.HDInsight.Job | NuGet [2.0.7](https://www.nuget.org/packages/Microsoft.Azure.Management.HDInsight.Job/2.0.7) | [docs](/dotnet/api/overview/azure/hdinsight?view=azure-dotnet) | | | Microsoft.Azure.Management.HealthcareApis | NuGet [1.1.0](https://www.nuget.org/packages/Microsoft.Azure.Management.HealthcareApis/1.1.0) | | github [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.HealthcareApis_1.1.0/sdk/healthcareapis/Microsoft.Azure.Management.HealthcareApis/) | | Microsoft.Azure.Management.HybridCompute | NuGet [0.1.0-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.HybridCompute/0.1.0-preview) | | github [0.1.0-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.HybridCompute_0.1.0-preview/sdk/hybridcompute/Microsoft.Azure.Management.HybridCompute/) | | Microsoft.Azure.Management.HybridData | NuGet [1.0.1](https://www.nuget.org/packages/Microsoft.Azure.Management.HybridData/1.0.1) | | github [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.HybridData_1.0.1/sdk/https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.HybridData_1.0.1/sdk/hybriddatamanager/Microsoft.Azure.Management.HybridDataManager/Microsoft.Azure.Management.HybridData/) | @@ -227,14 +227,14 @@ | Microsoft.Azure.Management.Marketplace | NuGet [1.1.0](https://www.nuget.org/packages/Microsoft.Azure.Management.Marketplace/1.1.0) | | github [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.Marketplace_1.1.0/sdk/marketplace/Microsoft.Azure.Management.Marketplace/) | | Microsoft.Azure.Management.MarketplaceOrdering | NuGet [1.0.1](https://www.nuget.org/packages/Microsoft.Azure.Management.MarketplaceOrdering/1.0.1) | | github [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.MarketplaceOrdering_1.0.1/sdk/https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/marketplaceordering/Microsoft.Azure.Management.MarketplaceOrdering/Microsoft.Azure.Management.MarketplaceOrdering/) | | Microsoft.Azure.Management.Media | NuGet [2.1.0-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.Media/2.1.0-preview) | | github [2.1.0-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.Media_2.1.0-preview/sdk/mediaservices/Microsoft.Azure.Management.Media/) | -| Microsoft.Azure.Management.MixedReality | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.Management.MixedReality/1.0.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/mixed-reality?view=azure-dotnet) | github [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.MixedReality_1.0.0/sdk/mixedreality/Microsoft.Azure.Management.MixedReality/) | +| Microsoft.Azure.Management.MixedReality | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.Management.MixedReality/1.0.0) | [docs](/dotnet/api/overview/azure/mixed-reality?view=azure-dotnet) | github [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.MixedReality_1.0.0/sdk/mixedreality/Microsoft.Azure.Management.MixedReality/) | | Microsoft.Azure.Management.Monitor | NuGet [0.25.1-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.Monitor/0.25.1-preview) | | github [0.25.1-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.Monitor_0.25.1-preview/sdk/monitor/Microsoft.Azure.Management.Monitor/) | -| Microsoft.Azure.Management.Monitor.Fluent | NuGet [1.34.0](https://www.nuget.org/packages/Microsoft.Azure.Management.Monitor.Fluent/1.34.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/monitor?view=azure-dotnet) | | +| Microsoft.Azure.Management.Monitor.Fluent | NuGet [1.34.0](https://www.nuget.org/packages/Microsoft.Azure.Management.Monitor.Fluent/1.34.0) | [docs](/dotnet/api/overview/azure/monitor?view=azure-dotnet) | | | Microsoft.Azure.Management.Msi.Fluent | NuGet [1.34.0](https://www.nuget.org/packages/Microsoft.Azure.Management.Msi.Fluent/1.34.0) | | | | Microsoft.Azure.Management.NetApp | NuGet [1.6.0](https://www.nuget.org/packages/Microsoft.Azure.Management.NetApp/1.6.0) | | github [1.6.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.NetApp_1.6.0/sdk/netapp/Microsoft.Azure.Management.NetApp/) | | Microsoft.Azure.Management.Network | NuGet [20.1.1](https://www.nuget.org/packages/Microsoft.Azure.Management.Network/20.1.1) | | github [20.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.Network_20.1.1/sdk/network/Microsoft.Azure.Management.Network/) | -| Microsoft.Azure.Management.Network.Fluent | NuGet [1.34.0](https://www.nuget.org/packages/Microsoft.Azure.Management.Network.Fluent/1.34.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/virtual-network?view=azure-dotnet) | | -| Microsoft.Azure.Management.NotificationHubs | NuGet [2.3.3-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.NotificationHubs/2.3.3-preview) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/notification-hubs?view=azure-dotnet-preview) | github [2.3.3-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.NotificationHubs_2.3.3-preview/sdk/notificationhubs/Microsoft.Azure.Management.NotificationHubs/) | +| Microsoft.Azure.Management.Network.Fluent | NuGet [1.34.0](https://www.nuget.org/packages/Microsoft.Azure.Management.Network.Fluent/1.34.0) | [docs](/dotnet/api/overview/azure/virtual-network?view=azure-dotnet) | | +| Microsoft.Azure.Management.NotificationHubs | NuGet [2.3.3-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.NotificationHubs/2.3.3-preview) | [docs](/dotnet/api/overview/azure/notification-hubs?view=azure-dotnet-preview) | github [2.3.3-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.NotificationHubs_2.3.3-preview/sdk/notificationhubs/Microsoft.Azure.Management.NotificationHubs/) | | Microsoft.Azure.Management.NotificationHubs.Fluent | NuGet [1.9.1-beta](https://www.nuget.org/packages/Microsoft.Azure.Management.NotificationHubs.Fluent/1.9.1-beta) | | | | Microsoft.Azure.Management.OperationalInsights | NuGet [0.21.0-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.OperationalInsights/0.21.0-preview) | | github [0.21.0-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.OperationalInsights_0.21.0-preview/sdk/operationalinsights/Microsoft.Azure.Management.OperationalInsights/) | | Microsoft.Azure.Management.Peering | NuGet [2.1.0](https://www.nuget.org/packages/Microsoft.Azure.Management.Peering/2.1.0) | | github [2.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.Peering_2.1.0/sdk/peering/Microsoft.Azure.Management.Peering/) | @@ -263,19 +263,19 @@ | Microsoft.Azure.Management.Profiles.hybrid_2019_03_01.Storage | NuGet [0.9.0-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.Profiles.hybrid_2019_03_01.Storage/0.9.0-preview) | | | | Microsoft.Azure.Management.Profiles.hybrid_2019_03_01.Subscription | NuGet [0.9.0-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.Profiles.hybrid_2019_03_01.Subscription/0.9.0-preview) | | | | Microsoft.Azure.Management.Profiles.hybrid_2019_03_01.Websites | NuGet [0.9.0-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.Profiles.hybrid_2019_03_01.Websites/0.9.0-preview) | | | -| Microsoft.Azure.Management.RecoveryServices | NuGet [4.3.0-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.RecoveryServices/4.3.0-preview) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/recovery-services?view=azure-dotnet-preview) | github [4.3.0-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.RecoveryServices_4.3.0-preview/sdk/recoveryservices/Microsoft.Azure.Management.RecoveryServices/) | -| Microsoft.Azure.Management.RecoveryServices.Backup | NuGet [4.1.2-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.RecoveryServices.Backup/4.1.2-preview) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/recovery-services?view=azure-dotnet-preview) | github [4.1.2-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.RecoveryServices.Backup_4.1.2-preview/sdk/recoveryservices-backup/Microsoft.Azure.Management.RecoveryServices.Backup/) | +| Microsoft.Azure.Management.RecoveryServices | NuGet [4.3.0-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.RecoveryServices/4.3.0-preview) | [docs](/dotnet/api/overview/azure/recovery-services?view=azure-dotnet-preview) | github [4.3.0-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.RecoveryServices_4.3.0-preview/sdk/recoveryservices/Microsoft.Azure.Management.RecoveryServices/) | +| Microsoft.Azure.Management.RecoveryServices.Backup | NuGet [4.1.2-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.RecoveryServices.Backup/4.1.2-preview) | [docs](/dotnet/api/overview/azure/recovery-services?view=azure-dotnet-preview) | github [4.1.2-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.RecoveryServices.Backup_4.1.2-preview/sdk/recoveryservices-backup/Microsoft.Azure.Management.RecoveryServices.Backup/) | | Microsoft.Azure.Management.RecoveryServices.SiteRecovery | NuGet [2.1.0-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.RecoveryServices.SiteRecovery/2.1.0-preview) | | github [2.1.0-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.RecoveryServices.SiteRecovery_2.1.0-preview/sdk/recoveryservices-siterecovery/Microsoft.Azure.Management.RecoveryServices.SiteRecovery/) | | Microsoft.Azure.Management.RecoveryServicesVaultUpgrade | NuGet [1.0.0-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.RecoveryServicesVaultUpgrade/1.0.0-preview) | | | | Microsoft.Azure.Management.Redis | NuGet [6.0.0-preview.2](https://www.nuget.org/packages/Microsoft.Azure.Management.Redis/6.0.0-preview.2) | | | -| Microsoft.Azure.Management.Redis.Fluent | NuGet [1.34.0](https://www.nuget.org/packages/Microsoft.Azure.Management.Redis.Fluent/1.34.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/redis-cache?view=azure-dotnet) | | +| Microsoft.Azure.Management.Redis.Fluent | NuGet [1.34.0](https://www.nuget.org/packages/Microsoft.Azure.Management.Redis.Fluent/1.34.0) | [docs](/dotnet/api/overview/azure/redis-cache?view=azure-dotnet) | | | Microsoft.Azure.Management.Relay | NuGet [2.0.2](https://www.nuget.org/packages/Microsoft.Azure.Management.Relay/2.0.2) | | github [2.0.2](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.Relay_2.0.2/sdk/https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/relay/Microsoft.Azure.Management.Relay/Microsoft.Azure.Management.Relay/) | | Microsoft.Azure.Management.Relay.Fluent | NuGet [1.9.1-beta](https://www.nuget.org/packages/Microsoft.Azure.Management.Relay.Fluent/1.9.1-beta) | | | | Microsoft.Azure.Management.RemoteApp | NuGet [1.0.9](https://www.nuget.org/packages/Microsoft.Azure.Management.RemoteApp/1.0.9) | | | | Microsoft.Azure.Management.Reservations | NuGet [1.13.0-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.Reservations/1.13.0-preview) | | github [1.13.0-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.Reservations_1.13.0-preview/sdk/reservations/Microsoft.Azure.Management.Reservations/) | | Microsoft.Azure.Management.ResourceGraph | NuGet [2.0.0](https://www.nuget.org/packages/Microsoft.Azure.Management.ResourceGraph/2.0.0) | | github [2.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.ResourceGraph_2.0.0/sdk/resourcegraph/Microsoft.Azure.Management.ResourceGraph/) | | Microsoft.Azure.Management.ResourceManager | NuGet [3.10.0-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.ResourceManager/3.10.0-preview) | | | -| Microsoft.Azure.Management.ResourceManager.Fluent | NuGet [1.34.0](https://www.nuget.org/packages/Microsoft.Azure.Management.ResourceManager.Fluent/1.34.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/resource-manager?view=azure-dotnet) | | +| Microsoft.Azure.Management.ResourceManager.Fluent | NuGet [1.34.0](https://www.nuget.org/packages/Microsoft.Azure.Management.ResourceManager.Fluent/1.34.0) | [docs](/dotnet/api/overview/azure/resource-manager?view=azure-dotnet) | | | Microsoft.Azure.Management.Resources | NuGet [2.20.1-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.Resources/2.20.1-preview) | | | | Microsoft.Azure.Management.SampleProjectPublish | NuGet [0.9.0-Preview](https://www.nuget.org/packages/Microsoft.Azure.Management.SampleProjectPublish/0.9.0-Preview) | | | | Microsoft.Azure.Management.Scheduler | NuGet [2.2.0](https://www.nuget.org/packages/Microsoft.Azure.Management.Scheduler/2.2.0) | | github [2.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.Scheduler_2.2.0/sdk/https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/scheduler/Microsoft.Azure.Management.Scheduler/Microsoft.Azure.Management.Scheduler/) | @@ -285,36 +285,36 @@ | Microsoft.Azure.Management.SecurityCenter | NuGet [2.1.0](https://www.nuget.org/packages/Microsoft.Azure.Management.SecurityCenter/2.1.0) | | github [2.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.SecurityCenter_2.1.0/sdk/securitycenter/Microsoft.Azure.Management.SecurityCenter/) | | Microsoft.Azure.Management.ServerManagement | NuGet [1.1.0](https://www.nuget.org/packages/Microsoft.Azure.Management.ServerManagement/1.1.0) | | github [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.ServerManagement_1.1.0/sdk/https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/servermanagement/Microsoft.Azure.Management.ServerManagement/Microsoft.Azure.Management.ServerManagement/) | | Microsoft.Azure.Management.ServiceBus | NuGet [2.1.0](https://www.nuget.org/packages/Microsoft.Azure.Management.ServiceBus/2.1.0) | | github [2.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.ServiceBus_2.1.0/sdk/https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/servicebus/Microsoft.Azure.Management.ServiceBus/Microsoft.Azure.Management.ServiceBus/) | -| Microsoft.Azure.Management.ServiceBus.Fluent | NuGet [1.34.0](https://www.nuget.org/packages/Microsoft.Azure.Management.ServiceBus.Fluent/1.34.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/service-bus?view=azure-dotnet) | | -| Microsoft.Azure.Management.ServiceFabric | NuGet [1.3.0](https://www.nuget.org/packages/Microsoft.Azure.Management.ServiceFabric/1.3.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/service-fabric?view=azure-dotnet) | github [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.ServiceFabric_1.3.0/sdk/servicefabric/Microsoft.Azure.Management.ServiceFabric/) | +| Microsoft.Azure.Management.ServiceBus.Fluent | NuGet [1.34.0](https://www.nuget.org/packages/Microsoft.Azure.Management.ServiceBus.Fluent/1.34.0) | [docs](/dotnet/api/overview/azure/service-bus?view=azure-dotnet) | | +| Microsoft.Azure.Management.ServiceFabric | NuGet [1.3.0](https://www.nuget.org/packages/Microsoft.Azure.Management.ServiceFabric/1.3.0) | [docs](/dotnet/api/overview/azure/service-fabric?view=azure-dotnet) | github [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.ServiceFabric_1.3.0/sdk/servicefabric/Microsoft.Azure.Management.ServiceFabric/) | | Microsoft.Azure.Management.ServiceFabric.Fluent | NuGet [1.9.1-beta](https://www.nuget.org/packages/Microsoft.Azure.Management.ServiceFabric.Fluent/1.9.1-beta) | | | | Microsoft.Azure.Management.SignalR | NuGet [1.1.0](https://www.nuget.org/packages/Microsoft.Azure.Management.SignalR/1.1.0) | | github [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.SignalR_1.1.0/sdk/signalr/Microsoft.Azure.Management.SignalR/) | | Microsoft.Azure.Management.SiteRecovery | NuGet [2.0.2-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.SiteRecovery/2.0.2-preview) | | | | Microsoft.Azure.Management.Sql | NuGet [1.44.1-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.Sql/1.44.1-preview) | | | -| Microsoft.Azure.Management.Sql.Fluent | NuGet [1.34.0](https://www.nuget.org/packages/Microsoft.Azure.Management.Sql.Fluent/1.34.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/sql?view=azure-dotnet) | | +| Microsoft.Azure.Management.Sql.Fluent | NuGet [1.34.0](https://www.nuget.org/packages/Microsoft.Azure.Management.Sql.Fluent/1.34.0) | [docs](/dotnet/api/overview/azure/sql?view=azure-dotnet) | | | Microsoft.Azure.Management.SqlVirtualMachine | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.Management.SqlVirtualMachine/1.0.0) | | github [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.SqlVirtualMachine_1.0.0/sdk/sqlvirtualmachine/Microsoft.Azure.Management.SqlVirtualMachine/) | | Microsoft.Azure.Management.Storage | NuGet [17.2.0](https://www.nuget.org/packages/Microsoft.Azure.Management.Storage/17.2.0) | | github [17.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.Storage_17.2.0/sdk/storage/Microsoft.Azure.Management.Storage/) | | Microsoft.Azure.Management.Storage.Fluent | NuGet [1.34.0](https://www.nuget.org/packages/Microsoft.Azure.Management.Storage.Fluent/1.34.0) | | | | Microsoft.Azure.Management.StorageCache | NuGet [1.1.0](https://www.nuget.org/packages/Microsoft.Azure.Management.StorageCache/1.1.0) | | github [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.StorageCache_1.1.0/sdk/storagecache/Microsoft.Azure.Management.StorageCache/) | | Microsoft.Azure.Management.StorageSync | NuGet [5.0.1](https://www.nuget.org/packages/Microsoft.Azure.Management.StorageSync/5.0.1) | | github [5.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.StorageSync_5.0.1/sdk/storagesync/Microsoft.Azure.Management.StorageSync/) | -| Microsoft.Azure.Management.StorSimple.Fluent | NuGet [1.9.1-beta](https://www.nuget.org/packages/Microsoft.Azure.Management.StorSimple.Fluent/1.9.1-beta) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/storsimple?view=azure-dotnet-preview) | | +| Microsoft.Azure.Management.StorSimple.Fluent | NuGet [1.9.1-beta](https://www.nuget.org/packages/Microsoft.Azure.Management.StorSimple.Fluent/1.9.1-beta) | [docs](/dotnet/api/overview/azure/storsimple?view=azure-dotnet-preview) | | | Microsoft.Azure.Management.Storsimple8000series | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.Management.Storsimple8000series/1.0.0) | | github [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.Storsimple8000series_1.0.0/sdk/https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/storsimple8000series/Microsoft.Azure.Management.StorSimple8000Series/Microsoft.Azure.Management.Storsimple8000series/) | -| Microsoft.Azure.Management.StreamAnalytics | NuGet [2.1.0](https://www.nuget.org/packages/Microsoft.Azure.Management.StreamAnalytics/2.1.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/stream-analytics?view=azure-dotnet) | github [2.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.StreamAnalytics_2.1.0/sdk/https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/streamanalytics/Microsoft.Azure.Management.StreamAnalytics/Microsoft.Azure.Management.StreamAnalytics/) | +| Microsoft.Azure.Management.StreamAnalytics | NuGet [2.1.0](https://www.nuget.org/packages/Microsoft.Azure.Management.StreamAnalytics/2.1.0) | [docs](/dotnet/api/overview/azure/stream-analytics?view=azure-dotnet) | github [2.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.StreamAnalytics_2.1.0/sdk/https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/streamanalytics/Microsoft.Azure.Management.StreamAnalytics/Microsoft.Azure.Management.StreamAnalytics/) | | Microsoft.Azure.Management.Subscription | NuGet [1.1.4-preview](https://www.nuget.org/packages/Microsoft.Azure.Management.Subscription/1.1.4-preview) | | github [1.1.4-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.Subscription_1.1.4-preview/sdk/subscription/Microsoft.Azure.Management.Subscription/) | | Microsoft.Azure.Management.Support | NuGet [1.0.1](https://www.nuget.org/packages/Microsoft.Azure.Management.Support/1.0.1) | | github [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.Support_1.0.1/sdk/support/Microsoft.Azure.Management.Support/) | | Microsoft.Azure.Management.Synapse | NuGet [1.0.0-preview.2](https://www.nuget.org/packages/Microsoft.Azure.Management.Synapse/1.0.0-preview.2) | | github [1.0.0-preview.2](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.Synapse_1.0.0-preview.2/sdk/synapse/Microsoft.Azure.Management.Synapse/) | | Microsoft.Azure.Management.TrafficManager | NuGet [2.5.3](https://www.nuget.org/packages/Microsoft.Azure.Management.TrafficManager/2.5.3) | | github [2.5.3](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.TrafficManager_2.5.3/sdk/https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/trafficmanager/Microsoft.Azure.Management.TrafficManager/Microsoft.Azure.Management.TrafficManager/) | -| Microsoft.Azure.Management.TrafficManager.Fluent | NuGet [1.34.0](https://www.nuget.org/packages/Microsoft.Azure.Management.TrafficManager.Fluent/1.34.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/traffic-manager?view=azure-dotnet) | | +| Microsoft.Azure.Management.TrafficManager.Fluent | NuGet [1.34.0](https://www.nuget.org/packages/Microsoft.Azure.Management.TrafficManager.Fluent/1.34.0) | [docs](/dotnet/api/overview/azure/traffic-manager?view=azure-dotnet) | | | Microsoft.Azure.Management.WebSites | NuGet [3.0.0](https://www.nuget.org/packages/Microsoft.Azure.Management.WebSites/3.0.0) | | github [3.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Management.WebSites_3.0.0/sdk/https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/websites/Microsoft.Azure.Management.WebSites/Microsoft.Azure.Management.WebSites/) | | Microsoft.Azure.Media.LiveVideoAnalytics.Edge | NuGet [1.0.0-preview.2](https://www.nuget.org/packages/Microsoft.Azure.Media.LiveVideoAnalytics.Edge/1.0.0-preview.2) | | github [1.0.0-preview.2](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Media.LiveVideoAnalytics.Edge_1.0.0-preview.2/sdk/https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/mediaservices/Microsoft.Azure.Media.LiveVideoAnalytics.Edge/Microsoft.Azure.Media.LiveVideoAnalytics.Edge/) | | Microsoft.Azure.Mobile.Server.CrossDomain | NuGet [2.0.3](https://www.nuget.org/packages/Microsoft.Azure.Mobile.Server.CrossDomain/2.0.3) | | | | Microsoft.Azure.OperationalInsights | NuGet [0.10.0-preview](https://www.nuget.org/packages/Microsoft.Azure.OperationalInsights/0.10.0-preview) | | github [0.10.0-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.OperationalInsights_0.10.0-preview/sdk/https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/operationalinsights/Microsoft.Azure.OperationalInsights/Microsoft.Azure.OperationalInsights/) | -| Microsoft.Azure.Relay | NuGet [2.0.1](https://www.nuget.org/packages/Microsoft.Azure.Relay/2.0.1) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/service-bus-relay?view=azure-dotnet) | github [2.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Relay_2.0.1/sdk/https://github.com/Azure/azure-relay-dotnet/tree/2.0.1/Microsoft.Azure.Relay/) | +| Microsoft.Azure.Relay | NuGet [2.0.1](https://www.nuget.org/packages/Microsoft.Azure.Relay/2.0.1) | [docs](/dotnet/api/overview/azure/service-bus-relay?view=azure-dotnet) | github [2.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Relay_2.0.1/sdk/https://github.com/Azure/azure-relay-dotnet/tree/2.0.1/Microsoft.Azure.Relay/) | | Microsoft.Azure.Search | NuGet [10.1.0](https://www.nuget.org/packages/Microsoft.Azure.Search/10.1.0) | | github [10.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Search_10.1.0/sdk/search/Microsoft.Azure.Search/) | | Microsoft.Azure.Search.Common | NuGet [10.1.0](https://www.nuget.org/packages/Microsoft.Azure.Search.Common/10.1.0) | | github [10.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Search.Common_10.1.0/sdk/search/Microsoft.Azure.Search.Common/) | | Microsoft.Azure.Search.Data | NuGet [10.1.0](https://www.nuget.org/packages/Microsoft.Azure.Search.Data/10.1.0) | | github [10.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Search.Data_10.1.0/sdk/search/Microsoft.Azure.Search.Data/) | | Microsoft.Azure.Search.Service | NuGet [10.1.0](https://www.nuget.org/packages/Microsoft.Azure.Search.Service/10.1.0) | | github [10.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Search.Service_10.1.0/sdk/search/Microsoft.Azure.Search.Service/) | -| Microsoft.Azure.ServiceBus | NuGet [4.1.3](https://www.nuget.org/packages/Microsoft.Azure.ServiceBus/4.1.3) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/service-bus?view=azure-dotnet) | github [4.1.3](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.ServiceBus_4.1.3/sdk/servicebus/Microsoft.Azure.ServiceBus/) | +| Microsoft.Azure.ServiceBus | NuGet [4.1.3](https://www.nuget.org/packages/Microsoft.Azure.ServiceBus/4.1.3) | [docs](/dotnet/api/overview/azure/service-bus?view=azure-dotnet) | github [4.1.3](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.ServiceBus_4.1.3/sdk/servicebus/Microsoft.Azure.ServiceBus/) | | Microsoft.Azure.ServiceBus.MessageIdPlugin | NuGet [2.0.0](https://www.nuget.org/packages/Microsoft.Azure.ServiceBus.MessageIdPlugin/2.0.0) | | | | Microsoft.Azure.Services.AppAuthentication | NuGet [1.5.0](https://www.nuget.org/packages/Microsoft.Azure.Services.AppAuthentication/1.5.0) | | | | Microsoft.Azure.SignalR | NuGet [1.5.1](https://www.nuget.org/packages/Microsoft.Azure.SignalR/1.5.1) | | github [1.5.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.SignalR_1.5.1/sdk/https://github.com/Azure/azure-signalr/tree/v1.5.0/src/Microsoft.Azure.SignalR/Microsoft.Azure.SignalR/) | @@ -345,7 +345,7 @@ | Microsoft.Azure.WebJobs.Extensions.AuthTokens | NuGet [1.0.0-beta6](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.AuthTokens/1.0.0-beta6) | | github [1.0.0-beta6](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.AuthTokens_1.0.0-beta6/sdk/https://github.com/Azure/azure-webjobs-sdk-extensions/Microsoft.Azure.WebJobs.Extensions.AuthTokens/) | | Microsoft.Azure.WebJobs.Extensions.CosmosDB | NuGet [3.0.7](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.CosmosDB/3.0.7) | | github [3.0.7](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.CosmosDB_3.0.7/sdk/https://github.com/Azure/azure-webjobs-sdk-extensions/tree/cosmos-v3.0.7/src/WebJobs.Extensions.CosmosDB/Microsoft.Azure.WebJobs.Extensions.CosmosDB/) | | Microsoft.Azure.WebJobs.Extensions.DocumentDB | NuGet [1.3.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DocumentDB/1.3.0) | | github [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.DocumentDB_1.3.0/sdk/https://github.com/Azure/azure-webjobs-sdk-extensions/Microsoft.Azure.WebJobs.Extensions.DocumentDB/) | -| Microsoft.Azure.WebJobs.Extensions.DurableTask | NuGet [2.3.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DurableTask/2.3.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/functions?view=azure-dotnet) | github [2.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.DurableTask_2.3.0/sdk/https://github.com/Azure/azure-functions-durable-extension/tree/v2.2.2/src/WebJobs.Extensions.DurableTask/Microsoft.Azure.WebJobs.Extensions.DurableTask/) | +| Microsoft.Azure.WebJobs.Extensions.DurableTask | NuGet [2.3.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DurableTask/2.3.0) | [docs](/dotnet/api/overview/azure/functions?view=azure-dotnet) | github [2.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.DurableTask_2.3.0/sdk/https://github.com/Azure/azure-functions-durable-extension/tree/v2.2.2/src/WebJobs.Extensions.DurableTask/Microsoft.Azure.WebJobs.Extensions.DurableTask/) | | Microsoft.Azure.WebJobs.Extensions.DurableTask.Analyzers | NuGet [0.3.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DurableTask.Analyzers/0.3.0) | | github [0.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.DurableTask.Analyzers_0.3.0/sdk/https://github.com/Azure/azure-functions-durable-extension/tree/Analyzer-v0.3.0/src/WebJobs.Extensions.DurableTask.Analyzers/Microsoft.Azure.WebJobs.Extensions.DurableTask.Analyzers/) | | Microsoft.Azure.WebJobs.Extensions.EdgeHub | NuGet [1.0.7](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.EdgeHub/1.0.7) | | github [1.0.7](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.EdgeHub_1.0.7/sdk/https://github.com/Azure/iotedge/tree/1.0.7/edge-hub/Microsoft.Azure.WebJobs.Extensions.EdgeHub/) | | Microsoft.Azure.WebJobs.Extensions.EventGrid | NuGet [2.1.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.EventGrid/2.1.0) | | github [2.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.EventGrid_2.1.0/sdk/https://github.com/Azure/azure-functions-eventgrid-extension/tree/v2.1.0/src/EventGridExtension/Microsoft.Azure.WebJobs.Extensions.EventGrid/) | @@ -436,7 +436,7 @@ | wastorage.v120 | NuGet [4.0.0](https://www.nuget.org/packages/wastorage.v120/4.0.0) | | | | wastorage.v140 | NuGet [4.0.0](https://www.nuget.org/packages/wastorage.v140/4.0.0) | | | | WindowsAzure.Caching | NuGet [1.7.0](https://www.nuget.org/packages/WindowsAzure.Caching/1.7.0) | | | -| windowsazure.mediaservices | NuGet [4.2.0](https://www.nuget.org/packages/windowsazure.mediaservices/4.2.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/media-services?view=azure-dotnet) | github [4.2.0](https://github.com/Azure/azure-sdk-for-net/tree/windowsazure.mediaservices_4.2.0/sdk/https://github.com/Azure/azure-sdk-for-media-services/windowsazure.mediaservices/) | +| windowsazure.mediaservices | NuGet [4.2.0](https://www.nuget.org/packages/windowsazure.mediaservices/4.2.0) | [docs](/dotnet/api/overview/azure/media-services?view=azure-dotnet) | github [4.2.0](https://github.com/Azure/azure-sdk-for-net/tree/windowsazure.mediaservices_4.2.0/sdk/https://github.com/Azure/azure-sdk-for-media-services/windowsazure.mediaservices/) | | WindowsAzure.MobileServices | NuGet [1.3.2](https://www.nuget.org/packages/WindowsAzure.MobileServices/1.3.2) | | | | WindowsAzure.MobileServices.Backend | NuGet [1.0.478](https://www.nuget.org/packages/WindowsAzure.MobileServices.Backend/1.0.478) | | | | WindowsAzure.MobileServices.Backend.Entity | NuGet [1.0.478](https://www.nuget.org/packages/WindowsAzure.MobileServices.Backend.Entity/1.0.478) | | | diff --git a/docs/azure/includes/dotnet-new.md b/docs/azure/includes/dotnet-new.md index 104a11004ec7f..e79344552ce98 100644 --- a/docs/azure/includes/dotnet-new.md +++ b/docs/azure/includes/dotnet-new.md @@ -1,29 +1,29 @@ | Name | Package | Docs | Source | | ---- | ------- | ---- | ------ | -| App Configuration | NuGet [1.0.1](https://www.nuget.org/packages/Azure.Data.AppConfiguration/1.0.1) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Data.AppConfiguration-readme/) | github [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Data.AppConfiguration_1.0.1/sdk/appconfiguration/Azure.Data.AppConfiguration/) | -| ASP.NET Extension - Configuration Secrets | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Extensions.AspNetCore.Configuration.Secrets/1.0.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Extensions.AspNetCore.Configuration.Secrets-readme/) | github [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Extensions.AspNetCore.Configuration.Secrets_1.0.0/sdk/extensions/Azure.Extensions.AspNetCore.Configuration.Secrets/) | -| ASP.NET Extension - DataProtection Blobs | NuGet [1.0.1](https://www.nuget.org/packages/Azure.Extensions.AspNetCore.DataProtection.Blobs/1.0.1) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Extensions.AspNetCore.DataProtection.Blobs-readme/) | github [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Extensions.AspNetCore.DataProtection.Blobs_1.0.1/sdk/extensions/Azure.Extensions.AspNetCore.DataProtection.Blobs/) | -| ASP.NET Extension - DataProtection Keys | NuGet [1.0.2](https://www.nuget.org/packages/Azure.Extensions.AspNetCore.DataProtection.Keys/1.0.2) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Extensions.AspNetCore.DataProtection.Keys-readme/) | github [1.0.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Extensions.AspNetCore.DataProtection.Keys_1.0.2/sdk/extensions/Azure.Extensions.AspNetCore.DataProtection.Keys/) | +| App Configuration | NuGet [1.0.1](https://www.nuget.org/packages/Azure.Data.AppConfiguration/1.0.1) | [docs](/dotnet/api/overview/azure/Data.AppConfiguration-readme/) | github [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Data.AppConfiguration_1.0.1/sdk/appconfiguration/Azure.Data.AppConfiguration/) | +| ASP.NET Extension - Configuration Secrets | NuGet [1.0.0](https://www.nuget.org/packages/Azure.Extensions.AspNetCore.Configuration.Secrets/1.0.0) | [docs](/dotnet/api/overview/azure/Extensions.AspNetCore.Configuration.Secrets-readme/) | github [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Extensions.AspNetCore.Configuration.Secrets_1.0.0/sdk/extensions/Azure.Extensions.AspNetCore.Configuration.Secrets/) | +| ASP.NET Extension - DataProtection Blobs | NuGet [1.0.1](https://www.nuget.org/packages/Azure.Extensions.AspNetCore.DataProtection.Blobs/1.0.1) | [docs](/dotnet/api/overview/azure/Extensions.AspNetCore.DataProtection.Blobs-readme/) | github [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Extensions.AspNetCore.DataProtection.Blobs_1.0.1/sdk/extensions/Azure.Extensions.AspNetCore.DataProtection.Blobs/) | +| ASP.NET Extension - DataProtection Keys | NuGet [1.0.2](https://www.nuget.org/packages/Azure.Extensions.AspNetCore.DataProtection.Keys/1.0.2) | [docs](/dotnet/api/overview/azure/Extensions.AspNetCore.DataProtection.Keys-readme/) | github [1.0.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Extensions.AspNetCore.DataProtection.Keys_1.0.2/sdk/extensions/Azure.Extensions.AspNetCore.DataProtection.Keys/) | | Azure.Core.Experimental | NuGet [0.1.0-preview.5](https://www.nuget.org/packages/Azure.Core.Experimental/0.1.0-preview.5) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Core.Experimental-readme/) | | -| Cognitive Search | NuGet [11.1.1](https://www.nuget.org/packages/Azure.Search.Documents/11.1.1) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Search.Documents-readme/) | github [11.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Search.Documents_11.1.1/sdk/search/Azure.Search.Documents/) | -| Core | NuGet [1.5.0](https://www.nuget.org/packages/Azure.Core/1.5.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Core-readme/) | github [1.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Core_1.5.0/sdk/core/Azure.Core/) | -| Cosmos | NuGet [4.0.0-preview3](https://www.nuget.org/packages/Azure.Cosmos/4.0.0-preview3) | [docs](https://docs.microsoft.com/dotnet/api/azure.cosmos?view=azure-dotnet-preview) | github [4.0.0-preview3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Cosmos_4.0.0-preview3/sdk/https://github.com/Azure/azure-cosmos-dotnet-v3/tree/releases/4.0.0-preview3/Azure.Cosmos/) | -| Event Hubs | NuGet [5.2.0](https://www.nuget.org/packages/Azure.Messaging.EventHubs/5.2.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Messaging.EventHubs-readme/) | github [5.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventHubs_5.2.0/sdk/eventhub/Azure.Messaging.EventHubs/) | -| Event Hubs - Event Processor | NuGet [5.2.0](https://www.nuget.org/packages/Azure.Messaging.EventHubs.Processor/5.2.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Messaging.EventHubs.Processor-readme/) | github [5.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventHubs.Processor_5.2.0/sdk/eventhub/Azure.Messaging.EventHubs.Processor/) | -| Form Recognizer | NuGet [3.0.0](https://www.nuget.org/packages/Azure.AI.FormRecognizer/3.0.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/AI.FormRecognizer-readme/) | github [3.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.FormRecognizer_3.0.0/sdk/formrecognizer/Azure.AI.FormRecognizer/) | -| Identity | NuGet [1.2.2](https://www.nuget.org/packages/Azure.Identity/1.2.2) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Identity-readme/) | github [1.2.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Identity_1.2.2/sdk/identity/Azure.Identity/) | -| KeyVault - Certificates | NuGet [4.1.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Certificates/4.1.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Security.KeyVault.Certificates-readme/) | github [4.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Certificates_4.1.0/sdk/keyvault/Azure.Security.KeyVault.Certificates/) | -| KeyVault - Keys | NuGet [4.1.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Keys/4.1.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Security.KeyVault.Keys-readme/) | github [4.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Keys_4.1.0/sdk/keyvault/Azure.Security.KeyVault.Keys/) | -| KeyVault - Secrets | NuGet [4.1.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Secrets/4.1.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Security.KeyVault.Secrets-readme/) | github [4.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Secrets_4.1.0/sdk/keyvault/Azure.Security.KeyVault.Secrets/) | +| Cognitive Search | NuGet [11.1.1](https://www.nuget.org/packages/Azure.Search.Documents/11.1.1) | [docs](/dotnet/api/overview/azure/Search.Documents-readme/) | github [11.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Search.Documents_11.1.1/sdk/search/Azure.Search.Documents/) | +| Core | NuGet [1.5.0](https://www.nuget.org/packages/Azure.Core/1.5.0) | [docs](/dotnet/api/overview/azure/Core-readme/) | github [1.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Core_1.5.0/sdk/core/Azure.Core/) | +| Cosmos | NuGet [4.0.0-preview3](https://www.nuget.org/packages/Azure.Cosmos/4.0.0-preview3) | [docs](/dotnet/api/azure.cosmos?view=azure-dotnet-preview) | github [4.0.0-preview3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Cosmos_4.0.0-preview3/sdk/https://github.com/Azure/azure-cosmos-dotnet-v3/tree/releases/4.0.0-preview3/Azure.Cosmos/) | +| Event Hubs | NuGet [5.2.0](https://www.nuget.org/packages/Azure.Messaging.EventHubs/5.2.0) | [docs](/dotnet/api/overview/azure/Messaging.EventHubs-readme/) | github [5.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventHubs_5.2.0/sdk/eventhub/Azure.Messaging.EventHubs/) | +| Event Hubs - Event Processor | NuGet [5.2.0](https://www.nuget.org/packages/Azure.Messaging.EventHubs.Processor/5.2.0) | [docs](/dotnet/api/overview/azure/Messaging.EventHubs.Processor-readme/) | github [5.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventHubs.Processor_5.2.0/sdk/eventhub/Azure.Messaging.EventHubs.Processor/) | +| Form Recognizer | NuGet [3.0.0](https://www.nuget.org/packages/Azure.AI.FormRecognizer/3.0.0) | [docs](/dotnet/api/overview/azure/AI.FormRecognizer-readme/) | github [3.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.FormRecognizer_3.0.0/sdk/formrecognizer/Azure.AI.FormRecognizer/) | +| Identity | NuGet [1.2.2](https://www.nuget.org/packages/Azure.Identity/1.2.2) | [docs](/dotnet/api/overview/azure/Identity-readme/) | github [1.2.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Identity_1.2.2/sdk/identity/Azure.Identity/) | +| KeyVault - Certificates | NuGet [4.1.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Certificates/4.1.0) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Certificates-readme/) | github [4.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Certificates_4.1.0/sdk/keyvault/Azure.Security.KeyVault.Certificates/) | +| KeyVault - Keys | NuGet [4.1.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Keys/4.1.0) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Keys-readme/) | github [4.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Keys_4.1.0/sdk/keyvault/Azure.Security.KeyVault.Keys/) | +| KeyVault - Secrets | NuGet [4.1.0](https://www.nuget.org/packages/Azure.Security.KeyVault.Secrets/4.1.0) | [docs](/dotnet/api/overview/azure/Security.KeyVault.Secrets-readme/) | github [4.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Secrets_4.1.0/sdk/keyvault/Azure.Security.KeyVault.Secrets/) | | Microsoft.Azure.Core.NewtonsoftJson | NuGet [1.0.0-preview.1](https://www.nuget.org/packages/Microsoft.Azure.Core.NewtonsoftJson/1.0.0-preview.1) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Microsoft.Core.NewtonsoftJson-readme/) | | -| Service Bus | NuGet [7.0.0-preview.6](https://www.nuget.org/packages/Azure.Messaging.ServiceBus/7.0.0-preview.6) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Messaging.ServiceBus-readme/) | github [7.0.0-preview.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.ServiceBus_7.0.0-preview.6/sdk/servicebus/Azure.Messaging.ServiceBus/) | -| Storage - Blobs | NuGet [12.6.0](https://www.nuget.org/packages/Azure.Storage.Blobs/12.6.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Storage.Blobs-readme/) | github [12.6.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.6.0/sdk/storage/Azure.Storage.Blobs/) | -| Storage - Blobs Batch | NuGet [12.3.1](https://www.nuget.org/packages/Azure.Storage.Blobs.Batch/12.3.1) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Storage.Blobs.Batch-readme/) | github [12.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.Batch_12.3.1/sdk/storage/Azure.Storage.Blobs.Batch/) | -| Storage - Common | NuGet [12.5.2](https://www.nuget.org/packages/Azure.Storage.Common/12.5.2) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Storage.Common-readme/) | github [12.5.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.5.2/sdk/storage/Azure.Storage.Common/) | -| Storage - Files Data Lake | NuGet [12.4.0](https://www.nuget.org/packages/Azure.Storage.Files.DataLake/12.4.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Storage.Files.DataLake-readme/) | github [12.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.DataLake_12.4.0/sdk/storage/Azure.Storage.Files.DataLake/) | -| Storage - Files Shares | NuGet [12.4.0](https://www.nuget.org/packages/Azure.Storage.Files.Shares/12.4.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Storage.Files.Shares-readme/) | github [12.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.4.0/sdk/storage/Azure.Storage.Files.Shares/) | -| Storage - Queues | NuGet [12.4.2](https://www.nuget.org/packages/Azure.Storage.Queues/12.4.2) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/Storage.Queues-readme/) | github [12.4.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.4.2/sdk/storage/Azure.Storage.Queues/) | -| Text Analytics | NuGet [5.0.0](https://www.nuget.org/packages/Azure.AI.TextAnalytics/5.0.0) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/AI.TextAnalytics-readme/) | github [5.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.0.0/sdk/textanalytics/Azure.AI.TextAnalytics/) | +| Service Bus | NuGet [7.0.0-preview.6](https://www.nuget.org/packages/Azure.Messaging.ServiceBus/7.0.0-preview.6) | [docs](/dotnet/api/overview/azure/Messaging.ServiceBus-readme/) | github [7.0.0-preview.6](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.ServiceBus_7.0.0-preview.6/sdk/servicebus/Azure.Messaging.ServiceBus/) | +| Storage - Blobs | NuGet [12.6.0](https://www.nuget.org/packages/Azure.Storage.Blobs/12.6.0) | [docs](/dotnet/api/overview/azure/Storage.Blobs-readme/) | github [12.6.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.6.0/sdk/storage/Azure.Storage.Blobs/) | +| Storage - Blobs Batch | NuGet [12.3.1](https://www.nuget.org/packages/Azure.Storage.Blobs.Batch/12.3.1) | [docs](/dotnet/api/overview/azure/Storage.Blobs.Batch-readme/) | github [12.3.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.Batch_12.3.1/sdk/storage/Azure.Storage.Blobs.Batch/) | +| Storage - Common | NuGet [12.5.2](https://www.nuget.org/packages/Azure.Storage.Common/12.5.2) | [docs](/dotnet/api/overview/azure/Storage.Common-readme/) | github [12.5.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.5.2/sdk/storage/Azure.Storage.Common/) | +| Storage - Files Data Lake | NuGet [12.4.0](https://www.nuget.org/packages/Azure.Storage.Files.DataLake/12.4.0) | [docs](/dotnet/api/overview/azure/Storage.Files.DataLake-readme/) | github [12.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.DataLake_12.4.0/sdk/storage/Azure.Storage.Files.DataLake/) | +| Storage - Files Shares | NuGet [12.4.0](https://www.nuget.org/packages/Azure.Storage.Files.Shares/12.4.0) | [docs](/dotnet/api/overview/azure/Storage.Files.Shares-readme/) | github [12.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.4.0/sdk/storage/Azure.Storage.Files.Shares/) | +| Storage - Queues | NuGet [12.4.2](https://www.nuget.org/packages/Azure.Storage.Queues/12.4.2) | [docs](/dotnet/api/overview/azure/Storage.Queues-readme/) | github [12.4.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.4.2/sdk/storage/Azure.Storage.Queues/) | +| Text Analytics | NuGet [5.0.0](https://www.nuget.org/packages/Azure.AI.TextAnalytics/5.0.0) | [docs](/dotnet/api/overview/azure/AI.TextAnalytics-readme/) | github [5.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.0.0/sdk/textanalytics/Azure.AI.TextAnalytics/) | | Resource Management - AppConfiguration | NuGet [1.0.0-preview.1](https://www.nuget.org/packages/Azure.ResourceManager.AppConfiguration/1.0.0-preview.1) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/ResourceManager.AppConfiguration-readme/) | github [1.0.0-preview.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppConfiguration_1.0.0-preview.1/sdk/appconfiguration/Azure.ResourceManager.AppConfiguration/) | | Resource Management - Compute | NuGet [1.0.0-preview.1](https://www.nuget.org/packages/Azure.ResourceManager.Compute/1.0.0-preview.1) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/ResourceManager.Compute-readme/) | github [1.0.0-preview.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Compute_1.0.0-preview.1/sdk/compute/Azure.ResourceManager.Compute/) | | Resource Management - EventHubs | NuGet [1.0.0-preview.1](https://www.nuget.org/packages/Azure.ResourceManager.EventHubs/1.0.0-preview.1) | [docs](https://docs.microsoft.com/dotnet/api/overview/azure/ResourceManager.EventHubs-readme/) | github [1.0.0-preview.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EventHubs_1.0.0-preview.1/sdk/eventhub/Azure.ResourceManager.EventHubs/) | diff --git a/docs/azure/landing-page.yml b/docs/azure/landing-page.yml index e26392b5872c1..fe07c601e6c81 100644 --- a/docs/azure/landing-page.yml +++ b/docs/azure/landing-page.yml @@ -226,10 +226,10 @@ landingContent: - linkListType: architecture links: - text: ".NET Microservices: Architecture for containerized .NET apps" - url: /dotnet/architecture/microservices/ + url: ../architecture/microservices/index.md - text: Architect modern web applications with ASP.NET Core and Azure - url: /dotnet/architecture/modern-web-apps-azure/ + url: ../architecture/modern-web-apps-azure/index.md - text: Containerized Docker application lifecycle with Microsoft platform and tools - url: /dotnet/architecture/containerized-lifecycle/ + url: ../architecture/containerized-lifecycle/index.md - text: Modernize existing .NET applications with Azure cloud and Windows containers url: /dotnet/architecture/modernize-with-azure-containers/ \ No newline at end of file diff --git a/docs/azure/migration/app-service.md b/docs/azure/migration/app-service.md index c91c6f08fa81b..b593c8b041007 100644 --- a/docs/azure/migration/app-service.md +++ b/docs/azure/migration/app-service.md @@ -31,9 +31,9 @@ For WCF, the following bindings are supported: |--|--| | `BasicHttp` | | | `WSHttp` | | -| `WSDualHttpBinding` | [Web socket support](https://docs.microsoft.com/azure/app-service/web-sites-configure) must be enabled. | [Web socket support](/azure/app-service/web-sites-configure) must be enabled. | -| `NetHttpBinding` | [Web socket support](https://docs.microsoft.com/azure/app-service/web-sites-configure) must be enabled for duplex contracts. | [Web socket support](/azure/app-service/web-sites-configure) must be enabled for duplex contracts. | -| `NetHttpsBinding` | [Web socket support](https://docs.microsoft.com/azure/app-service/web-sites-configure) must be enabled for duplex contracts. | [Web socket support](/azure/app-service/web-sites-configure) must be enabled for duplex contracts. | +| `WSDualHttpBinding` | [Web socket support](/azure/app-service/web-sites-configure) must be enabled. | [Web socket support](/azure/app-service/web-sites-configure) must be enabled. | +| `NetHttpBinding` | [Web socket support](/azure/app-service/web-sites-configure) must be enabled for duplex contracts. | [Web socket support](/azure/app-service/web-sites-configure) must be enabled for duplex contracts. | +| `NetHttpsBinding` | [Web socket support](/azure/app-service/web-sites-configure) must be enabled for duplex contracts. | [Web socket support](/azure/app-service/web-sites-configure) must be enabled for duplex contracts. | | `BasicHttpContextBinding` | | | `WebHttpBinding` | | | `WSHttpContextBinding` | | @@ -56,7 +56,7 @@ IIS5 Compatibility Mode is not supported. In Azure App Service, each web app and #### IIS7+ schema compliance -Some elements and attributes are not defined in the Azure App Service IIS schema. If you encounter issues, consider using [XDT transforms](https://azure.microsoft.com/documentation/articles/web-sites-transform-extend/). +Some elements and attributes are not defined in the Azure App Service IIS schema. If you encounter issues, consider using [XDT transforms](/azure/app-service/configure-common). #### Single application pool per site diff --git a/docs/core/about.md b/docs/core/about.md index dc671ea72c279..b924b71f0e066 100644 --- a/docs/core/about.md +++ b/docs/core/about.md @@ -33,7 +33,7 @@ Editor integration is provided, in part, by the contributors of the [OmniSharp]( * Cloud apps with [ASP.NET Core](/aspnet/core/) * Mobile apps with [Xamarin](/xamarin) -* IoT apps with [System.Device.GPIO](https://docs.microsoft.com/archive/msdn-magazine/2019/august/net-core-cross-platform-iot-programming-with-net-core-3-0) +* IoT apps with [System.Device.GPIO](/archive/msdn-magazine/2019/august/net-core-cross-platform-iot-programming-with-net-core-3-0) * Windows client apps with [WPF](../desktop-wpf/overview/index.md) and Windows Forms * Machine learning [ML.NET](../machine-learning/index.yml) @@ -58,7 +58,7 @@ Many APIs are included that satisfy common needs: ### Open source -[.NET Core](about.md) is an [open-source](https://github.com/dotnet/runtime/blob/master/LICENSE.TXT), general-purpose development platform. You can create .NET Core apps for Windows, macOS, and Linux for x64, x86, ARM32, and ARM64 processors. Frameworks and APIs are provided for [cloud](/aspnet/core/), [IoT](https://docs.microsoft.com/archive/msdn-magazine/2019/august/net-core-cross-platform-iot-programming-with-net-core-3-0), [client UI](../desktop-wpf/overview/index.md), and [machine learning](../machine-learning/index.yml). +[.NET Core](about.md) is an [open-source](https://github.com/dotnet/runtime/blob/master/LICENSE.TXT), general-purpose development platform. You can create .NET Core apps for Windows, macOS, and Linux for x64, x86, ARM32, and ARM64 processors. Frameworks and APIs are provided for [cloud](/aspnet/core/), [IoT](/archive/msdn-magazine/2019/august/net-core-cross-platform-iot-programming-with-net-core-3-0), [client UI](../desktop-wpf/overview/index.md), and [machine learning](../machine-learning/index.yml). ## Support diff --git a/docs/core/additional-tools/xml-serializer-generator.md b/docs/core/additional-tools/xml-serializer-generator.md index ab910efc55349..c741135235a3f 100644 --- a/docs/core/additional-tools/xml-serializer-generator.md +++ b/docs/core/additional-tools/xml-serializer-generator.md @@ -125,5 +125,5 @@ Congratulations! You have just: ## Related resources - [Introducing XML Serialization](../../standard/serialization/introducing-xml-serialization.md) -- [How to serialize using XmlSerializer (C#)](../../csharp/programming-guide/concepts/linq/how-to-serialize-using-xmlserializer.md) -- [How to: Serialize Using XmlSerializer (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/how-to-serialize-using-xmlserializer.md) +- [How to serialize using XmlSerializer (C#)](../../standard/linq/serialize-xmlserializer.md) +- [How to: Serialize Using XmlSerializer (Visual Basic)](../../standard/linq/serialize-xmlserializer.md) diff --git a/docs/core/deploying/deploy-with-vs.md b/docs/core/deploying/deploy-with-vs.md index e4151b05b71a6..c7b677f7bebaf 100644 --- a/docs/core/deploying/deploy-with-vs.md +++ b/docs/core/deploying/deploy-with-vs.md @@ -18,7 +18,7 @@ The following sections show how to use Microsoft Visual Studio to create the fol - Self-contained deployment - Self-contained deployment with third-party dependencies -For information on using Visual Studio to develop .NET Core applications, see [.NET Core dependencies and requirements](../install/dependencies.md?pivots=os-windows). +For information on using Visual Studio to develop .NET Core applications, see [.NET Core dependencies and requirements](../install/windows.md?pivots=os-windows). ## Framework-dependent deployment diff --git a/docs/core/diagnostics/debug-deadlock.md b/docs/core/diagnostics/debug-deadlock.md index f35752d853f66..8485fddd0ee16 100644 --- a/docs/core/diagnostics/debug-deadlock.md +++ b/docs/core/diagnostics/debug-deadlock.md @@ -9,7 +9,7 @@ ms.date: 07/20/2020 **This article applies to: ✔️** .NET Core 3.1 SDK and later versions -In this tutorial, you'll learn how to debug a deadlock scenario. Using the provided example [ASP.NET Core web app](https://docs.microsoft.com/samples/dotnet/samples/diagnostic-scenarios) source code repository, you can cause a deadlock intentionally. The endpoint will experience a hang and thread accumulation. You'll learn how you can use various tools to analyze the problem, such as core dumps, core dump analysis, and process tracing. +In this tutorial, you'll learn how to debug a deadlock scenario. Using the provided example [ASP.NET Core web app](/samples/dotnet/samples/diagnostic-scenarios) source code repository, you can cause a deadlock intentionally. The endpoint will experience a hang and thread accumulation. You'll learn how you can use various tools to analyze the problem, such as core dumps, core dump analysis, and process tracing. In this tutorial, you will: @@ -26,13 +26,13 @@ In this tutorial, you will: The tutorial uses: - [.NET Core 3.1 SDK](https://dotnet.microsoft.com/download/dotnet-core) or a later version -- [Sample debug target - web app](https://docs.microsoft.com/samples/dotnet/samples/diagnostic-scenarios) to trigger the scenario +- [Sample debug target - web app](/samples/dotnet/samples/diagnostic-scenarios) to trigger the scenario - [dotnet-trace](dotnet-trace.md) to list processes - [dotnet-dump](dotnet-dump.md) to collect, and analyze a dump file ## Core dump generation -To investigate application unresponsiveness, a core dump or memory dump allows you to inspect the state of its threads and any possible locks that may have contention issues. Run the [sample debug](https://docs.microsoft.com/samples/dotnet/samples/diagnostic-scenarios) application using the following command from the sample root directory: +To investigate application unresponsiveness, a core dump or memory dump allows you to inspect the state of its threads and any possible locks that may have contention issues. Run the [sample debug](/samples/dotnet/samples/diagnostic-scenarios) application using the following command from the sample root directory: ```dotnetcli dotnet run diff --git a/docs/core/diagnostics/debug-highcpu.md b/docs/core/diagnostics/debug-highcpu.md index f1adf5214fa2e..0160a74d238f5 100644 --- a/docs/core/diagnostics/debug-highcpu.md +++ b/docs/core/diagnostics/debug-highcpu.md @@ -9,7 +9,7 @@ ms.date: 07/20/2020 **This article applies to: ✔️** .NET Core 3.1 SDK and later versions -In this tutorial, you'll learn how to debug an excessive CPU usage scenario. Using the provided example [ASP.NET Core web app](https://docs.microsoft.com/samples/dotnet/samples/diagnostic-scenarios) source code repository, you can cause a deadlock intentionally. The endpoint will experience a hang and thread accumulation. You'll learn how you can use various tools to diagnose this scenario with several key pieces of diagnostics data. +In this tutorial, you'll learn how to debug an excessive CPU usage scenario. Using the provided example [ASP.NET Core web app](/samples/dotnet/samples/diagnostic-scenarios) source code repository, you can cause a deadlock intentionally. The endpoint will experience a hang and thread accumulation. You'll learn how you can use various tools to diagnose this scenario with several key pieces of diagnostics data. In this tutorial, you will: @@ -26,13 +26,13 @@ In this tutorial, you will: The tutorial uses: - [.NET Core 3.1 SDK](https://dotnet.microsoft.com/download/dotnet-core) or a later version. -- [Sample debug target](https://docs.microsoft.com/samples/dotnet/samples/diagnostic-scenarios) to trigger the scenario. +- [Sample debug target](/samples/dotnet/samples/diagnostic-scenarios) to trigger the scenario. - [dotnet-trace](dotnet-trace.md) to list processes and generate a profile. - [dotnet-counters](dotnet-counters.md) to monitor cpu usage. ## CPU counters -Before attempting to collect diagnostics data, you need to observe a high CPU condition. Run the [sample application](https://docs.microsoft.com/samples/dotnet/samples/diagnostic-scenarios) using the following command from the project root directory. +Before attempting to collect diagnostics data, you need to observe a high CPU condition. Run the [sample application](/samples/dotnet/samples/diagnostic-scenarios) using the following command from the project root directory. ```dotnetcli dotnet run @@ -111,11 +111,11 @@ When analyzing a slow request, you need a diagnostics tool that can provide insi ### [Linux](#tab/linux) -The `perf` tool can be used to generate .NET Core app profiles. Exit the previous instance of the [sample debug target](https://docs.microsoft.com/samples/dotnet/samples/diagnostic-scenarios). +The `perf` tool can be used to generate .NET Core app profiles. Exit the previous instance of the [sample debug target](/samples/dotnet/samples/diagnostic-scenarios). Set the `COMPlus_PerfMapEnabled` environment variable to cause the .NET Core app to create a `map` file in the `/tmp` directory. This `map` file is used by `perf` to map CPU address to JIT-generated functions by name. For more information, see [Write perf map](../run-time-config/debugging-profiling.md#write-perf-map). -Run the [sample debug target](https://docs.microsoft.com/samples/dotnet/samples/diagnostic-scenarios) in the same terminal session. +Run the [sample debug target](/samples/dotnet/samples/diagnostic-scenarios) in the same terminal session. ```dotnetcli export COMPlus_PerfMapEnabled=1 @@ -147,7 +147,7 @@ This command generates a `flamegraph.svg` that you can view in the browser to in ### [Windows](#tab/windows) -On Windows, you can use the [dotnet-trace](dotnet-trace.md) tool as a profiler. Using the previous [sample debug target](https://docs.microsoft.com/samples/dotnet/samples/diagnostic-scenarios), exercise the high CPU endpoint (`https://localhost:5001/api/diagscenario/highcpu/60000`) again. While it's running within the 1-minute request, use the `collect` command as follows: +On Windows, you can use the [dotnet-trace](dotnet-trace.md) tool as a profiler. Using the previous [sample debug target](/samples/dotnet/samples/diagnostic-scenarios), exercise the high CPU endpoint (`https://localhost:5001/api/diagscenario/highcpu/60000`) again. While it's running within the 1-minute request, use the `collect` command as follows: ```dotnetcli dotnet-trace collect -p 22884 --providers Microsoft-DotNETCore-SampleProfiler diff --git a/docs/core/diagnostics/debug-memory-leak.md b/docs/core/diagnostics/debug-memory-leak.md index 153309f4f0787..c8e66d56d915d 100644 --- a/docs/core/diagnostics/debug-memory-leak.md +++ b/docs/core/diagnostics/debug-memory-leak.md @@ -29,7 +29,7 @@ The tutorial uses: - [dotnet-trace](dotnet-trace.md) to list processes. - [dotnet-counters](dotnet-counters.md) to check managed memory usage. - [dotnet-dump](dotnet-dump.md) to collect and analyze a dump file. -- A [sample debug target](https://docs.microsoft.com/samples/dotnet/samples/diagnostic-scenarios/) app to diagnose. +- A [sample debug target](/samples/dotnet/samples/diagnostic-scenarios/) app to diagnose. The tutorial assumes the sample and tools are installed and ready to use. @@ -37,7 +37,7 @@ The tutorial assumes the sample and tools are installed and ready to use. Before you start collecting diagnostics data to help us root cause this scenario, you need to make sure you're actually seeing a memory leak (memory growth). You can use the [dotnet-counters](dotnet-counters.md) tool to confirm that. -Open a console window and navigate to the directory where you downloaded and unzipped the [sample debug target](https://docs.microsoft.com/samples/dotnet/samples/diagnostic-scenarios/). Run the target: +Open a console window and navigate to the directory where you downloaded and unzipped the [sample debug target](/samples/dotnet/samples/diagnostic-scenarios/). Run the target: ```dotnetcli dotnet run @@ -111,7 +111,7 @@ By watching the memory usage, you can safely say that memory is growing or leaki When analyzing possible memory leaks, you need access to the app's memory heap. Then you can analyze the memory contents. Looking at relationships between objects, you create theories on why memory isn't being freed. A common diagnostics data source is a memory dump on Windows or the equivalent core dump on Linux. To generate a dump of a .NET Core application, you can use the [dotnet-dump)](dotnet-dump.md) tool. -Using the [sample debug target](https://docs.microsoft.com/samples/dotnet/samples/diagnostic-scenarios/) previously started, run the following command to generate a Linux core dump: +Using the [sample debug target](/samples/dotnet/samples/diagnostic-scenarios/) previously started, run the following command to generate a Linux core dump: ```dotnetcli dotnet-dump collect -p 4807 @@ -128,7 +128,7 @@ Complete Once the dump is collected, you should have sufficient information to diagnose the failed process. If the failed process is running on a production server, now it's the ideal time for short-term remediation by restarting the process. -In this tutorial, you're now done with the [Sample debug target](https://docs.microsoft.com/samples/dotnet/samples/diagnostic-scenarios/) and you can close it. Navigate to the terminal that started the server, and press Ctrl+C. +In this tutorial, you're now done with the [Sample debug target](/samples/dotnet/samples/diagnostic-scenarios/) and you can close it. Navigate to the terminal that started the server, and press Ctrl+C. ### Analyze the core dump @@ -141,7 +141,7 @@ dotnet-dump analyze core_20190430_185145 Where `core_20190430_185145` is the name of the core dump you want to analyze. > [!NOTE] -> If you see an error complaining that *libdl.so* cannot be found, you may have to install the *libc6-dev* package. For more information, see [Prerequisites for .NET Core on Linux](../install/dependencies.md?pivots=os-linux). +> If you see an error complaining that *libdl.so* cannot be found, you may have to install the *libc6-dev* package. For more information, see [Prerequisites for .NET Core on Linux](../install/windows.md?pivots=os-linux). You'll be presented with a prompt where you can enter SOS commands. Commonly, the first thing you want to look at is the overall state of the managed heap: diff --git a/docs/core/diagnostics/event-counter-perf.md b/docs/core/diagnostics/event-counter-perf.md index 784012893f059..7fbc7b002534c 100644 --- a/docs/core/diagnostics/event-counter-perf.md +++ b/docs/core/diagnostics/event-counter-perf.md @@ -24,11 +24,11 @@ The tutorial uses: - [.NET Core 3.1 SDK](https://dotnet.microsoft.com/download/dotnet-core) or a later version. - [dotnet-counters](dotnet-counters.md) to monitor event counters. -- A [sample debug target](https://docs.microsoft.com/samples/dotnet/samples/diagnostic-scenarios) app to diagnose. +- A [sample debug target](/samples/dotnet/samples/diagnostic-scenarios) app to diagnose. ## Get the source -The sample application will be used as a basis for monitoring. The [sample ASP.NET Core repository](https://docs.microsoft.com/samples/dotnet/samples/diagnostic-scenarios) is available from the samples browser. You download the zip file, extract it once downloaded, and open it in your favorite IDE. Build and run the application to ensure that it works properly, then stop the application. +The sample application will be used as a basis for monitoring. The [sample ASP.NET Core repository](/samples/dotnet/samples/diagnostic-scenarios) is available from the samples browser. You download the zip file, extract it once downloaded, and open it in your favorite IDE. Build and run the application to ensure that it works properly, then stop the application. ## Implement an EventSource diff --git a/docs/core/diagnostics/index.md b/docs/core/diagnostics/index.md index d8b1b05326e90..376df06269874 100644 --- a/docs/core/diagnostics/index.md +++ b/docs/core/diagnostics/index.md @@ -51,7 +51,7 @@ The [dotnet-gcdump](dotnet-gcdump.md) tool is a way to collect GC (Garbage Colle ### dotnet-sos -[dotnet-sos](dotnet-sos.md) is used to install the [SOS debugging extension](https://docs.microsoft.com/dotnet/framework/tools/sos-dll-sos-debugging-extension) on Linux or MacOS (or on Windows if using older debugging tools). +[dotnet-sos](dotnet-sos.md) is used to install the [SOS debugging extension](../../framework/tools/sos-dll-sos-debugging-extension.md) on Linux or MacOS (or on Windows if using older debugging tools). ## .NET Core diagnostics tutorials diff --git a/docs/core/get-started.md b/docs/core/get-started.md index 205e04da2a4bc..524ab6781ef75 100644 --- a/docs/core/get-started.md +++ b/docs/core/get-started.md @@ -48,7 +48,7 @@ Get started developing .NET Core applications by following these step-by-step tu | ![movie camera icon for video](./media/video-icon.png "Watch a video") | Watch the [how to install and use Visual Studio Code and .NET Core](https://channel9.msdn.com/Blogs/dotnet/Get-started-with-VS-Code-using-CSharp-and-NET-Core/) video on Channel 9. | | ![movie camera icon for video](./media/video-icon.png "Watch a video") | Watch the [.NET Core 101](https://www.youtube.com/playlist?list=PLdo4fOcmZ0oWoazjhXQzBKMrFuArxpW80) videos on YouTube. | -See the [.NET Core dependencies and requirements](install/dependencies.md?pivots=os-windows) article for a list of the supported Windows versions. +See the [.NET Core dependencies and requirements](./install/windows.md?pivots=os-windows) article for a list of the supported Windows versions. # [Linux](#tab/linux) @@ -60,7 +60,7 @@ Get started developing .NET Core applications by following these step-by-step tu |---|---| | ![movie camera icon for video](./media/video-icon.png "Watch a video") | Watch a video on [getting started with Visual Studio Code using C# and .NET Core on Ubuntu](https://channel9.msdn.com/Blogs/dotnet/Get-started-with-VS-Code-Csharp-dotnet-Core-Ubuntu). | -See the [.NET Core dependencies and requirements](install/dependencies.md?pivots=os-linux) article for a list of the supported Linux distros and versions. +See the [.NET Core dependencies and requirements](./install/windows.md?pivots=os-linux) article for a list of the supported Linux distros and versions. # [macOS](#tab/macos) @@ -74,6 +74,6 @@ Get started developing .NET Core applications by following these step-by-step tu |---|---| | ![movie camera icon for video](media/video-icon.png "Watch a video") | Watch a video on [getting started with Visual Studio Code using C# and .NET Core on macOS](https://channel9.msdn.com/Blogs/dotnet/Get-started-VSCode-NET-Core-Mac). | -See the [.NET Core dependencies and requirements](install/dependencies.md?pivots=os-macos) article for a list of the supported OS X / macOS versions. +See the [.NET Core dependencies and requirements](./install/windows.md?pivots=os-macos) article for a list of the supported OS X / macOS versions. --- diff --git a/docs/core/install/macos-notarization-issues.md b/docs/core/install/macos-notarization-issues.md index e373332fb8f68..74c3cd8bd43f2 100644 --- a/docs/core/install/macos-notarization-issues.md +++ b/docs/core/install/macos-notarization-issues.md @@ -12,7 +12,7 @@ Beginning with macOS Catalina (version 10.15), all software built after June 1, ## Installing .NET Core -The installers for .NET Core (both runtime and SDK) versions 3.1, 3.0, and 2.1, have been notarized since February 18, 2020. Prior released versions aren't notarized. You can manually install a non-notarized version of .NET Core by first downloading the installer, and then using the `sudo installer` command. For more information, see [Download and manually install for macOS](sdk.md?pivots=os-macos#download-and-manually-install). +The installers for .NET Core (both runtime and SDK) versions 3.1, 3.0, and 2.1, have been notarized since February 18, 2020. Prior released versions aren't notarized. You can manually install a non-notarized version of .NET Core by first downloading the installer, and then using the `sudo installer` command. For more information, see [Download and manually install for macOS](./windows.md?pivots=os-macos#download-and-manually-install). Beginning with the following versions, the .NET Core installers are notarized: diff --git a/docs/core/install/macos.md b/docs/core/install/macos.md index f8f545df6666e..b1f93a0fe0cfa 100644 --- a/docs/core/install/macos.md +++ b/docs/core/install/macos.md @@ -172,7 +172,7 @@ While Visual Studio Code doesn't come with an automated .NET Core installer like The [dotnet-install scripts](../tools/dotnet-install-script.md) are used for automation and non-admin installs of the runtime. You can download the script from the [dotnet-install script reference page](../tools/dotnet-install-script.md). -The script defaults to installing the latest [long term support (LTS)](https://dotnet.microsoft.com/platform/support/policy/dotnet-core) version, which is .NET Core 3.1. You can choose a specific release by specifying the `current` switch. Include the `runtime` switch to install a runtime. Otherwise, the script installs the [SDK](sdk.md). +The script defaults to installing the latest [long term support (LTS)](https://dotnet.microsoft.com/platform/support/policy/dotnet-core) version, which is .NET Core 3.1. You can choose a specific release by specifying the `current` switch. Include the `runtime` switch to install a runtime. Otherwise, the script installs the [SDK](./windows.md). ```bash ./dotnet-install.sh --channel 3.1 --runtime aspnetcore diff --git a/docs/core/install/windows.md b/docs/core/install/windows.md index 65406dd13ddb7..5daff596ccb34 100644 --- a/docs/core/install/windows.md +++ b/docs/core/install/windows.md @@ -185,7 +185,7 @@ The requirements above are also required if you come across one of the following The [dotnet-install scripts](../tools/dotnet-install-script.md) are used for CI automation and non-admin installs of the runtime. You can download the script from the [dotnet-install script reference page](../tools/dotnet-install-script.md). -The script defaults to installing the latest [long term support (LTS)](https://dotnet.microsoft.com/platform/support/policy/dotnet-core) version, which is .NET Core 3.1. You can choose a specific release by specifying the `Channel` switch. Include the `Runtime` switch to install a runtime. Otherwise, the script installs the [SDK](sdk.md). +The script defaults to installing the latest [long term support (LTS)](https://dotnet.microsoft.com/platform/support/policy/dotnet-core) version, which is .NET Core 3.1. You can choose a specific release by specifying the `Channel` switch. Include the `Runtime` switch to install a runtime. Otherwise, the script installs the SDK. ```powershell dotnet-install.ps1 -Channel 3.1 -Runtime aspnetcore diff --git a/docs/core/introduction.md b/docs/core/introduction.md index 9533a6264b958..a872b56c2e9e3 100644 --- a/docs/core/introduction.md +++ b/docs/core/introduction.md @@ -7,7 +7,7 @@ ms.custom: "updateeachrelease" --- # Introduction to .NET Core -[.NET Core](about.md) is an [open-source](https://github.com/dotnet/runtime/blob/master/LICENSE.TXT), general-purpose development platform. You can create .NET Core apps for Windows, macOS, and Linux for x64, x86, ARM32, and ARM64 processors using multiple programming languages. Frameworks and APIs are provided for [cloud](/aspnet/core/), [IoT](/archive/msdn-magazine/2019/august/net-core-cross-platform-iot-programming-with-net-core-3-0), [client UI](../desktop-wpf/overview/index.md), and [machine learning](/dotnet/machine-learning/). +[.NET Core](about.md) is an [open-source](https://github.com/dotnet/runtime/blob/master/LICENSE.TXT), general-purpose development platform. You can create .NET Core apps for Windows, macOS, and Linux for x64, x86, ARM32, and ARM64 processors using multiple programming languages. Frameworks and APIs are provided for [cloud](/aspnet/core/), [IoT](/archive/msdn-magazine/2019/august/net-core-cross-platform-iot-programming-with-net-core-3-0), [client UI](../desktop-wpf/overview/index.md), and [machine learning](../machine-learning/index.yml). [Download the .NET Core SDK](https://dotnet.microsoft.com/download) to try .NET Core on your machine. The latest version is [.NET Core 3.1](https://devblogs.microsoft.com/dotnet/announcing-net-core-3-1/). @@ -16,7 +16,7 @@ ms.custom: "updateeachrelease" You can get .NET Core in the following ways: * [Installers for Windows and macOS](https://dotnet.microsoft.com/download) -* [Linux packages](https://docs.microsoft.com/dotnet/core/install/linux-package-managers) +* [Linux packages](./install/linux.md) * [Docker containers](https://hub.docker.com/_/microsoft-dotnet-core/) * [Zips and tarballs](https://dotnet.microsoft.com/download/dotnet-core/3.1) * [Install scripts](https://dotnet.microsoft.com/download/dotnet-core/scripts) diff --git a/docs/core/migration/index.md b/docs/core/migration/index.md index 592d45738f0f3..d3f0ed9ee8530 100644 --- a/docs/core/migration/index.md +++ b/docs/core/migration/index.md @@ -72,7 +72,7 @@ The .NET Core csproj format has been changing and evolving with each new pre-rel - Remove the XML namespace (`xmlns`) from the `` element. - If it doesn't exist, add the `Sdk` attribute to the `` element and set it to `Microsoft.NET.Sdk` or `Microsoft.NET.Sdk.Web`. This attribute specifies that the project uses the SDK to be used. `Microsoft.NET.Sdk.Web` is used for web apps. - Remove the `` and `` statements from the top and bottom of the project. These import statements are implied by the SDK, so there is no need for them to be in the project. -- If you have `Microsoft.NETCore.App` or `NETStandard.Library` `` items in your project, you should remove them. These package references are [implied by the SDK](https://aka.ms/sdkimplicitrefs). +- If you have `Microsoft.NETCore.App` or `NETStandard.Library` `` items in your project, you should remove them. These package references are [implied by the SDK](../tools/csproj.md). - Remove the `Microsoft.NET.Sdk` `` element, if it exists. The SDK reference comes through the `Sdk` attribute on the `` element. - Remove the [globs](https://en.wikipedia.org/wiki/Glob_(programming)) that are [implied by the SDK](../project-sdk/overview.md#default-compilation-includes). Leaving these globs in your project will cause an error on build because compile items will be duplicated. diff --git a/docs/core/rid-catalog.md b/docs/core/rid-catalog.md index d3ab960e23da4..ab578a7b4099d 100644 --- a/docs/core/rid-catalog.md +++ b/docs/core/rid-catalog.md @@ -102,7 +102,7 @@ Only common values are listed. For the latest and complete version, see the [run - `win10-arm` - `win10-arm64` -For more information, see [.NET Core dependencies and requirements](install/dependencies.md?pivots=os-windows). +For more information, see [.NET Core dependencies and requirements](./install/windows.md?pivots=os-windows). ## Linux RIDs @@ -121,7 +121,7 @@ Only common values are listed. For the latest and complete version, see the [run - `tizen.4.0.0` - `tizen.5.0.0` -For more information, see [.NET Core dependencies and requirements](install/dependencies.md?pivots=os-linux). +For more information, see [.NET Core dependencies and requirements](./install/windows.md?pivots=os-linux). ## macOS RIDs @@ -140,7 +140,7 @@ macOS RIDs use the older "OSX" branding. Only common values are listed. For the - macOS 10.14 Mojave (.NET Core 1.1 or later versions) - `osx.10.14-x64` -For more information, see [.NET Core dependencies and requirements](install/dependencies.md?pivots=os-macos). +For more information, see [.NET Core dependencies and requirements](./install/windows.md?pivots=os-macos). ## See also diff --git a/docs/core/run-time-config/index.md b/docs/core/run-time-config/index.md index af46f5d8df7f8..4303dbf03912d 100644 --- a/docs/core/run-time-config/index.md +++ b/docs/core/run-time-config/index.md @@ -12,7 +12,7 @@ ms.date: 01/21/2020 - Multiple instances of your application run at the same time on a single system, and you want to configure each for optimum performance. > [!NOTE] -> This documentation is a work in progress. If you notice that the information presented here is either incomplete or inaccurate, either [open an issue](https://github.com/dotnet/docs/issues) to let us know about it, or [submit a pull request](https://github.com/dotnet/docs/pulls) to address the issue. For information about submitting pull requests for the dotnet/docs repository, see the [contributor's guide](https://docs.microsoft.com/contribute/dotnet/dotnet-contribute). +> This documentation is a work in progress. If you notice that the information presented here is either incomplete or inaccurate, either [open an issue](https://github.com/dotnet/docs/issues) to let us know about it, or [submit a pull request](https://github.com/dotnet/docs/pulls) to address the issue. For information about submitting pull requests for the dotnet/docs repository, see the [contributor's guide](/contribute/dotnet/dotnet-contribute). .NET Core provides the following mechanisms for configuring application behavior at run time: diff --git a/docs/core/run-time-config/networking.md b/docs/core/run-time-config/networking.md index 79d40f6b72ed2..91852d8566cd3 100644 --- a/docs/core/run-time-config/networking.md +++ b/docs/core/run-time-config/networking.md @@ -24,7 +24,7 @@ ms.topic: reference - Configures whether uses or older HTTP protocol stacks ( on Windows and `CurlHandler`, an internal class implemented on top of [libcurl](https://curl.haxx.se/libcurl/), on Linux). > [!NOTE] - > You may be using high-level networking APIs instead of directly instantiating the class. This setting also affects which HTTP protocol stack is used by high-level networking APIs, including and [HttpClientFactory](https://docs.microsoft.com/previous-versions/aspnet/hh995280(v%3dvs.118)). + > You may be using high-level networking APIs instead of directly instantiating the class. This setting also affects which HTTP protocol stack is used by high-level networking APIs, including and [HttpClientFactory](/previous-versions/aspnet/hh995280(v=vs.118)). - If you omit this setting, uses . This is equivalent to setting the value to `true`. diff --git a/docs/core/testing/unit-testing-code-coverage.md b/docs/core/testing/unit-testing-code-coverage.md index f91331fa31433..6306811947228 100644 --- a/docs/core/testing/unit-testing-code-coverage.md +++ b/docs/core/testing/unit-testing-code-coverage.md @@ -14,7 +14,7 @@ This article discusses the usage of code coverage for unit testing with Coverlet Additionally, this article details how to use the code coverage information collected from a Coverlet test run to generate a report. The report generation is possible using another [open source project on GitHub - ReportGenerator](https://github.com/danielpalme/ReportGenerator). ReportGenerator converts coverage reports generated by Cobertura among many others, into human readable reports in various formats. -This article is based on the [sample source code project](https://docs.microsoft.com/samples/dotnet/samples/unit-testing-code-coverage-cs), available on samples browser. +This article is based on the [sample source code project](/samples/dotnet/samples/unit-testing-code-coverage-cs), available on samples browser. ## System under test @@ -297,7 +297,7 @@ After running this command, an HTML file represents the generated report. - [GitHub - ReportGenerator repository](https://github.com/danielpalme/ReportGenerator) - [ReportGenerator project site](https://danielpalme.github.io/ReportGenerator) - [.NET Core CLI test command](../tools/dotnet-test.md) -- [Sample source code](https://docs.microsoft.com/samples/dotnet/samples/unit-testing-code-coverage-cs) +- [Sample source code](/samples/dotnet/samples/unit-testing-code-coverage-cs) ## Next Steps diff --git a/docs/core/tools/custom-templates.md b/docs/core/tools/custom-templates.md index ecbe4679a62f6..40767cc5a10b8 100644 --- a/docs/core/tools/custom-templates.md +++ b/docs/core/tools/custom-templates.md @@ -91,7 +91,7 @@ The *mytemplate* folder is an installable template pack. Once the pack is instal ## Packing a template into a NuGet package (nupkg file) -A custom template is packed with the [dotnet pack](dotnet-pack.md) command and a *.csproj* file. Alternatively, [NuGet](https://docs.microsoft.com/nuget/tools/nuget-exe-cli-reference) can be used with the [nuget pack](https://docs.microsoft.com/nuget/tools/cli-ref-pack) command along with a *.nuspec* file. However, NuGet requires the .NET Framework on Windows and [Mono](https://www.mono-project.com/) on Linux and macOS. +A custom template is packed with the [dotnet pack](dotnet-pack.md) command and a *.csproj* file. Alternatively, [NuGet](/nuget/tools/nuget-exe-cli-reference) can be used with the [nuget pack](/nuget/tools/cli-ref-pack) command along with a *.nuspec* file. However, NuGet requires the .NET Framework on Windows and [Mono](https://www.mono-project.com/) on Linux and macOS. The *.csproj* file is slightly different from a traditional code-project *.csproj* file. Note the following settings: diff --git a/docs/core/tools/dotnet-add-package.md b/docs/core/tools/dotnet-add-package.md index effa4e2649227..d2acf9055caeb 100644 --- a/docs/core/tools/dotnet-add-package.md +++ b/docs/core/tools/dotnet-add-package.md @@ -81,7 +81,7 @@ The *ToDo.csproj* file now contains a [``](/nuget/consume-pack - **`--package-directory `** - The directory where to restore the packages. The default package restore location is `%userprofile%\.nuget\packages` on Windows and `~/.nuget/packages` on macOS and Linux. For more information, see [Managing the global packages, cache, and temp folders in NuGet](https://docs.microsoft.com/nuget/consume-packages/managing-the-global-packages-and-cache-folders). + The directory where to restore the packages. The default package restore location is `%userprofile%\.nuget\packages` on Windows and `~/.nuget/packages` on macOS and Linux. For more information, see [Managing the global packages, cache, and temp folders in NuGet](/nuget/consume-packages/managing-the-global-packages-and-cache-folders). - **`-s|--source `** @@ -89,7 +89,7 @@ The *ToDo.csproj* file now contains a [``](/nuget/consume-pack - **`-v|--version `** - Version of the package. See [NuGet package versioning](https://docs.microsoft.com/nuget/reference/package-versioning). + Version of the package. See [NuGet package versioning](/nuget/reference/package-versioning). ## Examples @@ -113,5 +113,5 @@ The *ToDo.csproj* file now contains a [``](/nuget/consume-pack ## See also -- [Managing the global packages, cache, and temp folders in NuGet](https://docs.microsoft.com/nuget/consume-packages/managing-the-global-packages-and-cache-folders) -- [NuGet package versioning](https://docs.microsoft.com/nuget/reference/package-versioning) +- [Managing the global packages, cache, and temp folders in NuGet](/nuget/consume-packages/managing-the-global-packages-and-cache-folders) +- [NuGet package versioning](/nuget/reference/package-versioning) diff --git a/docs/core/tools/dotnet-install-script.md b/docs/core/tools/dotnet-install-script.md index ff4cc506ab79b..cf94bb362f190 100644 --- a/docs/core/tools/dotnet-install-script.md +++ b/docs/core/tools/dotnet-install-script.md @@ -125,7 +125,7 @@ The install scripts do not update the registry on Windows. They just download th - **`-NoCdn|--no-cdn`** - Disables downloading from the [Azure Content Delivery Network (CDN)](https://docs.microsoft.com/azure/cdn/cdn-overview) and uses the uncached feed directly. + Disables downloading from the [Azure Content Delivery Network (CDN)](/azure/cdn/cdn-overview) and uses the uncached feed directly. - **`-NoPath|--no-path`** diff --git a/docs/core/tools/dotnet-nuget-add-source.md b/docs/core/tools/dotnet-nuget-add-source.md index 45ce4023ab276..8bfb65db312fc 100644 --- a/docs/core/tools/dotnet-nuget-add-source.md +++ b/docs/core/tools/dotnet-nuget-add-source.md @@ -35,7 +35,7 @@ The `dotnet nuget add source` command adds a new package source to your NuGet co - **`--configfile `** - The NuGet configuration file. If specified, only the settings from this file will be used. If not specified, the hierarchy of configuration files from the current directory will be used. For more information, see [Common NuGet Configurations](https://docs.microsoft.com/nuget/consume-packages/configuring-nuget-behavior). + The NuGet configuration file. If specified, only the settings from this file will be used. If not specified, the hierarchy of configuration files from the current directory will be used. For more information, see [Common NuGet Configurations](/nuget/consume-packages/configuring-nuget-behavior). - **`-n|--name `** diff --git a/docs/core/tools/dotnet-nuget-disable-source.md b/docs/core/tools/dotnet-nuget-disable-source.md index 8b6a4a96756f7..ca02fd3cdd5b1 100644 --- a/docs/core/tools/dotnet-nuget-disable-source.md +++ b/docs/core/tools/dotnet-nuget-disable-source.md @@ -33,7 +33,7 @@ The `dotnet nuget disable source` command disables an existing source in your Nu - **`--configfile `** - The NuGet configuration file. If specified, only the settings from this file will be used. If not specified, the hierarchy of configuration files from the current directory will be used. For more information, see [Common NuGet Configurations](https://docs.microsoft.com/nuget/consume-packages/configuring-nuget-behavior). + The NuGet configuration file. If specified, only the settings from this file will be used. If not specified, the hierarchy of configuration files from the current directory will be used. For more information, see [Common NuGet Configurations](/nuget/consume-packages/configuring-nuget-behavior). ## Examples diff --git a/docs/core/tools/dotnet-nuget-enable-source.md b/docs/core/tools/dotnet-nuget-enable-source.md index 4432644cc9110..fb5e8946eef89 100644 --- a/docs/core/tools/dotnet-nuget-enable-source.md +++ b/docs/core/tools/dotnet-nuget-enable-source.md @@ -33,7 +33,7 @@ The `dotnet nuget enable source` command enables an existing source in your NuGe - **`--configfile `** - The NuGet configuration file. If specified, only the settings from this file will be used. If not specified, the hierarchy of configuration files from the current directory will be used. For more information, see [Common NuGet Configurations](https://docs.microsoft.com/nuget/consume-packages/configuring-nuget-behavior). + The NuGet configuration file. If specified, only the settings from this file will be used. If not specified, the hierarchy of configuration files from the current directory will be used. For more information, see [Common NuGet Configurations](/nuget/consume-packages/configuring-nuget-behavior). ## Examples diff --git a/docs/core/tools/dotnet-nuget-list-source.md b/docs/core/tools/dotnet-nuget-list-source.md index 6fe6a1ce7f567..a651e035fd399 100644 --- a/docs/core/tools/dotnet-nuget-list-source.md +++ b/docs/core/tools/dotnet-nuget-list-source.md @@ -27,7 +27,7 @@ The `dotnet nuget list source` command lists all existing sources from your NuGe - **`--configfile `** - The NuGet configuration file. If specified, only the settings from this file will be used. If not specified, the hierarchy of configuration files from the current directory will be used. For more information, see [Common NuGet Configurations](https://docs.microsoft.com/nuget/consume-packages/configuring-nuget-behavior). + The NuGet configuration file. If specified, only the settings from this file will be used. If not specified, the hierarchy of configuration files from the current directory will be used. For more information, see [Common NuGet Configurations](/nuget/consume-packages/configuring-nuget-behavior). - **`--format [Detailed|Short]`** diff --git a/docs/core/tools/dotnet-nuget-remove-source.md b/docs/core/tools/dotnet-nuget-remove-source.md index 0e823e1a6770c..c29b05340a4f8 100644 --- a/docs/core/tools/dotnet-nuget-remove-source.md +++ b/docs/core/tools/dotnet-nuget-remove-source.md @@ -33,7 +33,7 @@ The `dotnet nuget remove source` command removes an existing source from your Nu - **`--configfile`** - The NuGet configuration file. If specified, only the settings from this file will be used. If not specified, the hierarchy of configuration files from the current directory will be used. For more information, see [Common NuGet Configurations](https://docs.microsoft.com/nuget/consume-packages/configuring-nuget-behavior). + The NuGet configuration file. If specified, only the settings from this file will be used. If not specified, the hierarchy of configuration files from the current directory will be used. For more information, see [Common NuGet Configurations](/nuget/consume-packages/configuring-nuget-behavior). ## Examples diff --git a/docs/core/tools/dotnet-nuget-update-source.md b/docs/core/tools/dotnet-nuget-update-source.md index 8000596a4a97a..8b539b32055b5 100644 --- a/docs/core/tools/dotnet-nuget-update-source.md +++ b/docs/core/tools/dotnet-nuget-update-source.md @@ -35,7 +35,7 @@ The `dotnet nuget update source` command updates an existing source in your NuGe - **`--configfile `** - The NuGet configuration file. If specified, only the settings from this file will be used. If not specified, the hierarchy of configuration files from the current directory will be used. For more information, see [Common NuGet Configurations](https://docs.microsoft.com/nuget/consume-packages/configuring-nuget-behavior). + The NuGet configuration file. If specified, only the settings from this file will be used. If not specified, the hierarchy of configuration files from the current directory will be used. For more information, see [Common NuGet Configurations](/nuget/consume-packages/configuring-nuget-behavior). - **`-p|--password `** diff --git a/docs/core/tools/dotnet-pack.md b/docs/core/tools/dotnet-pack.md index 7e2af0957255c..64a9676bd11c3 100644 --- a/docs/core/tools/dotnet-pack.md +++ b/docs/core/tools/dotnet-pack.md @@ -180,6 +180,6 @@ Web projects aren't packable by default. To override the default behavior, add t For information about how to use `NuspecFile`, `NuspecBasePath`, and `NuspecProperties`, see the following resources: - - [Packing using a .nuspec](https://docs.microsoft.com/nuget/reference/msbuild-targets#packing-using-a-nuspec) - - [Advanced extension points to create customized package](https://docs.microsoft.com/nuget/reference/msbuild-targets#advanced-extension-points-to-create-customized-package) - - [Global properties](https://docs.microsoft.com/visualstudio/msbuild/msbuild-properties?view=vs-2019#global-properties) + - [Packing using a .nuspec](/nuget/reference/msbuild-targets#packing-using-a-nuspec) + - [Advanced extension points to create customized package](/nuget/reference/msbuild-targets#advanced-extension-points-to-create-customized-package) + - [Global properties](/visualstudio/msbuild/msbuild-properties?view=vs-2019#global-properties) diff --git a/docs/core/tools/dotnet-publish.md b/docs/core/tools/dotnet-publish.md index a0cbcb7edf148..280c086f7ade6 100644 --- a/docs/core/tools/dotnet-publish.md +++ b/docs/core/tools/dotnet-publish.md @@ -234,4 +234,4 @@ For more information, see the following resources: - [MSBuild command-line reference](/visualstudio/msbuild/msbuild-command-line-reference) - [Visual Studio publish profiles (.pubxml) for ASP.NET Core app deployment](/aspnet/core/host-and-deploy/visual-studio-publish-profiles) - [dotnet msbuild](dotnet-msbuild.md) -- [ILLInk.Tasks](https://aka.ms/dotnet-illink) +- [ILLInk.Tasks](../deploying/trim-self-contained.md) diff --git a/docs/core/tools/dotnet-test.md b/docs/core/tools/dotnet-test.md index c7e2121cd4533..9200926b39a7f 100644 --- a/docs/core/tools/dotnet-test.md +++ b/docs/core/tools/dotnet-test.md @@ -71,7 +71,7 @@ Where `Microsoft.NET.Test.Sdk` is the test host, `xunit` is the test framework. - **`--blame-crash`** (Available since .NET 5.0 preview SDK) - Runs the tests in blame mode and collects a crash dump when the test host exits unexpectedly. This option is only supported on Windows. A directory that contains *procdump.exe* and *procdump64.exe* must be in the PATH or PROCDUMP_PATH environment variable. [Download the tools](https://docs.microsoft.com/sysinternals/downloads/procdump). Implies `--blame`. + Runs the tests in blame mode and collects a crash dump when the test host exits unexpectedly. This option is only supported on Windows. A directory that contains *procdump.exe* and *procdump64.exe* must be in the PATH or PROCDUMP_PATH environment variable. [Download the tools](/sysinternals/downloads/procdump). Implies `--blame`. - **`--blame-crash-dump-type `** (Available since .NET 5.0 preview SDK) diff --git a/docs/core/tools/dotnet.md b/docs/core/tools/dotnet.md index ececffcec0068..6f443dec829da 100644 --- a/docs/core/tools/dotnet.md +++ b/docs/core/tools/dotnet.md @@ -294,7 +294,7 @@ dotnet myapp.dll - `DOTNET_CLI_UI_LANGUAGE` - Sets the language of the CLI UI using a locale value such as `en-us`. The supported values are the same as for Visual Studio. For more information, see the section on changing the installer language in the [Visual Studio installation documentation](https://docs.microsoft.com/visualstudio/install/install-visual-studio?view=vs-2019). The .NET resource manager rules apply, so you don't have to pick an exact match—you can also pick descendants in the `CultureInfo` tree. For example, if you set it to `fr-CA`, the CLI will find and use the `fr` translations. If you set it to a language that is not supported, the CLI falls back to English. + Sets the language of the CLI UI using a locale value such as `en-us`. The supported values are the same as for Visual Studio. For more information, see the section on changing the installer language in the [Visual Studio installation documentation](/visualstudio/install/install-visual-studio?view=vs-2019). The .NET resource manager rules apply, so you don't have to pick an exact match—you can also pick descendants in the `CultureInfo` tree. For example, if you set it to `fr-CA`, the CLI will find and use the `fr` translations. If you set it to a language that is not supported, the CLI falls back to English. - `DOTNET_DISABLE_GUI_ERRORS` diff --git a/docs/core/tools/using-ci-with-cli.md b/docs/core/tools/using-ci-with-cli.md index 40e39e0e86813..9a34077c81d3f 100644 --- a/docs/core/tools/using-ci-with-cli.md +++ b/docs/core/tools/using-ci-with-cli.md @@ -30,7 +30,7 @@ The installer script is automated to run at the start of the build to fetch and ## CI setup examples -This section describes a manual setup using a PowerShell or bash script, along with a description of several software as a service (SaaS) CI solutions. The SaaS CI solutions covered are [Travis CI](https://travis-ci.org/), [AppVeyor](https://www.appveyor.com/), and [Azure Pipelines](https://docs.microsoft.com/azure/devops/pipelines/index). +This section describes a manual setup using a PowerShell or bash script, along with a description of several software as a service (SaaS) CI solutions. The SaaS CI solutions covered are [Travis CI](https://travis-ci.org/), [AppVeyor](https://www.appveyor.com/), and [Azure Pipelines](/azure/devops/pipelines/index). ### Manual setup @@ -141,7 +141,7 @@ Configure Azure DevOps Services to build .NET Core projects using one of these a 1. Run the script from the [manual setup step](#manual-setup) using your commands. 1. Create a build composed of several Azure DevOps Services built-in build tasks that are configured to use .NET Core tools. -Both solutions are valid. Using a manual setup script, you control the version of the tools that you receive, since you download them as part of the build. The build is run from a script that you must create. This article only covers the manual option. For more information on composing a build with Azure DevOps Services build tasks, see the [Azure Pipelines](https://docs.microsoft.com/azure/devops/pipelines/index) documentation. +Both solutions are valid. Using a manual setup script, you control the version of the tools that you receive, since you download them as part of the build. The build is run from a script that you must create. This article only covers the manual option. For more information on composing a build with Azure DevOps Services build tasks, see the [Azure Pipelines](/azure/devops/pipelines/index) documentation. To use a manual setup script in Azure DevOps Services, create a new build definition and specify the script to run for the build step. This is accomplished using the Azure DevOps Services user interface: @@ -163,7 +163,7 @@ To use a manual setup script in Azure DevOps Services, create a new build defini ## Orchestrating the build -Most of this document describes how to acquire the .NET Core tools and configure various CI services without providing information on how to orchestrate, or *actually build*, your code with .NET Core. The choices on how to structure the build process depend on many factors that can't be covered in a general way here. For more information on orchestrating your builds with each technology, explore the resources and samples provided in the documentation sets of [Travis CI](https://travis-ci.org/), [AppVeyor](https://www.appveyor.com/), and [Azure Pipelines](https://docs.microsoft.com/azure/devops/pipelines/index). +Most of this document describes how to acquire the .NET Core tools and configure various CI services without providing information on how to orchestrate, or *actually build*, your code with .NET Core. The choices on how to structure the build process depend on many factors that can't be covered in a general way here. For more information on orchestrating your builds with each technology, explore the resources and samples provided in the documentation sets of [Travis CI](https://travis-ci.org/), [AppVeyor](https://www.appveyor.com/), and [Azure Pipelines](/azure/devops/pipelines/index). Two general approaches that you take in structuring the build process for .NET Core code using the .NET Core tools are using MSBuild directly or using the .NET Core command-line commands. Which approach you should take is determined by your comfort level with the approaches and trade-offs in complexity. MSBuild provides you the ability to express your build process as tasks and targets, but it comes with the added complexity of learning MSBuild project file syntax. Using the .NET Core command-line tools is perhaps simpler, but it requires you to write orchestration logic in a scripting language like `bash` or PowerShell. diff --git a/docs/core/tutorials/library-with-visual-studio-mac.md b/docs/core/tutorials/library-with-visual-studio-mac.md index 85034501c8ff1..f203f07864af7 100644 --- a/docs/core/tutorials/library-with-visual-studio-mac.md +++ b/docs/core/tutorials/library-with-visual-studio-mac.md @@ -20,7 +20,7 @@ A *class library* defines types and methods that are called by an application. A * [Install Visual Studio for Mac version 8.6 or later](https://visualstudio.microsoft.com/vs/mac/?utm_medium=microsoft&utm_source=docs.microsoft.com&utm_campaign=inline+link). Select the option to install .NET Core. Installing Xamarin is optional for .NET Core development. For more information, see the following resources: * [Tutorial: Install Visual Studio for Mac](/visualstudio/mac/installation). - * [Supported macOS versions](../install/dependencies.md?pivots=os-macos). + * [Supported macOS versions](../install/windows.md?pivots=os-macos). * [.NET Core versions supported by Visual Studio for Mac](/visualstudio/mac/net-core-support). ## Create a solution with a class library project diff --git a/docs/core/tutorials/with-visual-studio-mac.md b/docs/core/tutorials/with-visual-studio-mac.md index c01075c470d5f..17bcbdf307ab8 100644 --- a/docs/core/tutorials/with-visual-studio-mac.md +++ b/docs/core/tutorials/with-visual-studio-mac.md @@ -18,7 +18,7 @@ This tutorial shows how to create and run a .NET Core console application using * [Visual Studio for Mac version 8.6 or later](https://visualstudio.microsoft.com/vs/mac/?utm_medium=microsoft&utm_source=docs.microsoft.com&utm_campaign=inline+link). Select the option to install .NET Core. Installing Xamarin is optional for .NET Core development. For more information, see the following resources: * [Tutorial: Install Visual Studio for Mac](/visualstudio/mac/installation). - * [Supported macOS versions](../install/dependencies.md?pivots=os-macos). + * [Supported macOS versions](../install/windows.md?pivots=os-macos). * [.NET Core versions supported by Visual Studio for Mac](/visualstudio/mac/net-core-support). ## Create the app diff --git a/docs/core/tutorials/with-visual-studio.md b/docs/core/tutorials/with-visual-studio.md index c33d709b341a8..3beabfb5c05c1 100644 --- a/docs/core/tutorials/with-visual-studio.md +++ b/docs/core/tutorials/with-visual-studio.md @@ -15,7 +15,7 @@ This tutorial shows how to create and run a .NET Core console application in Vis - [Visual Studio 2019 version 16.6 or a later version](https://visualstudio.microsoft.com/downloads/?utm_medium=microsoft&utm_source=docs.microsoft.com&utm_campaign=inline+link&utm_content=download+vs2019) with the **.NET Core cross-platform development** workload installed. The .NET Core 3.1 SDK is automatically installed when you select this workload. - For more information, see [Install the .NET Core SDK with Visual Studio](../install/sdk.md?pivots=os-windows#install-with-visual-studio). + For more information, see [Install the .NET Core SDK with Visual Studio](../install/windows.md?pivots=os-windows#install-with-visual-studio). ## Create the app diff --git a/docs/core/whats-new/dotnet-core-3-0.md b/docs/core/whats-new/dotnet-core-3-0.md index 9ae7a948991df..f1295fc5bbff7 100644 --- a/docs/core/whats-new/dotnet-core-3-0.md +++ b/docs/core/whats-new/dotnet-core-3-0.md @@ -131,7 +131,7 @@ It's important to consider that applications or frameworks (including ASP.NET Co Above all else, be sure to test your app after trimming. -For more information about the IL Linker tool, see the [documentation](https://aka.ms/dotnet-illink) or visit the [mono/linker]( https://github.com/mono/linker) repo. +For more information about the IL Linker tool, see the [documentation](../deploying/trim-self-contained.md) or visit the [mono/linker]( https://github.com/mono/linker) repo. ### Tiered compilation @@ -324,9 +324,9 @@ Windows offers a rich native API in the form of flat C APIs, COM, and WinRT. Whi ### MSIX Deployment -[MSIX](https://docs.microsoft.com/windows/msix/) is a new Windows application package format. It can be used to deploy .NET Core 3.0 desktop applications to Windows 10. +[MSIX](/windows/msix/) is a new Windows application package format. It can be used to deploy .NET Core 3.0 desktop applications to Windows 10. -The [Windows Application Packaging Project](https://docs.microsoft.com/windows/uwp/porting/desktop-to-uwp-packaging-dot-net), available in Visual Studio 2019, allows you to create MSIX packages with [self-contained](../deploying/index.md#publish-self-contained) .NET Core applications. +The [Windows Application Packaging Project](/windows/uwp/porting/desktop-to-uwp-packaging-dot-net), available in Visual Studio 2019, allows you to create MSIX packages with [self-contained](../deploying/index.md#publish-self-contained) .NET Core applications. The .NET Core project file must specify the supported runtimes in the `` property: diff --git a/docs/csharp/expression-trees-translating.md b/docs/csharp/expression-trees-translating.md index 9eaf5ce611ed2..e0323744c576d 100644 --- a/docs/csharp/expression-trees-translating.md +++ b/docs/csharp/expression-trees-translating.md @@ -237,7 +237,7 @@ This sample shows a small subset of the code you would build to traverse and interpret the algorithms represented by an expression tree. For a complete discussion of all the work necessary to build a general purpose library that translates expression trees into another language, please read -[this series](https://docs.microsoft.com/archive/blogs/mattwar/linq-building-an-iqueryable-provider-series) +[this series](/archive/blogs/mattwar/linq-building-an-iqueryable-provider-series) by Matt Warren. It goes into great detail on how to translate any of the code you might find in an expression tree. diff --git a/docs/csharp/how-to/concatenate-multiple-strings.md b/docs/csharp/how-to/concatenate-multiple-strings.md index be7fe10dcc891..7e96b5a69011f 100644 --- a/docs/csharp/how-to/concatenate-multiple-strings.md +++ b/docs/csharp/how-to/concatenate-multiple-strings.md @@ -35,7 +35,7 @@ In other cases, you may be combining strings in a loop where you don't know how :::code language="csharp" interactive="try-dotnet-method" source="../../../samples/snippets/csharp/how-to/strings/Concatenate.cs" id="Snippet4"::: -You can read more about the [reasons to choose string concatenation or the `StringBuilder` class](https://docs.microsoft.com/dotnet/api/system.text.stringbuilder#the-string-and-stringbuilder-types). +You can read more about the [reasons to choose string concatenation or the `StringBuilder` class](/dotnet/api/system.text.stringbuilder#the-string-and-stringbuilder-types). Another option to join strings from a collection is to use method. Use method if source strings should be separated by a delimiter. The following code combines an array of words using both methods: diff --git a/docs/csharp/how-to/index.md b/docs/csharp/how-to/index.md index 5a1c8d3f9f4df..dc19d76769e02 100644 --- a/docs/csharp/how-to/index.md +++ b/docs/csharp/how-to/index.md @@ -107,15 +107,15 @@ and work with different data sources. - [Use lambda expressions in a query](../programming-guide/statements-expressions-operators/how-to-use-lambda-expressions-in-a-query.md). - [Use `var` in query expressions](../programming-guide/classes-and-structs/how-to-use-implicitly-typed-local-variables-and-arrays-in-a-query-expression.md). - [Return subsets of element properties from a query](../programming-guide/classes-and-structs/how-to-return-subsets-of-element-properties-in-a-query.md). -- [Write queries with complex filtering](../programming-guide/concepts/linq/how-to-write-queries-with-complex-filtering.md). -- [Sort elements of a data source](../programming-guide/concepts/linq/how-to-sort-elements.md). -- [Sort elements on multiple keys](../programming-guide/concepts/linq/how-to-sort-elements-on-multiple-keys.md). -- [Control the type of a projection](../programming-guide/concepts/linq/how-to-control-the-type-of-a-projection.md). +- [Write queries with complex filtering](../../standard/linq/write-queries-complex-filtering.md). +- [Sort elements of a data source](../../standard/linq/sort-elements.md). +- [Sort elements on multiple keys](../../standard/linq/sort-elements-multiple-keys.md). +- [Control the type of a projection](../../standard/linq/control-type-projection.md). - [Count occurrences of a value in a source sequence](../programming-guide/concepts/linq/how-to-count-occurrences-of-a-word-in-a-string-linq.md). -- [Calculate intermediate values](../programming-guide/concepts/linq/how-to-calculate-intermediate-values.md). +- [Calculate intermediate values](../../standard/linq/calculate-intermediate-values.md). - [Merge data from multiple sources](../programming-guide/concepts/linq/how-to-populate-object-collections-from-multiple-sources-linq.md). - [Find the set difference between two sequences](../programming-guide/concepts/linq/how-to-find-the-set-difference-between-two-lists-linq.md). -- [Debug empty query results](../programming-guide/concepts/linq/how-to-debug-empty-query-results-sets.md). +- [Debug empty query results](../../standard/linq/debug-empty-query-results-sets.md). - [Add custom methods to LINQ queries](../programming-guide/concepts/linq/how-to-add-custom-methods-for-linq-queries.md). ## Multiple threads and async processing @@ -123,8 +123,8 @@ and work with different data sources. Modern programs often use asynchronous operations. These articles will help you learn to use these techniques. -- [Improve async performance using `System.Threading.Tasks.Task.WhenAll`](../programming-guide/concepts/async/how-to-extend-the-async-walkthrough-by-using-task-whenall.md). -- [Make multiple web requests in parallel using `async` and `await`](../programming-guide/concepts/async/how-to-make-multiple-web-requests-in-parallel-by-using-async-and-await.md). +- [Improve async performance using `System.Threading.Tasks.Task.WhenAll`](../programming-guide/concepts/async/index.md). +- [Make multiple web requests in parallel using `async` and `await`](../programming-guide/concepts/async/index.md). - [Use a thread pool](../../standard/threading/the-managed-thread-pool.md#using-the-thread-pool). ## Command line args to your program diff --git a/docs/csharp/index.yml b/docs/csharp/index.yml index 6ae4489309fdd..6af41f6b1cfbc 100644 --- a/docs/csharp/index.yml +++ b/docs/csharp/index.yml @@ -21,7 +21,7 @@ landingContent: - text: Introductory tutorials url: tutorials/intro-to-csharp/index.md - text: "Create C# apps with Visual Studio" - url: https://docs.microsoft.com/visualstudio/get-started/csharp/tutorial-console + url: /visualstudio/get-started/csharp/tutorial-console - linkListType: video links: - text: "What is C#?" @@ -119,4 +119,4 @@ landingContent: - text: Configure language version url: language-reference/configure-language-version.md - text: "C# language specification" - url: ../../_csharplang/spec/introduction.md + url: ../../_csharplang/spec/introduction.md \ No newline at end of file diff --git a/docs/csharp/language-reference/builtin-types/nullable-value-types.md b/docs/csharp/language-reference/builtin-types/nullable-value-types.md index cbdca0b0ac355..bf7bec1e17adb 100644 --- a/docs/csharp/language-reference/builtin-types/nullable-value-types.md +++ b/docs/csharp/language-reference/builtin-types/nullable-value-types.md @@ -129,7 +129,7 @@ For more information, see the following sections of the [C# language specificati ## See also - [C# reference](../index.md) -- [What exactly does 'lifted' mean?](https://docs.microsoft.com/archive/blogs/ericlippert/what-exactly-does-lifted-mean) +- [What exactly does 'lifted' mean?](/archive/blogs/ericlippert/what-exactly-does-lifted-mean) - - - diff --git a/docs/csharp/language-reference/compiler-messages/cs0052.md b/docs/csharp/language-reference/compiler-messages/cs0052.md index f686b2f59f54d..ccfbaf1689dca 100644 --- a/docs/csharp/language-reference/compiler-messages/cs0052.md +++ b/docs/csharp/language-reference/compiler-messages/cs0052.md @@ -50,4 +50,4 @@ public class MainClass - [C# Keywords](../keywords/index.md) - [Access Modifiers](../keywords/access-modifiers.md) - [Accessibility Levels](../keywords/accessibility-levels.md) -- [Modifiers](/dotnet/csharp/language-reference/keywords) +- [Modifiers](../keywords/index.md) diff --git a/docs/csharp/language-reference/compiler-messages/cs0122.md b/docs/csharp/language-reference/compiler-messages/cs0122.md index 187b86a7a85ac..eabf2dc29ce35 100644 --- a/docs/csharp/language-reference/compiler-messages/cs0122.md +++ b/docs/csharp/language-reference/compiler-messages/cs0122.md @@ -12,7 +12,7 @@ ms.assetid: 5f639a66-c807-4166-b88a-93e5f272ceb7 'member' is inaccessible due to its protection level - The [access modifier](/dotnet/csharp/language-reference/keywords) for a class member prevents accessing the member. For more information, see [Access Modifiers](../../programming-guide/classes-and-structs/access-modifiers.md). + The [access modifier](../keywords/index.md) for a class member prevents accessing the member. For more information, see [Access Modifiers](../../programming-guide/classes-and-structs/access-modifiers.md). One cause of this (not shown in the sample below) can be omitting the **/out** compiler flag on the target of a friend assembly. For more information, see [Friend Assemblies](../../../standard/assembly/friend.md) and [-out (C# Compiler Options)](../compiler-options/out-compiler-option.md). diff --git a/docs/csharp/language-reference/compiler-messages/cs0165.md b/docs/csharp/language-reference/compiler-messages/cs0165.md index ff05bf806e9cd..5152a5cf3df8f 100644 --- a/docs/csharp/language-reference/compiler-messages/cs0165.md +++ b/docs/csharp/language-reference/compiler-messages/cs0165.md @@ -14,7 +14,7 @@ Use of unassigned local variable 'name' The C# compiler doesn't allow the use of uninitialized variables. If the compiler detects the use of a variable that might not have been initialized, it generates compiler error CS0165. For more information, see [Fields](../../programming-guide/classes-and-structs/fields.md). This error is generated when the compiler encounters a construct that might result in the use of an unassigned variable, even if your particular code does not. This avoids the necessity of overly complex rules for definite assignment. -For more information, see [Why does a recursive lambda cause a definite assignment error?](https://docs.microsoft.com/archive/blogs/ericlippert/why-does-a-recursive-lambda-cause-a-definite-assignment-error). +For more information, see [Why does a recursive lambda cause a definite assignment error?](/archive/blogs/ericlippert/why-does-a-recursive-lambda-cause-a-definite-assignment-error). ## Example diff --git a/docs/csharp/language-reference/compiler-messages/cs0246.md b/docs/csharp/language-reference/compiler-messages/cs0246.md index f8173ed89b9e7..64a4016539e37 100644 --- a/docs/csharp/language-reference/compiler-messages/cs0246.md +++ b/docs/csharp/language-reference/compiler-messages/cs0246.md @@ -40,7 +40,7 @@ The following situations cause compiler error CS0246. using myAliasName2 = System.Collections.Generic.List; ``` - If you get this error in code that was previously working, first look for missing or unresolved references in Solution Explorer. Do you need to reinstall a [NuGet](https://www.nuget.org/) package? For information about how the build system searches for references, see [Resolving file references in team build](https://docs.microsoft.com/archive/blogs/manishagarwal/resolving-file-references-in-team-build-part-2). If all references seem to be correct, look in your source control history to see what has changed in your .csproj file and/or your local source file. + If you get this error in code that was previously working, first look for missing or unresolved references in Solution Explorer. Do you need to reinstall a [NuGet](https://www.nuget.org/) package? For information about how the build system searches for references, see [Resolving file references in team build](/archive/blogs/manishagarwal/resolving-file-references-in-team-build-part-2). If all references seem to be correct, look in your source control history to see what has changed in your .csproj file and/or your local source file. If you haven’t successfully accessed the reference yet, use the Object Browser to inspect the assembly that is supposed to contain this namespace and verify that the namespace is present. If you verify with Object Browser that the assembly contains the namespace, try removing the `using` directive for the namespace and see what else breaks. The root problem may be with some other type in another assembly. diff --git a/docs/csharp/language-reference/compiler-options/baseaddress-compiler-option.md b/docs/csharp/language-reference/compiler-options/baseaddress-compiler-option.md index f97090b53cce0..54baf287b9239 100644 --- a/docs/csharp/language-reference/compiler-options/baseaddress-compiler-option.md +++ b/docs/csharp/language-reference/compiler-options/baseaddress-compiler-option.md @@ -11,7 +11,7 @@ helpviewer_keywords: ms.assetid: ce13c965-dfe4-4433-94f5-63b476e3a608 --- # -baseaddress (C# Compiler Options) -The **-baseaddress** option lets you specify the preferred base address at which to load a DLL. For more information about when and why to use this option, see [Larry Osterman's WebLog](https://docs.microsoft.com/archive/blogs/larryosterman/why-should-i-even-bother-to-use-dlls-in-my-system). +The **-baseaddress** option lets you specify the preferred base address at which to load a DLL. For more information about when and why to use this option, see [Larry Osterman's WebLog](/archive/blogs/larryosterman/why-should-i-even-bother-to-use-dlls-in-my-system). ## Syntax diff --git a/docs/csharp/language-reference/keywords/partial-type.md b/docs/csharp/language-reference/keywords/partial-type.md index 98d70c4c8708f..18760d78464b5 100644 --- a/docs/csharp/language-reference/keywords/partial-type.md +++ b/docs/csharp/language-reference/keywords/partial-type.md @@ -23,7 +23,7 @@ In *File2.cs* the declaration: ## Remarks -Splitting a class, struct or interface type over several files can be useful when you are working with large projects, or with automatically generated code such as that provided by the [Windows Forms Designer](../../../framework/winforms/controls/developing-windows-forms-controls-at-design-time.md). A partial type may contain a [partial method](partial-method.md). For more information, see [Partial Classes and Methods](../../programming-guide/classes-and-structs/partial-classes-and-methods.md). +Splitting a class, struct or interface type over several files can be useful when you are working with large projects, or with automatically generated code such as that provided by the [Windows Forms Designer](/dotnet/desktop/winforms/controls/developing-windows-forms-controls-at-design-time). A partial type may contain a [partial method](partial-method.md). For more information, see [Partial Classes and Methods](../../programming-guide/classes-and-structs/partial-classes-and-methods.md). ## C# language specification diff --git a/docs/csharp/language-reference/keywords/private-protected.md b/docs/csharp/language-reference/keywords/private-protected.md index 10bb52399ccbe..c6d0cc9f75fb7 100644 --- a/docs/csharp/language-reference/keywords/private-protected.md +++ b/docs/csharp/language-reference/keywords/private-protected.md @@ -77,4 +77,4 @@ Struct members cannot be `private protected` because the struct cannot be inheri - [public](public.md) - [private](private.md) - [internal](internal.md) -- [Security concerns for internal virtual keywords](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/heyd8kky(v=vs.100)) +- [Security concerns for internal virtual keywords](/previous-versions/dotnet/netframework-4.0/heyd8kky(v=vs.100)) diff --git a/docs/csharp/language-reference/keywords/protected-internal.md b/docs/csharp/language-reference/keywords/protected-internal.md index 89b5a229b8f43..790b59043041d 100644 --- a/docs/csharp/language-reference/keywords/protected-internal.md +++ b/docs/csharp/language-reference/keywords/protected-internal.md @@ -73,4 +73,4 @@ Struct members cannot be `protected internal` because the struct cannot be inher - [public](public.md) - [private](private.md) - [internal](internal.md) -- [Security concerns for internal virtual keywords](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/heyd8kky(v=vs.100)) +- [Security concerns for internal virtual keywords](/previous-versions/dotnet/netframework-4.0/heyd8kky(v=vs.100)) diff --git a/docs/csharp/language-reference/keywords/protected.md b/docs/csharp/language-reference/keywords/protected.md index d0ebe6a48cbe3..775c6563bb445 100644 --- a/docs/csharp/language-reference/keywords/protected.md +++ b/docs/csharp/language-reference/keywords/protected.md @@ -56,4 +56,4 @@ For more information, see [Declared accessibility](~/_csharplang/spec/basic-conc - [public](public.md) - [private](private.md) - [internal](internal.md) -- [Security concerns for internal virtual keywords](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/heyd8kky(v=vs.100)) +- [Security concerns for internal virtual keywords](/previous-versions/dotnet/netframework-4.0/heyd8kky(v=vs.100)) diff --git a/docs/csharp/language-reference/operators/await.md b/docs/csharp/language-reference/operators/await.md index 76576755cce02..3a77247779ba6 100644 --- a/docs/csharp/language-reference/operators/await.md +++ b/docs/csharp/language-reference/operators/await.md @@ -54,5 +54,5 @@ For more information, see the [Await expressions](~/_csharplang/spec/expressions - [Task asynchronous programming model](../../programming-guide/concepts/async/task-asynchronous-programming-model.md) - [Asynchronous programming](../../async.md) - [Async in depth](../../../standard/async-in-depth.md) -- [Walkthrough: accessing the Web by using async and await](../../programming-guide/concepts/async/walkthrough-accessing-the-web-by-using-async-and-await.md) +- [Walkthrough: accessing the Web by using async and await](../../programming-guide/concepts/async/index.md) - [Tutorial: Generate and consume async streams using C# 8.0 and .NET Core 3.0](../../tutorials/generate-consume-asynchronous-stream.md) diff --git a/docs/csharp/language-reference/operators/lambda-expressions.md b/docs/csharp/language-reference/operators/lambda-expressions.md index ddd33b58b0256..477c61b981f0b 100644 --- a/docs/csharp/language-reference/operators/lambda-expressions.md +++ b/docs/csharp/language-reference/operators/lambda-expressions.md @@ -218,7 +218,7 @@ For more information, see the [Anonymous function expressions](~/_csharplang/spe ## Featured book chapter -[Delegates, Events, and Lambda Expressions](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/ff518994%28v=orm.10%29) in [C# 3.0 Cookbook, Third Edition: More than 250 solutions for C# 3.0 programmers](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/ff518995%28v=orm.10%29) +[Delegates, Events, and Lambda Expressions](/previous-versions/visualstudio/visual-studio-2008/ff518994(v=orm.10)) in [C# 3.0 Cookbook, Third Edition: More than 250 solutions for C# 3.0 programmers](/previous-versions/visualstudio/visual-studio-2008/ff518995(v=orm.10)) ## See also diff --git a/docs/csharp/language-reference/operators/operator-overloading.md b/docs/csharp/language-reference/operators/operator-overloading.md index 578dd77fe1181..e9490214ae57a 100644 --- a/docs/csharp/language-reference/operators/operator-overloading.md +++ b/docs/csharp/language-reference/operators/operator-overloading.md @@ -61,4 +61,4 @@ For more information, see the following sections of the [C# language specificati - [User-defined conversion operators](user-defined-conversion-operators.md) - [Design guidelines - Operator overloads](../../../standard/design-guidelines/operator-overloads.md) - [Design guidelines - Equality operators](../../../standard/design-guidelines/equality-operators.md) -- [Why are overloaded operators always static in C#?](https://docs.microsoft.com/archive/blogs/ericlippert/why-are-overloaded-operators-always-static-in-c) +- [Why are overloaded operators always static in C#?](/archive/blogs/ericlippert/why-are-overloaded-operators-always-static-in-c) diff --git a/docs/csharp/language-reference/operators/user-defined-conversion-operators.md b/docs/csharp/language-reference/operators/user-defined-conversion-operators.md index e7e094ba60b5c..7160b94c49a17 100644 --- a/docs/csharp/language-reference/operators/user-defined-conversion-operators.md +++ b/docs/csharp/language-reference/operators/user-defined-conversion-operators.md @@ -46,4 +46,4 @@ For more information, see the following sections of the [C# language specificati - [Type-testing and cast operators](type-testing-and-cast.md) - [Casting and type conversion](../../programming-guide/types/casting-and-type-conversions.md) - [Design guidelines - Conversion operators](../../../standard/design-guidelines/operator-overloads.md#conversion-operators) -- [Chained user-defined explicit conversions in C#](https://docs.microsoft.com/archive/blogs/ericlippert/chained-user-defined-explicit-conversions-in-c) +- [Chained user-defined explicit conversions in C#](/archive/blogs/ericlippert/chained-user-defined-explicit-conversions-in-c) diff --git a/docs/csharp/linq/index.md b/docs/csharp/linq/index.md index ea13e3880bfb9..29edc5a6db9e4 100644 --- a/docs/csharp/linq/index.md +++ b/docs/csharp/linq/index.md @@ -36,7 +36,7 @@ The following example shows the complete query operation. The complete operation To learn more details about LINQ, start by becoming familiar with some basic concepts in [Query expression basics](query-expression-basics.md), and then read the documentation for the LINQ technology in which you are interested: -- XML documents: [LINQ to XML](../programming-guide/concepts/linq/linq-to-xml-overview.md) +- XML documents: [LINQ to XML](../../standard/linq/linq-xml-overview.md) - ADO.NET Entity Framework: [LINQ to entities](../../framework/data/adonet/ef/language-reference/linq-to-entities.md) diff --git a/docs/csharp/linq/perform-grouped-joins.md b/docs/csharp/linq/perform-grouped-joins.md index e69792b3d4ee2..5b5e55d843cad 100644 --- a/docs/csharp/linq/perform-grouped-joins.md +++ b/docs/csharp/linq/perform-grouped-joins.md @@ -14,7 +14,7 @@ For example, a class or a relational database table named `Student` might contai > Each element of the first collection appears in the result set of a group join regardless of whether correlated elements are found in the second collection. In the case where no correlated elements are found, the sequence of correlated elements for that element is empty. The result selector therefore has access to every element of the first collection. This differs from the result selector in a non-group join, which cannot access elements from the first collection that have no match in the second collection. > [!WARNING] -> has no direct equivalent in traditional relational database terms. However, this method does implement a superset of inner joins and left outer joins. Both of these operations can be written in terms of a grouped join. For more information, see [Join Operations](../programming-guide/concepts/linq/join-operations.md) and [Entity Framework Core, GroupJoin](https://docs.microsoft.com/ef/core/querying/complex-query-operators#groupjoin). +> has no direct equivalent in traditional relational database terms. However, this method does implement a superset of inner joins and left outer joins. Both of these operations can be written in terms of a grouped join. For more information, see [Join Operations](../programming-guide/concepts/linq/join-operations.md) and [Entity Framework Core, GroupJoin](/ef/core/querying/complex-query-operators#groupjoin). The first example in this article shows you how to perform a group join. The second example shows you how to use a group join to create XML elements. diff --git a/docs/csharp/misc/cs0473.md b/docs/csharp/misc/cs0473.md index c618fe9df5a86..154f06fe2c8af 100644 --- a/docs/csharp/misc/cs0473.md +++ b/docs/csharp/misc/cs0473.md @@ -62,4 +62,4 @@ class T ## See also -- [Odious ambiguous overloads, part two](https://docs.microsoft.com/archive/blogs/ericlippert/odious-ambiguous-overloads-part-two) +- [Odious ambiguous overloads, part two](/archive/blogs/ericlippert/odious-ambiguous-overloads-part-two) diff --git a/docs/csharp/misc/cs0515.md b/docs/csharp/misc/cs0515.md index 7e63c7ac2cde9..791d78f3e96f1 100644 --- a/docs/csharp/misc/cs0515.md +++ b/docs/csharp/misc/cs0515.md @@ -11,7 +11,7 @@ ms.assetid: 0f8c0253-218d-4c21-b22c-fa5802ba4e7f # Compiler Error CS0515 'function' : access modifiers are not allowed on static constructors - A static constructor cannot have an [access modifier](/dotnet/csharp/language-reference/keywords). + A static constructor cannot have an [access modifier](../language-reference/keywords/index.md). ## Example The following sample generates CS0515: diff --git a/docs/csharp/misc/cs0558.md b/docs/csharp/misc/cs0558.md index 580fb70f6d241..678a09632ddd0 100644 --- a/docs/csharp/misc/cs0558.md +++ b/docs/csharp/misc/cs0558.md @@ -11,7 +11,7 @@ ms.assetid: af63b9ba-2790-4362-a49d-b69a5292a555 # Compiler Error CS0558 User-defined operator 'operator' must be declared static and public - Both the **static** and **public** access [modifiers](/dotnet/csharp/language-reference/keywords) must be specified on user-defined operators. + Both the **static** and **public** access [modifiers](../language-reference/keywords/index.md) must be specified on user-defined operators. The following sample generates CS0558: diff --git a/docs/csharp/misc/cs0659.md b/docs/csharp/misc/cs0659.md index da300c6db6cc2..c38429c8158cf 100644 --- a/docs/csharp/misc/cs0659.md +++ b/docs/csharp/misc/cs0659.md @@ -37,4 +37,4 @@ class Test2 - - - [Equality Operators](../../standard/design-guidelines/equality-operators.md) -- [Implementing the Equals Method](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/336aedhh(v=vs.100)) +- [Implementing the Equals Method](/previous-versions/dotnet/netframework-4.0/336aedhh(v=vs.100)) diff --git a/docs/csharp/misc/cs1021.md b/docs/csharp/misc/cs1021.md index 5a4c110b891e3..db1e242fb1ccd 100644 --- a/docs/csharp/misc/cs1021.md +++ b/docs/csharp/misc/cs1021.md @@ -41,4 +41,4 @@ class Program } ``` -For information about how to instantiate a instance whose value exceeds the range of the built-in numeric types, see the [Instantiating a BigInteger Object](https://docs.microsoft.com/dotnet/api/System.Numerics.BigInteger#instantiating-a-biginteger-object) section of the reference page. +For information about how to instantiate a instance whose value exceeds the range of the built-in numeric types, see the [Instantiating a BigInteger Object](/dotnet/api/System.Numerics.BigInteger#instantiating-a-biginteger-object) section of the reference page. diff --git a/docs/csharp/programming-guide/classes-and-structs/auto-implemented-properties.md b/docs/csharp/programming-guide/classes-and-structs/auto-implemented-properties.md index b49b547f210d9..f9519d5e664ba 100644 --- a/docs/csharp/programming-guide/classes-and-structs/auto-implemented-properties.md +++ b/docs/csharp/programming-guide/classes-and-structs/auto-implemented-properties.md @@ -30,4 +30,4 @@ The class that is shown in the previous example is mutable. Client code can chan ## See also - [Properties](./properties.md) -- [Modifiers](/dotnet/csharp/language-reference/keywords) +- [Modifiers](../../language-reference/keywords/index.md) diff --git a/docs/csharp/programming-guide/classes-and-structs/constants.md b/docs/csharp/programming-guide/classes-and-structs/constants.md index 798a144322b89..01739cd52ac80 100644 --- a/docs/csharp/programming-guide/classes-and-structs/constants.md +++ b/docs/csharp/programming-guide/classes-and-structs/constants.md @@ -47,4 +47,4 @@ Constants are immutable values which are known at compile time and do not change - [Properties](./properties.md) - [Types](../types/index.md) - [readonly](../../language-reference/keywords/readonly.md) -- [Immutability in C# Part One: Kinds of Immutability](https://docs.microsoft.com/archive/blogs/ericlippert/immutability-in-c-part-one-kinds-of-immutability) +- [Immutability in C# Part One: Kinds of Immutability](/archive/blogs/ericlippert/immutability-in-c-part-one-kinds-of-immutability) diff --git a/docs/csharp/programming-guide/classes-and-structs/constructors.md b/docs/csharp/programming-guide/classes-and-structs/constructors.md index 55043b4d79d9e..21b9c1958e274 100644 --- a/docs/csharp/programming-guide/classes-and-structs/constructors.md +++ b/docs/csharp/programming-guide/classes-and-structs/constructors.md @@ -57,4 +57,4 @@ For more information and examples, see [Static Constructors](./static-constructo - [Classes and Structs](./index.md) - [Finalizers](./destructors.md) - [static](../../language-reference/keywords/static.md) -- [Why Do Initializers Run In The Opposite Order As Constructors? Part One](https://docs.microsoft.com/archive/blogs/ericlippert/why-do-initializers-run-in-the-opposite-order-as-constructors-part-one) +- [Why Do Initializers Run In The Opposite Order As Constructors? Part One](/archive/blogs/ericlippert/why-do-initializers-run-in-the-opposite-order-as-constructors-part-one) diff --git a/docs/csharp/programming-guide/classes-and-structs/extension-methods.md b/docs/csharp/programming-guide/classes-and-structs/extension-methods.md index 7e08b8d9df0c6..1cf34be4977f6 100644 --- a/docs/csharp/programming-guide/classes-and-structs/extension-methods.md +++ b/docs/csharp/programming-guide/classes-and-structs/extension-methods.md @@ -118,7 +118,7 @@ For a class library that you implemented, you shouldn't use extension methods to - [Parallel Programming Samples (these include many example extension methods)](/samples/browse/?products=dotnet-core%2Cdotnet-standard&term=parallel) - [Lambda Expressions](../../language-reference/operators/lambda-expressions.md) - [Standard Query Operators Overview](../concepts/linq/standard-query-operators-overview.md) -- [Conversion rules for Instance parameters and their impact](https://docs.microsoft.com/archive/blogs/sreekarc/conversion-rules-for-instance-parameters-and-their-impact) -- [Extension methods Interoperability between languages](https://docs.microsoft.com/archive/blogs/sreekarc/extension-methods-interoperability-between-languages) -- [Extension methods and Curried Delegates](https://docs.microsoft.com/archive/blogs/sreekarc/extension-methods-and-curried-delegates) -- [Extension method Binding and Error reporting](https://docs.microsoft.com/archive/blogs/sreekarc/extension-method-binding-and-error-reporting) +- [Conversion rules for Instance parameters and their impact](/archive/blogs/sreekarc/conversion-rules-for-instance-parameters-and-their-impact) +- [Extension methods Interoperability between languages](/archive/blogs/sreekarc/extension-methods-interoperability-between-languages) +- [Extension methods and Curried Delegates](/archive/blogs/sreekarc/extension-methods-and-curried-delegates) +- [Extension method Binding and Error reporting](/archive/blogs/sreekarc/extension-method-binding-and-error-reporting) diff --git a/docs/csharp/programming-guide/classes-and-structs/static-classes-and-static-class-members.md b/docs/csharp/programming-guide/classes-and-structs/static-classes-and-static-class-members.md index ca60cab3cfc07..7273d45f1a92b 100644 --- a/docs/csharp/programming-guide/classes-and-structs/static-classes-and-static-class-members.md +++ b/docs/csharp/programming-guide/classes-and-structs/static-classes-and-static-class-members.md @@ -35,7 +35,7 @@ Console.WriteLine(Math.Round(Math.Abs(dub))); As is the case with all class types, the type information for a static class is loaded by the .NET runtime when the program that references the class is loaded. The program cannot specify exactly when the class is loaded. However, it is guaranteed to be loaded and to have its fields initialized and its static constructor called before the class is referenced for the first time in your program. A static constructor is only called one time, and a static class remains in memory for the lifetime of the application domain in which your program resides. > [!NOTE] -> To create a non-static class that allows only one instance of itself to be created, see [Implementing Singleton in C#](https://docs.microsoft.com/previous-versions/msp-n-p/ff650316%28v=pandp.10%29). +> To create a non-static class that allows only one instance of itself to be created, see [Implementing Singleton in C#](/previous-versions/msp-n-p/ff650316(v=pandp.10)). The following list provides the main features of a static class: diff --git a/docs/csharp/programming-guide/classes-and-structs/static-constructors.md b/docs/csharp/programming-guide/classes-and-structs/static-constructors.md index b8a79a9e6b7cc..7baed1a0520fb 100644 --- a/docs/csharp/programming-guide/classes-and-structs/static-constructors.md +++ b/docs/csharp/programming-guide/classes-and-structs/static-constructors.md @@ -61,4 +61,4 @@ For more information, see the [Static constructors](~/_csharplang/spec/classes.m - [Static Classes and Static Class Members](./static-classes-and-static-class-members.md) - [Finalizers](./destructors.md) - [Constructor Design Guidelines](../../../standard/design-guidelines/constructor.md#type-constructor-guidelines) -- [Security Warning - CA2121: Static constructors should be private](https://docs.microsoft.com/visualstudio/code-quality/ca2121-static-constructors-should-be-private) +- [Security Warning - CA2121: Static constructors should be private](/visualstudio/code-quality/ca2121-static-constructors-should-be-private) diff --git a/docs/csharp/programming-guide/concepts/async/start-multiple-async-tasks-and-process-them-as-they-complete.md b/docs/csharp/programming-guide/concepts/async/start-multiple-async-tasks-and-process-them-as-they-complete.md index 09a0fb7e44cb9..7bcd1dccf6a22 100644 --- a/docs/csharp/programming-guide/concepts/async/start-multiple-async-tasks-and-process-them-as-they-complete.md +++ b/docs/csharp/programming-guide/concepts/async/start-multiple-async-tasks-and-process-them-as-they-complete.md @@ -112,7 +112,7 @@ IEnumerable> downloadTasksQuery = select ProcessUrlAsync(url, s_client); ``` -Due to [deferred execution](../linq/deferred-execution-example.md) with the LINQ, you call to start each task. +Due to [deferred execution](../../../../standard/linq/deferred-execution-example.md) with the LINQ, you call to start each task. ```csharp List> downloadTasks = downloadTasksQuery.ToList(); diff --git a/docs/csharp/programming-guide/concepts/async/task-asynchronous-programming-model.md b/docs/csharp/programming-guide/concepts/async/task-asynchronous-programming-model.md index 31194a7dcc279..8e891c8bcda47 100644 --- a/docs/csharp/programming-guide/concepts/async/task-asynchronous-programming-model.md +++ b/docs/csharp/programming-guide/concepts/async/task-asynchronous-programming-model.md @@ -38,7 +38,7 @@ The [async](../../../language-reference/keywords/async.md) and [await](../../../ The following example shows an async method. Almost everything in the code should look familiar to you. -You can find a complete Windows Presentation Foundation (WPF) example available for download from [Asynchronous programming with async and await in C#](https://docs.microsoft.com/samples/dotnet/samples/async-and-await-cs). +You can find a complete Windows Presentation Foundation (WPF) example available for download from [Asynchronous programming with async and await in C#](/samples/dotnet/samples/async-and-await-cs). :::code language="csharp" source="snippets/access-web/Program.cs" id="ControlFlow"::: @@ -116,7 +116,7 @@ If you are new to asynchronous programming, take a minute to consider the differ You might be wondering where to find methods such as `GetStringAsync` that support async programming. .NET Framework 4.5 or higher and .NET Core contain many members that work with `async` and `await`. You can recognize them by the "Async" suffix that's appended to the member name, and by their return type of or . For example, the `System.IO.Stream` class contains methods such as , , and alongside the synchronous methods , , and . -The Windows Runtime also contains many methods that you can use with `async` and `await` in Windows apps. For more information, see [Threading and async programming](/windows/uwp/threading-async/) for UWP development, and [Asynchronous programming (Windows Store apps)](https://docs.microsoft.com/previous-versions/windows/apps/hh464924(v=win.10)) and [Quickstart: Calling asynchronous APIs in C# or Visual Basic](https://docs.microsoft.com/previous-versions/windows/apps/hh452713(v=win.10)) if you use earlier versions of the Windows Runtime. +The Windows Runtime also contains many methods that you can use with `async` and `await` in Windows apps. For more information, see [Threading and async programming](/windows/uwp/threading-async/) for UWP development, and [Asynchronous programming (Windows Store apps)](/previous-versions/windows/apps/hh464924(v=win.10)) and [Quickstart: Calling asynchronous APIs in C# or Visual Basic](/previous-versions/windows/apps/hh452713(v=win.10)) if you use earlier versions of the Windows Runtime. ## Threads @@ -209,7 +209,7 @@ You can ignore the convention where an event, base class, or interface contract | Title | Description | Sample | |--|--|--| -| [How to make multiple web requests in parallel by using async and await (C#)](how-to-make-multiple-web-requests-in-parallel-by-using-async-and-await.md) | Demonstrates how to start several tasks at the same time. | [Async Sample: Make Multiple Web Requests in Parallel](https://code.msdn.microsoft.com/Async-Make-Multiple-Web-49adb82e) | +| [How to make multiple web requests in parallel by using async and await (C#)](./index.md) | Demonstrates how to start several tasks at the same time. | [Async Sample: Make Multiple Web Requests in Parallel](https://code.msdn.microsoft.com/Async-Make-Multiple-Web-49adb82e) | | [Async return types (C#)](async-return-types.md) | Illustrates the types that async methods can return, and explains when each type is appropriate. | | | Cancel tasks with a cancellation token as a signaling mechanism. | Shows how to add the following functionality to your async solution:

- [Cancel a list of tasks (C#)](cancel-an-async-task-or-a-list-of-tasks.md)
- [Cancel tasks after a period of time (C#)](cancel-async-tasks-after-a-period-of-time.md)
- [Process asynchronous task as they complete (C#)](start-multiple-async-tasks-and-process-them-as-they-complete.md) | | | [Using async for file access (C#)](using-async-for-file-access.md) | Lists and demonstrates the benefits of using async and await to access files. | | diff --git a/docs/csharp/programming-guide/concepts/expression-trees/debugging-expression-trees-in-visual-studio.md b/docs/csharp/programming-guide/concepts/expression-trees/debugging-expression-trees-in-visual-studio.md index 27e5a45891917..8820023493675 100644 --- a/docs/csharp/programming-guide/concepts/expression-trees/debugging-expression-trees-in-visual-studio.md +++ b/docs/csharp/programming-guide/concepts/expression-trees/debugging-expression-trees-in-visual-studio.md @@ -9,11 +9,11 @@ You can analyze the structure and content of expression trees when you debug you ![Screenshot of the DebugView of an expression tree within VS debugger.](media/debugging-expression-trees-in-visual-studio/debugview-expression-tree.png) -Since `DebugView` is a string, you can use the [built-in Text Visualizer](https://docs.microsoft.com/visualstudio/debugger/view-strings-visualizer#open-a-string-visualizer) to view it across multiple lines, by selecting **Text Visualizer** from the magnifying glass icon next to the `DebugView` label. +Since `DebugView` is a string, you can use the [built-in Text Visualizer](/visualstudio/debugger/view-strings-visualizer#open-a-string-visualizer) to view it across multiple lines, by selecting **Text Visualizer** from the magnifying glass icon next to the `DebugView` label. ![Screenshot of the Text Visualizer applied to results of DebugView.](media/debugging-expression-trees-in-visual-studio/string-visualizer-debugview.png) -Alternatively, you can install and use [a custom visualizer](https://docs.microsoft.com/visualstudio/debugger/create-custom-visualizers-of-data) for expression trees, such as: +Alternatively, you can install and use [a custom visualizer](/visualstudio/debugger/create-custom-visualizers-of-data) for expression trees, such as: - [Readable Expressions](https://github.com/agileobjects/ReadableExpressions) ([MIT license](https://github.com/agileobjects/ReadableExpressions/blob/master/LICENSE.md), available at the [Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=vs-publisher-1232914.ReadableExpressionsVisualizers)), renders the expression tree as themeable C# code, with various rendering options: diff --git a/docs/csharp/programming-guide/concepts/linq/basic-queries-linq-to-xml.md b/docs/csharp/programming-guide/concepts/linq/basic-queries-linq-to-xml.md index b1855e07a062b..743e1145702a6 100644 --- a/docs/csharp/programming-guide/concepts/linq/basic-queries-linq-to-xml.md +++ b/docs/csharp/programming-guide/concepts/linq/basic-queries-linq-to-xml.md @@ -11,20 +11,20 @@ This section provides examples of basic [!INCLUDE[sqltecxlinq](~/includes/sqltec |Topic|Description| |-----------|-----------------| -|[How to find an element with a specific attribute (C#)](./how-to-find-an-element-with-a-specific-attribute.md)|Shows how to find a particular element that has an attribute that has a specific value.| -|[How to find an element with a specific child element (C#)](./how-to-find-an-element-with-a-specific-child-element.md)|Shows how to find a particular element that has a child element that has a specific value.| -|[Querying an XDocument vs. Querying an XElement (C#)](./querying-an-xdocument-vs-querying-an-xelement.md)|Explains the differences between writing queries on an XML tree that is rooted in and writing queries on an XML tree that is rooted in .| -|[How to find descendants with a specific element name (C#)](./how-to-find-descendants-with-a-specific-element-name.md)|Shows how to find all the descendants of an element that have a specific name. This example uses the axis.| -|[How to find a single descendant using the descendants method (C#)](./how-to-find-a-single-descendant-using-the-descendants-method.md)|Shows how to use the axis method to find a single uniquely named element.| -|[How to write queries with complex filtering (C#)](./how-to-write-queries-with-complex-filtering.md)|Shows how to write a query with a more complex filter.| -|[How to filter on an optional element (C#)](./how-to-filter-on-an-optional-element.md)|Shows how to find nodes in an irregularly shaped tree.| -|[How to find all nodes in a namespace (C#)](./how-to-find-all-nodes-in-a-namespace.md)|Shows how to find all nodes that are in a specific namespace.| -|[How to sort elements (C#)](./how-to-sort-elements.md)|Shows how to write a query that sorts its results.| -|[How to sort elements on multiple keys (C#)](./how-to-sort-elements-on-multiple-keys.md)|Shows how to sort on multiple keys.| -|[How to calculate intermediate values (C#)](./how-to-calculate-intermediate-values.md)|Shows how to use the `Let` clause to calculate intermediate values in a [!INCLUDE[sqltecxlinq](~/includes/sqltecxlinq-md.md)] query.| -|[How to write a query that finds elements based on context (C#)](./how-to-write-a-query-that-finds-elements-based-on-context.md)|Shows how to select elements based on other elements in the tree.| -|[How to debug empty query results sets (C#)](./how-to-debug-empty-query-results-sets.md)|Shows the appropriate fix when debugging queries on XML that is in a default namespace.| +|[How to find an element with a specific attribute (C#)](../../../../standard/linq/find-element-specific-attribute.md)|Shows how to find a particular element that has an attribute that has a specific value.| +|[How to find an element with a specific child element (C#)](../../../../standard/linq/find-element-specific-child-element.md)|Shows how to find a particular element that has a child element that has a specific value.| +|[Querying an XDocument vs. Querying an XElement (C#)](../../../../standard/linq/query-xdocument-vs-query-xelement.md)|Explains the differences between writing queries on an XML tree that is rooted in and writing queries on an XML tree that is rooted in .| +|[How to find descendants with a specific element name (C#)](../../../../standard/linq/find-descendants-specific-element-name.md)|Shows how to find all the descendants of an element that have a specific name. This example uses the axis.| +|[How to find a single descendant using the descendants method (C#)](../../../../standard/linq/find-single-descendant-descendants-method.md)|Shows how to use the axis method to find a single uniquely named element.| +|[How to write queries with complex filtering (C#)](../../../../standard/linq/write-queries-complex-filtering.md)|Shows how to write a query with a more complex filter.| +|[How to filter on an optional element (C#)](../../../../standard/linq/filter-optional-element.md)|Shows how to find nodes in an irregularly shaped tree.| +|[How to find all nodes in a namespace (C#)](../../../../standard/linq/find-all-nodes-namespace.md)|Shows how to find all nodes that are in a specific namespace.| +|[How to sort elements (C#)](../../../../standard/linq/sort-elements.md)|Shows how to write a query that sorts its results.| +|[How to sort elements on multiple keys (C#)](../../../../standard/linq/sort-elements-multiple-keys.md)|Shows how to sort on multiple keys.| +|[How to calculate intermediate values (C#)](../../../../standard/linq/calculate-intermediate-values.md)|Shows how to use the `Let` clause to calculate intermediate values in a [!INCLUDE[sqltecxlinq](~/includes/sqltecxlinq-md.md)] query.| +|[How to write a query that finds elements based on context (C#)](../../../../standard/linq/write-query-finds-elements-based-context.md)|Shows how to select elements based on other elements in the tree.| +|[How to debug empty query results sets (C#)](../../../../standard/linq/debug-empty-query-results-sets.md)|Shows the appropriate fix when debugging queries on XML that is in a default namespace.| ## See also -- [Querying XML Trees (C#)](how-to-find-an-element-with-a-specific-attribute.md) +- [Querying XML Trees (C#)](../../../../standard/linq/find-element-specific-attribute.md) diff --git a/docs/csharp/programming-guide/concepts/linq/data-transformations-with-linq.md b/docs/csharp/programming-guide/concepts/linq/data-transformations-with-linq.md index f600e9aab4ba7..d772686349564 100644 --- a/docs/csharp/programming-guide/concepts/linq/data-transformations-with-linq.md +++ b/docs/csharp/programming-guide/concepts/linq/data-transformations-with-linq.md @@ -82,7 +82,7 @@ Language-Integrated Query (LINQ) is not only about retrieving data. It is also a ``` - For more information, see [Creating XML Trees in C# (LINQ to XML)](./creating-xml-trees-linq-to-xml-2.md). + For more information, see [Creating XML Trees in C# (LINQ to XML)](../../../../standard/linq/create-xml-trees.md). ## Performing Operations on Source Elements An output sequence might not contain any elements or element properties from the source sequence. The output might instead be a sequence of values that is computed by using the source elements as input arguments. @@ -101,6 +101,6 @@ Language-Integrated Query (LINQ) is not only about retrieving data. It is also a - [Language-Integrated Query (LINQ) (C#)](./index.md) - [LINQ to SQL](../../../../framework/data/adonet/sql/linq/index.md) - [LINQ to DataSet](../../../../framework/data/adonet/linq-to-dataset.md) -- [LINQ to XML (C#)](./linq-to-xml-overview.md) +- [LINQ to XML (C#)](../../../../standard/linq/linq-xml-overview.md) - [LINQ Query Expressions](../../../linq/index.md) - [select clause](../../../language-reference/keywords/select-clause.md) diff --git a/docs/csharp/programming-guide/concepts/linq/how-to-reorder-the-fields-of-a-delimited-file-linq.md b/docs/csharp/programming-guide/concepts/linq/how-to-reorder-the-fields-of-a-delimited-file-linq.md index ffec8f4e59e50..93dc49685fc13 100644 --- a/docs/csharp/programming-guide/concepts/linq/how-to-reorder-the-fields-of-a-delimited-file-linq.md +++ b/docs/csharp/programming-guide/concepts/linq/how-to-reorder-the-fields-of-a-delimited-file-linq.md @@ -77,4 +77,4 @@ Create a C# console application project, with `using` directives for the System. - [LINQ and Strings (C#)](./linq-and-strings.md) - [LINQ and File Directories (C#)](./linq-and-file-directories.md) -- [How to generate XML from CSV files (C#)](./how-to-generate-xml-from-csv-files.md) +- [How to generate XML from CSV files (C#)](../../../../standard/linq/generate-xml-csv-files.md) diff --git a/docs/csharp/programming-guide/concepts/linq/index.md b/docs/csharp/programming-guide/concepts/linq/index.md index ff6cc309ac1ea..2a90be4ca80b3 100644 --- a/docs/csharp/programming-guide/concepts/linq/index.md +++ b/docs/csharp/programming-guide/concepts/linq/index.md @@ -36,7 +36,7 @@ The following illustration from Visual Studio shows a partially-completed LINQ q To learn more details about LINQ, start by becoming familiar with some basic concepts in [Query expression basics](../../../linq/query-expression-basics.md), and then read the documentation for the LINQ technology in which you are interested: -- XML documents: [LINQ to XML](linq-to-xml-overview.md) +- XML documents: [LINQ to XML](../../../../standard/linq/linq-xml-overview.md) - ADO.NET Entity Framework: [LINQ to entities](../../../../framework/data/adonet/ef/language-reference/linq-to-entities.md) - .NET collections, files, strings and so on: [LINQ to objects](linq-to-objects.md) diff --git a/docs/csharp/programming-guide/concepts/linq/linq-and-strings.md b/docs/csharp/programming-guide/concepts/linq/linq-and-strings.md index 5cc8d320a50e7..2df43ddb17057 100644 --- a/docs/csharp/programming-guide/concepts/linq/linq-and-strings.md +++ b/docs/csharp/programming-guide/concepts/linq/linq-and-strings.md @@ -8,7 +8,7 @@ ms.assetid: dbe2d657-b3f3-487e-b645-21fb2d71cd7b LINQ can be used to query and transform strings and collections of strings. It can be especially useful with semi-structured data in text files. LINQ queries can be combined with traditional string functions and regular expressions. For example, you can use the or method to create an array of strings that you can then query or modify by using LINQ. You can use the method in the `where` clause of a LINQ query. And you can use LINQ to query or modify the results returned by a regular expression. -You can also use the techniques described in this section to transform semi-structured text data to XML. For more information, see [How to generate XML from CSV files](how-to-generate-xml-from-csv-files.md). +You can also use the techniques described in this section to transform semi-structured text data to XML. For more information, see [How to generate XML from CSV files](../../../../standard/linq/generate-xml-csv-files.md). The examples in this section fall into two categories: @@ -70,4 +70,4 @@ Many different types of text files consist of a series of lines, often with simi ## See also - [Language-Integrated Query (LINQ) (C#)](index.md) -- [How to generate XML from CSV files](how-to-generate-xml-from-csv-files.md) +- [How to generate XML from CSV files](../../../../standard/linq/generate-xml-csv-files.md) diff --git a/docs/csharp/programming-guide/concepts/linq/linq-to-objects.md b/docs/csharp/programming-guide/concepts/linq/linq-to-objects.md index f5c6365b113ad..4414280b694fc 100644 --- a/docs/csharp/programming-guide/concepts/linq/linq-to-objects.md +++ b/docs/csharp/programming-guide/concepts/linq/linq-to-objects.md @@ -6,7 +6,7 @@ ms.assetid: c5c2c178-3529-4f6c-b3df-2d5267af7f22 --- # LINQ to Objects (C#) -The term "LINQ to Objects" refers to the use of LINQ queries with any or collection directly, without the use of an intermediate LINQ provider or API such as [LINQ to SQL](../../../../framework/data/adonet/sql/linq/index.md) or [LINQ to XML](./linq-to-xml-overview.md). You can use LINQ to query any enumerable collections such as , , or . The collection may be user-defined or may be returned by a .NET API. +The term "LINQ to Objects" refers to the use of LINQ queries with any or collection directly, without the use of an intermediate LINQ provider or API such as [LINQ to SQL](../../../../framework/data/adonet/sql/linq/index.md) or [LINQ to XML](../../../../standard/linq/linq-xml-overview.md). You can use LINQ to query any enumerable collections such as , , or . The collection may be user-defined or may be returned by a .NET API. In a basic sense, LINQ to Objects represents a new approach to collections. In the old way, you had to write complex `foreach` loops that specified how to retrieve data from a collection. In the LINQ approach, you write declarative code that describes what you want to retrieve. diff --git a/docs/csharp/programming-guide/concepts/linq/walkthrough-writing-queries-linq.md b/docs/csharp/programming-guide/concepts/linq/walkthrough-writing-queries-linq.md index e56f638b3f10d..47bca43fddaa3 100644 --- a/docs/csharp/programming-guide/concepts/linq/walkthrough-writing-queries-linq.md +++ b/docs/csharp/programming-guide/concepts/linq/walkthrough-writing-queries-linq.md @@ -173,7 +173,7 @@ This walkthrough demonstrates the C# language features that are used to write LI [LINQ to DataSet](../../../../framework/data/adonet/linq-to-dataset.md) - [LINQ to XML (C#)](./linq-to-xml-overview.md) + [LINQ to XML (C#)](../../../../standard/linq/linq-xml-overview.md) [LINQ to Objects (C#)](./linq-to-objects.md) diff --git a/docs/csharp/programming-guide/delegates/index.md b/docs/csharp/programming-guide/delegates/index.md index 7c2fa258fcf2d..52d0eb3390497 100644 --- a/docs/csharp/programming-guide/delegates/index.md +++ b/docs/csharp/programming-guide/delegates/index.md @@ -40,7 +40,7 @@ A [delegate](../../language-reference/builtin-types/reference-types.md) is a typ - [Using Delegates](./using-delegates.md) -- [When to Use Delegates Instead of Interfaces (C# Programming Guide)](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2010/ms173173(v=vs.100)) +- [When to Use Delegates Instead of Interfaces (C# Programming Guide)](/previous-versions/visualstudio/visual-studio-2010/ms173173(v=vs.100)) - [Delegates with Named vs. Anonymous Methods](./delegates-with-named-vs-anonymous-methods.md) @@ -55,9 +55,9 @@ A [delegate](../../language-reference/builtin-types/reference-types.md) is a typ For more information, see [Delegates](~/_csharplang/spec/delegates.md) in the [C# Language Specification](/dotnet/csharp/language-reference/language-specification/introduction). The language specification is the definitive source for C# syntax and usage. ## Featured Book Chapters - [Delegates, Events, and Lambda Expressions](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/ff518994%28v=orm.10%29) in [C# 3.0 Cookbook, Third Edition: More than 250 solutions for C# 3.0 programmers](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/ff518995%28v=orm.10%29) + [Delegates, Events, and Lambda Expressions](/previous-versions/visualstudio/visual-studio-2008/ff518994(v=orm.10)) in [C# 3.0 Cookbook, Third Edition: More than 250 solutions for C# 3.0 programmers](/previous-versions/visualstudio/visual-studio-2008/ff518995(v=orm.10)) - [Delegates and Events](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/ff652490%28v=orm.10%29) in [Learning C# 3.0: Master the fundamentals of C# 3.0](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/ff652493%28v=orm.10%29) + [Delegates and Events](/previous-versions/visualstudio/visual-studio-2008/ff652490(v=orm.10)) in [Learning C# 3.0: Master the fundamentals of C# 3.0](/previous-versions/visualstudio/visual-studio-2008/ff652493(v=orm.10)) ## See also diff --git a/docs/csharp/programming-guide/events/how-to-raise-base-class-events-in-derived-classes.md b/docs/csharp/programming-guide/events/how-to-raise-base-class-events-in-derived-classes.md index f1e1524e3a0e6..eab1551ba64a5 100644 --- a/docs/csharp/programming-guide/events/how-to-raise-base-class-events-in-derived-classes.md +++ b/docs/csharp/programming-guide/events/how-to-raise-base-class-events-in-derived-classes.md @@ -23,4 +23,4 @@ The following simple example shows the standard way to declare events in a base - [Events](./index.md) - [Delegates](../delegates/index.md) - [Access Modifiers](../classes-and-structs/access-modifiers.md) -- [Creating Event Handlers in Windows Forms](../../../framework/winforms/creating-event-handlers-in-windows-forms.md) +- [Creating Event Handlers in Windows Forms](/dotnet/desktop/winforms/creating-event-handlers-in-windows-forms) diff --git a/docs/csharp/programming-guide/events/index.md b/docs/csharp/programming-guide/events/index.md index 73eab3392af22..b9825dad5b969 100644 --- a/docs/csharp/programming-guide/events/index.md +++ b/docs/csharp/programming-guide/events/index.md @@ -46,13 +46,13 @@ In a typical C# Windows Forms or Web application, you subscribe to events raised For more information, see [Events](~/_csharplang/spec/classes.md#events) in the [C# Language Specification](/dotnet/csharp/language-reference/language-specification/introduction). The language specification is the definitive source for C# syntax and usage. ## Featured Book Chapters - [Delegates, Events, and Lambda Expressions](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/ff518994%28v=orm.10%29) in [C# 3.0 Cookbook, Third Edition: More than 250 solutions for C# 3.0 programmers](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/ff518995%28v=orm.10%29) + [Delegates, Events, and Lambda Expressions](/previous-versions/visualstudio/visual-studio-2008/ff518994(v=orm.10)) in [C# 3.0 Cookbook, Third Edition: More than 250 solutions for C# 3.0 programmers](/previous-versions/visualstudio/visual-studio-2008/ff518995(v=orm.10)) - [Delegates and Events](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/ff652490%28v=orm.10%29) in [Learning C# 3.0: Master the fundamentals of C# 3.0](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/ff652493%28v=orm.10%29) + [Delegates and Events](/previous-versions/visualstudio/visual-studio-2008/ff652490(v=orm.10)) in [Learning C# 3.0: Master the fundamentals of C# 3.0](/previous-versions/visualstudio/visual-studio-2008/ff652493(v=orm.10)) ## See also - - [C# Programming Guide](../index.md) - [Delegates](../delegates/index.md) -- [Creating Event Handlers in Windows Forms](../../../framework/winforms/creating-event-handlers-in-windows-forms.md) +- [Creating Event Handlers in Windows Forms](/dotnet/desktop/winforms/creating-event-handlers-in-windows-forms) diff --git a/docs/csharp/programming-guide/generics/generic-classes.md b/docs/csharp/programming-guide/generics/generic-classes.md index 5ee43b39693ad..d06c00ca54030 100644 --- a/docs/csharp/programming-guide/generics/generic-classes.md +++ b/docs/csharp/programming-guide/generics/generic-classes.md @@ -65,5 +65,5 @@ Generic classes encapsulate operations that are not specific to a particular dat - - [C# Programming Guide](../index.md) - [Generics](./index.md) -- [Saving the State of Enumerators](https://docs.microsoft.com/archive/blogs/wesdyer/saving-the-state-of-enumerators) -- [An Inheritance Puzzle, Part One](https://docs.microsoft.com/archive/blogs/ericlippert/an-inheritance-puzzle-part-one) +- [Saving the State of Enumerators](/archive/blogs/wesdyer/saving-the-state-of-enumerators) +- [An Inheritance Puzzle, Part One](/archive/blogs/ericlippert/an-inheritance-puzzle-part-one) diff --git a/docs/csharp/programming-guide/interop/example-com-class.md b/docs/csharp/programming-guide/interop/example-com-class.md index 29c31e9ad20c4..edbcab3b4df9f 100644 --- a/docs/csharp/programming-guide/interop/example-com-class.md +++ b/docs/csharp/programming-guide/interop/example-com-class.md @@ -8,7 +8,7 @@ helpviewer_keywords: ms.assetid: 6504dea9-ad1c-4993-a794-830fec5270af --- # Example COM Class (C# Programming Guide) -The following is an example of a class that you would expose as a COM object. After this code has been placed in a .cs file and added to your project, set the **Register for COM Interop** property to **True**. For more information, see [How to: Register a Component for COM Interop](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2010/w29wacsy(v=vs.100)). +The following is an example of a class that you would expose as a COM object. After this code has been placed in a .cs file and added to your project, set the **Register for COM Interop** property to **True**. For more information, see [How to: Register a Component for COM Interop](/previous-versions/visualstudio/visual-studio-2010/w29wacsy(v=vs.100)). Exposing Visual C# objects to COM requires declaring a class interface, an events interface if it is required, and the class itself. Class members must follow these rules to be visible to COM: diff --git a/docs/csharp/programming-guide/interop/how-to-use-platform-invoke-to-play-a-wave-file.md b/docs/csharp/programming-guide/interop/how-to-use-platform-invoke-to-play-a-wave-file.md index 9eed7d5481c57..13909b4454847 100644 --- a/docs/csharp/programming-guide/interop/how-to-use-platform-invoke-to-play-a-wave-file.md +++ b/docs/csharp/programming-guide/interop/how-to-use-platform-invoke-to-play-a-wave-file.md @@ -15,7 +15,7 @@ The following C# code example illustrates how to use platform invoke services to ## Example -This example code uses to import `winmm.dll`'s `PlaySound` method entry point as `Form1 PlaySound()`. The example has a simple Windows Form with a button. Clicking the button opens a standard windows dialog box so that you can open a file to play. When a wave file is selected, it is played by using the `PlaySound()` method of the *winmm.dll* library. For more information about this method, see [Using the PlaySound function with Waveform-Audio Files](https://docs.microsoft.com/windows/desktop/multimedia/using-playsound-to-play-waveform-audio-files). Browse and select a file that has a .wav extension, and then click **Open** to play the wave file by using platform invoke. A text box shows the full path of the file selected. +This example code uses to import `winmm.dll`'s `PlaySound` method entry point as `Form1 PlaySound()`. The example has a simple Windows Form with a button. Clicking the button opens a standard windows dialog box so that you can open a file to play. When a wave file is selected, it is played by using the `PlaySound()` method of the *winmm.dll* library. For more information about this method, see [Using the PlaySound function with Waveform-Audio Files](/windows/desktop/multimedia/using-playsound-to-play-waveform-audio-files). Browse and select a file that has a .wav extension, and then click **Open** to play the wave file by using platform invoke. A text box shows the full path of the file selected. The **Open Files** dialog box is filtered to show only files that have a .wav extension through the filter settings: diff --git a/docs/csharp/programming-guide/interop/interoperability-overview.md b/docs/csharp/programming-guide/interop/interoperability-overview.md index 8320c723a6ec8..e2877b9ab2eb9 100644 --- a/docs/csharp/programming-guide/interop/interoperability-overview.md +++ b/docs/csharp/programming-guide/interop/interoperability-overview.md @@ -54,7 +54,7 @@ For more information, see [Consuming Unmanaged DLL Functions](../../../framework ## See also -- [Improving Interop Performance](https://docs.microsoft.com/previous-versions/msp-n-p/ff647812%28v=pandp.10%29) +- [Improving Interop Performance](/previous-versions/msp-n-p/ff647812(v=pandp.10)) - [Introduction to Interoperability between COM and .NET](/office/client-developer/outlook/pia/introduction-to-interoperability-between-com-and-net) - [Introduction to COM Interop in Visual Basic](../../../visual-basic/programming-guide/com-interop/introduction-to-com-interop.md) - [Marshaling between Managed and Unmanaged Code](../../../framework/interop/interop-marshaling.md) diff --git a/docs/csharp/programming-guide/interop/walkthrough-office-programming.md b/docs/csharp/programming-guide/interop/walkthrough-office-programming.md index 7067cbde18b80..bc36d47217b8b 100644 --- a/docs/csharp/programming-guide/interop/walkthrough-office-programming.md +++ b/docs/csharp/programming-guide/interop/walkthrough-office-programming.md @@ -199,7 +199,7 @@ You must have Microsoft Office Excel and Microsoft Office Word installed on your - [Lambda Expressions (Visual Basic)](../../../visual-basic/programming-guide/language-features/procedures/lambda-expressions.md) - [Lambda Expressions (C#)](../../language-reference/operators/lambda-expressions.md) - [How to use indexed properties in COM interop programming](./how-to-use-indexed-properties-in-com-interop-rogramming.md) -- [Walkthrough: Embedding Type Information from Microsoft Office Assemblies in Visual Studio](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2013/ee317478(v%3dvs.120)) +- [Walkthrough: Embedding Type Information from Microsoft Office Assemblies in Visual Studio](/previous-versions/visualstudio/visual-studio-2013/ee317478(v=vs.120)) - [Walkthrough: Embedding Types from Managed Assemblies](../../../standard/assembly/embed-types-visual-studio.md) - [Walkthrough: Creating Your First VSTO Add-in for Excel](/visualstudio/vsto/walkthrough-creating-your-first-vsto-add-in-for-excel) - [COM Interop](../../../visual-basic/programming-guide/com-interop/index.md) diff --git a/docs/csharp/programming-guide/types/casting-and-type-conversions.md b/docs/csharp/programming-guide/types/casting-and-type-conversions.md index 0f2a61b219a78..b7457074e5d2e 100644 --- a/docs/csharp/programming-guide/types/casting-and-type-conversions.md +++ b/docs/csharp/programming-guide/types/casting-and-type-conversions.md @@ -94,5 +94,5 @@ For more information, see the [Conversions](~/_csharplang/spec/conversions.md) s - [Types](./index.md) - [Cast expression](../../language-reference/operators/type-testing-and-cast.md#cast-expression) - [User-defined conversion operators](../../language-reference/operators/user-defined-conversion-operators.md) -- [Generalized Type Conversion](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2013/yy580hbd(v=vs.120)) +- [Generalized Type Conversion](/previous-versions/visualstudio/visual-studio-2013/yy580hbd(v=vs.120)) - [How to convert a string to a number](./how-to-convert-a-string-to-a-number.md) diff --git a/docs/csharp/programming-guide/types/how-to-convert-a-string-to-a-number.md b/docs/csharp/programming-guide/types/how-to-convert-a-string-to-a-number.md index 38762e485cf19..069f80f113b97 100644 --- a/docs/csharp/programming-guide/types/how-to-convert-a-string-to-a-number.md +++ b/docs/csharp/programming-guide/types/how-to-convert-a-string-to-a-number.md @@ -53,4 +53,4 @@ The following table lists some of the methods from the cla - [Types](./index.md) - [How to determine whether a string represents a numeric value](../strings/how-to-determine-whether-a-string-represents-a-numeric-value.md) -- [Sample: .NET Core WinForms Formatting Utility (C#)](https://docs.microsoft.com/samples/dotnet/samples/windowsforms-formatting-utility-cs) +- [Sample: .NET Core WinForms Formatting Utility (C#)](/samples/dotnet/samples/windowsforms-formatting-utility-cs) diff --git a/docs/csharp/tour-of-csharp/features.md b/docs/csharp/tour-of-csharp/features.md index 8803be3d58c7c..6cd726bf0e197 100644 --- a/docs/csharp/tour-of-csharp/features.md +++ b/docs/csharp/tour-of-csharp/features.md @@ -80,7 +80,7 @@ A delegate doesn't know or care about the class of the method it references. All ## async / await -C# supports asynchronous programs with two keywords: `async` and `await`. You add the `async` modifier to a method declaration to declare the method is asynchronous. The `await` operator tells the compiler to asynchronously await for a result to finish. Control is returned to the caller, and the method returns a structure that manages the state of the asynchronous work. The structure is typically a , but can be any type that supports the awaiter pattern. These features enable you to write code that reads as its synchronous counterpart, but executes asynchronously. For example, the following code downloads the home page for [Microsoft docs](https://docs.microsoft.com): +C# supports asynchronous programs with two keywords: `async` and `await`. You add the `async` modifier to a method declaration to declare the method is asynchronous. The `await` operator tells the compiler to asynchronously await for a result to finish. Control is returned to the caller, and the method returns a structure that manages the state of the asynchronous work. The structure is typically a , but can be any type that supports the awaiter pattern. These features enable you to write code that reads as its synchronous counterpart, but executes asynchronously. For example, the following code downloads the home page for [Microsoft docs](/): :::code language="csharp" source="./snippets/shared/Features.cs" ID="AsyncExample"::: diff --git a/docs/csharp/tutorials/intro-to-csharp/index.md b/docs/csharp/tutorials/intro-to-csharp/index.md index 1df3bf0aa8196..2bf59b2a0a7f1 100644 --- a/docs/csharp/tutorials/intro-to-csharp/index.md +++ b/docs/csharp/tutorials/intro-to-csharp/index.md @@ -22,7 +22,7 @@ programming or the C# language. You can try these tutorials in different environments. The concepts you'll learn are the same. The difference is which experience you prefer: - [In your browser, on the docs platform](hello-world.yml): This experience embeds a runnable C# code window in docs pages. You write and execute C# code in the browser. -- [In the Microsoft Learn experience](https://docs.microsoft.com/learn/paths/csharp-first-steps/). This learning path contains several modules that teach the basics of C#. +- [In the Microsoft Learn experience](/learn/paths/csharp-first-steps/). This learning path contains several modules that teach the basics of C#. - [In Jupyter on Binder](https://mybinder.org/v2/gh/dotnet/try-samples/master?filepath=hello-csharp%2Fhello-world.ipynb). You can experiment with C# code in a Jupyter notebook on binder. - [On your local machine](numbers-in-csharp-local.md). After you've explored online, you can [download](https://dotnet.microsoft.com/download) the .NET Core SDK and build programs on your machine. @@ -36,7 +36,7 @@ on your machine. ## [Hello world](hello-world.yml) In the [Hello world](hello-world.yml) tutorial, you'll create the most basic -C# program. You'll explore the `string` type and how to work with text. You can also use the path on [Microsoft Learn](https://docs.microsoft.com/learn/paths/csharp-first-steps/) or [Jupyter on Binder](https://mybinder.org/v2/gh/dotnet/try-samples/master?filepath=hello-csharp%2Fhello-world.ipynb). +C# program. You'll explore the `string` type and how to work with text. You can also use the path on [Microsoft Learn](/learn/paths/csharp-first-steps/) or [Jupyter on Binder](https://mybinder.org/v2/gh/dotnet/try-samples/master?filepath=hello-csharp%2Fhello-world.ipynb). ## [Numbers in C#](numbers-in-csharp.yml) diff --git a/docs/csharp/tutorials/working-with-linq.md b/docs/csharp/tutorials/working-with-linq.md index fd08d7d233156..58846c75e5559 100644 --- a/docs/csharp/tutorials/working-with-linq.md +++ b/docs/csharp/tutorials/working-with-linq.md @@ -254,7 +254,7 @@ shuffle = shuffle.Skip(26).InterleaveSequenceWith(shuffle.Take(26)); Run the program again, and you'll see that it takes 52 iterations for the deck to reorder itself. You'll also start to notice some serious performance degradations as the program continues to run. -There are a number of reasons for this. You can tackle one of the major causes of this performance drop: inefficient use of [*lazy evaluation*](../programming-guide/concepts/linq/deferred-execution-and-lazy-evaluation-in-linq-to-xml.md). +There are a number of reasons for this. You can tackle one of the major causes of this performance drop: inefficient use of [*lazy evaluation*](../../standard/linq/deferred-execution-lazy-evaluation.md). Briefly, lazy evaluation states that the evaluation of a statement is not performed until its value is needed. LINQ queries are statements that are evaluated lazily. The sequences are generated only as the elements are requested. Usually, that's a major benefit of LINQ. However, in a use such as this program, this causes exponential growth in execution time. diff --git a/docs/csharp/walkthroughs.md b/docs/csharp/walkthroughs.md index 2a77675006043..f91f788d259be 100644 --- a/docs/csharp/walkthroughs.md +++ b/docs/csharp/walkthroughs.md @@ -28,19 +28,19 @@ Walkthroughs give step-by-step instructions for common scenarios, which makes th - [Creating and Using Dynamic Objects (C# and Visual Basic)](./programming-guide/types/walkthrough-creating-and-using-dynamic-objects.md)\ Shows how to create a custom object that dynamically exposes the contents of a text file, and how to create a project that uses the `IronPython` library. -- [Authoring a Composite Control with Visual C#](../framework/winforms/controls/walkthrough-authoring-a-composite-control-with-visual-csharp.md)\ +- [Authoring a Composite Control with Visual C#](/dotnet/desktop/winforms/controls/walkthrough-authoring-a-composite-control-with-visual-csharp)\ Demonstrates creating a simple composite control and extending its functionality through inheritance. -- [Creating a Windows Forms Control that Takes Advantage of Visual Studio Design-Time Features](../framework/winforms/controls/creating-a-wf-control-design-time-features.md)\ +- [Creating a Windows Forms Control that Takes Advantage of Visual Studio Design-Time Features](/dotnet/desktop/winforms/controls/creating-a-wf-control-design-time-features)\ Illustrates how to create a custom designer for a custom control. -- [Inheriting from a Windows Forms Control with Visual C#](../framework/winforms/controls/walkthrough-inheriting-from-a-windows-forms-control-with-visual-csharp.md)\ +- [Inheriting from a Windows Forms Control with Visual C#](/dotnet/desktop/winforms/controls/walkthrough-inheriting-from-a-windows-forms-control-with-visual-csharp)\ Demonstrates creating a simple inherited button control. This button inherits functionality from the standard Windows Forms button and exposes a custom member. -- [Debugging Custom Windows Forms Controls at Design Time](../framework/winforms/controls/walkthrough-debugging-custom-windows-forms-controls-at-design-time.md)\ +- [Debugging Custom Windows Forms Controls at Design Time](/dotnet/desktop/winforms/controls/walkthrough-debugging-custom-windows-forms-controls-at-design-time)\ Describes how to debug the design-time behavior of your custom control. -- [Walkthrough: Perform common tasks using designer actions](../framework/winforms/controls/perform-common-tasks-design-actions.md)\ +- [Walkthrough: Perform common tasks using designer actions](/dotnet/desktop/winforms/controls/perform-common-tasks-design-actions)\ Demonstrates some of the commonly performed tasks such as adding or removing a tab on a `TabControl`, docking a control to its parent, and changing the orientation of a `SplitContainer` control. - [Writing Queries in C# (LINQ)](./programming-guide/concepts/linq/walkthrough-writing-queries-linq.md)\ diff --git a/docs/csharp/whats-new/version-update-considerations.md b/docs/csharp/whats-new/version-update-considerations.md index c16625444ed58..d7c569580b3e7 100644 --- a/docs/csharp/whats-new/version-update-considerations.md +++ b/docs/csharp/whats-new/version-update-considerations.md @@ -58,4 +58,4 @@ New code: public double CalculateSquare(in double value) => value * value; ``` -The [What's new](index.md) articles note if introducing a feature that affects public declarations is source compatible or binary compatible. +The [What's new](./csharp-9.md) articles note if introducing a feature that affects public declarations is source compatible or binary compatible. diff --git a/docs/desktop-wpf/data/data-binding-overview.md b/docs/desktop-wpf/data/data-binding-overview.md index b676b286c5b55..2ad8c03f365c5 100644 --- a/docs/desktop-wpf/data/data-binding-overview.md +++ b/docs/desktop-wpf/data/data-binding-overview.md @@ -70,7 +70,7 @@ As the figure shows, data binding is essentially the bridge between your binding - The target property must be a dependency property. Most properties are dependency properties, and most dependency properties, except read-only ones, support data binding by default. (Only types derived from can define dependency properties; and all types derive from `DependencyObject`.) -- Although not shown in the figure, it should be noted that the binding source object is not restricted to being a custom .NET object. WPF data binding supports data in the form of .NET objects and XML. To provide some examples, your binding source may be a , any list object, an ADO.NET or Web Services object, or an XmlNode that contains your XML data. For more information, see [Binding sources overview](../../framework/wpf/data/binding-sources-overview.md). +- Although not shown in the figure, it should be noted that the binding source object is not restricted to being a custom .NET object. WPF data binding supports data in the form of .NET objects and XML. To provide some examples, your binding source may be a , any list object, an ADO.NET or Web Services object, or an XmlNode that contains your XML data. For more information, see [Binding sources overview](/dotnet/desktop/wpf/data/binding-sources-overview). It is important to remember that when you are establishing a binding, you are binding a binding target *to* a binding source. For example, if you are displaying some underlying XML data in a using data binding, you are binding your `ListBox` to the XML data. @@ -94,7 +94,7 @@ This figure illustrates the different types of data flow: - Not illustrated in the figure is binding, which causes the source property to initialize the target property but does not propagate subsequent changes. If the data context changes or the object in the data context changes, the change is *not* reflected in the target property. This type of binding is appropriate if either a snapshot of the current state is appropriate or the data is truly static. This type of binding is also useful if you want to initialize your target property with some value from a source property and the data context is not known in advance. This mode is essentially a simpler form of binding that provides better performance in cases where the source value does not change. -To detect source changes (applicable to and bindings), the source must implement a suitable property change notification mechanism such as . See [How to: Implement property change notification](../../framework/wpf/data/how-to-implement-property-change-notification.md) for an example of an implementation. +To detect source changes (applicable to and bindings), the source must implement a suitable property change notification mechanism such as . See [How to: Implement property change notification](/dotnet/desktop/wpf/data/how-to-implement-property-change-notification) for an example of an implementation. The property provides more information about binding modes and an example of how to specify the direction of a binding. @@ -120,7 +120,7 @@ The following table provides an example scenario for each . | TextBox controls in a chat room window. | | `Explicit` | When the app calls . | TextBox controls in an editable form (updates the source values only when the user clicks the submit button). | -For an example, see [How to: Control when the TextBox text updates the source](../../framework/wpf/data/how-to-control-when-the-textbox-text-updates-the-source.md). +For an example, see [How to: Control when the TextBox text updates the source](/dotnet/desktop/wpf/data/how-to-control-when-the-textbox-text-updates-the-source). ## Creating a binding @@ -130,7 +130,7 @@ Consider the following example, in which the binding source object is a class na [!code-xaml[BindNonTextProperty](~/samples/snippets/desktop-guide/wpf/data-binding-overview/csharp/AutoConvertPropertyToColor.xaml#BindAutoConvertColor)] -For more information on the binding declaration syntax and examples of how to set up a binding in code, see [Binding Declarations Overview](../../framework/wpf/data/binding-declarations-overview.md). +For more information on the binding declaration syntax and examples of how to set up a binding in code, see [Binding Declarations Overview](/dotnet/desktop/wpf/data/binding-declarations-overview). If we apply this example to our basic diagram, the resulting figure looks like the following. This figure describes a binding because the Background property supports binding by default. @@ -146,7 +146,7 @@ There are several ways to specify the binding source object. Using the property on an element directly, inheriting the value from an ancestor (such as the button in the first example), and explicitly specifying the binding source by setting the property on the binding (such as the button the last example), you can also use the property or the property to specify the binding source. The property is useful when you are binding to other elements in your app, such as when you are using a slider to adjust the width of a button. The property is useful when the binding is specified in a or a . For more information, see [How to: Specify the binding source](../../framework/wpf/data/how-to-specify-the-binding-source.md). +Other than setting the property on an element directly, inheriting the value from an ancestor (such as the button in the first example), and explicitly specifying the binding source by setting the property on the binding (such as the button the last example), you can also use the property or the property to specify the binding source. The property is useful when you are binding to other elements in your app, such as when you are using a slider to adjust the width of a button. The property is useful when the binding is specified in a or a . For more information, see [How to: Specify the binding source](/dotnet/desktop/wpf/data/how-to-specify-the-binding-source). ### Specifying the path to the value @@ -177,9 +177,9 @@ You can use the same *myBinding* object to create other bindings. For example, y A object is returned by calling on a data-bound object. The following articles demonstrate some of the usages of the class: -- [Get the binding object from a bound target property](../../framework/wpf/data/how-to-get-the-binding-object-from-a-bound-target-property.md) +- [Get the binding object from a bound target property](/dotnet/desktop/wpf/data/how-to-get-the-binding-object-from-a-bound-target-property) -- [Control When the TextBox text updates the source](../../framework/wpf/data/how-to-control-when-the-textbox-text-updates-the-source.md) +- [Control When the TextBox text updates the source](/dotnet/desktop/wpf/data/how-to-control-when-the-textbox-text-updates-the-source) ## Data conversion @@ -226,7 +226,7 @@ As shown in this diagram, to bind an You can enumerate over any collection that implements the interface. However, to set up dynamic bindings so that insertions or deletions in the collection update the UI automatically, the collection must implement the interface. This interface exposes an event that should be raised whenever the underlying collection changes. -WPF provides the class, which is a built-in implementation of a data collection that exposes the interface. To fully support transferring data values from source objects to targets, each object in your collection that supports bindable properties must also implement the interface. For more information, see [Binding sources overview](../../framework/wpf/data/binding-sources-overview.md). +WPF provides the class, which is a built-in implementation of a data collection that exposes the interface. To fully support transferring data values from source objects to targets, each object in your collection that supports bindable properties must also implement the interface. For more information, see [Binding sources overview](/dotnet/desktop/wpf/data/binding-sources-overview). Before implementing your own collection, consider using or one of the existing collection classes, such as , , and , among many others. If you have an advanced scenario and want to implement your own collection, consider using , which provides a non-generic collection of objects that can be individually accessed by the index, and thus provides the best performance. @@ -264,7 +264,7 @@ The following table shows what view data types are created as the default collec Specifying a collection view as a binding source is one way to create and use a collection view. WPF also creates a default collection view for every collection used as a binding source. If you bind directly to a collection, WPF binds to its default view. This default view is shared by all bindings to the same collection, so a change made to a default view by one bound control or code (such as sorting or a change to the current item pointer, discussed later) is reflected in all other bindings to the same collection. -To get the default view, you use the method. For an example, see [Get the default view of a data collection](../../framework/wpf/data/how-to-get-the-default-view-of-a-data-collection.md). +To get the default view, you use the method. For an example, see [Get the default view of a data collection](/dotnet/desktop/wpf/data/how-to-get-the-default-view-of-a-data-collection). #### Collection views with ADO.NET DataTables @@ -272,7 +272,7 @@ To improve performance, collection views for ADO.NET of the app UI in the [What is data binding](#what-is-data-binding) section. @@ -291,7 +291,7 @@ The *ShowOnlyBargainsFilter* event handler has the following implementation. [!code-csharp[FilterEvent](~/samples/snippets/desktop-guide/wpf/data-binding-overview/csharp/CollectionView.xaml.cs#FilterEvent)] [!code-vb[FilterEvent](~/samples/snippets/desktop-guide/wpf/data-binding-overview/vb/CollectionView.xaml.vb#FilterEvent)] -If you are using one of the classes directly instead of , you would use the property to specify a callback. For an example, see [Filter Data in a View](../../framework/wpf/data/how-to-filter-data-in-a-view.md). +If you are using one of the classes directly instead of , you would use the property to specify a callback. For an example, see [Filter Data in a View](/dotnet/desktop/wpf/data/how-to-filter-data-in-a-view). #### Grouping @@ -302,11 +302,11 @@ The following example shows the logic of the "Group by category" in this case) is bound to a collection view, it automatically binds to the of the view. The objects automatically synchronize currency and selection. If your list control is not bound to a object as in this example, then you would need to set its property to `true` for this to work. -For other examples, see [Bind to a collection and display information based on selection](../../framework/wpf/data/how-to-bind-to-a-collection-and-display-information-based-on-selection.md) and [Use the master-detail pattern with hierarchical data](../../framework/wpf/data/how-to-use-the-master-detail-pattern-with-hierarchical-data.md). +For other examples, see [Bind to a collection and display information based on selection](/dotnet/desktop/wpf/data/how-to-bind-to-a-collection-and-display-information-based-on-selection) and [Use the master-detail pattern with hierarchical data](/dotnet/desktop/wpf/data/how-to-use-the-master-detail-pattern-with-hierarchical-data). You may have noticed that the above example uses a template. In fact, the data would not be displayed the way we wish without the use of templates (the one explicitly used by the and the one implicitly used by the ). We now turn to data templating in the next section. @@ -352,7 +352,7 @@ To solve that problem, the app defines s are used in the above so that *AuctionItem*s with *SpecialFeatures* value of *HighLight* would be displayed with an orange border and a star. -For more information about data templates, see the [Data templating overview](../../framework/wpf/data/data-templating-overview.md). +For more information about data templates, see the [Data templating overview](/dotnet/desktop/wpf/data/data-templating-overview). ## Data validation @@ -401,7 +401,7 @@ If your has associated validation rules but y ![Data binding validation error](./media/data-binding-overview/demo-validation-price.png "DataBindingDemo_ValidationDefault") -For an example of how to provide logic to validate all controls in a dialog box, see the Custom Dialog Boxes section in the [Dialog boxes overview](../../framework/wpf/app-development/dialog-boxes-overview.md). +For an example of how to provide logic to validate all controls in a dialog box, see the Custom Dialog Boxes section in the [Dialog boxes overview](/dotnet/desktop/wpf/app-development/dialog-boxes-overview). ### Validation process @@ -436,10 +436,10 @@ You can set the attached property -- [Bind to the results of a LINQ query](../../framework/wpf/data/how-to-bind-to-the-results-of-a-linq-query.md) -- [Data binding](../../framework/wpf/advanced/optimizing-performance-data-binding.md) +- [Bind to the results of a LINQ query](/dotnet/desktop/wpf/data/how-to-bind-to-the-results-of-a-linq-query) +- [Data binding](/dotnet/desktop/wpf/advanced/optimizing-performance-data-binding) - [Data binding demo][data-binding-demo] -- [How-to articles](../../framework/wpf/data/data-binding-how-to-topics.md) -- [Bind to an ADO.NET data source](../../framework/wpf/data/how-to-bind-to-an-ado-net-data-source.md) +- [How-to articles](/dotnet/desktop/wpf/data/data-binding-how-to-topics) +- [Bind to an ADO.NET data source](/dotnet/desktop/wpf/data/how-to-bind-to-an-ado-net-data-source) [data-binding-demo]: https://github.com/microsoft/WPF-Samples/tree/master/Sample%20Applications/DataBindingDemo "data binding demo app" diff --git a/docs/desktop-wpf/fundamentals/styles-templates-create-apply-style.md b/docs/desktop-wpf/fundamentals/styles-templates-create-apply-style.md index bf712e03dda23..47e761b8b0cde 100644 --- a/docs/desktop-wpf/fundamentals/styles-templates-create-apply-style.md +++ b/docs/desktop-wpf/fundamentals/styles-templates-create-apply-style.md @@ -56,7 +56,7 @@ Here is the style from the previous section, but declared with the `x:Key` attri [!code-xaml[ExplicitStyleDeclare](~/samples/snippets/desktop-guide/wpf/styles-and-templates-intro/csharp/WindowExplicitStyle.xaml#ExplicitStyleDeclare)] -To apply the style, set the property on the element to the `x:Key` value, using a [StaticResource markup extension](../../framework/wpf/advanced/staticresource-markup-extension.md), as shown here. +To apply the style, set the property on the element to the `x:Key` value, using a [StaticResource markup extension](/dotnet/desktop/wpf/advanced/staticresource-markup-extension), as shown here. [!code-xaml[ExplicitStyleReference](~/samples/snippets/desktop-guide/wpf/styles-and-templates-intro/csharp/WindowExplicitStyle.xaml#ExplicitStyleReference)] diff --git a/docs/desktop-wpf/fundamentals/styles-templates-overview.md b/docs/desktop-wpf/fundamentals/styles-templates-overview.md index 6ebe5d6e11fb9..00edacf0e0a79 100644 --- a/docs/desktop-wpf/fundamentals/styles-templates-overview.md +++ b/docs/desktop-wpf/fundamentals/styles-templates-overview.md @@ -98,7 +98,7 @@ For an example, see [Create a template for a control](../themes/how-to-create-ap ### TemplateBinding -You may have noticed that the template resource defined in the previous section uses the [TemplateBinding Markup Extension](../../framework/wpf/advanced/templatebinding-markup-extension.md). A `TemplateBinding` is an optimized form of a binding for template scenarios, analogous to a binding constructed with `{Binding RelativeSource={RelativeSource TemplatedParent}}`. `TemplateBinding` is useful for binding parts of the template to properties of the control. For example, each control has a property. Use a `TemplateBinding` to manage which element in the template is affected by this control setting. +You may have noticed that the template resource defined in the previous section uses the [TemplateBinding Markup Extension](/dotnet/desktop/wpf/advanced/templatebinding-markup-extension). A `TemplateBinding` is an optimized form of a binding for template scenarios, analogous to a binding constructed with `{Binding RelativeSource={RelativeSource TemplatedParent}}`. `TemplateBinding` is useful for binding parts of the template to properties of the control. For example, each control has a property. Use a `TemplateBinding` to manage which element in the template is affected by this control setting. ### ContentControl and ItemsControl @@ -131,7 +131,7 @@ Essentially, the in the above example defines ![Photo image](./media/styles-and-templates-overview/stylingintro-photosasimages.png "StylingIntro_PhotosAsImages") -The data templating model provides other features. For example, if you are displaying collection data that contains other collections using a type such as a or a , there is the . Another data templating feature is the , which allows you to choose a to use based on custom logic. For more information, see [Data Templating Overview](../../framework/wpf/data/data-templating-overview.md), which provides a more in-depth discussion of the different data templating features. +The data templating model provides other features. For example, if you are displaying collection data that contains other collections using a type such as a or a , there is the . Another data templating feature is the , which allows you to choose a to use based on custom logic. For more information, see [Data Templating Overview](/dotnet/desktop/wpf/data/data-templating-overview), which provides a more in-depth discussion of the different data templating features. ## Triggers @@ -157,7 +157,7 @@ Another type of trigger is the , which starts [!code-xaml[StyleEventTriggers](~/samples/snippets/desktop-guide/wpf/styles-and-templates-intro/csharp/Window6.xaml#SnippetStyleEventTriggers)] -For more information, see the [Storyboards overview](../../framework/wpf/graphics-multimedia/storyboards-overview.md). +For more information, see the [Storyboards overview](/dotnet/desktop/wpf/graphics-multimedia/storyboards-overview). In the following illustration, the mouse is pointing to the third item. @@ -207,7 +207,7 @@ For example, the following XAML code watches the `CommonStates.MouseOver` state ... ``` -For more information about storyboards, see [Storyboards Overview](../../framework/wpf/graphics-multimedia/storyboards-overview.md). +For more information about storyboards, see [Storyboards Overview](/dotnet/desktop/wpf/graphics-multimedia/storyboards-overview). ## Shared resources and themes @@ -231,12 +231,12 @@ To share a set of resources, including styles and templates, across apps, you ca It is the sharing of `shared.xaml`, which itself defines a that contains a set of style and brush resources, that enables the controls in an app to have a consistent look. -For more information, see [Merged resource dictionaries](../../framework/wpf/advanced/merged-resource-dictionaries.md). +For more information, see [Merged resource dictionaries](/dotnet/desktop/wpf/advanced/merged-resource-dictionaries). -If you are creating a theme for your custom control, see the **Defining resources at the theme level** section of the [Control authoring overview](../../framework/wpf/controls/control-authoring-overview.md#defining-resources-at-the-theme-level). +If you are creating a theme for your custom control, see the **Defining resources at the theme level** section of the [Control authoring overview](/dotnet/desktop/wpf/controls/control-authoring-overview#defining-resources-at-the-theme-level). ## See also -- [Pack URIs in WPF](../../framework/wpf/app-development/pack-uris-in-wpf.md) -- [How to: Find ControlTemplate-Generated Elements](../../framework/wpf/controls/how-to-find-controltemplate-generated-elements.md) -- [Find DataTemplate-Generated Elements](../../framework/wpf/data/how-to-find-datatemplate-generated-elements.md) +- [Pack URIs in WPF](/dotnet/desktop/wpf/app-development/pack-uris-in-wpf) +- [How to: Find ControlTemplate-Generated Elements](/dotnet/desktop/wpf/controls/how-to-find-controltemplate-generated-elements) +- [Find DataTemplate-Generated Elements](/dotnet/desktop/wpf/data/how-to-find-datatemplate-generated-elements) diff --git a/docs/desktop-wpf/fundamentals/xaml-resources-define.md b/docs/desktop-wpf/fundamentals/xaml-resources-define.md index f4f2c66bd1520..cc15a0cbeca80 100644 --- a/docs/desktop-wpf/fundamentals/xaml-resources-define.md +++ b/docs/desktop-wpf/fundamentals/xaml-resources-define.md @@ -35,9 +35,9 @@ In the preceding example, when the XAML loader processes the value `{StaticResou ## Static and dynamic resources -A resource can be referenced as either static or dynamic. References are created by using either the [StaticResource Markup Extension](../../framework/wpf/advanced/staticresource-markup-extension.md) or the [DynamicResource Markup Extension](../../framework/wpf/advanced/dynamicresource-markup-extension.md). A markup extension is a XAML feature that lets you specify an object reference by having the markup extension process the attribute string and return the object to a XAML loader. For more information about markup extension behavior, see [Markup Extensions and WPF XAML](../../framework/wpf/advanced/markup-extensions-and-wpf-xaml.md). +A resource can be referenced as either static or dynamic. References are created by using either the [StaticResource Markup Extension](/dotnet/desktop/wpf/advanced/staticresource-markup-extension) or the [DynamicResource Markup Extension](/dotnet/desktop/wpf/advanced/dynamicresource-markup-extension). A markup extension is a XAML feature that lets you specify an object reference by having the markup extension process the attribute string and return the object to a XAML loader. For more information about markup extension behavior, see [Markup Extensions and WPF XAML](/dotnet/desktop/wpf/advanced/markup-extensions-and-wpf-xaml). -When you use a markup extension, you typically provide one or more parameters in string form that are processed by that particular markup extension. The [StaticResource Markup Extension](../../framework/wpf/advanced/staticresource-markup-extension.md) processes a key by looking up the value for that key in all available resource dictionaries. Processing happens during load, which is when the loading process needs to assign the property value. The [DynamicResource Markup Extension](../../framework/wpf/advanced/dynamicresource-markup-extension.md) instead processes a key by creating an expression, and that expression remains unevaluated until the app runs, at which time the expression is evaluated and provides a value. +When you use a markup extension, you typically provide one or more parameters in string form that are processed by that particular markup extension. The [StaticResource Markup Extension](/dotnet/desktop/wpf/advanced/staticresource-markup-extension) processes a key by looking up the value for that key in all available resource dictionaries. Processing happens during load, which is when the loading process needs to assign the property value. The [DynamicResource Markup Extension](/dotnet/desktop/wpf/advanced/dynamicresource-markup-extension) instead processes a key by creating an expression, and that expression remains unevaluated until the app runs, at which time the expression is evaluated and provides a value. When you reference a resource, the following considerations can influence whether you use a static resource reference or a dynamic resource reference: @@ -133,7 +133,7 @@ Dynamic resource references have some notable restrictions. At least one of the - The property being set must be a property on a that is provided as a value of either a or property, or a value. -Because the property being set must be a or property, most property changes can propagate to the UI because a property change (the changed dynamic resource value) is acknowledged by the property system. Most controls include logic that will force another layout of a control if a changes and that property might affect layout. However, not all properties that have a [DynamicResource Markup Extension](../../framework/wpf/advanced/dynamicresource-markup-extension.md) as their value are guaranteed to provide real time updates in the UI. That functionality still might vary depending on the property, as well as depending on the type that owns the property, or even the logical structure of your app. +Because the property being set must be a or property, most property changes can propagate to the UI because a property change (the changed dynamic resource value) is acknowledged by the property system. Most controls include logic that will force another layout of a control if a changes and that property might affect layout. However, not all properties that have a [DynamicResource Markup Extension](/dotnet/desktop/wpf/advanced/dynamicresource-markup-extension) as their value are guaranteed to provide real time updates in the UI. That functionality still might vary depending on the property, as well as depending on the type that owns the property, or even the logical structure of your app. ## Styles, DataTemplates, and implicit keys @@ -149,17 +149,17 @@ That style really does have a key: the implicit key `typeof(System.Windows.Contr Through the default theme style mechanisms used by WPF, that style is applied as the runtime style of a on the page, even though the itself doesn't attempt to specify its property or a specific resource reference to the style. Your style defined in the page is found earlier in the lookup sequence than the theme dictionary style, using the same key that the theme dictionary style has. You could just specify `` anywhere in the page, and the style you defined with of `Button` would apply to that button. If you want, you can still explicitly key the style with the same type value as for clarity in your markup, but that is optional. -Implicit keys for styles do not apply on a control if is `true`. (Also note that might be set as part of native behavior for the control class, rather than explicitly on an instance of the control.) Also, in order to support implicit keys for derived class scenarios, the control must override (all existing controls provided as part of WPF include this override). For more information about styles, themes, and control design, see [Guidelines for Designing Stylable Controls](../../framework/wpf/controls/guidelines-for-designing-stylable-controls.md). +Implicit keys for styles do not apply on a control if is `true`. (Also note that might be set as part of native behavior for the control class, rather than explicitly on an instance of the control.) Also, in order to support implicit keys for derived class scenarios, the control must override (all existing controls provided as part of WPF include this override). For more information about styles, themes, and control design, see [Guidelines for Designing Stylable Controls](/dotnet/desktop/wpf/controls/guidelines-for-designing-stylable-controls). - also has an implicit key. The implicit key for a is the property value. can also be specified as the name of the type rather than explicitly using [{x:Type...}](../xaml-services/xtype-markup-extension.md). For details, see [Data Templating Overview](../../framework/wpf/data/data-templating-overview.md). + also has an implicit key. The implicit key for a is the property value. can also be specified as the name of the type rather than explicitly using [{x:Type...}](../xaml-services/xtype-markup-extension.md). For details, see [Data Templating Overview](/dotnet/desktop/wpf/data/data-templating-overview). ## See also - -- [Application resources](../../framework/wpf/advanced/optimizing-performance-application-resources.md) -- [Resources and code](../../framework/wpf/advanced/resources-and-code.md) -- [Define and reference a resource](../../framework/wpf/advanced/how-to-define-and-reference-a-resource.md) -- [Application management overview](../../framework/wpf/app-development/application-management-overview.md) +- [Application resources](/dotnet/desktop/wpf/advanced/optimizing-performance-application-resources) +- [Resources and code](/dotnet/desktop/wpf/advanced/resources-and-code) +- [Define and reference a resource](/dotnet/desktop/wpf/advanced/how-to-define-and-reference-a-resource) +- [Application management overview](/dotnet/desktop/wpf/app-development/application-management-overview) - [x:Type markup extension](../xaml-services/xtype-markup-extension.md) -- [StaticResource markup extension](../../framework/wpf/advanced/staticresource-markup-extension.md) -- [DynamicResource markup extension](../../framework/wpf/advanced/dynamicresource-markup-extension.md) +- [StaticResource markup extension](/dotnet/desktop/wpf/advanced/staticresource-markup-extension) +- [DynamicResource markup extension](/dotnet/desktop/wpf/advanced/dynamicresource-markup-extension) diff --git a/docs/desktop-wpf/fundamentals/xaml.md b/docs/desktop-wpf/fundamentals/xaml.md index c96c5d160d5bc..9e03af761921b 100644 --- a/docs/desktop-wpf/fundamentals/xaml.md +++ b/docs/desktop-wpf/fundamentals/xaml.md @@ -41,7 +41,7 @@ The following example shows how you might create a button as part of a UI. This ## XAML syntax in brief -The following sections explain the basic forms of XAML syntax, and give a short markup example. These sections are not intended to provide complete information about each syntax form, such as how these are represented in the backing type system. For more information about the specifics of XAML syntax, see [XAML Syntax In Detail](../../framework/wpf/advanced/xaml-syntax-in-detail.md). +The following sections explain the basic forms of XAML syntax, and give a short markup example. These sections are not intended to provide complete information about each syntax form, such as how these are represented in the backing type system. For more information about the specifics of XAML syntax, see [XAML Syntax In Detail](/dotnet/desktop/wpf/advanced/xaml-syntax-in-detail). Much of the material in the next few sections will be elementary to you if you have previous familiarity with the XML language. This is a consequence of one of the basic design principles of XAML. The XAML language defines concepts of its own, but these concepts work within the XML language and markup form. @@ -115,7 +115,7 @@ As a rule of the XAML language, the value of a XAML content property must be giv blue button ``` -For more information about the specifics of XAML syntax, see [XAML Syntax In Detail](../../framework/wpf/advanced/xaml-syntax-in-detail.md). +For more information about the specifics of XAML syntax, see [XAML Syntax In Detail](/dotnet/desktop/wpf/advanced/xaml-syntax-in-detail). ### Text content @@ -173,7 +173,7 @@ WPF XAML processors and serializers will ignore or drop all nonsignificant white Markup extensions are a XAML language concept. When used to provide the value of an attribute syntax, curly braces (`{` and `}`) indicate a markup extension usage. This usage directs the XAML processing to escape from the general treatment of attribute values as either a literal string or a string-convertible value. -The most common markup extensions used in WPF app programming are [`Binding`](../../framework/wpf/advanced/binding-markup-extension.md), used for data binding expressions, and the resource references [`StaticResource`](../../framework/wpf/advanced/staticresource-markup-extension.md) and [`DynamicResource`](../../framework/wpf/advanced/dynamicresource-markup-extension.md). By using markup extensions, you can use attribute syntax to provide values for properties even if that property does not support an attribute syntax in general. Markup extensions often use intermediate expression types to enable features such as deferring values or referencing other objects that are only present at run-time. +The most common markup extensions used in WPF app programming are [`Binding`](/dotnet/desktop/wpf/advanced/binding-markup-extension), used for data binding expressions, and the resource references [`StaticResource`](/dotnet/desktop/wpf/advanced/staticresource-markup-extension) and [`DynamicResource`](/dotnet/desktop/wpf/advanced/dynamicresource-markup-extension). By using markup extensions, you can use attribute syntax to provide values for properties even if that property does not support an attribute syntax in general. Markup extensions often use intermediate expression types to enable features such as deferring values or referencing other objects that are only present at run-time. For example, the following markup sets the value of the property using attribute syntax. The property takes an instance of the class, which by default could not be instantiated by an attribute syntax string. But in this case, the attribute references a particular markup extension, `StaticResource`. When that markup extension is processed, it returns a reference to a style that was previously instantiated as a keyed resource in a resource dictionary. @@ -181,7 +181,7 @@ For example, the following markup sets the value of the [!NOTE] > There are also a limited number of objects where the type conversion is the only public way to set a property to that type without involving a subclass, because the type itself does not have a parameterless constructor. An example is . -For more information on type conversion, see [TypeConverters and XAML](../../framework/wpf/advanced/typeconverters-and-xaml.md). +For more information on type conversion, see [TypeConverters and XAML](/dotnet/desktop/wpf/advanced/typeconverters-and-xaml). ## XAML root elements and XAML namespaces @@ -250,9 +250,9 @@ The following is a basic example of how custom prefixes work in XAML markup. The ``` -For more information about custom types in XAML, see [XAML and Custom Classes for WPF](../../framework/wpf/advanced/xaml-and-custom-classes-for-wpf.md). +For more information about custom types in XAML, see [XAML and Custom Classes for WPF](/dotnet/desktop/wpf/advanced/xaml-and-custom-classes-for-wpf). -For more information about how XML namespaces and code namespaces in assemblies are related, see [XAML Namespaces and Namespace Mapping for WPF XAML](../../framework/wpf/advanced/xaml-namespaces-and-namespace-mapping-for-wpf-xaml.md). +For more information about how XML namespaces and code namespaces in assemblies are related, see [XAML Namespaces and Namespace Mapping for WPF XAML](/dotnet/desktop/wpf/advanced/xaml-namespaces-and-namespace-mapping-for-wpf-xaml). ## Events and XAML code-behind @@ -267,13 +267,13 @@ In the examples so far, you have seen several buttons, but none of these buttons Notice that the code-behind file uses the CLR namespace `ExampleNamespace` and declares `ExamplePage` as a partial class within that namespace. This parallels the `x:Class` attribute value of `ExampleNamespace`.`ExamplePage` that was provided in the markup root. The WPF markup compiler will create a partial class for any compiled XAML file, by deriving a class from the root element type. When you provide code-behind that also defines the same partial class, the resulting code is combined within the same namespace and class of the compiled app. -For more information about requirements for code-behind programming in WPF, see [Code-behind, Event Handler, and Partial Class Requirements in WPF](../../framework/wpf/advanced/code-behind-and-xaml-in-wpf.md#code-behind-event-handler-and-partial-class-requirements-in-wpf). +For more information about requirements for code-behind programming in WPF, see [Code-behind, Event Handler, and Partial Class Requirements in WPF](/dotnet/desktop/wpf/advanced/code-behind-and-xaml-in-wpf#code-behind-event-handler-and-partial-class-requirements-in-wpf). -If you do not want to create a separate code-behind file, you can also inline your code in a XAML file. However, inline code is a less versatile technique that has substantial limitations. For more informaiton, see [Code-Behind and XAML in WPF](../../framework/wpf/advanced/code-behind-and-xaml-in-wpf.md). +If you do not want to create a separate code-behind file, you can also inline your code in a XAML file. However, inline code is a less versatile technique that has substantial limitations. For more informaiton, see [Code-Behind and XAML in WPF](/dotnet/desktop/wpf/advanced/code-behind-and-xaml-in-wpf). ### Routed events -A particular event feature that is fundamental to WPF is a routed event. Routed events enable an element to handle an event that was raised by a different element, as long as the elements are connected through a tree relationship. When specifying event handling with a XAML attribute, the routed event can be listened for and handled on any element, including elements that do not list that particular event in the class members table. This is accomplished by qualifying the event name attribute with the owning class name. For instance, the parent `StackPanel` in the ongoing `StackPanel` / `Button` example could register a handler for the child element button's event by specifying the attribute `Button.Click` on the `StackPanel` object element, with your handler name as the attribute value. For more information, see [Routed Events Overview](../../framework/wpf/advanced/routed-events-overview.md). +A particular event feature that is fundamental to WPF is a routed event. Routed events enable an element to handle an event that was raised by a different element, as long as the elements are connected through a tree relationship. When specifying event handling with a XAML attribute, the routed event can be listened for and handled on any element, including elements that do not list that particular event in the class members table. This is accomplished by qualifying the event name attribute with the owning class name. For instance, the parent `StackPanel` in the ongoing `StackPanel` / `Button` example could register a handler for the child element button's event by specifying the attribute `Button.Click` on the `StackPanel` object element, with your handler name as the attribute value. For more information, see [Routed Events Overview](/dotnet/desktop/wpf/advanced/routed-events-overview). ## XAML named elements @@ -289,7 +289,7 @@ The following example sets on a < [!code-csharp[XAMLOvwSupport#NameCode](~/samples/snippets/csharp/VS_Snippets_Wpf/XAMLOvwSupport/CSharp/page7.xaml.cs#namecode)] [!code-vb[XAMLOvwSupport#NameCode](~/samples/snippets/visualbasic/VS_Snippets_Wpf/XAMLOvwSupport/VisualBasic/Page1.xaml.vb#namecode)] -Just like a variable, the XAML name for an instance is governed by a concept of scope, so that names can be enforced to be unique within a certain scope that is predictable. The primary markup that defines a page denotes one unique XAML namescope, with the XAML namescope boundary being the root element of that page. However, other markup sources can interact with a page at run-time, such as styles or templates within styles, and such markup sources often have their own XAML namescopes that do not necessarily connect with the XAML namescope of the page. For more information on `x:Name` and XAML namescopes, see , [x:Name Directive](../xaml-services/xname-directive.md), or [WPF XAML Namescopes](../../framework/wpf/advanced/wpf-xaml-namescopes.md). +Just like a variable, the XAML name for an instance is governed by a concept of scope, so that names can be enforced to be unique within a certain scope that is predictable. The primary markup that defines a page denotes one unique XAML namescope, with the XAML namescope boundary being the root element of that page. However, other markup sources can interact with a page at run-time, such as styles or templates within styles, and such markup sources often have their own XAML namescopes that do not necessarily connect with the XAML namescope of the page. For more information on `x:Name` and XAML namescopes, see , [x:Name Directive](../xaml-services/xname-directive.md), or [WPF XAML Namescopes](/dotnet/desktop/wpf/advanced/wpf-xaml-namescopes). ## Attached properties and attached events @@ -305,9 +305,9 @@ The following example illustrates the [!NOTE] -> The C# compiler does [more than just two passes](https://docs.microsoft.com/archive/blogs/ericlippert/how-many-passes), but the end result is that compiler errors for large code changes like this tend to come in two waves. +> The C# compiler does [more than just two passes](/archive/blogs/ericlippert/how-many-passes), but the end result is that compiler errors for large code changes like this tend to come in two waves. ### Third-party dependency fixes (Castle.Windsor) diff --git a/docs/desktop-wpf/overview/index.md b/docs/desktop-wpf/overview/index.md index 56980aba77100..2fe92be31fafe 100644 --- a/docs/desktop-wpf/overview/index.md +++ b/docs/desktop-wpf/overview/index.md @@ -18,7 +18,7 @@ There are two implementations of WPF: 01. The .NET Framework implementation that's supported by Visual Studio 2019 and Visual Studio 2017. -This Desktop Guide is written for .NET Core 3.0 and WPF. For more information about the existing documentation for WPF with the .NET Framework, see [Framework Windows Presentation Foundation](../../framework/wpf/index.md). +This Desktop Guide is written for .NET Core 3.0 and WPF. For more information about the existing documentation for WPF with the .NET Framework, see [Framework Windows Presentation Foundation](/dotnet/desktop/wpf/). ## XAML @@ -48,7 +48,7 @@ For example, the previous XAML code defined a button with the visible content se WPF provides different markup extensions for XAML such as `{Binding}` for data binding. -For more information, see [Markup Extensions and WPF XAML](../../framework/wpf/advanced/markup-extensions-and-wpf-xaml.md). +For more information, see [Markup Extensions and WPF XAML](/dotnet/desktop/wpf/advanced/markup-extensions-and-wpf-xaml). ## Property system @@ -140,6 +140,6 @@ Every framework-level element ( or , you still might want to use the public properties to change the control's appearance. The [TemplateBinding](../../framework/wpf/advanced/templatebinding-markup-extension.md) markup extension binds a property of an element that is in the to a public property that is defined by the control. When you use a [TemplateBinding](../../framework/wpf/advanced/templatebinding-markup-extension.md), you enable properties on the control to act as parameters to the template. That is, when a property on a control is set, that value is passed on to the element that has the [TemplateBinding](../../framework/wpf/advanced/templatebinding-markup-extension.md) on it. +When you create a new , you still might want to use the public properties to change the control's appearance. The [TemplateBinding](/dotnet/desktop/wpf/advanced/templatebinding-markup-extension) markup extension binds a property of an element that is in the to a public property that is defined by the control. When you use a [TemplateBinding](/dotnet/desktop/wpf/advanced/templatebinding-markup-extension), you enable properties on the control to act as parameters to the template. That is, when a property on a control is set, that value is passed on to the element that has the [TemplateBinding](/dotnet/desktop/wpf/advanced/templatebinding-markup-extension) on it. ### Ellipse @@ -157,7 +157,7 @@ Next, in the **\** root of the control template, add the **\** are applied when that state is triggered. Create animations for each state. Animations are put inside of a **\** element. For more information about storyboards, see [Storyboards Overview](../../framework/wpf/graphics-multimedia/storyboards-overview.md). +Any animations defined in a **\** are applied when that state is triggered. Create animations for each state. Animations are put inside of a **\** element. For more information about storyboards, see [Storyboards Overview](/dotnet/desktop/wpf/graphics-multimedia/storyboards-overview). - Normal diff --git a/docs/desktop-wpf/toc.yml b/docs/desktop-wpf/toc.yml index ae8b02f37b31d..ebf90bf11bf91 100644 --- a/docs/desktop-wpf/toc.yml +++ b/docs/desktop-wpf/toc.yml @@ -5,7 +5,7 @@ - name: Overview href: overview/index.md - name: Create a WPF application - href: https://docs.microsoft.com/visualstudio/get-started/csharp/tutorial-wpf?toc=/dotnet/desktop-wpf/toc.json&bc=/dotnet/breadcrumb/toc.json + href: /visualstudio/get-started/csharp/tutorial-wpf?bc=%252fdotnet%252fbreadcrumb%252ftoc.json&toc=%252fdotnet%252fdesktop-wpf%252ftoc.json # - name: Create a control library # href: getting-started/how-to-create-control-library.md - name: Migration @@ -55,4 +55,4 @@ # - name: Publish a library to NuGet # href: publishing/create-nuget-package.md # - name: Publish to the Microsoft Store -# href: publishing/publish-microsoft-store.md +# href: publishing/publish-microsoft-store.md \ No newline at end of file diff --git a/docs/desktop-wpf/xaml-services/clr-attributes-with-custom-types-and-libraries.md b/docs/desktop-wpf/xaml-services/clr-attributes-with-custom-types-and-libraries.md index 53a531f35f878..2f2968a764267 100644 --- a/docs/desktop-wpf/xaml-services/clr-attributes-with-custom-types-and-libraries.md +++ b/docs/desktop-wpf/xaml-services/clr-attributes-with-custom-types-and-libraries.md @@ -133,7 +133,7 @@ The definition inherits to all derived types that are assignable to the defining Apply the attribute to your type, referencing your type converter implementation. You can define type converters for XAML on classes, structures, or interfaces. You do not need to provide type conversion for enumerations, that conversion is enabled natively. -Your type converter should be able to convert from a string that is used for attributes or initialization text in markup, into your intended destination type. For more information, see [TypeConverters and XAML](../../framework/wpf/advanced/typeconverters-and-xaml.md). +Your type converter should be able to convert from a string that is used for attributes or initialization text in markup, into your intended destination type. For more information, see [TypeConverters and XAML](/dotnet/desktop/wpf/advanced/typeconverters-and-xaml). Rather than applying to all values of a type, a type converter behavior for XAML can also be established on a specific property. In this case, you apply to the property definition (the outer definition, not the specific `get` and `set` definitions). diff --git a/docs/desktop-wpf/xaml-services/define-custom-types.md b/docs/desktop-wpf/xaml-services/define-custom-types.md index d1f353e8ae862..c32e5d2aec33f 100644 --- a/docs/desktop-wpf/xaml-services/define-custom-types.md +++ b/docs/desktop-wpf/xaml-services/define-custom-types.md @@ -38,7 +38,7 @@ Factory methods are a XAML 2009 feature. They modify the XAML principle that obj Enumerations have XAML native type conversion behavior. Enumeration constant names specified in XAML are resolved against the underlying enumeration type, and return the enumeration value to a XAML object writer. -XAML supports a flags-style usage for enumerations with applied. For more information, see [XAML Syntax In Detail](../../framework/wpf/advanced/xaml-syntax-in-detail.md). ([XAML Syntax In Detail](../../framework/wpf/advanced/xaml-syntax-in-detail.md) is written for the WPF audience, but most of the information in that topic is relevant for XAML that is not specific to a particular implementing framework.) +XAML supports a flags-style usage for enumerations with applied. For more information, see [XAML Syntax In Detail](/dotnet/desktop/wpf/advanced/xaml-syntax-in-detail). ([XAML Syntax In Detail](/dotnet/desktop/wpf/advanced/xaml-syntax-in-detail) is written for the WPF audience, but most of the information in that topic is relevant for XAML that is not specific to a particular implementing framework.) ## Member Definitions diff --git a/docs/desktop-wpf/xaml-services/index.md b/docs/desktop-wpf/xaml-services/index.md index 9c20c739cc704..a3734cd778cdf 100644 --- a/docs/desktop-wpf/xaml-services/index.md +++ b/docs/desktop-wpf/xaml-services/index.md @@ -29,7 +29,7 @@ Conceptual documentation for .NET XAML Services assumes that you have previous e - Using the `Lookup` or `Invoker` techniques to influence the XAML type system and how type backings are evaluated. -If you are looking for introductory material on XAML as a language, you might try [XAML Overview (WPF)](../fundamentals/xaml.md). That topic discusses XAML for an audience that is new both to Windows Presentation Foundation (WPF) and also to using XAML markup and XAML language features. Another useful document is the introductory material in the [XAML language specification](https://docs.microsoft.com/previous-versions/msp-n-p/ff650760(v=pandp.10)). +If you are looking for introductory material on XAML as a language, you might try [XAML Overview (WPF)](../fundamentals/xaml.md). That topic discusses XAML for an audience that is new both to Windows Presentation Foundation (WPF) and also to using XAML markup and XAML language features. Another useful document is the introductory material in the [XAML language specification](/previous-versions/msp-n-p/ff650760(v=pandp.10)). ## .NET XAML Services and `System.Xaml` in the .NET Architecture diff --git a/docs/desktop-wpf/xaml-services/markup-extensions-overview.md b/docs/desktop-wpf/xaml-services/markup-extensions-overview.md index 3117b39409fc6..6af5e915142b8 100644 --- a/docs/desktop-wpf/xaml-services/markup-extensions-overview.md +++ b/docs/desktop-wpf/xaml-services/markup-extensions-overview.md @@ -158,4 +158,4 @@ If you are working with a XAML node stream on the save path, there generally is - - [Type Converters and Markup Extensions for XAML](type-converters-and-markup-extensions.md) -- [Markup Extensions and WPF XAML](../../framework/wpf/advanced/markup-extensions-and-wpf-xaml.md) +- [Markup Extensions and WPF XAML](/dotnet/desktop/wpf/advanced/markup-extensions-and-wpf-xaml) diff --git a/docs/desktop-wpf/xaml-services/type-converters-overview.md b/docs/desktop-wpf/xaml-services/type-converters-overview.md index 5e2b5517a6d6d..8d0724c11dbf6 100644 --- a/docs/desktop-wpf/xaml-services/type-converters-overview.md +++ b/docs/desktop-wpf/xaml-services/type-converters-overview.md @@ -60,7 +60,7 @@ The second-most important method is implementation can uniquely interpret what is a valid string for a conversion, and it can also use or ignore the type description that is passed as parameters. An important consideration for culture and XAML type conversion is the following: although using localizable strings as attribute values is supported by XAML, you cannot use these localizable strings as type converter input with specific culture requirements. This limitation is because type converters for XAML attribute values involve a necessarily fixed-language XAML-processing behavior that uses `en-US` culture. For more information about the design reasons for this restriction, see the XAML language specification ([\[MS-XAML\]](https://docs.microsoft.com/previous-versions/msp-n-p/ff650760(v=pandp.10))) or [WPF Globalization and Localization Overview](../../framework/wpf/advanced/wpf-globalization-and-localization-overview.md). +Each implementation can uniquely interpret what is a valid string for a conversion, and it can also use or ignore the type description that is passed as parameters. An important consideration for culture and XAML type conversion is the following: although using localizable strings as attribute values is supported by XAML, you cannot use these localizable strings as type converter input with specific culture requirements. This limitation is because type converters for XAML attribute values involve a necessarily fixed-language XAML-processing behavior that uses `en-US` culture. For more information about the design reasons for this restriction, see the XAML language specification ([\[MS-XAML\]](/previous-versions/msp-n-p/ff650760(v=pandp.10))) or [WPF Globalization and Localization Overview](/dotnet/desktop/wpf/advanced/wpf-globalization-and-localization-overview). As an example where culture can be an issue, some cultures use a comma instead of a period as the decimal point delimiter for numbers in string form. This use collides with the behavior that many existing type converters have, which is to use a comma as a delimiter. Passing a culture through `xml:lang` in the surrounding XAML does not solve the issue. diff --git a/docs/desktop-wpf/xaml-services/types-for-primitives.md b/docs/desktop-wpf/xaml-services/types-for-primitives.md index 6dc692024d658..475e2e4c8852f 100644 --- a/docs/desktop-wpf/xaml-services/types-for-primitives.md +++ b/docs/desktop-wpf/xaml-services/types-for-primitives.md @@ -48,19 +48,19 @@ This primitive is not typically used in application markup, but might be useful For CLR backing, the `x:Boolean` primitive corresponds to . -XAML parses values for `x:Boolean` as case insensitive. Note that `x:Bool` is not an accepted alternative. For the XAML language specification definition, see [\[MS-XAML\] Sections 5.2.17 and 5.4.11](https://docs.microsoft.com/previous-versions/msp-n-p/ff650760(v=pandp.10)). +XAML parses values for `x:Boolean` as case insensitive. Note that `x:Bool` is not an accepted alternative. For the XAML language specification definition, see [\[MS-XAML\] Sections 5.2.17 and 5.4.11](/previous-versions/msp-n-p/ff650760(v=pandp.10)). ### x:Char For CLR backing, the `x:Char` primitive corresponds to . -String and char types have interaction with the overall encoding of the file at the XML level. For the XAML language specification definition, see [\[MS-XAML\] Sections 5.2.7 and 5.4.1](https://docs.microsoft.com/previous-versions/msp-n-p/ff650760(v=pandp.10)). +String and char types have interaction with the overall encoding of the file at the XML level. For the XAML language specification definition, see [\[MS-XAML\] Sections 5.2.7 and 5.4.1](/previous-versions/msp-n-p/ff650760(v=pandp.10)). ### x:String For CLR backing, the `x:String` primitive corresponds to . -String and char types have interaction with the overall encoding of the file at the XML level. For the XAML language specification definition, see [\[MS-XAML\] Sections 5.2.6](https://docs.microsoft.com/previous-versions/msp-n-p/ff650760(v=pandp.10)). +String and char types have interaction with the overall encoding of the file at the XML level. For the XAML language specification definition, see [\[MS-XAML\] Sections 5.2.6](/previous-versions/msp-n-p/ff650760(v=pandp.10)). ### x:Decimal @@ -68,7 +68,7 @@ For CLR backing, the `x:Decimal` primitive corresponds to . XAML parsing is inherently done under `en-US` culture. Under `en-US` culture, the correct separator for the components of a decimal is always a period (`.`) regardless of culture settings of the development environment, or of the eventual client target where the XAML is loaded at run time. -For the XAML language specification definition, see [\[MS-XAML\] Sections 5.2.14 and 5.4.8](https://docs.microsoft.com/previous-versions/msp-n-p/ff650760(v=pandp.10)). +For the XAML language specification definition, see [\[MS-XAML\] Sections 5.2.14 and 5.4.8](/previous-versions/msp-n-p/ff650760(v=pandp.10)). ### x:Single @@ -78,7 +78,7 @@ In addition to the numeric values, text syntax for `x:Single` also permits the t `x:Single` can support values in scientific notation form, if the first character in text syntax is `e` or `E`. -For the XAML language specification definition, see [\[MS-XAML\] Sections 5.2.8 and 5.4.2](https://docs.microsoft.com/previous-versions/msp-n-p/ff650760(v=pandp.10)). +For the XAML language specification definition, see [\[MS-XAML\] Sections 5.2.8 and 5.4.2](/previous-versions/msp-n-p/ff650760(v=pandp.10)). ### x:Double @@ -88,25 +88,25 @@ In addition to the numeric values, text syntax for `x:Double` permits the tokens `x:Double` can support values in scientific notation form. Use the character `e` or `E` to introduce the exponent portion. -For the XAML language specification definition, see [\[MS-XAML\] Sections 5.2.9 and 5.4.3](https://docs.microsoft.com/previous-versions/msp-n-p/ff650760(v=pandp.10)). +For the XAML language specification definition, see [\[MS-XAML\] Sections 5.2.9 and 5.4.3](/previous-versions/msp-n-p/ff650760(v=pandp.10)). ### x:Int16 For CLR backing, the `x:Int16` primitive corresponds to and `x:Int16` is treated as signed. In XAML, the absence of a plus (`+`) sign in text syntax is implied as a positive signed value. -For the XAML language specification definition, see [\[MS-XAML\] Sections 5.2.11 and 5.4.5](https://docs.microsoft.com/previous-versions/msp-n-p/ff650760(v=pandp.10)). +For the XAML language specification definition, see [\[MS-XAML\] Sections 5.2.11 and 5.4.5](/previous-versions/msp-n-p/ff650760(v=pandp.10)). ### x:Int32 For CLR backing, the `x:Int32` primitive corresponds to . `x:Int32` is treated as signed. In XAML, the absence of a plus (`+`) sign in text syntax is implied as a positive signed value. -For the XAML language specification definition, see [\[MS-XAML\] Sections 5.2.12 and 5.4.6](https://docs.microsoft.com/previous-versions/msp-n-p/ff650760(v=pandp.10)). +For the XAML language specification definition, see [\[MS-XAML\] Sections 5.2.12 and 5.4.6](/previous-versions/msp-n-p/ff650760(v=pandp.10)). ### x:Int64 For CLR backing, the `x:Int64` primitive corresponds to . `x:Int64` is treated as signed. In XAML, the absence of a plus (`+`) sign in text syntax is implied as a positive signed value. -For the XAML language specification definition, see [\[MS-XAML\] Sections 5.2.13 and 5.4.7](https://docs.microsoft.com/previous-versions/msp-n-p/ff650760(v=pandp.10)). +For the XAML language specification definition, see [\[MS-XAML\] Sections 5.2.13 and 5.4.7](/previous-versions/msp-n-p/ff650760(v=pandp.10)). ### x:TimeSpan @@ -114,7 +114,7 @@ For CLR backing, the `x:TimeSpan` primitive corresponds to . Checking for protocols is not part of the XAML definition for `x:Uri`. -For the XAML language specification definition, see [\[MS-XAML\] Sections 5.2.15 and 5.4.9](https://docs.microsoft.com/previous-versions/msp-n-p/ff650760(v=pandp.10)). +For the XAML language specification definition, see [\[MS-XAML\] Sections 5.2.15 and 5.4.9](/previous-versions/msp-n-p/ff650760(v=pandp.10)). ### x:Byte For CLR backing, the `x:Byte` primitive corresponds to . A / `x:Byte` is treated as unsigned. -For the XAML language specification definition, see [\[MS-XAML\] Sections 5.2.10 and 5.4.4](https://docs.microsoft.com/previous-versions/msp-n-p/ff650760(v=pandp.10)). +For the XAML language specification definition, see [\[MS-XAML\] Sections 5.2.10 and 5.4.4](/previous-versions/msp-n-p/ff650760(v=pandp.10)). ### x:Array @@ -136,7 +136,7 @@ For CLR backing, the `x:Array` primitive corresponds to . You can define an array in XAML 2006 by using a markup extension syntax; however, the XAML 2009 syntax is a language-defined primitive that does not require accessing a markup extension. For more information about XAML 2006 support, see [x:Array Markup Extension](xarray-markup-extension.md). -For the XAML language specification definition, see [\[MS-XAML\] Sections 5.2.18](https://docs.microsoft.com/previous-versions/msp-n-p/ff650760(v=pandp.10)). +For the XAML language specification definition, see [\[MS-XAML\] Sections 5.2.18](/previous-versions/msp-n-p/ff650760(v=pandp.10)). ## WPF Support diff --git a/docs/desktop-wpf/xaml-services/xaml-2009-language-features.md b/docs/desktop-wpf/xaml-services/xaml-2009-language-features.md index 60481244a5bc3..ca1fad42d7ff9 100644 --- a/docs/desktop-wpf/xaml-services/xaml-2009-language-features.md +++ b/docs/desktop-wpf/xaml-services/xaml-2009-language-features.md @@ -13,7 +13,7 @@ XAML 2009 is the shorthand term for new XAML language features that extend the e In WPF, you can use XAML 2009 features, but only for XAML that is not WPF markup-compiled. Markup-compiled XAML and the BAML form of XAML do not currently support the XAML 2009 language keywords and features. -Note that existing techniques for loading loose XAML in WPF also have possible security and access restrictions to CLR types and the type system that are more restrictive than for markup-compiled XAML. For more information, see [Security (WPF)](../../framework/wpf/security-wpf.md) or [WPF Security Strategy - Platform Security](../../framework/wpf/wpf-security-strategy-platform-security.md). +Note that existing techniques for loading loose XAML in WPF also have possible security and access restrictions to CLR types and the type system that are more restrictive than for markup-compiled XAML. For more information, see [Security (WPF)](/dotnet/desktop/wpf/security-wpf) or [WPF Security Strategy - Platform Security](/dotnet/desktop/wpf/wpf-security-strategy-platform-security). XAML 2009 also introduces additional features that either modify the previous XAML 2006 constructs or that modify the basic markup forms. diff --git a/docs/desktop-wpf/xaml-services/xamlname-grammar.md b/docs/desktop-wpf/xaml-services/xamlname-grammar.md index 08f3ea9ca2512..18c7e08884e77 100644 --- a/docs/desktop-wpf/xaml-services/xamlname-grammar.md +++ b/docs/desktop-wpf/xaml-services/xamlname-grammar.md @@ -52,4 +52,4 @@ DottedXamlName ::= XamlName '.' XamlName ## Remarks -For the complete specification, see [\[MS-XAML\]](https://docs.microsoft.com/previous-versions/msp-n-p/ff650760(v=pandp.10)). +For the complete specification, see [\[MS-XAML\]](/previous-versions/msp-n-p/ff650760(v=pandp.10)). diff --git a/docs/desktop-wpf/xaml-services/xarray-markup-extension.md b/docs/desktop-wpf/xaml-services/xarray-markup-extension.md index 76a90227de879..73399a531a9b4 100644 --- a/docs/desktop-wpf/xaml-services/xarray-markup-extension.md +++ b/docs/desktop-wpf/xaml-services/xarray-markup-extension.md @@ -61,9 +61,9 @@ For example, the following is a simple array of two strings, with the `sys` pref ``` -For custom types that are used as array elements, the class must also support the requirements for being instantiated in XAML as object elements. For more information, see [XAML and Custom Classes for WPF](../../framework/wpf/advanced/xaml-and-custom-classes-for-wpf.md). +For custom types that are used as array elements, the class must also support the requirements for being instantiated in XAML as object elements. For more information, see [XAML and Custom Classes for WPF](/dotnet/desktop/wpf/advanced/xaml-and-custom-classes-for-wpf). ## See also -- [Markup Extensions and WPF XAML](../../framework/wpf/advanced/markup-extensions-and-wpf-xaml.md) -- [Types Migrated from WPF to System.Xaml](../../framework/wpf/advanced/types-migrated-from-wpf-to-system.md) +- [Markup Extensions and WPF XAML](/dotnet/desktop/wpf/advanced/markup-extensions-and-wpf-xaml) +- [Types Migrated from WPF to System.Xaml](/dotnet/desktop/wpf/advanced/types-migrated-from-wpf-to-system) diff --git a/docs/desktop-wpf/xaml-services/xclass-directive.md b/docs/desktop-wpf/xaml-services/xclass-directive.md index ff3eb0e3e72b2..c802b22fbfaaa 100644 --- a/docs/desktop-wpf/xaml-services/xclass-directive.md +++ b/docs/desktop-wpf/xaml-services/xclass-directive.md @@ -31,7 +31,7 @@ Configures XAML markup compilation to join partial classes between markup and co ## Dependencies -`x:Class` can only be specified on the root element of a XAML production. `x:Class` is invalid on any object that has a parent in the XAML production. For more information, see [\[MS-XAML\] Section 4.3.1.6](https://docs.microsoft.com/previous-versions/msp-n-p/ff650760(v=pandp.10)). +`x:Class` can only be specified on the root element of a XAML production. `x:Class` is invalid on any object that has a parent in the XAML production. For more information, see [\[MS-XAML\] Section 4.3.1.6](/previous-versions/msp-n-p/ff650760(v=pandp.10)). ## Remarks @@ -43,24 +43,24 @@ The value of the `x:Class` directive must be a string that specifies the fully q The code-behind file for a page or application definition must be within a code file that is included as part of the project that produces a compiled application and involves markup compilation. You must follow name rules for CLR classes. For more information, see [Framework Design Guidelines](../../../api/index.md). By default, the code-behind class must be `public`; however, you can define it at a different access level by using the [x:ClassModifier Directive](xclassmodifier-directive.md). -This interpretation of the `x:Class` attribute applies only to a CLR-based XAML implementation, in particular to .NET XAML Services. Other XAML implementations that are not based on CLR and that do not use .NET XAML Services might use a different resolution formula for connecting XAML markup and backing run-time code. For more information about more general interpretations of `x:Class`, see [\[MS-XAML\]](https://docs.microsoft.com/previous-versions/msp-n-p/ff650760(v=pandp.10)). +This interpretation of the `x:Class` attribute applies only to a CLR-based XAML implementation, in particular to .NET XAML Services. Other XAML implementations that are not based on CLR and that do not use .NET XAML Services might use a different resolution formula for connecting XAML markup and backing run-time code. For more information about more general interpretations of `x:Class`, see [\[MS-XAML\]](/previous-versions/msp-n-p/ff650760(v=pandp.10)). At a certain level of architecture, the meaning of `x:Class` is undefined in .NET XAML Services. This is because .NET XAML Services does not specify the programming model by which XAML markup and backing code are connected. Additional uses of the `x:Class` directive might be implemented by specific frameworks that use programming models or application models to define how to connect XAML markup and CLR-based code-behind. Each framework can have its own build actions that enable some of the behavior or specific components that must be included in the build environment. Within a framework, build actions can also vary depending on the specific CLR language that is used for the code-behind. ## x:Class in the WPF Programming Model -In WPF applications and the WPF application model, `x:Class` can be declared as an attribute for any element that is the root of a XAML file and is being compiled (where the XAML is included in a WPF application project with `Page` build action), or for the root in the application definition of a compiled WPF application. Declaring `x:Class` on an element other than a page root or application root, or on a WPF XAML file that is not compiled, causes a compile-time error under the .NET Framework 3.0 and .NET Framework 3.5 WPF XAML compiler. For information about other aspects of `x:Class` handling in WPF, see [Code-Behind and XAML in WPF](../../framework/wpf/advanced/code-behind-and-xaml-in-wpf.md). +In WPF applications and the WPF application model, `x:Class` can be declared as an attribute for any element that is the root of a XAML file and is being compiled (where the XAML is included in a WPF application project with `Page` build action), or for the root in the application definition of a compiled WPF application. Declaring `x:Class` on an element other than a page root or application root, or on a WPF XAML file that is not compiled, causes a compile-time error under the .NET Framework 3.0 and .NET Framework 3.5 WPF XAML compiler. For information about other aspects of `x:Class` handling in WPF, see [Code-Behind and XAML in WPF](/dotnet/desktop/wpf/advanced/code-behind-and-xaml-in-wpf). ## x:Class for Windows Workflow Foundation For Windows Workflow Foundation, `x:Class` names the class of a custom activity composed entirely in XAML, or names the partial class of the XAML page for an activity designer with code-behind. ## Silverlight Usage Notes -`x:Class` for Silverlight is documented separately. For more information, see [XAML Namespace (x:) Language Features (Silverlight)](https://docs.microsoft.com/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc188995(v=vs.95)). +`x:Class` for Silverlight is documented separately. For more information, see [XAML Namespace (x:) Language Features (Silverlight)](/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc188995(v=vs.95)). ## See also - [x:Subclass Directive](xsubclass-directive.md) -- [XAML and Custom Classes for WPF](../../framework/wpf/advanced/xaml-and-custom-classes-for-wpf.md) +- [XAML and Custom Classes for WPF](/dotnet/desktop/wpf/advanced/xaml-and-custom-classes-for-wpf) - [x:ClassModifier Directive](xclassmodifier-directive.md) -- [Types Migrated from WPF to System.Xaml](../../framework/wpf/advanced/types-migrated-from-wpf-to-system.md) +- [Types Migrated from WPF to System.Xaml](/dotnet/desktop/wpf/advanced/types-migrated-from-wpf-to-system) diff --git a/docs/desktop-wpf/xaml-services/xclassmodifier-directive.md b/docs/desktop-wpf/xaml-services/xclassmodifier-directive.md index ac57a2141be81..ca60c0f7fe1cd 100644 --- a/docs/desktop-wpf/xaml-services/xclassmodifier-directive.md +++ b/docs/desktop-wpf/xaml-services/xclassmodifier-directive.md @@ -30,7 +30,7 @@ Modifies XAML compilation behavior when `x:Class` is also provided. Specifically ## Dependencies -[x:Class](xclass-directive.md) must also be provided on the same element, and that element must be the root element in a page. For more information, see [\[MS-XAML\] Section 4.3.1.8](https://docs.microsoft.com/previous-versions/msp-n-p/ff650760(v=pandp.10)). +[x:Class](xclass-directive.md) must also be provided on the same element, and that element must be the root element in a page. For more information, see [\[MS-XAML\] Section 4.3.1.8](/previous-versions/msp-n-p/ff650760(v=pandp.10)). ## Remarks @@ -53,7 +53,7 @@ The access level as declared in `x:ClassModifier` is still subject to interpreta ## See also - [x:Class Directive](xclass-directive.md) -- [Code-Behind and XAML in WPF](../../framework/wpf/advanced/code-behind-and-xaml-in-wpf.md) +- [Code-Behind and XAML in WPF](/dotnet/desktop/wpf/advanced/code-behind-and-xaml-in-wpf) - [x:FieldModifier Directive](xfieldmodifier-directive.md) -- [Security (WPF)](../../framework/wpf/security-wpf.md) -- [Types Migrated from WPF to System.Xaml](../../framework/wpf/advanced/types-migrated-from-wpf-to-system.md) +- [Security (WPF)](/dotnet/desktop/wpf/security-wpf) +- [Types Migrated from WPF to System.Xaml](/dotnet/desktop/wpf/advanced/types-migrated-from-wpf-to-system) diff --git a/docs/desktop-wpf/xaml-services/xcode-intrinsic-xaml-type.md b/docs/desktop-wpf/xaml-services/xcode-intrinsic-xaml-type.md index c776c01d53a99..e97ffbe1535c3 100644 --- a/docs/desktop-wpf/xaml-services/xcode-intrinsic-xaml-type.md +++ b/docs/desktop-wpf/xaml-services/xcode-intrinsic-xaml-type.md @@ -47,5 +47,5 @@ Code declared within `x:Code` for WPF has several notable limitations: ## See also - [x:Class Directive](xclass-directive.md) -- [Code-Behind and XAML in WPF](../../framework/wpf/advanced/code-behind-and-xaml-in-wpf.md) +- [Code-Behind and XAML in WPF](/dotnet/desktop/wpf/advanced/code-behind-and-xaml-in-wpf) - [XAML Overview (WPF)](../fundamentals/xaml.md) diff --git a/docs/desktop-wpf/xaml-services/xdata-intrinsic-xaml-type.md b/docs/desktop-wpf/xaml-services/xdata-intrinsic-xaml-type.md index 554ea53823a2f..5d0f291f1b416 100644 --- a/docs/desktop-wpf/xaml-services/xdata-intrinsic-xaml-type.md +++ b/docs/desktop-wpf/xaml-services/xdata-intrinsic-xaml-type.md @@ -49,4 +49,4 @@ Technically, `x:XData` can be used as the content of any property of type - [Data Binding Overview](../data/data-binding-overview.md) -- [Binding Markup Extension](../../framework/wpf/advanced/binding-markup-extension.md) +- [Binding Markup Extension](/dotnet/desktop/wpf/advanced/binding-markup-extension) diff --git a/docs/desktop-wpf/xaml-services/xfieldmodifier-directive.md b/docs/desktop-wpf/xaml-services/xfieldmodifier-directive.md index 2484ac2c82918..268a95272c771 100644 --- a/docs/desktop-wpf/xaml-services/xfieldmodifier-directive.md +++ b/docs/desktop-wpf/xaml-services/xfieldmodifier-directive.md @@ -48,8 +48,8 @@ By default, the partial class for the root element is public; however, you can m ## See also -- [XAML and Custom Classes for WPF](../../framework/wpf/advanced/xaml-and-custom-classes-for-wpf.md) -- [Code-Behind and XAML in WPF](../../framework/wpf/advanced/code-behind-and-xaml-in-wpf.md) +- [XAML and Custom Classes for WPF](/dotnet/desktop/wpf/advanced/xaml-and-custom-classes-for-wpf) +- [Code-Behind and XAML in WPF](/dotnet/desktop/wpf/advanced/code-behind-and-xaml-in-wpf) - [x:Name Directive](xname-directive.md) -- [Building a WPF Application (WPF)](../../framework/wpf/app-development/building-a-wpf-application-wpf.md) +- [Building a WPF Application (WPF)](/dotnet/desktop/wpf/app-development/building-a-wpf-application-wpf) - [x:ClassModifier Directive](xclassmodifier-directive.md) diff --git a/docs/desktop-wpf/xaml-services/xkey-directive.md b/docs/desktop-wpf/xaml-services/xkey-directive.md index 59ed818fc0d6a..259fb4ae28601 100644 --- a/docs/desktop-wpf/xaml-services/xkey-directive.md +++ b/docs/desktop-wpf/xaml-services/xkey-directive.md @@ -57,19 +57,19 @@ Uniquely identifies elements that are created and referenced in a XAML-defined d - Some WPF types declare an implicit key for dictionary usage. For example, a with a , or a with a , can be in a and use the implicit key. -- WPF supports a merged resource dictionary concept. Keys can be shared between the merged dictionaries, and the shared key behavior can be accessed using . For more information, see [Merged Resource Dictionaries](../../framework/wpf/advanced/merged-resource-dictionaries.md). +- WPF supports a merged resource dictionary concept. Keys can be shared between the merged dictionaries, and the shared key behavior can be accessed using . For more information, see [Merged Resource Dictionaries](/dotnet/desktop/wpf/advanced/merged-resource-dictionaries). In the overall WPF XAML implementation and application model, key uniqueness is not checked by the XAML markup compiler. Instead, missing or nonunique `x:Key` values cause load-time XAML parser errors. However, Visual Studio handling of dictionaries for WPF can often note such errors in the design phase. - Note that in the syntax shown, the object is implicit in how the WPF XAML processor produces a collection to populate a collection. A is not typically provided explicitly as an element in markup, although it can be in some cases if wanted for clarity (it would be a collection object element between the property element and the items within that populate the dictionary). For information about why a collection object is almost always an implicit element in markup, see [XAML Syntax In Detail](../../framework/wpf/advanced/xaml-syntax-in-detail.md). + Note that in the syntax shown, the object is implicit in how the WPF XAML processor produces a collection to populate a collection. A is not typically provided explicitly as an element in markup, although it can be in some cases if wanted for clarity (it would be a collection object element between the property element and the items within that populate the dictionary). For information about why a collection object is almost always an implicit element in markup, see [XAML Syntax In Detail](/dotnet/desktop/wpf/advanced/xaml-syntax-in-detail). In the WPF XAML implementation, the handling for resource dictionary keys is defined by the abstract class. However the WPF XAML processor produces different underlying extension types for keys based on their usages. For example, the key for a or any derived class is handled separately, and produces a distinct object. - Keys and names use different directives and language elements (`x:Key` versus `x:Name`) in the basic XAML definition. Keys and names are also used in different situations by the WPF definition and application of these concepts. For details, see [WPF XAML Namescopes](../../framework/wpf/advanced/wpf-xaml-namescopes.md). + Keys and names use different directives and language elements (`x:Key` versus `x:Name`) in the basic XAML definition. Keys and names are also used in different situations by the WPF definition and application of these concepts. For details, see [WPF XAML Namescopes](/dotnet/desktop/wpf/advanced/wpf-xaml-namescopes). - As stated previously, the value of a key can be supplied through a markup extension and can be other than a string value. An example WPF scenario is that the value of `x:Key` may be a [ComponentResourceKey](../../framework/wpf/advanced/componentresourcekey-markup-extension.md). Certain controls expose a style key of that type for a custom style resource that influences part of the appearance and behavior of that control without totally replacing the style. An example of such a key is . + As stated previously, the value of a key can be supplied through a markup extension and can be other than a string value. An example WPF scenario is that the value of `x:Key` may be a [ComponentResourceKey](/dotnet/desktop/wpf/advanced/componentresourcekey-markup-extension). Certain controls expose a style key of that type for a custom style resource that influences part of the appearance and behavior of that control without totally replacing the style. An example of such a key is . - The WPF merged dictionary feature introduces additional considerations for key uniqueness and key lookup behavior. For more information, see [Merged Resource Dictionaries](../../framework/wpf/advanced/merged-resource-dictionaries.md). + The WPF merged dictionary feature introduces additional considerations for key uniqueness and key lookup behavior. For more information, see [Merged Resource Dictionaries](/dotnet/desktop/wpf/advanced/merged-resource-dictionaries). ## XAML 2009 XAML 2009 relaxes the restriction that `x:Key` always be provided in attribute form. @@ -102,10 +102,10 @@ keyObject - `keyObject` could also be a markup extension usage in object element form, rather than a direct object instance. ## Silverlight Usage Notes - `x:Key` for Silverlight is documented separately. For more information, see [XAML Namespace (x:) Language Features (Silverlight)](https://docs.microsoft.com/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc188995(v=vs.95)). + `x:Key` for Silverlight is documented separately. For more information, see [XAML Namespace (x:) Language Features (Silverlight)](/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc188995(v=vs.95)). ## See also - [XAML Resources](../fundamentals/xaml-resources-define.md) -- [Resources and Code](../../framework/wpf/advanced/resources-and-code.md) -- [StaticResource Markup Extension](../../framework/wpf/advanced/staticresource-markup-extension.md) +- [Resources and Code](/dotnet/desktop/wpf/advanced/resources-and-code) +- [StaticResource Markup Extension](/dotnet/desktop/wpf/advanced/staticresource-markup-extension) diff --git a/docs/desktop-wpf/xaml-services/xmember-directive.md b/docs/desktop-wpf/xaml-services/xmember-directive.md index 6c395f6e4b272..c75370900d476 100644 --- a/docs/desktop-wpf/xaml-services/xmember-directive.md +++ b/docs/desktop-wpf/xaml-services/xmember-directive.md @@ -34,4 +34,4 @@ To support a practical usage of `x:Members` as a means to specify member definit ## x:Property for Windows Workflow Foundation -For Windows Workflow Foundation, `x:Property` defines the members of a custom activity composed entirely in XAML, or XAML –defined dynamic members for an activity designer with code-behind. `x:Class` must also be specified on the root element of the XAML production. This is not a requirement at .NET XAML Services level, but becomes a requirement when the XAML production is loaded by the MSBUILD build actions that support custom activities and Windows Workflow Foundation XAML in general. Windows Workflow Foundation does not use the pure XAML type name as its intended value for the `x:Property` `Type` attribute, and instead uses a convention that is not documented here. For more information, see [DynamicActivity Creation](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/dd807392(v=vs.100)). +For Windows Workflow Foundation, `x:Property` defines the members of a custom activity composed entirely in XAML, or XAML –defined dynamic members for an activity designer with code-behind. `x:Class` must also be specified on the root element of the XAML production. This is not a requirement at .NET XAML Services level, but becomes a requirement when the XAML production is loaded by the MSBUILD build actions that support custom activities and Windows Workflow Foundation XAML in general. Windows Workflow Foundation does not use the pure XAML type name as its intended value for the `x:Property` `Type` attribute, and instead uses a convention that is not documented here. For more information, see [DynamicActivity Creation](/previous-versions/dotnet/netframework-4.0/dd807392(v=vs.100)). diff --git a/docs/desktop-wpf/xaml-services/xml-character-entities.md b/docs/desktop-wpf/xaml-services/xml-character-entities.md index 710990a6fc9be..c0b5ce525eaea 100644 --- a/docs/desktop-wpf/xaml-services/xml-character-entities.md +++ b/docs/desktop-wpf/xaml-services/xml-character-entities.md @@ -60,6 +60,6 @@ XAML handles XML processing instructions according to XML specifications, which ## See also - [XAML Overview (WPF)](../fundamentals/xaml.md) -- [Markup Extensions and WPF XAML](../../framework/wpf/advanced/markup-extensions-and-wpf-xaml.md) +- [Markup Extensions and WPF XAML](/dotnet/desktop/wpf/advanced/markup-extensions-and-wpf-xaml) - [XamlName Grammar](xamlname-grammar.md) - [White-space processing in XAML](white-space-processing.md) diff --git a/docs/desktop-wpf/xaml-services/xml-language-handling.md b/docs/desktop-wpf/xaml-services/xml-language-handling.md index 5f1d0aec01171..9dc2e84ef4b9a 100644 --- a/docs/desktop-wpf/xaml-services/xml-language-handling.md +++ b/docs/desktop-wpf/xaml-services/xml-language-handling.md @@ -42,4 +42,4 @@ For elements that are derived classes of ## See also -- [Globalization for WPF](../../framework/wpf/advanced/globalization-for-wpf.md) +- [Globalization for WPF](/dotnet/desktop/wpf/advanced/globalization-for-wpf) diff --git a/docs/desktop-wpf/xaml-services/xname-directive.md b/docs/desktop-wpf/xaml-services/xname-directive.md index 8dd16571ba187..c9658746c6e96 100644 --- a/docs/desktop-wpf/xaml-services/xname-directive.md +++ b/docs/desktop-wpf/xaml-services/xname-directive.md @@ -31,7 +31,7 @@ Uniquely identifies XAML-defined elements in a XAML namescope. XAML namescopes a After `x:Name` is applied to a framework's backing programming model, the name is equivalent to the variable that holds an object reference or an instance as returned by a constructor. -The value of an `x:Name` directive usage must be unique within a XAML namescope. By default when used by .NET XAML Services API, the primary XAML namescope is defined at the XAML root element of a single XAML production, and encompasses the elements that are contained in that XAML production. Additional discrete XAML namescopes that might occur within a single XAML production can be defined by frameworks to address specific scenarios. For example, in WPF, new XAML namescopes are defined and created by any template that is also defined on that XAML production. For more information about XAML namescopes (written for WPF but relevant for many XAML namescope concepts), see [WPF XAML Namescopes](../../framework/wpf/advanced/wpf-xaml-namescopes.md). +The value of an `x:Name` directive usage must be unique within a XAML namescope. By default when used by .NET XAML Services API, the primary XAML namescope is defined at the XAML root element of a single XAML production, and encompasses the elements that are contained in that XAML production. Additional discrete XAML namescopes that might occur within a single XAML production can be defined by frameworks to address specific scenarios. For example, in WPF, new XAML namescopes are defined and created by any template that is also defined on that XAML production. For more information about XAML namescopes (written for WPF but relevant for many XAML namescope concepts), see [WPF XAML Namescopes](/dotnet/desktop/wpf/advanced/wpf-xaml-namescopes). In general, `x:Name` should not be applied in situations that also use `x:Key`. XAML implementations by specific existing frameworks have introduced substitution concepts between `x:Key` and `x:Name`, but that is not a recommended practice. .NET XAML Services does not support such substitution concepts when handling name/key information such as or . @@ -45,7 +45,7 @@ Using.NET XAML Services, the backing logic for XAML namescope support can be def Under the standard build configuration for a [!INCLUDE[TLA2#tla_winclient](../../../includes/tla2sharptla-winclient-md.md)] application that uses XAML, partial classes, and code-behind, the specified `x:Name` becomes the name of a field that is created in the underlying code when [!INCLUDE[TLA2#tla_xaml](../../../includes/tla2sharptla-xaml-md.md)] is processed by a markup compilation build task, and that field holds a reference to the object. By default, the created field is internal. You can change field access by specifying the [x:FieldModifier attribute](xfieldmodifier-directive.md). In WPF and Silverlight, the sequence is that the markup compile defines and names the field in a partial class, but the value is initially empty. Then, a generated method named `InitializeComponent` is called from within the class constructor. `InitializeComponent` consists of `FindName` calls using each of the `x:Name` values that exist in the XAML-defined part of the partial class as input strings. The return values are then assigned to the like-named field reference to fill the field values with objects that were created from XAML parsing. The execution of `InitializeComponent` make it possible to reference the run time object graph using the `x:Name` / field name directly, rather than having to call `FindName` explicitly any time you need a reference to a XAML-defined object. -For a WPF application that uses the Microsoft Visual Basic targets and includes XAML files with `Page` build action, a separate reference property is created during compilation that adds the `WithEvents` keyword to all elements that have an `x:Name`, to support `Handles` syntax for event handler delegates. This property is always public. For more information, see [Visual Basic and WPF Event Handling](../../framework/wpf/advanced/visual-basic-and-wpf-event-handling.md). +For a WPF application that uses the Microsoft Visual Basic targets and includes XAML files with `Page` build action, a separate reference property is created during compilation that adds the `WithEvents` keyword to all elements that have an `x:Name`, to support `Handles` syntax for event handler delegates. This property is always public. For more information, see [Visual Basic and WPF Event Handling](/dotnet/desktop/wpf/advanced/visual-basic-and-wpf-event-handling). `x:Name` is used by the WPF XAML processor to register a name into a XAML namescope at load time, even for cases where the page is not markup-compiled by build actions (for example, loose XAML of a resource dictionary). One reason for this behavior is because the `x:Name` is potentially needed for binding. For details, see [Data Binding Overview](../data/data-binding-overview.md). @@ -63,10 +63,10 @@ If is available as a property on ## Silverlight Usage Notes -`x:Name` for Silverlight is documented separately. For more information, see [XAML Namespace (x:) Language Features (Silverlight)](https://docs.microsoft.com/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc188995(v=vs.95)). +`x:Name` for Silverlight is documented separately. For more information, see [XAML Namespace (x:) Language Features (Silverlight)](/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc188995(v=vs.95)). ## See also - - -- [Trees in WPF](../../framework/wpf/advanced/trees-in-wpf.md) +- [Trees in WPF](/dotnet/desktop/wpf/advanced/trees-in-wpf) diff --git a/docs/desktop-wpf/xaml-services/xnull-markup-extension.md b/docs/desktop-wpf/xaml-services/xnull-markup-extension.md index e56147aa72b53..fd20010392286 100644 --- a/docs/desktop-wpf/xaml-services/xnull-markup-extension.md +++ b/docs/desktop-wpf/xaml-services/xnull-markup-extension.md @@ -33,16 +33,16 @@ A null usage is often associated with the XAML member exposure of a CLR ` is technically possible, but is rarely used because the `x:Null` markup extension has no positional parameters or construction arguments. -For information about markup extensions, see [Markup Extensions and WPF XAML](../../framework/wpf/advanced/markup-extensions-and-wpf-xaml.md). +For information about markup extensions, see [Markup Extensions and WPF XAML](/dotnet/desktop/wpf/advanced/markup-extensions-and-wpf-xaml). In .NET XAML Services, the handling for this markup extension is defined by the class. ## WPF Usage Notes -Note that `null` is not necessarily the initial unset value for a reference-type dependency property. The initial default value can vary for each dependency property and can be based on property-specific metadata. Many dependency properties do not accept `null` as a value, either through markup or code because of their validation callback implementations. For more information about dependency properties, see [Dependency Properties Overview](../../framework/wpf/advanced/dependency-properties-overview.md). +Note that `null` is not necessarily the initial unset value for a reference-type dependency property. The initial default value can vary for each dependency property and can be based on property-specific metadata. Many dependency properties do not accept `null` as a value, either through markup or code because of their validation callback implementations. For more information about dependency properties, see [Dependency Properties Overview](/dotnet/desktop/wpf/advanced/dependency-properties-overview). ## See also - - [XAML Overview (WPF)](../fundamentals/xaml.md) -- [Markup Extensions and WPF XAML](../../framework/wpf/advanced/markup-extensions-and-wpf-xaml.md) +- [Markup Extensions and WPF XAML](/dotnet/desktop/wpf/advanced/markup-extensions-and-wpf-xaml) diff --git a/docs/desktop-wpf/xaml-services/xproperty-directive.md b/docs/desktop-wpf/xaml-services/xproperty-directive.md index ad1e90fae97bd..126b63f50cde2 100644 --- a/docs/desktop-wpf/xaml-services/xproperty-directive.md +++ b/docs/desktop-wpf/xaml-services/xproperty-directive.md @@ -36,4 +36,4 @@ To support a practical usage of `x:Members` as a means to specify member definit ## x:Property for Windows Workflow Foundation -For Windows Workflow Foundation, `x:Property` defines the members of a custom activity composed entirely in XAML, or XAML –defined dynamic members for an activity designer with code-behind. `x:Class` must also be specified on the root element of the XAML production. This is not a requirement at .NET XAML Services level, but becomes a requirement when the XAML production is loaded by the MSBUILD build actions that support custom activities and Windows Workflow Foundation XAML in general. Windows Workflow Foundation does not use the pure XAML type name as its intended value for the `x:Property` `Type` attribute, and instead uses a convention that is not documented here. For more information, see [DynamicActivity Creation](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/dd807392(v=vs.100)). +For Windows Workflow Foundation, `x:Property` defines the members of a custom activity composed entirely in XAML, or XAML –defined dynamic members for an activity designer with code-behind. `x:Class` must also be specified on the root element of the XAML production. This is not a requirement at .NET XAML Services level, but becomes a requirement when the XAML production is loaded by the MSBUILD build actions that support custom activities and Windows Workflow Foundation XAML in general. Windows Workflow Foundation does not use the pure XAML type name as its intended value for the `x:Property` `Type` attribute, and instead uses a convention that is not documented here. For more information, see [DynamicActivity Creation](/previous-versions/dotnet/netframework-4.0/dd807392(v=vs.100)). diff --git a/docs/desktop-wpf/xaml-services/xshared-attribute.md b/docs/desktop-wpf/xaml-services/xshared-attribute.md index 5f3f68a674511..b995315955390 100644 --- a/docs/desktop-wpf/xaml-services/xshared-attribute.md +++ b/docs/desktop-wpf/xaml-services/xshared-attribute.md @@ -49,4 +49,4 @@ In WPF, `x:Shared` is only valid under the following conditions: - - [XAML Resources](../fundamentals/xaml-resources-define.md) -- [Base Elements](../../framework/wpf/advanced/base-elements.md) +- [Base Elements](/dotnet/desktop/wpf/advanced/base-elements) diff --git a/docs/desktop-wpf/xaml-services/xstatic-markup-extension.md b/docs/desktop-wpf/xaml-services/xstatic-markup-extension.md index 5c686557802d3..fcdb2a2fde49c 100644 --- a/docs/desktop-wpf/xaml-services/xstatic-markup-extension.md +++ b/docs/desktop-wpf/xaml-services/xstatic-markup-extension.md @@ -74,11 +74,11 @@ The default XAML namespace you use for WPF programming does not contain many use - You are referencing a type from a custom assembly. -- You are referencing a type that exists in a WPF assembly, but that type is within a CLR namespace that was not mapped to be part of the WPF default XAML namespace. The mapping of CLR namespaces into the default XAML namespace for WPF is performed by definitions in the various WPF assemblies (for more information about this concept, see [XAML Namespaces and Namespace Mapping for WPF XAML](../../framework/wpf/advanced/xaml-namespaces-and-namespace-mapping-for-wpf-xaml.md)). Non-mapped CLR namespaces can exist if that CLR namespace is composed mostly of class definitions that are not typically intended for XAML, such as . +- You are referencing a type that exists in a WPF assembly, but that type is within a CLR namespace that was not mapped to be part of the WPF default XAML namespace. The mapping of CLR namespaces into the default XAML namespace for WPF is performed by definitions in the various WPF assemblies (for more information about this concept, see [XAML Namespaces and Namespace Mapping for WPF XAML](/dotnet/desktop/wpf/advanced/xaml-namespaces-and-namespace-mapping-for-wpf-xaml)). Non-mapped CLR namespaces can exist if that CLR namespace is composed mostly of class definitions that are not typically intended for XAML, such as . -For more information on how to use prefixes and XAML namespaces for WPF, see [XAML Namespaces and Namespace Mapping for WPF XAML](../../framework/wpf/advanced/xaml-namespaces-and-namespace-mapping-for-wpf-xaml.md). +For more information on how to use prefixes and XAML namespaces for WPF, see [XAML Namespaces and Namespace Mapping for WPF XAML](/dotnet/desktop/wpf/advanced/xaml-namespaces-and-namespace-mapping-for-wpf-xaml). ## See also - [x:Type Markup Extension](xtype-markup-extension.md) -- [Types Migrated from WPF to System.Xaml](../../framework/wpf/advanced/types-migrated-from-wpf-to-system.md) +- [Types Migrated from WPF to System.Xaml](/dotnet/desktop/wpf/advanced/types-migrated-from-wpf-to-system) diff --git a/docs/desktop-wpf/xaml-services/xsubclass-directive.md b/docs/desktop-wpf/xaml-services/xsubclass-directive.md index 73dc9814de337..8ae3c8bd35c36 100644 --- a/docs/desktop-wpf/xaml-services/xsubclass-directive.md +++ b/docs/desktop-wpf/xaml-services/xsubclass-directive.md @@ -57,4 +57,4 @@ When you define both `x:Class` and `x:Subclass`, you do not need to provide any ## See also - [x:Class Directive](xclass-directive.md) -- [XAML and Custom Classes for WPF](../../framework/wpf/advanced/xaml-and-custom-classes-for-wpf.md) +- [XAML and Custom Classes for WPF](/dotnet/desktop/wpf/advanced/xaml-and-custom-classes-for-wpf) diff --git a/docs/desktop-wpf/xaml-services/xtype-markup-extension.md b/docs/desktop-wpf/xaml-services/xtype-markup-extension.md index c6f6b91f649dc..4b6cbdd7599c0 100644 --- a/docs/desktop-wpf/xaml-services/xtype-markup-extension.md +++ b/docs/desktop-wpf/xaml-services/xtype-markup-extension.md @@ -58,7 +58,7 @@ The `x:Type` markup extension can also be used as a verbose attribute; however t ### Default XAML Namespace and Type Mapping -The default XAML namespace for WPF programming contains most of the XAML types you need for typical XAML scenarios; therefore, you can often avoid prefixes when referencing XAML type values. You might need to map a prefix if you are referencing a type from a custom assembly or for types that exist in a WPF assembly but are from a CLR namespace that was not mapped to the default XAML namespace. For more information about prefixes, XAML namespaces, and mapping CLR namespaces, see [XAML Namespaces and Namespace Mapping for WPF XAML](../../framework/wpf/advanced/xaml-namespaces-and-namespace-mapping-for-wpf-xaml.md). +The default XAML namespace for WPF programming contains most of the XAML types you need for typical XAML scenarios; therefore, you can often avoid prefixes when referencing XAML type values. You might need to map a prefix if you are referencing a type from a custom assembly or for types that exist in a WPF assembly but are from a CLR namespace that was not mapped to the default XAML namespace. For more information about prefixes, XAML namespaces, and mapping CLR namespaces, see [XAML Namespaces and Namespace Mapping for WPF XAML](/dotnet/desktop/wpf/advanced/xaml-namespaces-and-namespace-mapping-for-wpf-xaml). ### Type Properties That Support Typename-as-String @@ -83,4 +83,4 @@ In WPF, you can use XAML 2009 features but only for loose XAML (XAML that is not - - [Styling and Templating](../fundamentals/styles-templates-overview.md) - [XAML Overview (WPF)](../fundamentals/xaml.md) -- [Markup Extensions and WPF XAML](../../framework/wpf/advanced/markup-extensions-and-wpf-xaml.md) +- [Markup Extensions and WPF XAML](/dotnet/desktop/wpf/advanced/markup-extensions-and-wpf-xaml) diff --git a/docs/desktop-wpf/xaml-services/xtypearguments-directive.md b/docs/desktop-wpf/xaml-services/xtypearguments-directive.md index cfc09f374aeee..876007dd69f9a 100644 --- a/docs/desktop-wpf/xaml-services/xtypearguments-directive.md +++ b/docs/desktop-wpf/xaml-services/xtypearguments-directive.md @@ -36,7 +36,7 @@ You can specify more than one XAML type name by using a comma delimiter. If the generic constraints themselves use generic types, the nested constraint type arguments can be contained by parentheses (). -Note that this definition of `x:TypeArguments` is specific to .NET XAML Services and using CLR backing. A language-level definition can be found in [\[MS-XAML\] Section 5.3.11](https://docs.microsoft.com/previous-versions/msp-n-p/ff650760(v=pandp.10)). +Note that this definition of `x:TypeArguments` is specific to .NET XAML Services and using CLR backing. A language-level definition can be found in [\[MS-XAML\] Section 5.3.11](/previous-versions/msp-n-p/ff650760(v=pandp.10)). ## Usage Examples diff --git a/docs/desktop-wpf/xaml-services/xuid-directive.md b/docs/desktop-wpf/xaml-services/xuid-directive.md index 0ee5b5fcb4428..f9e8ac913a066 100644 --- a/docs/desktop-wpf/xaml-services/xuid-directive.md +++ b/docs/desktop-wpf/xaml-services/xuid-directive.md @@ -26,7 +26,7 @@ Provides a unique identifier for markup elements. In many scenarios, this unique ## Remarks -In [MS-XAML], `x:Uid` is defined as a directive. For more information, see [\[MS-XAML\] Section 5.3.6](https://docs.microsoft.com/previous-versions/msp-n-p/ff650760(v=pandp.10)). +In [MS-XAML], `x:Uid` is defined as a directive. For more information, see [\[MS-XAML\] Section 5.3.6](/previous-versions/msp-n-p/ff650760(v=pandp.10)). `x:Uid` is discrete from `x:Name` both because of the stated XAML localization scenario and so that identifiers that are used for localization have no dependencies on the programming model implications of `x:Name`. Also, `x:Name` is governed by the XAML namescope; however, `x:Uid` is not governed by any XAML language defined concept of uniqueness enforcement. XAML processors in a broad sense (processors that are not part of the localization process) are not expected to enforce uniqueness of `x:Uid` values. That responsibility is conceptually on the originator of the values. The expectation of uniqueness of `x:Uid` values within a single XAML source is reasonable for consumers of the values, such as dedicated globalization processes or tools. The typical uniqueness model is that `x:Uid` values are unique within an XML-encoded file that represents XAML. @@ -36,10 +36,10 @@ Frameworks can specify a particular property in their object model to be an alia ## WPF Usage Notes -For more information about the role of `x:Uid` in the WPF localization process and in the BAML form of XAML, see [Globalization for WPF](../../framework/wpf/advanced/globalization-for-wpf.md) or +For more information about the role of `x:Uid` in the WPF localization process and in the BAML form of XAML, see [Globalization for WPF](/dotnet/desktop/wpf/advanced/globalization-for-wpf) or ## See also - - -- [Globalization for WPF](../../framework/wpf/advanced/globalization-for-wpf.md) +- [Globalization for WPF](/dotnet/desktop/wpf/advanced/globalization-for-wpf) diff --git a/docs/framework/64-bit-apps.md b/docs/framework/64-bit-apps.md index 95b2386738abd..472dc3c4adf4f 100644 --- a/docs/framework/64-bit-apps.md +++ b/docs/framework/64-bit-apps.md @@ -31,7 +31,7 @@ When you compile an application, you can specify that it should run on a Windows - Code that casts `IntPtr` to `Int32`. - For more information about how to port a 32-bit application to run on the 64-bit CLR, see [Migrating 32-bit Managed Code to 64-bit](https://docs.microsoft.com/previous-versions/dotnet/articles/ms973190(v=msdn.10)). + For more information about how to port a 32-bit application to run on the 64-bit CLR, see [Migrating 32-bit Managed Code to 64-bit](/previous-versions/dotnet/articles/ms973190(v=msdn.10)). ## General 64-Bit Programming Information For general information about 64-bit programming, see the following documents: diff --git a/docs/framework/app-domains/application-domains.md b/docs/framework/app-domains/application-domains.md index 48c5342c6cee6..a1d8e4408a6ec 100644 --- a/docs/framework/app-domains/application-domains.md +++ b/docs/framework/app-domains/application-domains.md @@ -41,7 +41,7 @@ Operating systems and runtime environments typically provide some form of isolat > [!NOTE] > You cannot unload individual assemblies or types. Only a complete domain can be unloaded. -- Code running in one application cannot directly access code or resources from another application. The common language runtime enforces this isolation by preventing direct calls between objects in different application domains. Objects that pass between domains are either copied or accessed by proxy. If the object is copied, the call to the object is local. That is, both the caller and the object being referenced are in the same application domain. If the object is accessed through a proxy, the call to the object is remote. In this case, the caller and the object being referenced are in different application domains. Cross-domain calls use the same remote call infrastructure as calls between two processes or between two machines. As such, the metadata for the object being referenced must be available to both application domains to allow the method call to be JIT-compiled properly. If the calling domain does not have access to the metadata for the object being called, the compilation might fail with an exception of type . For more information, see [Remote Objects](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/72x4h507(v=vs.100)). The mechanism for determining how objects can be accessed across domains is determined by the object. For more information, see . +- Code running in one application cannot directly access code or resources from another application. The common language runtime enforces this isolation by preventing direct calls between objects in different application domains. Objects that pass between domains are either copied or accessed by proxy. If the object is copied, the call to the object is local. That is, both the caller and the object being referenced are in the same application domain. If the object is accessed through a proxy, the call to the object is remote. In this case, the caller and the object being referenced are in different application domains. Cross-domain calls use the same remote call infrastructure as calls between two processes or between two machines. As such, the metadata for the object being referenced must be available to both application domains to allow the method call to be JIT-compiled properly. If the calling domain does not have access to the metadata for the object being called, the compilation might fail with an exception of type . For more information, see [Remote Objects](/previous-versions/dotnet/netframework-4.0/72x4h507(v=vs.100)). The mechanism for determining how objects can be accessed across domains is determined by the object. For more information, see . - The behavior of code is scoped by the application in which it runs. In other words, the application domain provides configuration settings such as application version policies, the location of any remote assemblies it accesses, and information about where to locate assemblies that are loaded into the domain. diff --git a/docs/framework/app-domains/how-to-view-the-contents-of-the-gac.md b/docs/framework/app-domains/how-to-view-the-contents-of-the-gac.md index e9c4c49b76dc7..4e956c8871e31 100644 --- a/docs/framework/app-domains/how-to-view-the-contents-of-the-gac.md +++ b/docs/framework/app-domains/how-to-view-the-contents-of-the-gac.md @@ -32,7 +32,7 @@ gacutil /l ``` > [!NOTE] -> In earlier versions of the .NET Framework, the [Shfusion.dll](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/34149zk3(v=vs.100)) Windows shell extension enabled you to view the global assembly cache in File Explorer. Beginning with the .NET Framework 4, Shfusion.dll is obsolete. +> In earlier versions of the .NET Framework, the [Shfusion.dll](/previous-versions/dotnet/netframework-4.0/34149zk3(v=vs.100)) Windows shell extension enabled you to view the global assembly cache in File Explorer. Beginning with the .NET Framework 4, Shfusion.dll is obsolete. ## See also diff --git a/docs/framework/configure-apps/assembly-binding-redirection-security-permission.md b/docs/framework/configure-apps/assembly-binding-redirection-security-permission.md index a715f326d8111..6017d0072149b 100644 --- a/docs/framework/configure-apps/assembly-binding-redirection-security-permission.md +++ b/docs/framework/configure-apps/assembly-binding-redirection-security-permission.md @@ -27,6 +27,6 @@ Explicit assembly binding redirection in an application configuration file requi ## See also -- [Publisher Policy Files and Side-by-Side Execution](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/06d2bae3(v=vs.100)) +- [Publisher Policy Files and Side-by-Side Execution](/previous-versions/dotnet/netframework-4.0/06d2bae3(v=vs.100)) - [How to: Enable and Disable Automatic Binding Redirection](how-to-enable-and-disable-automatic-binding-redirection.md) - [Side-by-Side Execution](../deployment/side-by-side-execution.md) diff --git a/docs/framework/configure-apps/file-schema/application-settings-schema.md b/docs/framework/configure-apps/file-schema/application-settings-schema.md index eebf30fea099a..39cf603be6ad2 100644 --- a/docs/framework/configure-apps/file-schema/application-settings-schema.md +++ b/docs/framework/configure-apps/file-schema/application-settings-schema.md @@ -13,7 +13,7 @@ ms.assetid: 5797fcff-6081-4e8c-bebf-63d9c70cf14b Application settings allow a Windows Forms or ASP.NET application to store and retrieve application-scoped and user-scoped settings. In this context, a *setting* is any piece of information that may be specific to the application or specific to the current user — anything from a database connection string to the user's preferred default window size. -By default, application settings in a Windows Forms application uses the class, which uses the .NET configuration system to store settings in an XML configuration file. For more information about the files used by application settings, see [Application Settings Architecture](../../winforms/advanced/application-settings-architecture.md). +By default, application settings in a Windows Forms application uses the class, which uses the .NET configuration system to store settings in an XML configuration file. For more information about the files used by application settings, see [Application Settings Architecture](/dotnet/desktop/winforms/advanced/application-settings-architecture). Application settings defines the following elements as part of the configuration files it uses. @@ -85,5 +85,5 @@ The following example shows an application settings file that defines two applic ## See also -- [Application Settings Overview](../../winforms/advanced/application-settings-overview.md) -- [Application Settings Architecture](../../winforms/advanced/application-settings-architecture.md) +- [Application Settings Overview](/dotnet/desktop/winforms/advanced/application-settings-overview) +- [Application Settings Architecture](/dotnet/desktop/winforms/advanced/application-settings-architecture) diff --git a/docs/framework/configure-apps/file-schema/appsettings/index.md b/docs/framework/configure-apps/file-schema/appsettings/index.md index 41fca1ca751c1..d9cb27388c56a 100644 --- a/docs/framework/configure-apps/file-schema/appsettings/index.md +++ b/docs/framework/configure-apps/file-schema/appsettings/index.md @@ -64,5 +64,5 @@ The following example shows an application configuration file that consumes the ## See also -- [Application Settings Overview](../../../winforms/advanced/application-settings-overview.md) -- [Application Settings Architecture](../../../winforms/advanced/application-settings-architecture.md) +- [Application Settings Overview](/dotnet/desktop/winforms/advanced/application-settings-overview) +- [Application Settings Architecture](/dotnet/desktop/winforms/advanced/application-settings-architecture) diff --git a/docs/framework/configure-apps/file-schema/compiler/compiler-element.md b/docs/framework/configure-apps/file-schema/compiler/compiler-element.md index 7e21e6c3fc8e1..b020ba33bb923 100644 --- a/docs/framework/configure-apps/file-schema/compiler/compiler-element.md +++ b/docs/framework/configure-apps/file-schema/compiler/compiler-element.md @@ -101,4 +101,4 @@ The following example illustrates a typical compiler configuration element: - [Configuration File Schema](../index.md) - [\ Element](compilers-element.md) - [Specifying Fully Qualified Type Names](../../../reflection-and-codedom/specifying-fully-qualified-type-names.md) -- [compiler Element for compilers for compilation (ASP.NET Settings Schema)](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/a15ebt6c(v=vs.100)) +- [compiler Element for compilers for compilation (ASP.NET Settings Schema)](/previous-versions/dotnet/netframework-4.0/a15ebt6c(v=vs.100)) diff --git a/docs/framework/configure-apps/file-schema/compiler/provideroption-element.md b/docs/framework/configure-apps/file-schema/compiler/provideroption-element.md index 1d9a10353074c..487031cee36b5 100644 --- a/docs/framework/configure-apps/file-schema/compiler/provideroption-element.md +++ b/docs/framework/configure-apps/file-schema/compiler/provideroption-element.md @@ -90,4 +90,4 @@ Specifies the compiler version attributes for a language provider. - [Configuration File Schema](../index.md) - [\ Element](compilers-element.md) - [Specifying Fully Qualified Type Names](../../../reflection-and-codedom/specifying-fully-qualified-type-names.md) -- [compiler Element for compilers for compilation (ASP.NET Settings Schema)](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/a15ebt6c(v=vs.100)) +- [compiler Element for compilers for compilation (ASP.NET Settings Schema)](/previous-versions/dotnet/netframework-4.0/a15ebt6c(v=vs.100)) diff --git a/docs/framework/configure-apps/file-schema/configuration-element.md b/docs/framework/configure-apps/file-schema/configuration-element.md index 06fa5313bf349..4b8663b0a297a 100644 --- a/docs/framework/configure-apps/file-schema/configuration-element.md +++ b/docs/framework/configure-apps/file-schema/configuration-element.md @@ -39,13 +39,13 @@ None | [**\**](assemblybinding-element-for-configuration.md) | Specifies assembly binding policy at the configuration level.| | [**\** Settings Schema](./startup/index.md) | All elements in the startup settings schema. | | [**\** Settings Schema](./runtime/index.md) | All elements in the runtime settings schema. | -| [**\** Settings Schema](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/z415cf9a(v=vs.100)) | All elements in the remoting settings schema. | +| [**\** Settings Schema](/previous-versions/dotnet/netframework-4.0/z415cf9a(v=vs.100)) | All elements in the remoting settings schema. | | [**\** Settings Schema](./network/index.md) | All elements in the network settings schema. | | [**\** Settings Schema](./cryptography/index.md) | All elements in the crypto settings schema. | | [**\** Sections Schema](configuration-sections-schema.md) | All elements in the configuration section settings schema. | | [Trace and Debug Settings Schema](./trace-debug/index.md) | All elements in the trace and debug settings schema. | -| [ASP.NET Configuration Settings Schema](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/b5ysx397(v=vs.100)) | All elements in the ASP.NET configuration schema, which includes elements for configuring ASP.NET Web sites and applications. Used in *Web.config* files. | -| [**\** Settings Schema](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/cctwteet(v=vs.100)) | All elements in the Web services settings schema. | +| [ASP.NET Configuration Settings Schema](/previous-versions/dotnet/netframework-4.0/b5ysx397(v=vs.100)) | All elements in the ASP.NET configuration schema, which includes elements for configuring ASP.NET Web sites and applications. Used in *Web.config* files. | +| [**\** Settings Schema](/previous-versions/dotnet/netframework-4.0/cctwteet(v=vs.100)) | All elements in the Web services settings schema. | | [Web Settings Schema](./web/index.md) | All elements in the Web settings schema, which includes elements for configuring how ASP.NET works with a host application such as IIS. Used in *aspnet.config* files. | ## Remarks diff --git a/docs/framework/configure-apps/file-schema/index.md b/docs/framework/configure-apps/file-schema/index.md index 5fbc1e4ba844b..7184e787a9477 100644 --- a/docs/framework/configure-apps/file-schema/index.md +++ b/docs/framework/configure-apps/file-schema/index.md @@ -86,14 +86,14 @@ All elements of the Windows Identity Foundation (WIF) configuration schema. ## Related sections -[Remoting Settings Schema](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/z415cf9a(v=vs.100))\ +[Remoting Settings Schema](/previous-versions/dotnet/netframework-4.0/z415cf9a(v=vs.100))\ Describes the elements that configure client and server applications that implement remoting. -[ASP.NET Settings Schema](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/b5ysx397(v=vs.100))\ +[ASP.NET Settings Schema](/previous-versions/dotnet/netframework-4.0/b5ysx397(v=vs.100))\ Describes the elements that control the behavior of ASP.NET Web applications. -[Web Services Settings Schema](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/cctwteet(v=vs.100))\ +[Web Services Settings Schema](/previous-versions/dotnet/netframework-4.0/cctwteet(v=vs.100))\ Describes the elements that control the behavior of ASP.NET Web services and their clients. -[Configuring .NET Framework Apps](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/kza1yk3a(v=vs.100))\ +[Configuring .NET Framework Apps](/previous-versions/dotnet/netframework-4.0/kza1yk3a(v=vs.100))\ Describes how to configure security, assembly binding, and remoting in the .NET Framework. diff --git a/docs/framework/configure-apps/file-schema/runtime/appcontextswitchoverrides-element.md b/docs/framework/configure-apps/file-schema/runtime/appcontextswitchoverrides-element.md index b71d9caafa706..f177c3b4dc315 100644 --- a/docs/framework/configure-apps/file-schema/runtime/appcontextswitchoverrides-element.md +++ b/docs/framework/configure-apps/file-schema/runtime/appcontextswitchoverrides-element.md @@ -64,7 +64,7 @@ Defines one or more switches used by the class to provi |`Switch.System.Diagnostics.`
`IgnorePortablePDBsInStackTraces`|Controls whether stack traces obtain when using portable PDBs can include source file and line information. `false` to include source file and line information; otherwise, `true`.|.NET Framework 4.7.2| |`Switch.System.Drawing.`
`DontSupportPngFramesInIcons`|Controls whether the method throws an exception when an object has PNG frames. For more information, see [Mitigation: PNG Frames in Icon Objects](../../../migration-guide/mitigation-png-frames-in-icon-objects.md).|.NET Framework 4.6| |`Switch.System.Drawing.Text.`
`DoNotRemoveGdiFontsResourcesFromFontCollection`|Determines whether objects are properly disposed when added to the collection by the method. `true` to maintain the legacy behavior; `false` to dispose of all private font objects. |.NET Framework 4.7.2| -|`Switch.System.Drawing.Printing.`
`OptimizePrintPreview`|Controls whether the performance of the is optimized for network printers. For more information, see [PrintPreviewDialog control overview](../../../winforms/controls/printpreviewdialog-control-overview-windows-forms.md).|.NET Framework 4.6| +|`Switch.System.Drawing.Printing.`
`OptimizePrintPreview`|Controls whether the performance of the is optimized for network printers. For more information, see [PrintPreviewDialog control overview](/dotnet/desktop/winforms/controls/printpreviewdialog-control-overview-windows-forms).|.NET Framework 4.6| |`Switch.System.Globalization.EnforceJapaneseEraYearRanges`|Controls whether year range checks for Japanese calendar eras are enforced. `true` to enforce year range checks, and `false` to disable them (the default behavior). For more information, see [Working with calendars](../../../../standard/datetime/working-with-calendars.md).|.NET Framework 4.6| |`Switch.System.Globalization.EnforceLegacyJapaneseDateParsing`|Controls whether only "1" is recognized as the first year of a Japanese calendar era in parsing operations. `true` to recognize only "1"; `false` to recognize either "1" or Gannen (the default behavior). For more information, see [Working with calendars](../../../../standard/datetime/working-with-calendars.md).|.NET Framework 4.6| |`Switch.System.Globalization.FormatJapaneseFirstYearAsANumber`|Controls whether the first year of a Japanese calendar era is represented as "1" or Gannen in formatting operations. `true` to format the era's first year as "1"; `false` to format it as Gannen (the default behavior). For more information, see [Working with calendars](../../../../standard/datetime/working-with-calendars.md).|.NET Framework 4.6| diff --git a/docs/framework/configure-apps/file-schema/runtime/generatepublisherevidence-element.md b/docs/framework/configure-apps/file-schema/runtime/generatepublisherevidence-element.md index 5f95c5dde08aa..41a5c2af75a22 100644 --- a/docs/framework/configure-apps/file-schema/runtime/generatepublisherevidence-element.md +++ b/docs/framework/configure-apps/file-schema/runtime/generatepublisherevidence-element.md @@ -49,7 +49,7 @@ Specifies whether the runtime creates ev ## Remarks > [!NOTE] -> In the .NET Framework 4 and later, this element has no effect on assembly load times. For more information, see the "Security Policy Simplification" section in [Security Changes](https://docs.microsoft.com/previous-versions/dotnet/framework/security/security-changes). +> In the .NET Framework 4 and later, this element has no effect on assembly load times. For more information, see the "Security Policy Simplification" section in [Security Changes](/previous-versions/dotnet/framework/security/security-changes). The common language runtime (CLR) tries to verify the Authenticode signature at load time to create evidence for the assembly. However, by default, most applications do not need evidence. Standard CAS policy does not rely on the . You should avoid the unnecessary startup cost associated with verifying the publisher signature unless your application executes on a computer with custom CAS policy, or is intending to satisfy demands for in a partial-trust environment. (Demands for identity permissions always succeed in a full-trust environment.) diff --git a/docs/framework/configure-apps/file-schema/runtime/loadfromremotesources-element.md b/docs/framework/configure-apps/file-schema/runtime/loadfromremotesources-element.md index e26e1057e6155..e27f9da01f8ec 100644 --- a/docs/framework/configure-apps/file-schema/runtime/loadfromremotesources-element.md +++ b/docs/framework/configure-apps/file-schema/runtime/loadfromremotesources-element.md @@ -10,7 +10,7 @@ ms.assetid: 006d1280-2ac3-4db6-a984-a3d4e275046a Specifies whether assemblies loaded from remote sources should be granted full trust in .NET Framework 4 and later. > [!NOTE] -> If you were directed to this article because of an error message in the Visual Studio project error list or a build error, see [How to: Use an Assembly from the Web in Visual Studio](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2010/ee890038(v=vs.100)). +> If you were directed to this article because of an error message in the Visual Studio project error list or a build error, see [How to: Use an Assembly from the Web in Visual Studio](/previous-versions/visualstudio/visual-studio-2010/ee890038(v=vs.100)). [**\**](../configuration-element.md)\   [**\**](runtime-element.md)\ @@ -93,7 +93,7 @@ Setting the `` element to `true` prevents this exception ## Configuration file -This element is typically used in the application configuration file, but can be used in other configuration files depending upon the context. For more information, see the article [More Implicit Uses of CAS Policy: loadFromRemoteSources](https://docs.microsoft.com/archive/blogs/shawnfa/more-implicit-uses-of-cas-policy-loadfromremotesources) in the .NET Security blog. +This element is typically used in the application configuration file, but can be used in other configuration files depending upon the context. For more information, see the article [More Implicit Uses of CAS Policy: loadFromRemoteSources](/archive/blogs/shawnfa/more-implicit-uses-of-cas-policy-loadfromremotesources) in the .NET Security blog. ## Example @@ -109,7 +109,7 @@ The following example shows how to grant full trust to assemblies loaded from re ## See also -- [More Implicit Uses of CAS Policy: loadFromRemoteSources](https://docs.microsoft.com/archive/blogs/shawnfa/more-implicit-uses-of-cas-policy-loadfromremotesources) +- [More Implicit Uses of CAS Policy: loadFromRemoteSources](/archive/blogs/shawnfa/more-implicit-uses-of-cas-policy-loadfromremotesources) - [How to: Run Partially Trusted Code in a Sandbox](../../../misc/how-to-run-partially-trusted-code-in-a-sandbox.md) - [Runtime Settings Schema](index.md) - [Configuration File Schema](../index.md) diff --git a/docs/framework/configure-apps/file-schema/runtime/qualifyassembly-element.md b/docs/framework/configure-apps/file-schema/runtime/qualifyassembly-element.md index 22d250b49387f..d02f6c3fa46f0 100644 --- a/docs/framework/configure-apps/file-schema/runtime/qualifyassembly-element.md +++ b/docs/framework/configure-apps/file-schema/runtime/qualifyassembly-element.md @@ -71,4 +71,4 @@ Specifies the full name of the assembly that should be dynamically loaded when a - [Runtime Settings Schema](index.md) - [How the Runtime Locates Assemblies](../../../deployment/how-the-runtime-locates-assemblies.md) -- [Partial Assembly References](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/0a7zy9z5(v=vs.100)) +- [Partial Assembly References](/previous-versions/dotnet/netframework-4.0/0a7zy9z5(v=vs.100)) diff --git a/docs/framework/configure-apps/file-schema/runtime/supportportability-element.md b/docs/framework/configure-apps/file-schema/runtime/supportportability-element.md index e5621eb817033..cb3861033b511 100644 --- a/docs/framework/configure-apps/file-schema/runtime/supportportability-element.md +++ b/docs/framework/configure-apps/file-schema/runtime/supportportability-element.md @@ -77,4 +77,4 @@ The following example enables an application to have references to both the .NET ## See also - [-appconfig (C# Compiler Options)](../../../../csharp/language-reference/compiler-options/appconfig-compiler-option.md) -- [.NET Framework Assembly Unification Overview](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/db7849ey(v=vs.100)) +- [.NET Framework Assembly Unification Overview](/previous-versions/dotnet/netframework-4.0/db7849ey(v=vs.100)) diff --git a/docs/framework/configure-apps/file-schema/startup/startup-element.md b/docs/framework/configure-apps/file-schema/startup/startup-element.md index 24662cbd7460f..d877cd38cff0d 100644 --- a/docs/framework/configure-apps/file-schema/startup/startup-element.md +++ b/docs/framework/configure-apps/file-schema/startup/startup-element.md @@ -65,7 +65,7 @@ Specifies common language runtime startup information. This attribute is useful if your application uses legacy activation paths, such as the [CorBindToRuntimeEx function](../../../unmanaged-api/hosting/corbindtoruntimeex-function.md), and you want those paths to activate version 4 of the CLR instead of an earlier version, or if your application is built with the .NET Framework 4 but has a dependency on a mixed-mode assembly built with an earlier version of the .NET Framework. In those scenarios, set the attribute to `true`. > [!NOTE] -> Setting the attribute to `true` prevents CLR version 1.1 or CLR version 2.0 from loading into the same process, effectively disabling the in-process side-by-side feature (see [Side-by-Side Execution for COM Interop](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/8t8td04t(v=vs.100))). +> Setting the attribute to `true` prevents CLR version 1.1 or CLR version 2.0 from loading into the same process, effectively disabling the in-process side-by-side feature (see [Side-by-Side Execution for COM Interop](/previous-versions/dotnet/netframework-4.0/8t8td04t(v=vs.100))). ## Example @@ -92,5 +92,5 @@ Specifies common language runtime startup information. - [Startup Settings Schema](index.md) - [Configuration File Schema](../index.md) - [How to: Configure an app to support .NET Framework 4 or later versions](../../../migration-guide/how-to-configure-an-app-to-support-net-framework-4-or-4-5.md) -- [Side-by-Side Execution for COM Interop](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/8t8td04t(v=vs.100)) +- [Side-by-Side Execution for COM Interop](/previous-versions/dotnet/netframework-4.0/8t8td04t(v=vs.100)) - [In-Process Side-by-Side Execution](../../../deployment/in-process-side-by-side-execution.md) diff --git a/docs/framework/configure-apps/file-schema/startup/supportedruntime-element.md b/docs/framework/configure-apps/file-schema/startup/supportedruntime-element.md index faf0c10a58498..c5725e2210a87 100644 --- a/docs/framework/configure-apps/file-schema/startup/supportedruntime-element.md +++ b/docs/framework/configure-apps/file-schema/startup/supportedruntime-element.md @@ -41,7 +41,7 @@ The **\** element should be used by all applications built usi For apps that support versions of the runtime from the .NET Framework 1.1 through 3.5, when multiple versions of the runtime are supported, the first element should specify the most preferred version of the runtime, and the last element should specify the least preferred version. For apps that support the .NET Framework 4.0 or later versions, the `version` attribute indicates the CLR version, which is common to the .NET Framework 4 and later versions, and the `sku` attribute indicates the single .NET Framework version that the app targets. -If the **\** element with the `sku` attribute is present in the configuration file and the installed .NET Framework version is lower then the specified supported version, the application fails to run and instead displays a message asking to install the supported version. Otherwise, the application attempts to run on any installed version, but it may behave unexpectedly if it is not fully compatible with that version. (For compatibility differences between versions of .NET Framework, see [Application compatibility in the .NET Framework](https://docs.microsoft.com/dotnet/framework/migration-guide/application-compatibility).) Therefore, we recommend that you include this element in the application configuration file for easier error diagnostics. (The configuration file automatically generated by Visual Studio when creating a new project already contains it.) +If the **\** element with the `sku` attribute is present in the configuration file and the installed .NET Framework version is lower then the specified supported version, the application fails to run and instead displays a message asking to install the supported version. Otherwise, the application attempts to run on any installed version, but it may behave unexpectedly if it is not fully compatible with that version. (For compatibility differences between versions of .NET Framework, see [Application compatibility in the .NET Framework](../../../migration-guide/application-compatibility.md).) Therefore, we recommend that you include this element in the application configuration file for easier error diagnostics. (The configuration file automatically generated by Visual Studio when creating a new project already contains it.) > [!NOTE] > If your application uses legacy activation paths, such as the [CorBindToRuntimeEx function](../../../unmanaged-api/hosting/corbindtoruntimeex-function.md), and you want those paths to activate version 4 of the CLR instead of an earlier version, or if your application is built with the .NET Framework 4 but has a dependency on a mixed-mode assembly built with an earlier version of the .NET Framework, it is not sufficient to specify the .NET Framework 4 in the list of supported runtimes. In addition, in the [\ element](startup-element.md) in your configuration file, you must set the `useLegacyV2RuntimeActivationPolicy` attribute to `true`. However, setting this attribute to `true` means that all components built with earlier versions of the .NET Framework are run using the .NET Framework 4 instead of the runtimes they were built with. diff --git a/docs/framework/configure-apps/file-schema/wcf/add-of-commonparameters.md b/docs/framework/configure-apps/file-schema/wcf/add-of-commonparameters.md index 7137b58c906fa..e1886a4c58312 100644 --- a/docs/framework/configure-apps/file-schema/wcf/add-of-commonparameters.md +++ b/docs/framework/configure-apps/file-schema/wcf/add-of-commonparameters.md @@ -67,7 +67,7 @@ Specifies a name-value pair of parameters that are used globally across multiple Notice that the `EnableRetries` parameter can be set at either a global level (as shown in the *CommonParameters* section) or for individual services that support `EnableRetries` (as shown in the *Services* section). - For more information on using a configuration file to control the behavior of a object of a Windows Workflow Foundation host application, see [Workflow Configuration Files](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms732240(v=vs.90)). + For more information on using a configuration file to control the behavior of a object of a Windows Workflow Foundation host application, see [Workflow Configuration Files](/previous-versions/dotnet/netframework-3.5/ms732240(v=vs.90)). ## Example @@ -87,5 +87,5 @@ Specifies a name-value pair of parameters that are used globally across multiple - - - -- [Workflow Configuration Files](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms732240(v=vs.90)) +- [Workflow Configuration Files](/previous-versions/dotnet/netframework-3.5/ms732240(v=vs.90)) - [\](commonparameters.md) diff --git a/docs/framework/configure-apps/file-schema/wcf/add-of-services.md b/docs/framework/configure-apps/file-schema/wcf/add-of-services.md index 1542f7970ad65..3ff5f696609cc 100644 --- a/docs/framework/configure-apps/file-schema/wcf/add-of-services.md +++ b/docs/framework/configure-apps/file-schema/wcf/add-of-services.md @@ -67,4 +67,4 @@ Specifies settings for an instance of - - -- [Workflow Configuration Files](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms732240(v=vs.90)) +- [Workflow Configuration Files](/previous-versions/dotnet/netframework-3.5/ms732240(v=vs.90)) diff --git a/docs/framework/configure-apps/file-schema/wcf/basichttpbinding.md b/docs/framework/configure-apps/file-schema/wcf/basichttpbinding.md index fb926132b216e..def60a77d352a 100644 --- a/docs/framework/configure-apps/file-schema/wcf/basichttpbinding.md +++ b/docs/framework/configure-apps/file-schema/wcf/basichttpbinding.md @@ -79,7 +79,7 @@ Represents a binding that a Windows Communication Foundation (WCF) service can u |Element|Description| |-------------|-----------------| |[\](security-of-basichttpbinding.md)|Defines the security settings for the binding. This element is of type .| -|[\](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| +|[\](/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| ### Parent Elements diff --git a/docs/framework/configure-apps/file-schema/wcf/basichttpcontextbinding.md b/docs/framework/configure-apps/file-schema/wcf/basichttpcontextbinding.md index f6cc56e1a6a11..9d3f485241103 100644 --- a/docs/framework/configure-apps/file-schema/wcf/basichttpcontextbinding.md +++ b/docs/framework/configure-apps/file-schema/wcf/basichttpcontextbinding.md @@ -77,7 +77,7 @@ Specifying a binding that provides context for the ](security-of-basichttpbinding.md)|Defines the security settings for the binding. This element is of type .| -|[\](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| +|[\](/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| ### Parent Elements diff --git a/docs/framework/configure-apps/file-schema/wcf/binarymessageencoding.md b/docs/framework/configure-apps/file-schema/wcf/binarymessageencoding.md index d78d278fed71c..0968128b337e3 100644 --- a/docs/framework/configure-apps/file-schema/wcf/binarymessageencoding.md +++ b/docs/framework/configure-apps/file-schema/wcf/binarymessageencoding.md @@ -38,7 +38,7 @@ Defines a binary message encoder that encodes Windows Communication Foundation ( |Element|Description| |-------------|-----------------| -|[\](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| +|[\](/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| ### Parent Elements diff --git a/docs/framework/configure-apps/file-schema/wcf/bytestreammessageencoding.md b/docs/framework/configure-apps/file-schema/wcf/bytestreammessageencoding.md index 40702b853def9..f02a61f63417a 100644 --- a/docs/framework/configure-apps/file-schema/wcf/bytestreammessageencoding.md +++ b/docs/framework/configure-apps/file-schema/wcf/bytestreammessageencoding.md @@ -32,7 +32,7 @@ Specifies the message encoding as a stream of bytes, with the option to specify |Element|Description| |-------------|-----------------| -|[\](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| +|[\](/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| ### Parent Elements diff --git a/docs/framework/configure-apps/file-schema/wcf/certificate-element.md b/docs/framework/configure-apps/file-schema/wcf/certificate-element.md index 5e76b6a308183..b5f677e846761 100644 --- a/docs/framework/configure-apps/file-schema/wcf/certificate-element.md +++ b/docs/framework/configure-apps/file-schema/wcf/certificate-element.md @@ -77,6 +77,6 @@ Specifies an X.509 certificate to use for signing and encrypting messages for pe - - [Working with Certificates](../../../wcf/feature-details/working-with-certificates.md) - [Peer-to-Peer Networking](../../../wcf/feature-details/peer-to-peer-networking.md) -- [Peer Channel Message Authentication](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/aa967730(v=vs.90)) -- [Peer Channel Custom Authentication](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751447(v=vs.90)) +- [Peer Channel Message Authentication](/previous-versions/dotnet/netframework-3.5/aa967730(v=vs.90)) +- [Peer Channel Custom Authentication](/previous-versions/dotnet/netframework-3.5/ms751447(v=vs.90)) - [Securing Peer Channel Applications](../../../wcf/feature-details/securing-peer-channel-applications.md) diff --git a/docs/framework/configure-apps/file-schema/wcf/certificate-of-peer.md b/docs/framework/configure-apps/file-schema/wcf/certificate-of-peer.md index d0e818873af18..1d2d73e7542e8 100644 --- a/docs/framework/configure-apps/file-schema/wcf/certificate-of-peer.md +++ b/docs/framework/configure-apps/file-schema/wcf/certificate-of-peer.md @@ -59,7 +59,7 @@ Specifies a certificate used by a peer. - - [Working with Certificates](../../../wcf/feature-details/working-with-certificates.md) - [Peer-to-Peer Networking](../../../wcf/feature-details/peer-to-peer-networking.md) -- [Peer Channel Message Authentication](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/aa967730(v=vs.90)) -- [Peer Channel Custom Authentication](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751447(v=vs.90)) +- [Peer Channel Message Authentication](/previous-versions/dotnet/netframework-3.5/aa967730(v=vs.90)) +- [Peer Channel Custom Authentication](/previous-versions/dotnet/netframework-3.5/ms751447(v=vs.90)) - [Securing Peer Channel Applications](../../../wcf/feature-details/securing-peer-channel-applications.md) - [Securing Services and Clients](../../../wcf/feature-details/securing-services-and-clients.md) diff --git a/docs/framework/configure-apps/file-schema/wcf/commonparameters.md b/docs/framework/configure-apps/file-schema/wcf/commonparameters.md index f27365c04692a..911cae38c7f6a 100644 --- a/docs/framework/configure-apps/file-schema/wcf/commonparameters.md +++ b/docs/framework/configure-apps/file-schema/wcf/commonparameters.md @@ -86,7 +86,7 @@ commonParameters["ConnectionString"].Value="another connection string"; config.Save(); ``` - For more information about using a configuration file to control the behavior of a object of a Windows Workflow Foundation host application, see [Workflow Configuration Files](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms732240(v=vs.90)). + For more information about using a configuration file to control the behavior of a object of a Windows Workflow Foundation host application, see [Workflow Configuration Files](/previous-versions/dotnet/netframework-3.5/ms732240(v=vs.90)). ## Example @@ -106,5 +106,5 @@ config.Save(); - - - -- [Workflow Configuration Files](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms732240(v=vs.90)) +- [Workflow Configuration Files](/previous-versions/dotnet/netframework-3.5/ms732240(v=vs.90)) - [\](add-of-commonparameters.md) diff --git a/docs/framework/configure-apps/file-schema/wcf/custom.md b/docs/framework/configure-apps/file-schema/wcf/custom.md index 691d9332483bb..5b4d1e27e6719 100644 --- a/docs/framework/configure-apps/file-schema/wcf/custom.md +++ b/docs/framework/configure-apps/file-schema/wcf/custom.md @@ -48,7 +48,7 @@ Specifies settings for a custom peer resolver service. |[\](resolver.md)|A peer resolver that is used to resolve a peer mesh ID to a set of peer node addresses that represents several nodes that participate in the mesh.| ## Remarks - This element defines the basic settings for a custom peer resolver service, including the endpoint address of the peer hosting the service and any specific binding settings. For more information on creating a custom resolver, see [Adding a Custom Resolver to a PeerChannel Application](https://docs.microsoft.com/previous-versions/ms730105(v=vs.90)). + This element defines the basic settings for a custom peer resolver service, including the endpoint address of the peer hosting the service and any specific binding settings. For more information on creating a custom resolver, see [Adding a Custom Resolver to a PeerChannel Application](/previous-versions/ms730105(v=vs.90)). ## See also @@ -57,4 +57,4 @@ Specifies settings for a custom peer resolver service. - - - [Peer Resolvers](../../../wcf/feature-details/peer-resolvers.md) -- [Adding a Custom Resolver to a PeerChannel Application](https://docs.microsoft.com/previous-versions/ms730105(v=vs.90)) +- [Adding a Custom Resolver to a PeerChannel Application](/previous-versions/ms730105(v=vs.90)) diff --git a/docs/framework/configure-apps/file-schema/wcf/httpdigest-element.md b/docs/framework/configure-apps/file-schema/wcf/httpdigest-element.md index 1dee85529ecf8..fd5ab149cf776 100644 --- a/docs/framework/configure-apps/file-schema/wcf/httpdigest-element.md +++ b/docs/framework/configure-apps/file-schema/wcf/httpdigest-element.md @@ -41,7 +41,7 @@ Specifies a digest type credential used when authenticating the client to a serv ## Remarks A digest is a hash determined by using an algorithm and a set of inputs. The authenticator and the authenticated agree upon an algorithm and exchange the data used as inputs. The client can calculate the hash and send it to the service. The service also calculates the hash and compares the values. A match validates the client. - This feature must be enabled with Active Directory on Windows and Internet Information Services (IIS). For more information, see [Digest Authentication in IIS 6.0](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc782661(v=ws.10)). + This feature must be enabled with Active Directory on Windows and Internet Information Services (IIS). For more information, see [Digest Authentication in IIS 6.0](/previous-versions/windows/it-pro/windows-server-2003/cc782661(v=ws.10)). ## See also diff --git a/docs/framework/configure-apps/file-schema/wcf/index.md b/docs/framework/configure-apps/file-schema/wcf/index.md index 33ee4f638401c..371301940d304 100644 --- a/docs/framework/configure-apps/file-schema/wcf/index.md +++ b/docs/framework/configure-apps/file-schema/wcf/index.md @@ -8,9 +8,9 @@ Windows Communication Foundation (WCF) configuration elements enable you to conf The WCF configuration system is based on the namespace. Therefore, you can use all the standard features provided by the namespace, such as configuration locking, encryption and merging to increase the security of your application and its configuration. For more information on these concepts, see the following topics. - [Encrypting Configuration Information](https://docs.microsoft.com/previous-versions/aspnet/53tyfkaw(v=vs.100)) + [Encrypting Configuration Information](/previous-versions/aspnet/53tyfkaw(v=vs.100)) - [Locking Configuration Settings](https://docs.microsoft.com/previous-versions/aspnet/55th21y4(v=vs.100)) + [Locking Configuration Settings](/previous-versions/aspnet/55th21y4(v=vs.100)) This section describes all possible values of each configuration item, and how it interacts with other WCF configuration elements. The following map illustrates the WCF configuration schema: diff --git a/docs/framework/configure-apps/file-schema/wcf/messagesenderauthentication-element.md b/docs/framework/configure-apps/file-schema/wcf/messagesenderauthentication-element.md index 896288ee72de8..48e412b574033 100644 --- a/docs/framework/configure-apps/file-schema/wcf/messagesenderauthentication-element.md +++ b/docs/framework/configure-apps/file-schema/wcf/messagesenderauthentication-element.md @@ -103,6 +103,6 @@ Specifies authentication options for peer-to-peer message senders. - - [Working with Certificates](../../../wcf/feature-details/working-with-certificates.md) - [Peer-to-Peer Networking](../../../wcf/feature-details/peer-to-peer-networking.md) -- [Peer Channel Message Authentication](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/aa967730(v=vs.90)) -- [Peer Channel Custom Authentication](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751447(v=vs.90)) +- [Peer Channel Message Authentication](/previous-versions/dotnet/netframework-3.5/aa967730(v=vs.90)) +- [Peer Channel Custom Authentication](/previous-versions/dotnet/netframework-3.5/ms751447(v=vs.90)) - [Securing Peer Channel Applications](../../../wcf/feature-details/securing-peer-channel-applications.md) diff --git a/docs/framework/configure-apps/file-schema/wcf/messagesenderauthentication.md b/docs/framework/configure-apps/file-schema/wcf/messagesenderauthentication.md index 8fa33e9704286..f917146d70ba1 100644 --- a/docs/framework/configure-apps/file-schema/wcf/messagesenderauthentication.md +++ b/docs/framework/configure-apps/file-schema/wcf/messagesenderauthentication.md @@ -56,6 +56,6 @@ Specifies authentication settings for peer certificate used by a message sender. - - [Working with Certificates](../../../wcf/feature-details/working-with-certificates.md) - [Peer-to-Peer Networking](../../../wcf/feature-details/peer-to-peer-networking.md) -- [Peer Channel Message Authentication](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/aa967730(v=vs.90)) -- [Peer Channel Custom Authentication](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751447(v=vs.90)) +- [Peer Channel Message Authentication](/previous-versions/dotnet/netframework-3.5/aa967730(v=vs.90)) +- [Peer Channel Custom Authentication](/previous-versions/dotnet/netframework-3.5/ms751447(v=vs.90)) - [Securing Peer Channel Applications](../../../wcf/feature-details/securing-peer-channel-applications.md) diff --git a/docs/framework/configure-apps/file-schema/wcf/mtommessageencoding.md b/docs/framework/configure-apps/file-schema/wcf/mtommessageencoding.md index 81ec4fc02e515..801747a93b73e 100644 --- a/docs/framework/configure-apps/file-schema/wcf/mtommessageencoding.md +++ b/docs/framework/configure-apps/file-schema/wcf/mtommessageencoding.md @@ -40,7 +40,7 @@ Specifies the encoding and message versioning used for SOAP Message Transmission |Element|Description| |-------------|-----------------| -|[\](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| +|[\](/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| ### Parent Elements diff --git a/docs/framework/configure-apps/file-schema/wcf/nethttpbinding.md b/docs/framework/configure-apps/file-schema/wcf/nethttpbinding.md index 99b1385224a1d..75c4a8d421556 100644 --- a/docs/framework/configure-apps/file-schema/wcf/nethttpbinding.md +++ b/docs/framework/configure-apps/file-schema/wcf/nethttpbinding.md @@ -80,7 +80,7 @@ Represents a binding that a Windows Communication Foundation (WCF) service can u |Element|Description| |-------------|-----------------| |[\](security-of-basichttpbinding.md)|Defines the security settings for the binding. This element is of type .| -|[\](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| +|[\](/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| ### Parent Elements diff --git a/docs/framework/configure-apps/file-schema/wcf/nethttpsbinding.md b/docs/framework/configure-apps/file-schema/wcf/nethttpsbinding.md index 884675ba53764..b3afcc24661ae 100644 --- a/docs/framework/configure-apps/file-schema/wcf/nethttpsbinding.md +++ b/docs/framework/configure-apps/file-schema/wcf/nethttpsbinding.md @@ -80,7 +80,7 @@ Represents a binding that a Windows Communication Foundation (WCF) service can u |Element|Description| |-------------|-----------------| |[\](security-of-nethttpbinding.md)|Defines the security settings for the binding. This element is of type . | -|[\](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| +|[\](/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| ### Parent Elements diff --git a/docs/framework/configure-apps/file-schema/wcf/netmsmqbinding.md b/docs/framework/configure-apps/file-schema/wcf/netmsmqbinding.md index 24a1899132cd4..46dccb97e543b 100644 --- a/docs/framework/configure-apps/file-schema/wcf/netmsmqbinding.md +++ b/docs/framework/configure-apps/file-schema/wcf/netmsmqbinding.md @@ -86,7 +86,7 @@ Defines a queued binding suitable for cross-machine communication. |Element|Description| |-------------|-----------------| -|[\](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| +|[\](/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| |[\](security-of-netmsmqbinding.md)|Defines the security settings for the binding. This element is of type .| ### Parent Elements diff --git a/docs/framework/configure-apps/file-schema/wcf/netnamedpipebinding.md b/docs/framework/configure-apps/file-schema/wcf/netnamedpipebinding.md index af80ffbcf54c4..bd398d0bd730c 100644 --- a/docs/framework/configure-apps/file-schema/wcf/netnamedpipebinding.md +++ b/docs/framework/configure-apps/file-schema/wcf/netnamedpipebinding.md @@ -66,7 +66,7 @@ Defines a binding that is secure, reliable, optimized for on-machine cross proce |Element|Description| |-------------|-----------------| |[\](security-of-netnamedpipebinding.md)|Defines the security settings for the binding. This element is of type .| -|[\](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| +|[\](/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| ### Parent Elements diff --git a/docs/framework/configure-apps/file-schema/wcf/netpeertcpbinding.md b/docs/framework/configure-apps/file-schema/wcf/netpeertcpbinding.md index 95e73a0cfd56b..a6469dbed7344 100644 --- a/docs/framework/configure-apps/file-schema/wcf/netpeertcpbinding.md +++ b/docs/framework/configure-apps/file-schema/wcf/netpeertcpbinding.md @@ -54,7 +54,7 @@ Defines a binding for peer channel specific TCP messaging. |Element|Description| |-------------|-----------------| -|[\](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| +|[\](/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| |[\](resolver.md)|Specifies a peer resolver used by this binding to resolve a peer mesh ID to the endpoint IP addresses of nodes within the peer mesh.| |[\](security-of-netpeerbinding.md)|Defines the security settings for the message. This element is of type .| @@ -68,7 +68,7 @@ Defines a binding for peer channel specific TCP messaging. This binding provides support for the creation of peer-to-peer or multiparty applications using peer transport over TCP. Each peer node can host multiple peer channels defined with this binding type. ## Example - The following example demonstrates using the NetPeerTcpBinding binding, which provides multiparty communication using a peer channel. For a detailed scenario of using this binding, see [Net Peer TCP](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751426(v=vs.90)). + The following example demonstrates using the NetPeerTcpBinding binding, which provides multiparty communication using a peer channel. For a detailed scenario of using this binding, see [Net Peer TCP](/previous-versions/dotnet/netframework-3.5/ms751426(v=vs.90)). ```xml @@ -103,5 +103,5 @@ Defines a binding for peer channel specific TCP messaging. - [Configuring System-Provided Bindings](../../../wcf/feature-details/configuring-system-provided-bindings.md) - [Using Bindings to Configure Services and Clients](../../../wcf/using-bindings-to-configure-services-and-clients.md) - [\](bindings.md) -- [Net Peer TCP](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751426(v=vs.90)) +- [Net Peer TCP](/previous-versions/dotnet/netframework-3.5/ms751426(v=vs.90)) - [Peer-to-Peer Networking](../../../wcf/feature-details/peer-to-peer-networking.md) diff --git a/docs/framework/configure-apps/file-schema/wcf/nettcpbinding.md b/docs/framework/configure-apps/file-schema/wcf/nettcpbinding.md index 355ce38f1245e..865352275d690 100644 --- a/docs/framework/configure-apps/file-schema/wcf/nettcpbinding.md +++ b/docs/framework/configure-apps/file-schema/wcf/nettcpbinding.md @@ -81,8 +81,8 @@ The following sections describe attributes, child elements, and parent elements. |Element|Description| |-------------|-----------------| |[\](security-of-nettcpbinding.md)|Defines the security settings for the binding. This element is of type .| -|[\](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| -|[\](https://docs.microsoft.com/previous-versions/ms731375(v=vs.90))|Specifies if reliable sessions are established between channel endpoints.| +|[\](/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| +|[\](/previous-versions/ms731375(v=vs.90))|Specifies if reliable sessions are established between channel endpoints.| ### Parent elements diff --git a/docs/framework/configure-apps/file-schema/wcf/nettcpcontextbinding.md b/docs/framework/configure-apps/file-schema/wcf/nettcpcontextbinding.md index 11e2693c24962..eb56f024cddfe 100644 --- a/docs/framework/configure-apps/file-schema/wcf/nettcpcontextbinding.md +++ b/docs/framework/configure-apps/file-schema/wcf/nettcpcontextbinding.md @@ -84,8 +84,8 @@ Specifies a context for the that requir |Element|Description| |-------------|-----------------| |[\](security-of-nettcpbinding.md)|Defines the security settings for the binding. This element is of type .| -|[\](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| -|[\](https://docs.microsoft.com/previous-versions/ms731375(v=vs.90))|Specifies if reliable sessions are established between channel endpoints.| +|[\](/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| +|[\](/previous-versions/ms731375(v=vs.90))|Specifies if reliable sessions are established between channel endpoints.| ### Parent Elements diff --git a/docs/framework/configure-apps/file-schema/wcf/peer-of-clientcredentials-element.md b/docs/framework/configure-apps/file-schema/wcf/peer-of-clientcredentials-element.md index 63ca0f4010104..2f696deb8f337 100644 --- a/docs/framework/configure-apps/file-schema/wcf/peer-of-clientcredentials-element.md +++ b/docs/framework/configure-apps/file-schema/wcf/peer-of-clientcredentials-element.md @@ -45,7 +45,7 @@ Specifies credentials used when authenticating peer-to-peer clients. |[\](clientcredentials.md)|Specifies the credentials used to authenticate a client to a service.| ## Remarks - This configuration element specifies the credentials that a peer node uses to authenticate itself to other nodes in the mesh, as well as authentication settings that a peer node uses to authenticate other peer nodes. For more information, see [Peer Channel Message Authentication](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/aa967730(v=vs.90)) and [Securing Peer Channel Applications](../../../wcf/feature-details/securing-peer-channel-applications.md). + This configuration element specifies the credentials that a peer node uses to authenticate itself to other nodes in the mesh, as well as authentication settings that a peer node uses to authenticate other peer nodes. For more information, see [Peer Channel Message Authentication](/previous-versions/dotnet/netframework-3.5/aa967730(v=vs.90)) and [Securing Peer Channel Applications](../../../wcf/feature-details/securing-peer-channel-applications.md). ## See also @@ -58,7 +58,7 @@ Specifies credentials used when authenticating peer-to-peer clients. - - [Peer-to-Peer Networking](../../../wcf/feature-details/peer-to-peer-networking.md) - [Securing Clients](../../../wcf/securing-clients.md) -- [Peer Channel Message Authentication](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/aa967730(v=vs.90)) -- [Peer Channel Custom Authentication](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751447(v=vs.90)) +- [Peer Channel Message Authentication](/previous-versions/dotnet/netframework-3.5/aa967730(v=vs.90)) +- [Peer Channel Custom Authentication](/previous-versions/dotnet/netframework-3.5/ms751447(v=vs.90)) - [Securing Peer Channel Applications](../../../wcf/feature-details/securing-peer-channel-applications.md) - [Securing Services and Clients](../../../wcf/feature-details/securing-services-and-clients.md) diff --git a/docs/framework/configure-apps/file-schema/wcf/peer-of-servicecredentials.md b/docs/framework/configure-apps/file-schema/wcf/peer-of-servicecredentials.md index 92ea93f6aba33..2bb39fdb68d7e 100644 --- a/docs/framework/configure-apps/file-schema/wcf/peer-of-servicecredentials.md +++ b/docs/framework/configure-apps/file-schema/wcf/peer-of-servicecredentials.md @@ -51,7 +51,7 @@ Specifies the current credentials for a peer node. - - - [Peer-to-Peer Networking](../../../wcf/feature-details/peer-to-peer-networking.md) -- [Peer Channel Message Authentication](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/aa967730(v=vs.90)) -- [Peer Channel Custom Authentication](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751447(v=vs.90)) +- [Peer Channel Message Authentication](/previous-versions/dotnet/netframework-3.5/aa967730(v=vs.90)) +- [Peer Channel Custom Authentication](/previous-versions/dotnet/netframework-3.5/ms751447(v=vs.90)) - [Securing Peer Channel Applications](../../../wcf/feature-details/securing-peer-channel-applications.md) - [Securing Services and Clients](../../../wcf/feature-details/securing-services-and-clients.md) diff --git a/docs/framework/configure-apps/file-schema/wcf/peerauthentication-element.md b/docs/framework/configure-apps/file-schema/wcf/peerauthentication-element.md index 9d593a7b3678f..00a93d16fb870 100644 --- a/docs/framework/configure-apps/file-schema/wcf/peerauthentication-element.md +++ b/docs/framework/configure-apps/file-schema/wcf/peerauthentication-element.md @@ -104,6 +104,6 @@ Specifies authentication options for peer-to-peer clients. - - [Working with Certificates](../../../wcf/feature-details/working-with-certificates.md) - [Peer-to-Peer Networking](../../../wcf/feature-details/peer-to-peer-networking.md) -- [Peer Channel Message Authentication](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/aa967730(v=vs.90)) -- [Peer Channel Custom Authentication](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751447(v=vs.90)) +- [Peer Channel Message Authentication](/previous-versions/dotnet/netframework-3.5/aa967730(v=vs.90)) +- [Peer Channel Custom Authentication](/previous-versions/dotnet/netframework-3.5/ms751447(v=vs.90)) - [Securing Peer Channel Applications](../../../wcf/feature-details/securing-peer-channel-applications.md) diff --git a/docs/framework/configure-apps/file-schema/wcf/peerauthentication.md b/docs/framework/configure-apps/file-schema/wcf/peerauthentication.md index a0c8f5f8e5402..1768bebeaed08 100644 --- a/docs/framework/configure-apps/file-schema/wcf/peerauthentication.md +++ b/docs/framework/configure-apps/file-schema/wcf/peerauthentication.md @@ -57,6 +57,6 @@ Specifies authentication settings for a peer certificate used by a peer node. - - [Working with Certificates](../../../wcf/feature-details/working-with-certificates.md) - [Peer-to-Peer Networking](../../../wcf/feature-details/peer-to-peer-networking.md) -- [Peer Channel Message Authentication](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/aa967730(v=vs.90)) -- [Peer Channel Custom Authentication](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751447(v=vs.90)) +- [Peer Channel Message Authentication](/previous-versions/dotnet/netframework-3.5/aa967730(v=vs.90)) +- [Peer Channel Custom Authentication](/previous-versions/dotnet/netframework-3.5/ms751447(v=vs.90)) - [Securing Peer Channel Applications](../../../wcf/feature-details/securing-peer-channel-applications.md) diff --git a/docs/framework/configure-apps/file-schema/wcf/resolver.md b/docs/framework/configure-apps/file-schema/wcf/resolver.md index c6f0f761170f6..2750c479387f3 100644 --- a/docs/framework/configure-apps/file-schema/wcf/resolver.md +++ b/docs/framework/configure-apps/file-schema/wcf/resolver.md @@ -54,4 +54,4 @@ Specifies a peer resolver that is used to resolve a peer mesh ID to a set of pee - - - [Peer Resolvers](../../../wcf/feature-details/peer-resolvers.md) -- [Adding a Custom Resolver to a PeerChannel Application](https://docs.microsoft.com/previous-versions/ms730105(v=vs.90)) +- [Adding a Custom Resolver to a PeerChannel Application](/previous-versions/ms730105(v=vs.90)) diff --git a/docs/framework/configure-apps/file-schema/wcf/services-of-workflowruntime.md b/docs/framework/configure-apps/file-schema/wcf/services-of-workflowruntime.md index 477a5d274e8d3..c23c69a384e62 100644 --- a/docs/framework/configure-apps/file-schema/wcf/services-of-workflowruntime.md +++ b/docs/framework/configure-apps/file-schema/wcf/services-of-workflowruntime.md @@ -11,4 +11,4 @@ Represents a collection of services that will be added to the - - -- [Workflow Configuration Files](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms732240(v=vs.90)) +- [Workflow Configuration Files](/previous-versions/dotnet/netframework-3.5/ms732240(v=vs.90)) diff --git a/docs/framework/configure-apps/file-schema/wcf/tcptransport.md b/docs/framework/configure-apps/file-schema/wcf/tcptransport.md index b34b6cea8faf8..71001b4653cd3 100644 --- a/docs/framework/configure-apps/file-schema/wcf/tcptransport.md +++ b/docs/framework/configure-apps/file-schema/wcf/tcptransport.md @@ -56,7 +56,7 @@ Defines a TCP transport that can be used by a channel to transfers messages for |maxPendingConnections|Gets or sets the maximum number of connections awaiting dispatch on the service.| |maxReceivedMessageSize|Gets and sets the maximum allowable message size that can be received.| |portSharingEnabled|A Boolean value that specifies if TCP port sharing is enabled for this connection. If this is `false`, each binding will use its own exclusive port. The default is `false`.

This setting is relevant only to services. Clients are not affected.

Using this setting requires enabling the Windows Communication Foundation (WCF) TCP Port Sharing Service by changing its Startup Type to Manual or Automatic| -|teredoEnabled|A Boolean value that specifies whether Teredo (a technology for addressing clients that are behind firewalls) is enabled. The default is `false`.

This property enables Teredo for the underlying TCP socket. For more information, see [Teredo Overview](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-xp/bb457011(v=technet.10)).

This property is applicable only on Windows XP SP2 and Windows Server 2003. Windows Vista has a machine-wide configuration option for Teredo, so when running Vista, this property is ignored. Teredo requires that the client and service machines both have the Microsoft IPv6 stack installed and correctly configured for Teredo usage.| +|teredoEnabled|A Boolean value that specifies whether Teredo (a technology for addressing clients that are behind firewalls) is enabled. The default is `false`.

This property enables Teredo for the underlying TCP socket. For more information, see [Teredo Overview](/previous-versions/windows/it-pro/windows-xp/bb457011(v=technet.10)).

This property is applicable only on Windows XP SP2 and Windows Server 2003. Windows Vista has a machine-wide configuration option for Teredo, so when running Vista, this property is ignored. Teredo requires that the client and service machines both have the Microsoft IPv6 stack installed and correctly configured for Teredo usage.| |transferMode|Gets or sets a value that indicates whether the messages are buffered or streamed with the connection-oriented transport.| |connectionPoolSettings|Specifies additional connection pool settings for a Named Pipe binding.| diff --git a/docs/framework/configure-apps/file-schema/wcf/textmessageencoding.md b/docs/framework/configure-apps/file-schema/wcf/textmessageencoding.md index c3f4fa1ba8504..159ba086ea09a 100644 --- a/docs/framework/configure-apps/file-schema/wcf/textmessageencoding.md +++ b/docs/framework/configure-apps/file-schema/wcf/textmessageencoding.md @@ -38,7 +38,7 @@ Specifies the character encoding and message versioning used for text-based XML |Element|Description| |-------------|-----------------| -|[\](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| +|[\](/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| ### Parent Elements diff --git a/docs/framework/configure-apps/file-schema/wcf/udpbinding.md b/docs/framework/configure-apps/file-schema/wcf/udpbinding.md index 29c0c1c06d6b0..b7bc5d6ef251e 100644 --- a/docs/framework/configure-apps/file-schema/wcf/udpbinding.md +++ b/docs/framework/configure-apps/file-schema/wcf/udpbinding.md @@ -64,7 +64,7 @@ A configuration element used to configure the ](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| +|[\](/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| ### Parent Elements diff --git a/docs/framework/configure-apps/file-schema/wcf/webhttpbinding.md b/docs/framework/configure-apps/file-schema/wcf/webhttpbinding.md index 16c4a1046a70b..927296747fb1d 100644 --- a/docs/framework/configure-apps/file-schema/wcf/webhttpbinding.md +++ b/docs/framework/configure-apps/file-schema/wcf/webhttpbinding.md @@ -57,7 +57,7 @@ Defines a binding element that is used to configure endpoints for Windows Commun |hostnameComparisonMode|Specifies the HTTP hostname comparison mode used to parse URIs. This attribute is of type , which indicates whether the hostname is used to reach the service when matching on the URI. The default value is , which ignores the hostname in the match.| |maxBufferPoolSize|An integer that specifies the maximum buffer pool size for this binding. The default is 524,288 bytes (512 * 1024). Many parts of Windows Communication Foundation (WCF) use buffers. Creating and destroying buffers each time they are used is expensive, and garbage collection for buffers is also expensive. With buffer pools, you can take a buffer from the pool, use it, and return it to the pool once you are done. Thus the overhead in creating and destroying buffers is avoided.| |maxBufferSize|An integer that specifies the maximum amount of memory that is allocated for use by the manager of the message buffers that receive messages from the channel. The default value is 524,288 (0x80000) bytes.| -|maxReceivedMessageSize|A positive integer that specifies the maximum message size, in bytes, including headers, that can be received on a channel configured with this binding. The sender of a message exceeding this limit will receive a fault. The receiver drops the message and creates an entry of the event in the trace log. The default is 65536. **Note:** Increasing this value alone is not sufficient in ASP.NET compatible mode. You should also increase the value of `httpRuntime` (see [httpRuntime Element (ASP.NET Settings Schema)](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/e1f13641(v=vs.100))).| +|maxReceivedMessageSize|A positive integer that specifies the maximum message size, in bytes, including headers, that can be received on a channel configured with this binding. The sender of a message exceeding this limit will receive a fault. The receiver drops the message and creates an entry of the event in the trace log. The default is 65536. **Note:** Increasing this value alone is not sufficient in ASP.NET compatible mode. You should also increase the value of `httpRuntime` (see [httpRuntime Element (ASP.NET Settings Schema)](/previous-versions/dotnet/netframework-4.0/e1f13641(v=vs.100))).| |name|A string that contains the configuration name of the binding. This value should be unique because it is used as an identification for the binding. Starting with .NET Framework 4, bindings and behaviors are not required to have a name. For more information about default configuration and nameless bindings and behaviors, see [Simplified Configuration](../../../wcf/simplified-configuration.md) and [Simplified Configuration for WCF Services](../../../wcf/samples/simplified-configuration-for-wcf-services.md).| |openTimeout|A value that specifies the interval of time provided for an open operation to complete. This value should be greater than or equal to . The default is 00:01:00.| |proxyAddress|A URI that specifies the address of the HTTP proxy. If `useSystemWebProxy` is `true`, this setting must be `null`. The default is `null`.| @@ -71,7 +71,7 @@ Defines a binding element that is used to configure endpoints for Windows Commun |Element|Description| |-------------|-----------------| -|[\](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of POX messages that can be processed by endpoints configured with this binding. This element is of type .| +|[\](/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of POX messages that can be processed by endpoints configured with this binding. This element is of type .| |[\](security-of-webhttpbinding.md)|Defines the security settings for the binding. This element is of type .| ### Parent Elements diff --git a/docs/framework/configure-apps/file-schema/wcf/webmessageencoding.md b/docs/framework/configure-apps/file-schema/wcf/webmessageencoding.md index f68cc748a4179..534b3ee5a79be 100644 --- a/docs/framework/configure-apps/file-schema/wcf/webmessageencoding.md +++ b/docs/framework/configure-apps/file-schema/wcf/webmessageencoding.md @@ -36,7 +36,7 @@ Enables plain-text XML, JavaScript Object Notation (JSON) message encodings and |Element|Description| |-------------|-----------------| -|[\](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| +|[\](/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| ### Parent Elements @@ -55,7 +55,7 @@ Enables plain-text XML, JavaScript Object Notation (JSON) message encodings and `maxReadPoolSize` and `maxWritePoolSize` can also be used to set the maximum number of readers and writers to be allocated respectively. By default 64 readers and 16 writers are allocated. - Default complexity constraints are also set using the [\](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100)) element to protect against a class of denial of service (DOS) attacks that attempt to use message complexity to tie up endpoint processing resources. + Default complexity constraints are also set using the [\](/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100)) element to protect against a class of denial of service (DOS) attacks that attempt to use message complexity to tie up endpoint processing resources. ## Example diff --git a/docs/framework/configure-apps/file-schema/wcf/workflowruntime.md b/docs/framework/configure-apps/file-schema/wcf/workflowruntime.md index c042be0ae32ff..03dfb460447d3 100644 --- a/docs/framework/configure-apps/file-schema/wcf/workflowruntime.md +++ b/docs/framework/configure-apps/file-schema/wcf/workflowruntime.md @@ -56,7 +56,7 @@ Specifies settings for an instance of ](behavior-of-endpointbehaviors.md)|Specifies a behavior element.| ## Remarks - For more information on using a configuration file to control the behavior of a object of a Windows Workflow Foundation host application, see [Workflow Configuration Files](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms732240(v=vs.90)). + For more information on using a configuration file to control the behavior of a object of a Windows Workflow Foundation host application, see [Workflow Configuration Files](/previous-versions/dotnet/netframework-3.5/ms732240(v=vs.90)). ## Example @@ -83,4 +83,4 @@ Specifies settings for an instance of - - -- [Workflow Configuration Files](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms732240(v=vs.90)) +- [Workflow Configuration Files](/previous-versions/dotnet/netframework-3.5/ms732240(v=vs.90)) diff --git a/docs/framework/configure-apps/file-schema/wcf/ws2007federationhttpbinding.md b/docs/framework/configure-apps/file-schema/wcf/ws2007federationhttpbinding.md index edd273fb1ba35..0ce1ac3b5916c 100644 --- a/docs/framework/configure-apps/file-schema/wcf/ws2007federationhttpbinding.md +++ b/docs/framework/configure-apps/file-schema/wcf/ws2007federationhttpbinding.md @@ -82,8 +82,8 @@ The following sections describe attributes, child elements, and parent elements. |Element|Description| |-------------|-----------------| |[\](security-of-wsfederationhttpbinding.md)|Defines the security settings for the message. This element is of type .| -|[\](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| -|[\](https://docs.microsoft.com/previous-versions/ms731375(v=vs.90))|Specifies whether reliable sessions are established between channel endpoints.| +|[\](/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| +|[\](/previous-versions/ms731375(v=vs.90))|Specifies whether reliable sessions are established between channel endpoints.| ### Parent Elements diff --git a/docs/framework/configure-apps/file-schema/wcf/ws2007httpbinding.md b/docs/framework/configure-apps/file-schema/wcf/ws2007httpbinding.md index a02a2cd80c0e6..929f9afa57f4c 100644 --- a/docs/framework/configure-apps/file-schema/wcf/ws2007httpbinding.md +++ b/docs/framework/configure-apps/file-schema/wcf/ws2007httpbinding.md @@ -80,8 +80,8 @@ Defines an interoperable binding that provides support for the correct versions |Element|Description| |-------------|-----------------| |[\](security-of-wshttpbinding.md)|Defines the security settings for the binding. This element is of type .| -|[\](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that endpoints configured with this binding can process. This element is of type .| -|[\](https://docs.microsoft.com/previous-versions/ms731375(v=vs.90))|Specifies whether reliable sessions are established between channel endpoints.| +|[\](/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that endpoints configured with this binding can process. This element is of type .| +|[\](/previous-versions/ms731375(v=vs.90))|Specifies whether reliable sessions are established between channel endpoints.| ### Parent Elements diff --git a/docs/framework/configure-apps/file-schema/wcf/wsdualhttpbinding.md b/docs/framework/configure-apps/file-schema/wcf/wsdualhttpbinding.md index 230983fc2a2e0..03c3802b81914 100644 --- a/docs/framework/configure-apps/file-schema/wcf/wsdualhttpbinding.md +++ b/docs/framework/configure-apps/file-schema/wcf/wsdualhttpbinding.md @@ -76,8 +76,8 @@ Defines a secure, reliable and interoperable binding that is suitable for duplex |Element|Description| |-------------|-----------------| |[\](security-of-wsdualhttpbinding.md)|Defines the security settings for the binding. This element is of type .| -|[\](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| -|[\](https://docs.microsoft.com/previous-versions/ms731375(v=vs.90))|Specifies if reliable sessions are established between channel endpoints.| +|[\](/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| +|[\](/previous-versions/ms731375(v=vs.90))|Specifies if reliable sessions are established between channel endpoints.| ### Parent Elements diff --git a/docs/framework/configure-apps/file-schema/wcf/wsfederationhttpbinding.md b/docs/framework/configure-apps/file-schema/wcf/wsfederationhttpbinding.md index 478edfb68c616..080b5cec5cbbd 100644 --- a/docs/framework/configure-apps/file-schema/wcf/wsfederationhttpbinding.md +++ b/docs/framework/configure-apps/file-schema/wcf/wsfederationhttpbinding.md @@ -128,8 +128,8 @@ The following sections describe attributes, child elements, and parent elements. |Element|Description| |-------------|-----------------| |[\](security-of-wsfederationhttpbinding.md)|Defines the security settings for the message. This element is of type .| -|[\](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| -|[\](https://docs.microsoft.com/previous-versions/ms731375(v=vs.90))|Specifies if reliable sessions are established between channel endpoints.| +|[\](/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| +|[\](/previous-versions/ms731375(v=vs.90))|Specifies if reliable sessions are established between channel endpoints.| ### Parent Elements diff --git a/docs/framework/configure-apps/file-schema/wcf/wshttpbinding.md b/docs/framework/configure-apps/file-schema/wcf/wshttpbinding.md index 15b37a4a91bda..6d7555594742a 100644 --- a/docs/framework/configure-apps/file-schema/wcf/wshttpbinding.md +++ b/docs/framework/configure-apps/file-schema/wcf/wshttpbinding.md @@ -82,8 +82,8 @@ Defines a secure, reliable, interoperable binding suitable for non-duplex servic |Element|Description| |-------------|-----------------| |[\](security-of-wshttpbinding.md)|Defines the security settings for the binding. This element is of type .| -|[\](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| -|[\](https://docs.microsoft.com/previous-versions/ms731375(v=vs.90))|Specifies if reliable sessions are established between channel endpoints.| +|[\](/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| +|[\](/previous-versions/ms731375(v=vs.90))|Specifies if reliable sessions are established between channel endpoints.| ### Parent Elements diff --git a/docs/framework/configure-apps/file-schema/wcf/wshttpcontextbinding.md b/docs/framework/configure-apps/file-schema/wcf/wshttpcontextbinding.md index b91cf978f34cb..789ab9fa67e33 100644 --- a/docs/framework/configure-apps/file-schema/wcf/wshttpcontextbinding.md +++ b/docs/framework/configure-apps/file-schema/wcf/wshttpcontextbinding.md @@ -84,8 +84,8 @@ Provides a context for the that require |Element|Description| |-------------|-----------------| |[\](security-of-wshttpbinding.md)|Defines the security settings for the binding. This element is of type .| -|[\](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| -|[\](https://docs.microsoft.com/previous-versions/ms731375(v=vs.90))|Specifies if reliable sessions are established between channel endpoints.| +|[\](/previous-versions/dotnet/netframework-4.0/ms731325(v=vs.100))|Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. This element is of type .| +|[\](/previous-versions/ms731375(v=vs.90))|Specifies if reliable sessions are established between channel endpoints.| ### Parent Elements diff --git a/docs/framework/configure-apps/file-schema/web/applicationpool-element-web-settings.md b/docs/framework/configure-apps/file-schema/web/applicationpool-element-web-settings.md index e6c71bb9f96c1..b28a87e39ad87 100644 --- a/docs/framework/configure-apps/file-schema/web/applicationpool-element-web-settings.md +++ b/docs/framework/configure-apps/file-schema/web/applicationpool-element-web-settings.md @@ -57,7 +57,7 @@ The `applicationPool` settings apply to all application pools that run on a part For the `maxConcurrentRequestsPerCPU` setting, the default setting of "5000" in the .NET Framework 4 effectively turns off request throttling that is controlled by ASP.NET, unless you actually have 5000 or more requests per CPU. The default setting depends instead on the CLR thread-pool to automatically manage concurrency per CPU. Applications that make extensive use of asynchronous request processing, or that have many long-running requests blocked on network I/O, will benefit from the increased default limit in the .NET Framework 4. Setting `maxConcurrentRequestsPerCPU` to zero turns off the use of managed threads for processing ASP.NET requests. When an application runs in an IIS application pool, requests stay on the IIS I/O thread and therefore concurrency is throttled by IIS thread settings. -The `requestQueueLimit` setting works the same way as the `requestQueueLimit` attribute of the [processModel](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/7w2sway1(v=vs.100)) element, which is set in the Web.config files for ASP.NET applications. However, the `requestQueueLimit` setting in an aspnet.config file overrides the `requestQueueLimit` setting in a Web.config file. In other words, if both attributes are set (by default, this is true), the `requestQueueLimit` setting in the aspnet.config file takes precedence. +The `requestQueueLimit` setting works the same way as the `requestQueueLimit` attribute of the [processModel](/previous-versions/dotnet/netframework-4.0/7w2sway1(v=vs.100)) element, which is set in the Web.config files for ASP.NET applications. However, the `requestQueueLimit` setting in an aspnet.config file overrides the `requestQueueLimit` setting in a Web.config file. In other words, if both attributes are set (by default, this is true), the `requestQueueLimit` setting in the aspnet.config file takes precedence. ## Example diff --git a/docs/framework/configure-apps/file-schema/windows-identity-foundation/add.md b/docs/framework/configure-apps/file-schema/windows-identity-foundation/add.md index 252efefbc1969..4af839d9bb4f5 100644 --- a/docs/framework/configure-apps/file-schema/windows-identity-foundation/add.md +++ b/docs/framework/configure-apps/file-schema/windows-identity-foundation/add.md @@ -35,7 +35,7 @@ Adds the specified security token handler to the token handler collection. |Attribute|Description| |---------------|-----------------| -|type|The CLR type name of the token handler to be added. For more information about how to specify the `type` attribute, see [Custom Type References](https://docs.microsoft.com/previous-versions/windows-identity-foundation/gg638728(v=msdn.10)#custom-type-references).| +|type|The CLR type name of the token handler to be added. For more information about how to specify the `type` attribute, see [Custom Type References](/previous-versions/windows-identity-foundation/gg638728(v=msdn.10)#custom-type-references).| ### Child Elements diff --git a/docs/framework/configure-apps/file-schema/windows-identity-foundation/remove.md b/docs/framework/configure-apps/file-schema/windows-identity-foundation/remove.md index 2e20a44e0fa15..1856681453790 100644 --- a/docs/framework/configure-apps/file-schema/windows-identity-foundation/remove.md +++ b/docs/framework/configure-apps/file-schema/windows-identity-foundation/remove.md @@ -33,7 +33,7 @@ Removes the specified security token handler from the token handler collection. |Attribute|Description| |---------------|-----------------| -|type|The CLR type name of the token handler to be removed. For more information about how to specify the `type` attribute, see [Custom Type References](https://docs.microsoft.com/previous-versions/windows-identity-foundation/gg638728(v=msdn.10)#custom-type-references). Required.| +|type|The CLR type name of the token handler to be removed. For more information about how to specify the `type` attribute, see [Custom Type References](/previous-versions/windows-identity-foundation/gg638728(v=msdn.10)#custom-type-references). Required.| ### Child Elements None diff --git a/docs/framework/configure-apps/file-schema/windows-identity-foundation/sessionsecuritytokencache.md b/docs/framework/configure-apps/file-schema/windows-identity-foundation/sessionsecuritytokencache.md index 0a26ad009a6aa..d311307c5f82f 100644 --- a/docs/framework/configure-apps/file-schema/windows-identity-foundation/sessionsecuritytokencache.md +++ b/docs/framework/configure-apps/file-schema/windows-identity-foundation/sessionsecuritytokencache.md @@ -45,7 +45,7 @@ Registers a cache for session tokens with a service or a security token handler |[\](caches.md)|Registers the caches used by a service or a security token handler collection.| ## Example - The following XML shows the configuration of a custom cache for holding session security tokens (). The configuration is taken from the `ClaimsAwareWebFarm` sample. For more information about this sample, see [WIF Code Sample Index](https://docs.microsoft.com/previous-versions/dotnet/framework/security/wif-code-sample-index). + The following XML shows the configuration of a custom cache for holding session security tokens (). The configuration is taken from the `ClaimsAwareWebFarm` sample. For more information about this sample, see [WIF Code Sample Index](/previous-versions/dotnet/framework/security/wif-code-sample-index). ```xml diff --git a/docs/framework/configure-apps/file-schema/winforms/index.md b/docs/framework/configure-apps/file-schema/winforms/index.md index f0a9e4cb6a84c..522db78d9c759 100644 --- a/docs/framework/configure-apps/file-schema/winforms/index.md +++ b/docs/framework/configure-apps/file-schema/winforms/index.md @@ -47,4 +47,4 @@ The `` element can include ## See also - [Configuration File Schema](../index.md) -- [High DPI Support in Windows Forms](../../../winforms/high-dpi-support-in-windows-forms.md) +- [High DPI Support in Windows Forms](/dotnet/desktop/winforms/high-dpi-support-in-windows-forms) diff --git a/docs/framework/configure-apps/file-schema/winforms/windows-forms-add-configuration-element.md b/docs/framework/configure-apps/file-schema/winforms/windows-forms-add-configuration-element.md index 6d78d03120d3a..1700f6db5504f 100644 --- a/docs/framework/configure-apps/file-schema/winforms/windows-forms-add-configuration-element.md +++ b/docs/framework/configure-apps/file-schema/winforms/windows-forms-add-configuration-element.md @@ -60,7 +60,7 @@ Starting with the .NET Framework 4.7, the `` element allows you to add one or more child `` elements, each of which defines a specific configuration setting. -For an overview of Windows Forms High DPI support, see [High DPI Support in Windows Forms](../../../winforms/high-dpi-support-in-windows-forms.md). +For an overview of Windows Forms High DPI support, see [High DPI Support in Windows Forms](/dotnet/desktop/winforms/high-dpi-support-in-windows-forms). ### DpiAwareness @@ -92,7 +92,7 @@ The single default opt-in setting provided by setting `DpiAwareness` to `PerMoni Typically, you opt out of a particular feature because you've chosen to handle it programmatically. -For more information on taking advantage of High DPI support in Windows Forms applications, see [High DPI Support in Windows Forms](../../../winforms/high-dpi-support-in-windows-forms.md). +For more information on taking advantage of High DPI support in Windows Forms applications, see [High DPI Support in Windows Forms](/dotnet/desktop/winforms/high-dpi-support-in-windows-forms). ### DisableDpiChangedMessageHandling @@ -105,4 +105,4 @@ Single or multi-pass scaling influences the perceived responsiveness of the user ## See also - [Windows Forms Configuration Section](index.md) -- [High DPI Support in Windows Forms](../../../winforms/high-dpi-support-in-windows-forms.md) +- [High DPI Support in Windows Forms](/dotnet/desktop/winforms/high-dpi-support-in-windows-forms) diff --git a/docs/framework/configure-apps/index.md b/docs/framework/configure-apps/index.md index 5f34d0c5ff189..d41f8f9f3569f 100644 --- a/docs/framework/configure-apps/index.md +++ b/docs/framework/configure-apps/index.md @@ -47,7 +47,7 @@ The .NET Framework, through configuration files, gives developers and administra ``` ## Machine Configuration Files - The machine configuration file, Machine.config, contains settings that apply to an entire computer. This file is located in the %*runtime install path*%\Config directory. Machine.config contains configuration settings for machine-wide assembly binding, built-in [remoting channels](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/dkfd3wha(v=vs.100)), and ASP.NET. + The machine configuration file, Machine.config, contains settings that apply to an entire computer. This file is located in the %*runtime install path*%\Config directory. Machine.config contains configuration settings for machine-wide assembly binding, built-in [remoting channels](/previous-versions/dotnet/netframework-4.0/dkfd3wha(v=vs.100)), and ASP.NET. The configuration system first looks in the machine configuration file for the [**\** element](./file-schema/appsettings/index.md) and other configuration sections that a developer might define. It then looks in the application configuration file. To keep the machine configuration file manageable, it is best to put these settings in the application configuration file. However, putting the settings in the machine configuration file can make your system more maintainable. For example, if you have a third-party component that both your client and server application uses, it is easier to put the settings for that component in one place. In this case, the machine configuration file is the appropriate place for the settings, so you don't have the same settings in two different files. @@ -71,7 +71,7 @@ The .NET Framework, through configuration files, gives developers and administra - ASP.NET-hosted app. - For more information about ASP.NET configuration files, see [ASP.NET Configuration Settings](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/b5ysx397(v=vs.100)). + For more information about ASP.NET configuration files, see [ASP.NET Configuration Settings](/previous-versions/dotnet/netframework-4.0/b5ysx397(v=vs.100)). - Internet Explorer-hosted app. @@ -119,7 +119,7 @@ The .NET Framework, through configuration files, gives developers and administra - [Configuration File Schema](./file-schema/index.md) - [Specifying an Assembly's Location](specify-assembly-location.md) - [Redirecting Assembly Versions](redirect-assembly-versions.md) -- [ASP.NET Web Site Administration](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/6hy1xzbw(v=vs.90)) -- [Security Policy Management](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/c1k0eed6(v=vs.100)) +- [ASP.NET Web Site Administration](/previous-versions/visualstudio/visual-studio-2008/6hy1xzbw(v=vs.90)) +- [Security Policy Management](/previous-versions/dotnet/netframework-4.0/c1k0eed6(v=vs.100)) - [Caspol.exe (Code Access Security Policy Tool)](../tools/caspol-exe-code-access-security-policy-tool.md) - [Assemblies in .NET](../../standard/assembly/index.md) diff --git a/docs/framework/configure-apps/specify-assembly-location.md b/docs/framework/configure-apps/specify-assembly-location.md index 442df48b24edf..450a5f56bc3f9 100644 --- a/docs/framework/configure-apps/specify-assembly-location.md +++ b/docs/framework/configure-apps/specify-assembly-location.md @@ -15,7 +15,7 @@ There are two ways to specify an assembly's location: - Using the [\](./file-schema/runtime/probing-element.md) element. - You can also use the [.NET Framework Configuration Tool (Mscorcfg.msc)](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/2bc0cxhc(v=vs.100)) to specify assembly locations or specify locations for the common language runtime to probe for assemblies. + You can also use the [.NET Framework Configuration Tool (Mscorcfg.msc)](/previous-versions/dotnet/netframework-4.0/2bc0cxhc(v=vs.100)) to specify assembly locations or specify locations for the common language runtime to probe for assemblies. ## Using the \ Element You can use the **\** element only in machine configuration or publisher policy files that also redirect the assembly version. When the runtime determines which assembly version to use, it applies the code base setting from the file that determines the version. If no code base is indicated, the runtime probes for the assembly in the normal way. For details, see [How the Runtime Locates Assemblies](../deployment/how-the-runtime-locates-assemblies.md). diff --git a/docs/framework/data/adonet/ado-net-code-examples.md b/docs/framework/data/adonet/ado-net-code-examples.md index de775f245f24c..39681d1e4cee0 100644 --- a/docs/framework/data/adonet/ado-net-code-examples.md +++ b/docs/framework/data/adonet/ado-net-code-examples.md @@ -132,7 +132,7 @@ End Class ``` ### Typed ObjectQuery -The code in this example uses an to return data as Categories objects. For more information, see [Object Queries](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896241(v=vs.100)). +The code in this example uses an to return data as Categories objects. For more information, see [Object Queries](/previous-versions/dotnet/netframework-4.0/bb896241(v=vs.100)). ```csharp using System; @@ -339,6 +339,6 @@ End Class - [ADO.NET Overview](ado-net-overview.md) - [Retrieving and Modifying Data in ADO.NET](retrieving-and-modifying-data.md) -- [Creating Data Applications](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2013/h0y4a0f6(v=vs.120)) -- [Querying an Entity Data Model (Entity Framework Tasks)](https://docs.microsoft.com/previous-versions/bb738455(v=vs.90)) -- [How to: Execute a Query that Returns Anonymous Type Objects](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb738512(v=vs.100)) +- [Creating Data Applications](/previous-versions/visualstudio/visual-studio-2013/h0y4a0f6(v=vs.120)) +- [Querying an Entity Data Model (Entity Framework Tasks)](/previous-versions/bb738455(v=vs.90)) +- [How to: Execute a Query that Returns Anonymous Type Objects](/previous-versions/dotnet/netframework-4.0/bb738512(v=vs.100)) diff --git a/docs/framework/data/adonet/ado-net-technology-options-and-guidelines.md b/docs/framework/data/adonet/ado-net-technology-options-and-guidelines.md index be65fb95fe5d5..997638bd6db35 100644 --- a/docs/framework/data/adonet/ado-net-technology-options-and-guidelines.md +++ b/docs/framework/data/adonet/ado-net-technology-options-and-guidelines.md @@ -14,7 +14,7 @@ The ADO.NET Data Platform is a multi-release strategy to decrease the amount of An Entity Data Model (EDM) is a design specification that defines application data as sets of entities and relationships. Data in this model supports object-relational mapping and data programmability across application boundaries. ### Object Services - Object Services allows programmers to interact with the conceptual model through a set of common language runtime (CLR) classes. These classes can be automatically generated from the conceptual model or can be developed independently to reflect the structure of the conceptual model. Object Services also provides infrastructure support for the Entity Framework, including services such as state management, change tracking, identity resolution, loading and navigating relationships, propagating object changes to database modifications, and query building support for Entity SQL. For more information, see [Object Services Overview (Entity Framework)](https://docs.microsoft.com/previous-versions/bb386871(v=vs.100)). + Object Services allows programmers to interact with the conceptual model through a set of common language runtime (CLR) classes. These classes can be automatically generated from the conceptual model or can be developed independently to reflect the structure of the conceptual model. Object Services also provides infrastructure support for the Entity Framework, including services such as state management, change tracking, identity resolution, loading and navigating relationships, propagating object changes to database modifications, and query building support for Entity SQL. For more information, see [Object Services Overview (Entity Framework)](/previous-versions/bb386871(v=vs.100)). ### LINQ to Entities LINQ to Entities is a language-integrated query (LINQ) implementation that allows developers to create strongly typed queries against the Entity Framework object context by using LINQ expressions and LINQ standard query operators. LINQ to Entities allows developers to work against a conceptual model with a flexible object-relational mapping across Microsoft SQL Server and third-party databases. For more information, see [LINQ to Entities](./ef/language-reference/linq-to-entities.md). @@ -26,7 +26,7 @@ The ADO.NET Data Platform is a multi-release strategy to decrease the amount of EntityClient is a new .NET Framework data provider used for interacting with an Entity Data Model. EntityClient follows the .NET Framework data provider pattern of exposing and objects that return an . EntityClient works with the Entity SQL language, providing flexible mapping to storage-specific data providers. For more information, see [EntityClient Provider for the Entity Framework](./ef/entityclient-provider-for-the-entity-framework.md). ### Entity Data Model Tools - The Entity Framework provides command-line tools, wizards, and designers to facilitate building EDM applications. The EntityDataSource control supports data binding scenarios based on the EDM. The programming surface of the EntityDataSource control is similar to other data source controls in Visual Studio. For more information, see [ADO.NET Entity Data Model Tools](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb399249(v=vs.100)). + The Entity Framework provides command-line tools, wizards, and designers to facilitate building EDM applications. The EntityDataSource control supports data binding scenarios based on the EDM. The programming surface of the EntityDataSource control is similar to other data source controls in Visual Studio. For more information, see [ADO.NET Entity Data Model Tools](/previous-versions/dotnet/netframework-4.0/bb399249(v=vs.100)). ## LINQ to SQL LINQ to SQL is an object relational mapping (OR/M) implementation that allows you to model a SQL Server database by using .NET Framework classes. LINQ to SQL allows you to query your database by using LINQ, as well as update, insert, and delete data from it. LINQ to SQL supports transactions, views, and stored procedures, providing an easy way to integrate data validation and business logic rules into your data model. You can use the Object Relational Designer (O/R Designer) to model the entity classes and associations that are based on objects in a database. For more information, see [LINQ to SQL Tools in Visual Studio](/visualstudio/data-tools/linq-to-sql-tools-in-visual-studio2). diff --git a/docs/framework/data/adonet/asynchronous-programming.md b/docs/framework/data/adonet/asynchronous-programming.md index 131b7c8b88c68..9c43d3f6064ea 100644 --- a/docs/framework/data/adonet/asynchronous-programming.md +++ b/docs/framework/data/adonet/asynchronous-programming.md @@ -34,9 +34,9 @@ For more information about the asynchronous programming feature that was introdu - [Asynchronous Programming with Async and Await (Visual Basic)](../../../visual-basic/programming-guide/concepts/async/index.md) -- [Using SqlDataReader’s new async methods in .NET 4.5 (Part 1)](https://docs.microsoft.com/archive/blogs/adonet/using-sqldatareaders-new-async-methods-in-net-4-5) +- [Using SqlDataReader’s new async methods in .NET 4.5 (Part 1)](/archive/blogs/adonet/using-sqldatareaders-new-async-methods-in-net-4-5) -- [Using SqlDataReader’s new async methods in .NET 4.5 (Part 2)](https://docs.microsoft.com/archive/blogs/adonet/using-sqldatareaders-new-async-methods-in-net-4-5-part-2-examples) +- [Using SqlDataReader’s new async methods in .NET 4.5 (Part 2)](/archive/blogs/adonet/using-sqldatareaders-new-async-methods-in-net-4-5-part-2-examples) When your user interface is unresponsive or your server does not scale, it is likely that you need your code to be more asynchronous. Writing asynchronous code has traditionally involved installing a callback (also called continuation) to express the logic that occurs after the asynchronous operation finishes. This complicates the structure of asynchronous code as compared with synchronous code. @@ -177,7 +177,7 @@ class A { You may need to create a tool that is able to connect to different databases and execute queries. You can use the base provider model and the new asynchronous feature. -The Microsoft Distributed Transaction Controller (MSDTC) must be enabled on the server to use distributed transactions. For information on how to enable MSDTC, see [How to Enable MSDTC on a Web Server](https://docs.microsoft.com/previous-versions/commerce-server/dd327979(v=cs.90)). +The Microsoft Distributed Transaction Controller (MSDTC) must be enabled on the server to use distributed transactions. For information on how to enable MSDTC, see [How to Enable MSDTC on a Web Server](/previous-versions/commerce-server/dd327979(v=cs.90)). ```csharp using System; diff --git a/docs/framework/data/adonet/code-access-security.md b/docs/framework/data/adonet/code-access-security.md index e3edc7fcec888..80c3cacf6c966 100644 --- a/docs/framework/data/adonet/code-access-security.md +++ b/docs/framework/data/adonet/code-access-security.md @@ -17,7 +17,7 @@ The .NET Framework offers role-based security as well as code access security (C The CLR allows code to perform only those operations that the code has permission to perform. Code can request permissions, and those requests are honored based on the security policy set by an administrator. > [!NOTE] -> Code executing in the CLR cannot grant permissions to itself. For example, code can request and be granted fewer permissions than a security policy allows, but it will never be granted more permissions. When granting permissions, start with no permissions at all and then add the narrowest permissions for the particular task being performed. Starting with all permissions and then denying individual ones leads to insecure applications that may contain unintentional security holes from granting more permissions than required. For more information, see [Configuring Security Policy](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/7c9c2y1w(v=vs.100)) and [Security Policy Management](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/c1k0eed6(v=vs.100)). +> Code executing in the CLR cannot grant permissions to itself. For example, code can request and be granted fewer permissions than a security policy allows, but it will never be granted more permissions. When granting permissions, start with no permissions at all and then add the narrowest permissions for the particular task being performed. Starting with all permissions and then denying individual ones leads to insecure applications that may contain unintentional security holes from granting more permissions than required. For more information, see [Configuring Security Policy](/previous-versions/dotnet/netframework-4.0/7c9c2y1w(v=vs.100)) and [Security Policy Management](/previous-versions/dotnet/netframework-4.0/c1k0eed6(v=vs.100)). There are three types of code access permissions: @@ -32,14 +32,14 @@ The .NET Framework offers role-based security as well as code access security (C ### Requesting Permissions The purpose of requesting permissions is to inform the runtime which permissions your application requires in order to run, and to ensure that it receives only the permissions that it actually needs. For example, if your application needs to write data to the local disk, it requires . If that permission hasn't been granted, the application will fail when it attempts to write to the disk. However, if the application requests `FileIOPermission` and that permission has not been granted, the application will generate the exception at the outset and will not load. - In a scenario where the application only needs to read data from the disk, you can request that it never be granted any write permissions. In the event of a bug or a malicious attack, your code cannot damage the data on which it operates. For more information, see [Requesting Permissions](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/yd267cce(v=vs.100)). + In a scenario where the application only needs to read data from the disk, you can request that it never be granted any write permissions. In the event of a bug or a malicious attack, your code cannot damage the data on which it operates. For more information, see [Requesting Permissions](/previous-versions/dotnet/netframework-4.0/yd267cce(v=vs.100)). ## Role-Based Security and CAS Implementing both role-based security and code-accessed security (CAS) enhances overall security for your application. Role-based security can be based on a Windows account or a custom identity, making information about the security principal available to the current thread. In addition, applications are often required to provide access to data or resources based on credentials supplied by the user. Typically, such applications check the role of a user and provide access to resources based on those roles. Role-based security enables a component to identify current users and their associated roles at run time. This information is then mapped using a CAS policy to determine the set of permissions granted at run time. For a specified application domain, the host can change the default role-based security policy and set a default security principal that represents a user and the roles associated with that user. - The CLR uses permissions to implement its mechanism for enforcing restrictions on managed code. Role-based security permissions provide a mechanism for discovering whether a user (or the agent acting on the user's behalf) has a particular identity or is a member of a specified role. For more information, see [Security Permissions](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/5ba4k1c5(v=vs.100)). + The CLR uses permissions to implement its mechanism for enforcing restrictions on managed code. Role-based security permissions provide a mechanism for discovering whether a user (or the agent acting on the user's behalf) has a particular identity or is a member of a specified role. For more information, see [Security Permissions](/previous-versions/dotnet/netframework-4.0/5ba4k1c5(v=vs.100)). Depending on the type of application you are building, you should also consider implementing role-based permissions in the database. For more information on role-based security in SQL Server, see [SQL Server Security](./sql/sql-server-security.md). @@ -133,7 +133,7 @@ The .NET Framework offers role-based security as well as code access security (C To enable the use of permissions for a particular zone, a system administrator must create a custom permission set and set it as the permission set for a particular zone. Default permission sets, such as `LocalIntranet`, cannot be modified. For example, to include permissions for code that has a of `LocalIntranet`, a system administrator could copy the permission set for `LocalIntranet`, rename it to "CustomLocalIntranet", add the permissions, import the CustomLocalIntranet permission set using the [Caspol.exe (Code Access Security Policy Tool)](../../tools/caspol-exe-code-access-security-policy-tool.md), and set the permission set of `LocalIntranet_Zone` to CustomLocalIntranet. ### Sample Permission Set - The following is a sample permission set for the .NET Framework Data Provider for SQL Server in a partially trusted scenario. For information on creating custom permission sets, see [Configuring Permission Sets Using Caspol.exe](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/4ybs46y6(v=vs.100)). + The following is a sample permission set for the .NET Framework Data Provider for SQL Server in a partially trusted scenario. For information on creating custom permission sets, see [Configuring Permission Sets Using Caspol.exe](/previous-versions/dotnet/netframework-4.0/4ybs46y6(v=vs.100)). ```xml ``` ## Verifying ADO.NET Code Access Using Security Permissions - For partial-trust scenarios, you can require CAS privileges for particular methods in your code by specifying a . If that privilege is not allowed by the restricted security policy in effect, an exception is thrown before your code is run. For more information on security policy, see [Security Policy Management](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/c1k0eed6(v=vs.100)) and [Security Policy Best Practices](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/sa4se9bc(v=vs.100)). + For partial-trust scenarios, you can require CAS privileges for particular methods in your code by specifying a . If that privilege is not allowed by the restricted security policy in effect, an exception is thrown before your code is run. For more information on security policy, see [Security Policy Management](/previous-versions/dotnet/netframework-4.0/c1k0eed6(v=vs.100)) and [Security Policy Best Practices](/previous-versions/dotnet/netframework-4.0/sa4se9bc(v=vs.100)). ### Example The following example demonstrates how to write code that requires a particular connection string. It simulates denying unrestricted permissions to , which a system administrator would implement using a CAS policy in the real world. @@ -186,11 +186,11 @@ Failed, as expected: Request failed. ## Interoperability with Unmanaged Code Code that runs outside the CLR is called unmanaged code. Therefore, security mechanisms such as CAS cannot be applied to unmanaged code. COM components, ActiveX interfaces, and Windows API functions are examples of unmanaged code. Special security considerations apply when executing unmanaged code so that you do not jeopardize overall application security. For more information, see [Interoperating with Unmanaged Code](../../interop/index.md). - The .NET Framework also supports backward compatibility to existing COM components by providing access through COM interop. You can incorporate COM components into a .NET Framework application by using COM interop tools to import the relevant COM types. Once imported, the COM types are ready to use. COM interop also enables COM clients to access managed code by exporting assembly metadata to a type library and registering the managed component as a COM component. For more information, see [Advanced COM Interoperability](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bd9cdfyx(v=vs.100)). + The .NET Framework also supports backward compatibility to existing COM components by providing access through COM interop. You can incorporate COM components into a .NET Framework application by using COM interop tools to import the relevant COM types. Once imported, the COM types are ready to use. COM interop also enables COM clients to access managed code by exporting assembly metadata to a type library and registering the managed component as a COM component. For more information, see [Advanced COM Interoperability](/previous-versions/dotnet/netframework-4.0/bd9cdfyx(v=vs.100)). ## See also - [Securing ADO.NET Applications](securing-ado-net-applications.md) -- [Security in Native and .NET Framework Code](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2010/1787tk12(v=vs.100)) +- [Security in Native and .NET Framework Code](/previous-versions/visualstudio/visual-studio-2010/1787tk12(v=vs.100)) - [Role-Based Security](../../../standard/security/role-based-security.md) - [ADO.NET Overview](ado-net-overview.md) diff --git a/docs/framework/data/adonet/connection-strings-and-configuration-files.md b/docs/framework/data/adonet/connection-strings-and-configuration-files.md index 07d8f827b32a1..6562d0dd901a8 100644 --- a/docs/framework/data/adonet/connection-strings-and-configuration-files.md +++ b/docs/framework/data/adonet/connection-strings-and-configuration-files.md @@ -66,7 +66,7 @@ Embedding connection strings in your application's code can lead to security vul Starting with the .NET Framework 2.0, is used when working with configuration files on the local computer, replacing the deprecated . is used to work with ASP.NET configuration files. It is designed to work with configuration files on a Web server, and allows programmatic access to configuration file sections such as **system.web**. > [!NOTE] -> Accessing configuration files at run time requires granting permissions to the caller; the required permissions depend on the type of application, configuration file, and location. For more information, see [Using the Configuration Classes](https://docs.microsoft.com/previous-versions/aspnet/ms228063(v=vs.100)) and for ASP.NET applications, and for Windows applications. +> Accessing configuration files at run time requires granting permissions to the caller; the required permissions depend on the type of application, configuration file, and location. For more information, see [Using the Configuration Classes](/previous-versions/aspnet/ms228063(v=vs.100)) and for ASP.NET applications, and for Windows applications. You can use the to retrieve connection strings from application configuration files. It contains a collection of objects, each of which represents a single entry in the **connectionStrings** section. Its properties map to connection string attributes, allowing you to retrieve a connection string by specifying the name or the provider name. @@ -98,7 +98,7 @@ Embedding connection strings in your application's code can lead to security vul [!code-vb[DataWorks ConnectionStringSettings.RetrieveFromConfigByProvider#1](../../../../samples/snippets/visualbasic/VS_Snippets_ADO.NET/DataWorks ConnectionStringSettings.RetrieveFromConfigByProvider/VB/source.vb#1)] ## Encrypting Configuration File Sections Using Protected Configuration - ASP.NET 2.0 introduced a new feature, called *protected configuration*, that enables you to encrypt sensitive information in a configuration file. Although primarily designed for ASP.NET, protected configuration can also be used to encrypt configuration file sections in Windows applications. For a detailed description of the protected configuration capabilities, see [Encrypting Configuration Information Using Protected Configuration](https://docs.microsoft.com/previous-versions/aspnet/53tyfkaw(v=vs.100)). + ASP.NET 2.0 introduced a new feature, called *protected configuration*, that enables you to encrypt sensitive information in a configuration file. Although primarily designed for ASP.NET, protected configuration can also be used to encrypt configuration file sections in Windows applications. For a detailed description of the protected configuration capabilities, see [Encrypting Configuration Information Using Protected Configuration](/previous-versions/aspnet/53tyfkaw(v=vs.100)). The following configuration file fragment shows the **connectionStrings** section after it has been encrypted. The **configProtectionProvider** specifies the protected configuration provider used to encrypt and decrypt the connection strings. The **EncryptedData** section contains the cipher text. @@ -132,16 +132,16 @@ Embedding connection strings in your application's code can lead to security vul |Provider|Description| |--------------|-----------------| -||Uses the RSA encryption algorithm to encrypt and decrypt data. The RSA algorithm can be used for both public key encryption and digital signatures. It is also known as "public key" or asymmetrical encryption because it employs two different keys. You can use the [ASP.NET IIS Registration Tool (Aspnet_regiis.exe)](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/k6h9cz8h(v=vs.90)) to encrypt sections in a Web.config file and manage the encryption keys. ASP.NET decrypts the configuration file when it processes the file. The identity of the ASP.NET application must have read access to the encryption key that is used to encrypt and decrypt the encrypted sections.| +||Uses the RSA encryption algorithm to encrypt and decrypt data. The RSA algorithm can be used for both public key encryption and digital signatures. It is also known as "public key" or asymmetrical encryption because it employs two different keys. You can use the [ASP.NET IIS Registration Tool (Aspnet_regiis.exe)](/previous-versions/dotnet/netframework-3.5/k6h9cz8h(v=vs.90)) to encrypt sections in a Web.config file and manage the encryption keys. ASP.NET decrypts the configuration file when it processes the file. The identity of the ASP.NET application must have read access to the encryption key that is used to encrypt and decrypt the encrypted sections.| ||Uses the Windows Data Protection API (DPAPI) to encrypt configuration sections. It uses the Windows built-in cryptographic services and can be configured for either machine-specific or user-account-specific protection. Machine-specific protection is useful for multiple applications on the same server that need to share information. User-account-specific protection can be used with services that run with a specific user identity, such as a shared hosting environment. Each application runs under a separate identity which restricts access to resources such as files and databases.| - Both providers offer strong encryption of data. However, if you are planning to use the same encrypted configuration file on multiple servers, such as a Web farm, only the enables you to export the encryption keys used to encrypt the data and import them on another server. For more information, see [Importing and Exporting Protected Configuration RSA Key Containers](https://docs.microsoft.com/previous-versions/aspnet/yxw286t2(v=vs.100)). + Both providers offer strong encryption of data. However, if you are planning to use the same encrypted configuration file on multiple servers, such as a Web farm, only the enables you to export the encryption keys used to encrypt the data and import them on another server. For more information, see [Importing and Exporting Protected Configuration RSA Key Containers](/previous-versions/aspnet/yxw286t2(v=vs.100)). ### Using the Configuration Classes The namespace provides classes to work with configuration settings programmatically. The class provides access to machine, application, and user configuration files. If you are creating an ASP.NET application, you can use the class, which provides the same functionality while also allowing you to access settings that are unique to ASP.NET applications, such as those found in **\**. > [!NOTE] -> The namespace contains classes that provide additional options for encrypting and decrypting data. Use these classes if you require cryptographic services that are not available using protected configuration. Some of these classes are wrappers for the unmanaged Microsoft CryptoAPI, while others are purely managed implementations. For more information, see [Cryptographic Services](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/93bskf9z(v=vs.90)). +> The namespace contains classes that provide additional options for encrypting and decrypting data. Use these classes if you require cryptographic services that are not available using protected configuration. Some of these classes are wrappers for the unmanaged Microsoft CryptoAPI, while others are purely managed implementations. For more information, see [Cryptographic Services](/previous-versions/visualstudio/visual-studio-2008/93bskf9z(v=vs.90)). ### App.config Example This example demonstrates how to toggle encrypting the **connectionStrings** section in an **app.config** file for a Windows application. In this example, the procedure takes the name of the application as an argument, for example, "MyApplication.exe". The **app.config** file will then be encrypted and copied to the folder that contains the executable under the name of "MyApplication.exe.config". @@ -163,13 +163,13 @@ Embedding connection strings in your application's code can lead to security vul [!code-csharp[DataWorks ConnectionStringsWeb.Encrypt#1](../../../../samples/snippets/csharp/VS_Snippets_ADO.NET/DataWorks ConnectionStringsWeb.Encrypt/CS/source.cs#1)] [!code-vb[DataWorks ConnectionStringsWeb.Encrypt#1](../../../../samples/snippets/visualbasic/VS_Snippets_ADO.NET/DataWorks ConnectionStringsWeb.Encrypt/VB/source.vb#1)] - For more information about securing ASP.NET applications, see [Securing ASP.NET web sites](https://docs.microsoft.com/previous-versions/aspnet/91f66yxt(v=vs.100)). + For more information about securing ASP.NET applications, see [Securing ASP.NET web sites](/previous-versions/aspnet/91f66yxt(v=vs.100)). ## See also - [Connection String Builders](connection-string-builders.md) - [Protecting Connection Information](protecting-connection-information.md) -- [Using the Configuration Classes](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/ms228063(v=vs.90)) +- [Using the Configuration Classes](/previous-versions/visualstudio/visual-studio-2008/ms228063(v=vs.90)) - [Configuring Apps](../../configure-apps/index.md) -- [ASP.NET Web Site Administration](https://docs.microsoft.com/previous-versions/aspnet/6hy1xzbw(v=vs.100)) +- [ASP.NET Web Site Administration](/previous-versions/aspnet/6hy1xzbw(v=vs.100)) - [ADO.NET Overview](ado-net-overview.md) diff --git a/docs/framework/data/adonet/cross-table-queries-linq-to-dataset.md b/docs/framework/data/adonet/cross-table-queries-linq-to-dataset.md index 46a963d14ece9..c6c05776bd5cc 100644 --- a/docs/framework/data/adonet/cross-table-queries-linq-to-dataset.md +++ b/docs/framework/data/adonet/cross-table-queries-linq-to-dataset.md @@ -15,7 +15,7 @@ In addition to querying a single table, you can also perform cross-table queries The operators have no direct equivalent in relational database terms; they implement a superset of inner joins and left outer joins. A left outer join is a join that returns each element of the first (left) collection, even if it has no correlated elements in the second collection. - For more information about joins, see [Join Operations](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2013/bb397908(v=vs.120)). + For more information about joins, see [Join Operations](/previous-versions/visualstudio/visual-studio-2013/bb397908(v=vs.120)). ## Example The following example performs a traditional join of the `SalesOrderHeader` and `SalesOrderDetail` tables from the AdventureWorks sample database to obtain online orders from the month of August. @@ -28,5 +28,5 @@ In addition to querying a single table, you can also perform cross-table queries - [Querying DataSets](querying-datasets-linq-to-dataset.md) - [Single-Table Queries](single-table-queries-linq-to-dataset.md) - [Querying Typed DataSets](querying-typed-datasets.md) -- [Join Operations](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2013/bb397908(v=vs.120)) +- [Join Operations](/previous-versions/visualstudio/visual-studio-2013/bb397908(v=vs.120)) - [LINQ to DataSet Examples](linq-to-dataset-examples.md) diff --git a/docs/framework/data/adonet/data-providers.md b/docs/framework/data/adonet/data-providers.md index 11f42c222ba1b..1c8e2f0d1e8b9 100644 --- a/docs/framework/data/adonet/data-providers.md +++ b/docs/framework/data/adonet/data-providers.md @@ -19,7 +19,7 @@ A .NET Framework data provider is used for connecting to a database, executing c |.NET Framework Data Provider for ODBC|For data sources exposed by using ODBC. Uses the namespace.| |.NET Framework Data Provider for Oracle|For Oracle data sources. The .NET Framework Data Provider for Oracle supports Oracle client software version 8.1.7 and later, and uses the namespace.| |EntityClient Provider|Provides data access for Entity Data Model (EDM) applications. Uses the namespace.| -|.NET Framework Data Provider for SQL Server Compact 4.0.|Provides data access for Microsoft SQL Server Compact 4.0. Uses the [System.Data.SqlServerCe](https://docs.microsoft.com/previous-versions/sql/compact/sql-server-compact-4.0/ec4st0e3(v=vs.100)) namespace.| +|.NET Framework Data Provider for SQL Server Compact 4.0.|Provides data access for Microsoft SQL Server Compact 4.0. Uses the [System.Data.SqlServerCe](/previous-versions/sql/compact/sql-server-compact-4.0/ec4st0e3(v=vs.100)) namespace.| ## Core Objects of .NET Framework Data Providers The following table outlines the four core objects that make up a .NET Framework data provider. diff --git a/docs/framework/data/adonet/data-tracing.md b/docs/framework/data/adonet/data-tracing.md index a2d1100aeeae9..b0d9652e1d9e4 100644 --- a/docs/framework/data/adonet/data-tracing.md +++ b/docs/framework/data/adonet/data-tracing.md @@ -22,13 +22,13 @@ Tracing data access API calls can help diagnose the following problems: To support different trace technologies, tracing is extensible, so a developer can trace a problem at any level of the application stack. Although tracing is not an ADO.NET-only feature, Microsoft providers take advantage of generalized tracing and instrumentation APIs. -For more information about setting and configuring managed tracing in ADO.NET, see [Tracing Data Access](https://docs.microsoft.com/previous-versions/sql/sql-server-2012/hh880086(v=msdn.10)). +For more information about setting and configuring managed tracing in ADO.NET, see [Tracing Data Access](/previous-versions/sql/sql-server-2012/hh880086(v=msdn.10)). ## Accessing Diagnostic Information in the Extended Events Log -In the .NET Framework Data Provider for SQL Server, data access tracing ([Data Access Tracing](https://docs.microsoft.com/previous-versions/sql/sql-server-2012/hh880086(v=msdn.10))) has been updated to make it easier to correlate client events with diagnostic information, such as connection failures, from the server's connectivity ring buffer and application performance information in the extended events log. For information about reading the extended events log, see [View Event Session Data](https://docs.microsoft.com/previous-versions/sql/sql-server-2012/hh710068(v=sql.110)). +In the .NET Framework Data Provider for SQL Server, data access tracing ([Data Access Tracing](/previous-versions/sql/sql-server-2012/hh880086(v=msdn.10))) has been updated to make it easier to correlate client events with diagnostic information, such as connection failures, from the server's connectivity ring buffer and application performance information in the extended events log. For information about reading the extended events log, see [View Event Session Data](/previous-versions/sql/sql-server-2012/hh710068(v=sql.110)). -For connection operations, ADO.NET will send a client connection ID. If the connection fails, you can access the connectivity ring buffer ([Connectivity troubleshooting in SQL Server 2008 with the Connectivity Ring Buffer](https://docs.microsoft.com/archive/blogs/sql_protocols/connectivity-troubleshooting-in-sql-server-2008-with-the-connectivity-ring-buffer)) and find the `ClientConnectionID` field and get diagnostic information about the connection failure. Client connection IDs are logged in the ring buffer only if an error occurs. (If a connection fails before sending the prelogin packet, a client connection ID will not be generated.) The client connection ID is a 16-byte GUID. You can also find the client connection ID in the extended events target output, if the `client_connection_id` action is added to events in an extended events session. You can enable data access tracing and rerun the connection command and observe the `ClientConnectionID` field in the data access trace, if you need further client driver diagnostic assistance. +For connection operations, ADO.NET will send a client connection ID. If the connection fails, you can access the connectivity ring buffer ([Connectivity troubleshooting in SQL Server 2008 with the Connectivity Ring Buffer](/archive/blogs/sql_protocols/connectivity-troubleshooting-in-sql-server-2008-with-the-connectivity-ring-buffer)) and find the `ClientConnectionID` field and get diagnostic information about the connection failure. Client connection IDs are logged in the ring buffer only if an error occurs. (If a connection fails before sending the prelogin packet, a client connection ID will not be generated.) The client connection ID is a 16-byte GUID. You can also find the client connection ID in the extended events target output, if the `client_connection_id` action is added to events in an extended events session. You can enable data access tracing and rerun the connection command and observe the `ClientConnectionID` field in the data access trace, if you need further client driver diagnostic assistance. You can get the client connection ID programmatically by using the `SqlConnection.ClientConnectionID` property. diff --git a/docs/framework/data/adonet/data-type-mappings-in-ado-net.md b/docs/framework/data/adonet/data-type-mappings-in-ado-net.md index a959cc80e0ab6..e3df078582e6c 100644 --- a/docs/framework/data/adonet/data-type-mappings-in-ado-net.md +++ b/docs/framework/data/adonet/data-type-mappings-in-ado-net.md @@ -35,5 +35,5 @@ The .NET Framework is based on the common type system, which defines how types a - [Configuring Parameters and Parameter Data Types](configuring-parameters-and-parameter-data-types.md) - [Retrieving Database Schema Information](retrieving-database-schema-information.md) - [Common Type System](../../../standard/base-types/common-type-system.md) -- [Converting Types](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/t8s7t9bf(v=vs.90)) +- [Converting Types](/previous-versions/visualstudio/visual-studio-2008/t8s7t9bf(v=vs.90)) - [ADO.NET Overview](ado-net-overview.md) diff --git a/docs/framework/data/adonet/dataset-datatable-dataview/consuming-a-dataset-from-an-xml-web-service.md b/docs/framework/data/adonet/dataset-datatable-dataview/consuming-a-dataset-from-an-xml-web-service.md index 5719963b9a355..3c947e0244475 100644 --- a/docs/framework/data/adonet/dataset-datatable-dataview/consuming-a-dataset-from-an-xml-web-service.md +++ b/docs/framework/data/adonet/dataset-datatable-dataview/consuming-a-dataset-from-an-xml-web-service.md @@ -265,5 +265,5 @@ The was architected with a disconnected design, in pa - [Populating a DataSet from a DataAdapter](../populating-a-dataset-from-a-dataadapter.md) - [Updating Data Sources with DataAdapters](../updating-data-sources-with-dataadapters.md) - [DataAdapter Parameters](../dataadapter-parameters.md) -- [Web Services Description Language Tool (Wsdl.exe)](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/7h3ystb6(v=vs.100)) +- [Web Services Description Language Tool (Wsdl.exe)](/previous-versions/dotnet/netframework-4.0/7h3ystb6(v=vs.100)) - [ADO.NET Overview](../ado-net-overview.md) diff --git a/docs/framework/data/adonet/dataset-datatable-dataview/dataviews.md b/docs/framework/data/adonet/dataset-datatable-dataview/dataviews.md index efabe3997b6a0..252f8e5b67bcf 100644 --- a/docs/framework/data/adonet/dataset-datatable-dataview/dataviews.md +++ b/docs/framework/data/adonet/dataset-datatable-dataview/dataviews.md @@ -38,10 +38,10 @@ A enables you to create different views of the data Describes how to use a **DataViewManager** to manage **DataView** settings for each table in a **DataSet**. ## Related Sections - [ASP.NET Web Applications](https://docs.microsoft.com/previous-versions/655cec97(v=vs.100)) + [ASP.NET Web Applications](/previous-versions/655cec97(v=vs.100)) Provides overviews and detailed, step-by-step procedures for creating ASP.NET applications, Web Forms, and Web Services. - [Windows Applications](https://docs.microsoft.com/previous-versions/ms184421(v=vs.100)) + [Windows Applications](/previous-versions/ms184421(v=vs.100)) Provides detailed information about working with Windows Forms and console applications. [DataSets, DataTables, and DataViews](index.md) diff --git a/docs/framework/data/adonet/dataset-datatable-dataview/handling-dataset-events.md b/docs/framework/data/adonet/dataset-datatable-dataview/handling-dataset-events.md index 6fae82455343b..ad625c408a239 100644 --- a/docs/framework/data/adonet/dataset-datatable-dataview/handling-dataset-events.md +++ b/docs/framework/data/adonet/dataset-datatable-dataview/handling-dataset-events.md @@ -45,13 +45,13 @@ private static void DataSetMergeFailed( `DataSet` is derived from the class, which exposes both the method and the event. The event adds an event handler to listen to the disposed event on the component. You can use the event of a `DataSet` if you want to execute code when the method is called. releases the resources used by the . > [!NOTE] -> The `DataSet` and `DataTable` objects inherit from and support the interface for remoting. These are the only ADO.NET objects that can be remoted. For more information, see [.NET Remoting](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/72x4h507(v=vs.100)). +> The `DataSet` and `DataTable` objects inherit from and support the interface for remoting. These are the only ADO.NET objects that can be remoted. For more information, see [.NET Remoting](/previous-versions/dotnet/netframework-4.0/72x4h507(v=vs.100)). For information about other events available when working with a `DataSet`, see [Handling DataTable Events](handling-datatable-events.md) and [Handling DataAdapter Events](../handling-dataadapter-events.md). ## See also - [DataSets, DataTables, and DataViews](index.md) -- [Validating Data](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2013/t3b36awf(v=vs.120)) +- [Validating Data](/previous-versions/visualstudio/visual-studio-2013/t3b36awf(v=vs.120)) - [Retrieving and Modifying Data in ADO.NET](../retrieving-and-modifying-data.md) - [ADO.NET Overview](../ado-net-overview.md) diff --git a/docs/framework/data/adonet/dataset-datatable-dataview/index.md b/docs/framework/data/adonet/dataset-datatable-dataview/index.md index 833b532b3b705..fb4fb4fe71896 100644 --- a/docs/framework/data/adonet/dataset-datatable-dataview/index.md +++ b/docs/framework/data/adonet/dataset-datatable-dataview/index.md @@ -16,7 +16,7 @@ There are several ways of working with a , which can b - Load and persist the contents using XML. For more information, see [Using XML in a DataSet](using-xml-in-a-dataset.md). -A strongly typed can also be transported using an XML Web service. The design of the makes it ideal for transporting data using XML Web services. For an overview of XML Web services, see [XML Web Services Overview](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/w9fdtx28(v=vs.100)). For an example of consuming a from an XML Web service, see [Consuming a DataSet from an XML Web Service](consuming-a-dataset-from-an-xml-web-service.md). +A strongly typed can also be transported using an XML Web service. The design of the makes it ideal for transporting data using XML Web services. For an overview of XML Web services, see [XML Web Services Overview](/previous-versions/dotnet/netframework-4.0/w9fdtx28(v=vs.100)). For an example of consuming a from an XML Web service, see [Consuming a DataSet from an XML Web Service](consuming-a-dataset-from-an-xml-web-service.md). ## In this section diff --git a/docs/framework/data/adonet/dataset-datatable-dataview/loading-a-dataset-from-xml.md b/docs/framework/data/adonet/dataset-datatable-dataview/loading-a-dataset-from-xml.md index dd9cc7080b2bd..55818aa32901c 100644 --- a/docs/framework/data/adonet/dataset-datatable-dataview/loading-a-dataset-from-xml.md +++ b/docs/framework/data/adonet/dataset-datatable-dataview/loading-a-dataset-from-xml.md @@ -10,7 +10,7 @@ ms.assetid: 49c083b7-a5ed-41cf-aabc-5aaba96f00e6 # Loading a DataSet from XML The contents of an ADO.NET can be created from an XML stream or document. In addition, with the .NET Framework you have great flexibility over what information is loaded from XML, and how the schema or relational structure of the is created. - To fill a with data from XML, use the **ReadXml** method of the object. The **ReadXml** method reads from a file, a stream, or an **XmlReader**, and takes as arguments the source of the XML plus an optional **XmlReadMode** argument. For more information about the **XmlReader**, see [Reading XML Data with XmlTextReader](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/tfz3cz6w(v=vs.100)). The **ReadXml** method reads the contents of the XML stream or document and loads the with data. It will also create the relational schema of the depending on the **XmlReadMode** specified and whether or not a relational schema already exists. + To fill a with data from XML, use the **ReadXml** method of the object. The **ReadXml** method reads from a file, a stream, or an **XmlReader**, and takes as arguments the source of the XML plus an optional **XmlReadMode** argument. For more information about the **XmlReader**, see [Reading XML Data with XmlTextReader](/previous-versions/dotnet/netframework-4.0/tfz3cz6w(v=vs.100)). The **ReadXml** method reads the contents of the XML stream or document and loads the with data. It will also create the relational schema of the depending on the **XmlReadMode** specified and whether or not a relational schema already exists. The following table describes the options for the **XmlReadMode** argument. diff --git a/docs/framework/data/adonet/dataset-datatable-dataview/security-guidance.md b/docs/framework/data/adonet/dataset-datatable-dataview/security-guidance.md index 50399b58f44bc..49cbabbc6ea40 100644 --- a/docs/framework/data/adonet/dataset-datatable-dataview/security-guidance.md +++ b/docs/framework/data/adonet/dataset-datatable-dataview/security-guidance.md @@ -12,9 +12,9 @@ This article applies to: * .NET Core and later * .NET 5.0 and later -The [DataSet](/dotnet/api/system.data.dataset) and [DataTable](/dotnet/api/system.data.datatable) types are legacy .NET components that allow representing data sets as managed objects. These components were introduced in .NET 1.0 as part of the original [ADO.NET infrastructure](/dotnet/framework/data/adonet/dataset-datatable-dataview/). Their goal was to provide a managed view over a relational data set, abstracting away whether the underlying source of the data was XML, SQL, or another technology. +The [DataSet](/dotnet/api/system.data.dataset) and [DataTable](/dotnet/api/system.data.datatable) types are legacy .NET components that allow representing data sets as managed objects. These components were introduced in .NET 1.0 as part of the original [ADO.NET infrastructure](./index.md). Their goal was to provide a managed view over a relational data set, abstracting away whether the underlying source of the data was XML, SQL, or another technology. -For more information on ADO.NET, including more modern data view paradigms, see [the ADO.NET documentation](/dotnet/framework/data/adonet/). +For more information on ADO.NET, including more modern data view paradigms, see [the ADO.NET documentation](../index.md). ## Default restrictions when deserializing a DataSet or DataTable from XML @@ -254,7 +254,7 @@ In .NET Core, .NET 5, and ASP.NET Core, this setting is controlled by _runtimeco } ``` -For more information, see [".NET Core run-time configuration settings"](/dotnet/core/run-time-config/). +For more information, see [".NET Core run-time configuration settings"](../../../../core/run-time-config/index.md). `AllowArbitraryDataSetTypeInstantiation` can also be set programmatically via [AppContext.SetSwitch](/dotnet/api/system.appcontext.setswitch) instead of using a configuration file, as shown in the following code: @@ -491,27 +491,27 @@ Consider replacing the object model to use [Entity Framework](/ef). Entity Frame * Brings [a diverse ecosystem](/ef/core/providers/) of database providers to make it easy to project database queries via your Entity Framework object models. * Offers built-in protections when deserializing data from untrusted sources. -For apps that use `.aspx` SOAP endpoints, consider changing those endpoints to use [WCF](/dotnet/framework/wcf/). WCF is a more fully featured replacement for `.asmx` web services. WCF endpoints [can be exposed via SOAP](../../../wcf/feature-details/how-to-expose-a-contract-to-soap-and-web-clients.md) for compatibility with existing callers. +For apps that use `.aspx` SOAP endpoints, consider changing those endpoints to use [WCF](../../../wcf/index.md). WCF is a more fully featured replacement for `.asmx` web services. WCF endpoints [can be exposed via SOAP](../../../wcf/feature-details/how-to-expose-a-contract-to-soap-and-web-clients.md) for compatibility with existing callers. ## Code analyzers Code analyzer security rules, which run when your source code is compiled, can help to find vulnerabilities related to this security issue in C# and Visual Basic code. Microsoft.CodeAnalysis.FxCopAnalyzers is a NuGet package of code analyzers that's distributed on [nuget.org](https://www.nuget.org/). -For an overview of code analyzers, see [Overview of source code analyzers](https://docs.microsoft.com/visualstudio/code-quality/roslyn-analyzers-overview). +For an overview of code analyzers, see [Overview of source code analyzers](/visualstudio/code-quality/roslyn-analyzers-overview). Enable the following Microsoft.CodeAnalysis.FxCopAnalyzers rules: -- [CA2350](https://docs.microsoft.com/visualstudio/code-quality/ca2350): Do not use DataTable.ReadXml() with untrusted data -- [CA2351](https://docs.microsoft.com/visualstudio/code-quality/ca2351): Do not use DataSet.ReadXml() with untrusted data -- [CA2352](https://docs.microsoft.com/visualstudio/code-quality/ca2352): Unsafe DataSet or DataTable in serializable type can be vulnerable to remote code execution attacks -- [CA2353](https://docs.microsoft.com/visualstudio/code-quality/ca2353): Unsafe DataSet or DataTable in serializable type -- [CA2354](https://docs.microsoft.com/visualstudio/code-quality/ca2354): Unsafe DataSet or DataTable in deserialized object graph can be vulnerable to remote code execution attacks -- [CA2355](https://docs.microsoft.com/visualstudio/code-quality/ca2355): Unsafe DataSet or DataTable type found in deserializable object graph -- [CA2356](https://docs.microsoft.com/visualstudio/code-quality/ca2356): Unsafe DataSet or DataTable type in web deserializable object graph -- [CA2361](https://docs.microsoft.com/visualstudio/code-quality/ca2361): Ensure autogenerated class containing DataSet.ReadXml() is not used with untrusted data -- [CA2362](https://docs.microsoft.com/visualstudio/code-quality/ca2362): Unsafe DataSet or DataTable in autogenerated serializable type can be vulnerable to remote code execution attacks - -For more information about configuring rules, see [Use code analyzers](https://docs.microsoft.com/visualstudio/code-quality/use-roslyn-analyzers). +- [CA2350](/visualstudio/code-quality/ca2350): Do not use DataTable.ReadXml() with untrusted data +- [CA2351](/visualstudio/code-quality/ca2351): Do not use DataSet.ReadXml() with untrusted data +- [CA2352](/visualstudio/code-quality/ca2352): Unsafe DataSet or DataTable in serializable type can be vulnerable to remote code execution attacks +- [CA2353](/visualstudio/code-quality/ca2353): Unsafe DataSet or DataTable in serializable type +- [CA2354](/visualstudio/code-quality/ca2354): Unsafe DataSet or DataTable in deserialized object graph can be vulnerable to remote code execution attacks +- [CA2355](/visualstudio/code-quality/ca2355): Unsafe DataSet or DataTable type found in deserializable object graph +- [CA2356](/visualstudio/code-quality/ca2356): Unsafe DataSet or DataTable type in web deserializable object graph +- [CA2361](/visualstudio/code-quality/ca2361): Ensure autogenerated class containing DataSet.ReadXml() is not used with untrusted data +- [CA2362](/visualstudio/code-quality/ca2362): Unsafe DataSet or DataTable in autogenerated serializable type can be vulnerable to remote code execution attacks + +For more information about configuring rules, see [Use code analyzers](/visualstudio/code-quality/use-roslyn-analyzers). The new security rules are available in the following NuGet packages: diff --git a/docs/framework/data/adonet/debugging-linq-to-dataset-queries.md b/docs/framework/data/adonet/debugging-linq-to-dataset-queries.md index f6198c4ba0b20..0c0ec5c564dbb 100644 --- a/docs/framework/data/adonet/debugging-linq-to-dataset-queries.md +++ b/docs/framework/data/adonet/debugging-linq-to-dataset-queries.md @@ -10,7 +10,7 @@ Visual Studio supports the debugging of LINQ to DataSet code. However, there are ## Viewing Results You can view the result of a LINQ to DataSet statement by using DataTips, the Watch window, and the QuickWatch dialog box. By using a source window, you can pause the pointer on a query in the source window and a DataTip will appear. You can copy a LINQ to DataSet variable and paste it into the Watch window or the QuickWatch dialog box. In LINQ to DataSet, a query is not evaluated when it is created or declared, but only when the query is executed. This is called *deferred execution*. Therefore, the query variable does not have a value until it is evaluated. For more information, see [Queries in LINQ to DataSet](queries-in-linq-to-dataset.md). - The debugger must evaluate a query to display the query results. This implicit evaluation occurs when you view a LINQ to DataSet query result in the debugger, and it has some effects you should consider. Each evaluation of the query takes time. Expanding the results node takes time. For some queries, repeated evaluation might cause a noticeable performance penalty. Evaluating a query can also cause side effects, which are changes to the value of data or the state of your program. Not all queries have side effects. To determine whether a query can be safely evaluated without side effects, you must understand the code that implements the query. For more information, see [Side Effects and Expressions](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2013/a7a250bs(v=vs.120)). + The debugger must evaluate a query to display the query results. This implicit evaluation occurs when you view a LINQ to DataSet query result in the debugger, and it has some effects you should consider. Each evaluation of the query takes time. Expanding the results node takes time. For some queries, repeated evaluation might cause a noticeable performance penalty. Evaluating a query can also cause side effects, which are changes to the value of data or the state of your program. Not all queries have side effects. To determine whether a query can be safely evaluated without side effects, you must understand the code that implements the query. For more information, see [Side Effects and Expressions](/previous-versions/visualstudio/visual-studio-2013/a7a250bs(v=vs.120)). ## Edit and Continue Edit and Continue does not support changes to LINQ to DataSet queries. If you add, remove, or change a LINQ to DataSet statement during a debugging session, a dialog box appears that tells you the change is not supported by Edit and Continue. At that point, you can either undo the changes or stop the debugging session and restart a new session with the edited code. diff --git a/docs/framework/data/adonet/ef/connection-strings.md b/docs/framework/data/adonet/ef/connection-strings.md index 70776162e53db..02ac9b2c4b33e 100644 --- a/docs/framework/data/adonet/ef/connection-strings.md +++ b/docs/framework/data/adonet/ef/connection-strings.md @@ -11,7 +11,7 @@ A connection string contains initialization information that is passed as a para The connection string is used by the EntityClient provider when accessing model and mapping metadata and connecting to the data source. The connection string can be accessed or set through the property of . The class can be used to programmatically construct or access parameters in the connection string. For more information, see [How to: Build an EntityConnection Connection String](how-to-build-an-entityconnection-connection-string.md). -The [Entity Data Model tools](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb399249(v=vs.100)) generate a connection string that is stored in the application's configuration file. retrieves this connection information automatically when creating object queries. The used by an instance can be accessed from the property. For more information, see [Managing Connections and Transactions](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896325(v=vs.100)). +The [Entity Data Model tools](/previous-versions/dotnet/netframework-4.0/bb399249(v=vs.100)) generate a connection string that is stored in the application's configuration file. retrieves this connection information automatically when creating object queries. The used by an instance can be accessed from the property. For more information, see [Managing Connections and Transactions](/previous-versions/dotnet/netframework-4.0/bb896325(v=vs.100)). ## Connection String Syntax @@ -107,5 +107,5 @@ The resolution of the `DataDirectory` substitution string and the ~ operator is - [Working with Data Providers](working-with-data-providers.md) - [Deployment Considerations](deployment-considerations.md) -- [Managing Connections and Transactions](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896325(v=vs.100)) +- [Managing Connections and Transactions](/previous-versions/dotnet/netframework-4.0/bb896325(v=vs.100)) - [Connection Strings](../connection-strings.md) diff --git a/docs/framework/data/adonet/ef/data-providers.md b/docs/framework/data/adonet/ef/data-providers.md index c0bdb5d22ecd6..7621b13a97291 100644 --- a/docs/framework/data/adonet/ef/data-providers.md +++ b/docs/framework/data/adonet/ef/data-providers.md @@ -14,7 +14,7 @@ This section provides information on data providers that support the Entity Fram Describes the .NET Framework data provider that supports the Entity Framework for use with a SQL Server database. ## Related Sections - [Entity Framework (SQL Server Compact)](https://docs.microsoft.com/previous-versions/sql/compact/sql-server-compact-4.0/cc835494(v=sql.110)) + [Entity Framework (SQL Server Compact)](/previous-versions/sql/compact/sql-server-compact-4.0/cc835494(v=sql.110)) Describes provider limitations and how to use the Entity Framework with a SQL Server Compact database. ## See also diff --git a/docs/framework/data/adonet/ef/deployment-considerations.md b/docs/framework/data/adonet/ef/deployment-considerations.md index cc3c75e01a5a2..3f7ee00c7ec37 100644 --- a/docs/framework/data/adonet/ef/deployment-considerations.md +++ b/docs/framework/data/adonet/ef/deployment-considerations.md @@ -6,7 +6,7 @@ ms.assetid: 3a847a22-4eb8-4565-b18b-453bbca070db # Deployment Considerations (Entity Framework) This topic provides information about deploying applications that use the ADO.NET Entity Framework for data access. For more information about the Entity Framework, see [Getting Started](getting-started.md). - The Entity Framework provides a set of tools that integrate with and make it easier to develop in Visual Studio. For more information, see [ADO.NET Entity Data Model Tools](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb399249(v=vs.100)). This topic does not describe how to use specific technologies to deploy an Entity Framework–based application. + The Entity Framework provides a set of tools that integrate with and make it easier to develop in Visual Studio. For more information, see [ADO.NET Entity Data Model Tools](/previous-versions/dotnet/netframework-4.0/bb399249(v=vs.100)). This topic does not describe how to use specific technologies to deploy an Entity Framework–based application. Visual Studio provides facilities for distributing and deploying applications, such as ClickOnce deployment. For more information, see [Deploying Applications and Components](/visualstudio/deployment/deploying-applications-services-and-components) in the Visual Studio documentation. @@ -14,7 +14,7 @@ This topic provides information about deploying applications that use the ADO.NE - The Entity Framework is a component of the .NET Framework starting with the .NET Framework 3.5 Service Pack 1 (SP1). You must ensure that the .NET Framework 3.5 SP1 or a later version is installed when deploying an Entity Framework–based application. -- When a conceptual model is generated by the Entity Data Model Wizard, a connection string is created in the application configuration file. Model and mapping files can be embedded as application resources or they can be copied to the output directory. By default, they are deployed as embedded application resources. Use the `Metadata Artifact Processing` property of the Entity Designer file to select one of these options. For more information, see [How to: Copy Model and Mapping Files to the Output Directory](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/cc716709(v=vs.100)). +- When a conceptual model is generated by the Entity Data Model Wizard, a connection string is created in the application configuration file. Model and mapping files can be embedded as application resources or they can be copied to the output directory. By default, they are deployed as embedded application resources. Use the `Metadata Artifact Processing` property of the Entity Designer file to select one of these options. For more information, see [How to: Copy Model and Mapping Files to the Output Directory](/previous-versions/dotnet/netframework-4.0/cc716709(v=vs.100)). - Ensure that the model and mapping information (expressed in conceptual schema definition language (CSDL), store schema definition language (SSDL), and mapping specification language (MSL)) is deployed together with the application and in the location specified by the connection string. For more information, see [Connection Strings](connection-strings.md). diff --git a/docs/framework/data/adonet/ef/development-and-deployment-considerations.md b/docs/framework/data/adonet/ef/development-and-deployment-considerations.md index 992420eb731f7..dd60022bc9af7 100644 --- a/docs/framework/data/adonet/ef/development-and-deployment-considerations.md +++ b/docs/framework/data/adonet/ef/development-and-deployment-considerations.md @@ -20,4 +20,4 @@ Topics in this section address issues to consider when developing or deploying a - [ADO.NET Entity Framework](index.md) - [Entity Framework Overview](overview.md) - [Getting Started](getting-started.md) -- [ADO.NET Entity Data Model Tools](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb399249(v=vs.100)) +- [ADO.NET Entity Data Model Tools](/previous-versions/dotnet/netframework-4.0/bb399249(v=vs.100)) diff --git a/docs/framework/data/adonet/ef/edm-generator-edmgen-exe.md b/docs/framework/data/adonet/ef/edm-generator-edmgen-exe.md index 890890db00a4b..2ad2f6af1571f 100644 --- a/docs/framework/data/adonet/ef/edm-generator-edmgen-exe.md +++ b/docs/framework/data/adonet/ef/edm-generator-edmgen-exe.md @@ -14,7 +14,7 @@ EdmGen.exe is a command-line tool used for working with Entity Framework model a - Generate a C# or Visual Basic code file that contains the object classes generated from a conceptual model (.csdl) file. For more information, see [How to: Use EdmGen.exe to Generate Object-Layer Code](how-to-use-edmgen-exe-to-generate-object-layer-code.md). -- Generate a C# or Visual Basic code file that contains the pre-generated views for an existing model. For more information, [How to: Pre-Generate Views to Improve Query Performance](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896240(v=vs.100)). +- Generate a C# or Visual Basic code file that contains the pre-generated views for an existing model. For more information, [How to: Pre-Generate Views to Improve Query Performance](/previous-versions/dotnet/netframework-4.0/bb896240(v=vs.100)). The EdmGen.exe tool is installed in the .NET Framework directory. In many cases, this is located in C:\windows\Microsoft.NET\Framework\v4.0. For 64-bit systems, this is located in C:\windows\Microsoft.NET\Framework64\v4.0. You can also access the EdmGen.exe tool from the Visual Studio command prompt (Click **Start**, point to **All Programs**, point to **Microsoft Visual Studio 2010**, point to **Visual Studio Tools**, and then click **Visual Studio 2010 Command Prompt**). @@ -71,6 +71,6 @@ When using the EdmGen.exe tool, you must specify one of the following modes. ## See also -- [ADO.NET Entity Data Model Tools](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb399249(v=vs.100)) +- [ADO.NET Entity Data Model Tools](/previous-versions/dotnet/netframework-4.0/bb399249(v=vs.100)) - [Entity Data Model](../entity-data-model.md) - [CSDL, SSDL, and MSL Specifications](/ef/ef6/modeling/designer/advanced/edmx/csdl-spec) diff --git a/docs/framework/data/adonet/ef/entityclient-provider-for-the-entity-framework.md b/docs/framework/data/adonet/ef/entityclient-provider-for-the-entity-framework.md index 57f07570633ca..acedac719c525 100644 --- a/docs/framework/data/adonet/ef/entityclient-provider-for-the-entity-framework.md +++ b/docs/framework/data/adonet/ef/entityclient-provider-for-the-entity-framework.md @@ -33,7 +33,7 @@ cmd.CommandText = @"SELECT VALUE p ## Managing Transactions In the Entity Framework, there are two ways to use transactions: automatic and explicit. Automatic transactions use the namespace, and explicit transactions use the class. - To update data that is exposed through a conceptual model, see [How to: Manage Transactions in the Entity Framework](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb738523(v=vs.100)). + To update data that is exposed through a conceptual model, see [How to: Manage Transactions in the Entity Framework](/previous-versions/dotnet/netframework-4.0/bb738523(v=vs.100)). ## In This Section [How to: Build an EntityConnection Connection String](how-to-build-an-entityconnection-connection-string.md) @@ -58,6 +58,6 @@ cmd.CommandText = @"SELECT VALUE p ## See also -- [Managing Connections and Transactions](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896325(v=vs.100)) +- [Managing Connections and Transactions](/previous-versions/dotnet/netframework-4.0/bb896325(v=vs.100)) - [ADO.NET Entity Framework](index.md) - [Language Reference](./language-reference/index.md) diff --git a/docs/framework/data/adonet/ef/how-to-build-an-entityconnection-connection-string.md b/docs/framework/data/adonet/ef/how-to-build-an-entityconnection-connection-string.md index 4cfb2e31d36a0..755e573f2e7bb 100644 --- a/docs/framework/data/adonet/ef/how-to-build-an-entityconnection-connection-string.md +++ b/docs/framework/data/adonet/ef/how-to-build-an-entityconnection-connection-string.md @@ -11,7 +11,7 @@ This topic provides an example of how to build an [!NOTE] -> If you use the Entity Data Model Wizard in a Visual Studio project, it automatically generates an .edmx file and configures the project to use the Entity Framework. For more information, see [How to: Use the Entity Data Model Wizard](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb738677(v=vs.100)). +> If you use the Entity Data Model Wizard in a Visual Studio project, it automatically generates an .edmx file and configures the project to use the Entity Framework. For more information, see [How to: Use the Entity Data Model Wizard](/previous-versions/dotnet/netframework-4.0/bb738677(v=vs.100)). ## To define the Entity Framework connection string @@ -28,6 +28,6 @@ If your project does not have an application configuration file, you can add one ## See also -- [Quickstart](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb399182(v=vs.100)) -- [How to: Create a New .edmx File](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/cc716703(v=vs.100)) -- [ADO.NET Entity Data Model Tools](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb399249(v=vs.100)) +- [Quickstart](/previous-versions/dotnet/netframework-4.0/bb399182(v=vs.100)) +- [How to: Create a New .edmx File](/previous-versions/dotnet/netframework-4.0/cc716703(v=vs.100)) +- [ADO.NET Entity Data Model Tools](/previous-versions/dotnet/netframework-4.0/bb399249(v=vs.100)) diff --git a/docs/framework/data/adonet/ef/how-to-execute-a-parameterized-entity-sql-query-using-entitycommand.md b/docs/framework/data/adonet/ef/how-to-execute-a-parameterized-entity-sql-query-using-entitycommand.md index 292920a64e80a..d68868697f6eb 100644 --- a/docs/framework/data/adonet/ef/how-to-execute-a-parameterized-entity-sql-query-using-entitycommand.md +++ b/docs/framework/data/adonet/ef/how-to-execute-a-parameterized-entity-sql-query-using-entitycommand.md @@ -11,7 +11,7 @@ This topic shows how to execute an [!INCLUDE[esql](../../../../../includes/esql- ### To run the code in this example -1. Add the [AdventureWorks Sales Model](https://github.com/Microsoft/sql-server-samples/releases/tag/adventureworks) to your project and configure your project to use the Entity Framework. For more information, see [How to: Use the Entity Data Model Wizard](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb738677(v=vs.100)). +1. Add the [AdventureWorks Sales Model](https://github.com/Microsoft/sql-server-samples/releases/tag/adventureworks) to your project and configure your project to use the Entity Framework. For more information, see [How to: Use the Entity Data Model Wizard](/previous-versions/dotnet/netframework-4.0/bb738677(v=vs.100)). 2. In the code page for your application, add the following `using` statements (`Imports` in Visual Basic): @@ -26,5 +26,5 @@ This topic shows how to execute an [!INCLUDE[esql](../../../../../includes/esql- ## See also -- [How to: Execute a Parameterized Query](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb738521(v=vs.100)) +- [How to: Execute a Parameterized Query](/previous-versions/dotnet/netframework-4.0/bb738521(v=vs.100)) - [Entity SQL Language](./language-reference/entity-sql-language.md) diff --git a/docs/framework/data/adonet/ef/how-to-execute-a-parameterized-stored-procedure-using-entitycommand.md b/docs/framework/data/adonet/ef/how-to-execute-a-parameterized-stored-procedure-using-entitycommand.md index f6660b279c2d4..f6023d4390141 100644 --- a/docs/framework/data/adonet/ef/how-to-execute-a-parameterized-stored-procedure-using-entitycommand.md +++ b/docs/framework/data/adonet/ef/how-to-execute-a-parameterized-stored-procedure-using-entitycommand.md @@ -11,14 +11,14 @@ This topic shows how to execute a parameterized stored procedure by using the . diff --git a/docs/framework/data/adonet/ef/how-to-execute-a-polymorphic-query.md b/docs/framework/data/adonet/ef/how-to-execute-a-polymorphic-query.md index 6590ae8a94b34..e2cde81888f1c 100644 --- a/docs/framework/data/adonet/ef/how-to-execute-a-polymorphic-query.md +++ b/docs/framework/data/adonet/ef/how-to-execute-a-polymorphic-query.md @@ -13,14 +13,14 @@ This topic shows how to execute a polymorphic [!INCLUDE[esql](../../../../../inc ### To run the code in this example -1. Add the [School Model](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896300(v=vs.100)) to your project and configure your project to use the Entity Framework. For more information, see [How to: Use the Entity Data Model Wizard](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb738677(v=vs.100)). +1. Add the [School Model](/previous-versions/dotnet/netframework-4.0/bb896300(v=vs.100)) to your project and configure your project to use the Entity Framework. For more information, see [How to: Use the Entity Data Model Wizard](/previous-versions/dotnet/netframework-4.0/bb738677(v=vs.100)). 2. In the code page for your application, add the following `using` statements (`Imports` in Visual Basic): [!code-csharp[DP EntityServices Concepts#Namespaces](../../../../../samples/snippets/csharp/VS_Snippets_Data/dp entityservices concepts/cs/source.cs#namespaces)] [!code-vb[DP EntityServices Concepts#Namespaces](../../../../../samples/snippets/visualbasic/VS_Snippets_Data/dp entityservices concepts/vb/source.vb#namespaces)] -3. Modify the conceptual model to have a table-per-hierarchy inheritance by following the steps in [Walkthrough: Mapping Inheritance - Table-per-Hierarchy](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/cc716683(v=vs.100)). +3. Modify the conceptual model to have a table-per-hierarchy inheritance by following the steps in [Walkthrough: Mapping Inheritance - Table-per-Hierarchy](/previous-versions/dotnet/netframework-4.0/cc716683(v=vs.100)). ## Example diff --git a/docs/framework/data/adonet/ef/how-to-execute-a-query-that-returns-complex-types.md b/docs/framework/data/adonet/ef/how-to-execute-a-query-that-returns-complex-types.md index 8b3587579be53..3cb0e22409995 100644 --- a/docs/framework/data/adonet/ef/how-to-execute-a-query-that-returns-complex-types.md +++ b/docs/framework/data/adonet/ef/how-to-execute-a-query-that-returns-complex-types.md @@ -11,18 +11,18 @@ This topic shows how to execute an [!INCLUDE[esql](../../../../../includes/esql- ### To run the code in this example -1. Add the [AdventureWorks Sales Model](https://github.com/Microsoft/sql-server-samples/releases/tag/adventureworks) to your project and configure your project to use the Entity Framework. For more information, see [How to: Use the Entity Data Model Wizard](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb738677(v=vs.100)). +1. Add the [AdventureWorks Sales Model](https://github.com/Microsoft/sql-server-samples/releases/tag/adventureworks) to your project and configure your project to use the Entity Framework. For more information, see [How to: Use the Entity Data Model Wizard](/previous-versions/dotnet/netframework-4.0/bb738677(v=vs.100)). 2. In the code page for your application, add the following `using` statements (`Imports` in Visual Basic): [!code-csharp[DP EntityServices Concepts#Namespaces](../../../../../samples/snippets/csharp/VS_Snippets_Data/dp entityservices concepts/cs/source.cs#namespaces)] [!code-vb[DP EntityServices Concepts#Namespaces](../../../../../samples/snippets/visualbasic/VS_Snippets_Data/dp entityservices concepts/vb/source.vb#namespaces)] -3. Double click the .edmx file to display the model in the [Model Browser window](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb738483(v=vs.100)) of the Entity Designer. On the Entity Designer surface, select the `Email` and `Phone` properties of the `Contact` entity type, then right-click and select **Refactor into New Complex Type**. +3. Double click the .edmx file to display the model in the [Model Browser window](/previous-versions/dotnet/netframework-4.0/bb738483(v=vs.100)) of the Entity Designer. On the Entity Designer surface, select the `Email` and `Phone` properties of the `Contact` entity type, then right-click and select **Refactor into New Complex Type**. 4. A new complex type with the selected `Email` and `Phone` properties is added to the **Model Browser**. The complex type is given a default name: rename the type to `EmailPhone` in the **Properties** window. Also, a new `ComplexProperty` property is added to the `Contact` entity type. Rename the property to `EmailPhoneComplexType.` - For information about creating and modifying complex types by using the Entity Data Model Wizard, see [How to: Refactor Existing Properties into a Complex Type Property](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/dd456814(v=vs.100)) and [How to: Create and Modify Complex Types](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/dd456820(v=vs.100)). + For information about creating and modifying complex types by using the Entity Data Model Wizard, see [How to: Refactor Existing Properties into a Complex Type Property](/previous-versions/dotnet/netframework-4.0/dd456814(v=vs.100)) and [How to: Create and Modify Complex Types](/previous-versions/dotnet/netframework-4.0/dd456820(v=vs.100)). ## Example The following example executes a query that returns a collection of `Contact` objects and displays two properties of the `Contact` objects: `ContactID` and the values of the `EmailPhoneComplexType` complex type. diff --git a/docs/framework/data/adonet/ef/how-to-execute-a-query-that-returns-nested-collections.md b/docs/framework/data/adonet/ef/how-to-execute-a-query-that-returns-nested-collections.md index df9e4dd9d9ac1..b4d127a07b5d5 100644 --- a/docs/framework/data/adonet/ef/how-to-execute-a-query-that-returns-nested-collections.md +++ b/docs/framework/data/adonet/ef/how-to-execute-a-query-that-returns-nested-collections.md @@ -11,7 +11,7 @@ This shows how to execute a command against a conceptual model by using an [!NOTE] -> A conceptual model generated by EdmGen.exe includes all the objects in the database. If you want to generate a conceptual model that includes only specific objects, use the Entity Data Model Wizard. For more information, see [How to: Use the Entity Data Model Wizard](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb738677(v=vs.100)). +> A conceptual model generated by EdmGen.exe includes all the objects in the database. If you want to generate a conceptual model that includes only specific objects, use the Entity Data Model Wizard. For more information, see [How to: Use the Entity Data Model Wizard](/previous-versions/dotnet/netframework-4.0/bb738677(v=vs.100)). ### To generate the School model for a Visual Basic project using EdmGen.exe -1. Create the School database. For more information, see [Creating the School Sample Database](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb399731(v=vs.100)). +1. Create the School database. For more information, see [Creating the School Sample Database](/previous-versions/dotnet/netframework-4.0/bb399731(v=vs.100)). 2. At the command prompt, execute the following command without line breaks: @@ -37,7 +37,7 @@ This topic shows how to use the EDM Generator (EdmGen.exe) tool to generate the ### To generate the School model for a C# project using EdmGen.exe -1. Create the School database. For more information, see [Creating the School Sample Database](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb399731(v=vs.100)). +1. Create the School database. For more information, see [Creating the School Sample Database](/previous-versions/dotnet/netframework-4.0/bb399731(v=vs.100)). 2. At the command prompt, execute the following command without line breaks: @@ -50,7 +50,7 @@ This topic shows how to use the EDM Generator (EdmGen.exe) tool to generate the ## See also - [Modeling and Mapping](modeling-and-mapping.md) -- [How to: Manually Configure an Entity Framework Project](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb738546(v=vs.100)) -- [How to: Pre-Generate Views to Improve Query Performance](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896240(v=vs.100)) -- [ADO.NET Entity Data Model Tools](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb399249(v=vs.100)) +- [How to: Manually Configure an Entity Framework Project](/previous-versions/dotnet/netframework-4.0/bb738546(v=vs.100)) +- [How to: Pre-Generate Views to Improve Query Performance](/previous-versions/dotnet/netframework-4.0/bb896240(v=vs.100)) +- [ADO.NET Entity Data Model Tools](/previous-versions/dotnet/netframework-4.0/bb399249(v=vs.100)) - [How to: Use EdmGen.exe to Validate Model and Mapping Files](how-to-use-edmgen-exe-to-validate-model-and-mapping-files.md) diff --git a/docs/framework/data/adonet/ef/how-to-use-edmgen-exe-to-validate-model-and-mapping-files.md b/docs/framework/data/adonet/ef/how-to-use-edmgen-exe-to-validate-model-and-mapping-files.md index 3c2a18cb264ad..04abc80babebc 100644 --- a/docs/framework/data/adonet/ef/how-to-use-edmgen-exe-to-validate-model-and-mapping-files.md +++ b/docs/framework/data/adonet/ef/how-to-use-edmgen-exe-to-validate-model-and-mapping-files.md @@ -8,7 +8,7 @@ This topic shows how to use the [EDM Generator (EdmGen.exe)](edm-generator-edmge ### To validate the School model using EdmGen.exe -1. Create the School database. For more information, see [Creating the School Sample Database](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb399731(v=vs.100)). +1. Create the School database. For more information, see [Creating the School Sample Database](/previous-versions/dotnet/netframework-4.0/bb399731(v=vs.100)). 2. Generate the School model. For more information, see [How to: Use EdmGen.exe to Generate the Model and Mapping Files](how-to-use-edmgen-exe-to-generate-the-model-and-mapping-files.md). @@ -20,7 +20,7 @@ This topic shows how to use the [EDM Generator (EdmGen.exe)](edm-generator-edmge ## See also -- [How to: Manually Configure an Entity Framework Project](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb738546(v=vs.100)) -- [ADO.NET Entity Data Model Tools](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb399249(v=vs.100)) -- [How to: Pre-Generate Views to Improve Query Performance](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896240(v=vs.100)) +- [How to: Manually Configure an Entity Framework Project](/previous-versions/dotnet/netframework-4.0/bb738546(v=vs.100)) +- [ADO.NET Entity Data Model Tools](/previous-versions/dotnet/netframework-4.0/bb399249(v=vs.100)) +- [How to: Pre-Generate Views to Improve Query Performance](/previous-versions/dotnet/netframework-4.0/bb896240(v=vs.100)) - [How to: Use EdmGen.exe to Generate Object-Layer Code](how-to-use-edmgen-exe-to-generate-object-layer-code.md) diff --git a/docs/framework/data/adonet/ef/index.md b/docs/framework/data/adonet/ef/index.md index 8c33e0051da80..edde7d178f011 100644 --- a/docs/framework/data/adonet/ef/index.md +++ b/docs/framework/data/adonet/ef/index.md @@ -4,6 +4,6 @@ ms.date: "03/30/2017" ms.assetid: a437041f-6899-4ae7-96ce-aabf528d7205 --- # ADO.NET Entity Framework -The [docs.microsoft.com/ef/](https://docs.microsoft.com/ef/) site is now the main location for the Entity Framework content. +The [docs.microsoft.com/ef/](/ef/) site is now the main location for the Entity Framework content. The content for this topic is now available on the following page: [Introducing Entity Framework](/ef/ef6/get-started). diff --git a/docs/framework/data/adonet/ef/language-reference/calling-functions-in-linq-to-entities-queries.md b/docs/framework/data/adonet/ef/language-reference/calling-functions-in-linq-to-entities-queries.md index 2805cc20fded4..315604b0bc0ce 100644 --- a/docs/framework/data/adonet/ef/language-reference/calling-functions-in-linq-to-entities-queries.md +++ b/docs/framework/data/adonet/ef/language-reference/calling-functions-in-linq-to-entities-queries.md @@ -34,5 +34,5 @@ The topics in this section describe how to call functions in LINQ to Entities qu - [Queries in LINQ to Entities](queries-in-linq-to-entities.md) - [Canonical Functions](canonical-functions.md) -- [.edmx File Overview](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/cc982042(v=vs.100)) -- [How to: Define Custom Functions in the Conceptual Model](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/dd456812(v=vs.100)) +- [.edmx File Overview](/previous-versions/dotnet/netframework-4.0/cc982042(v=vs.100)) +- [How to: Define Custom Functions in the Conceptual Model](/previous-versions/dotnet/netframework-4.0/dd456812(v=vs.100)) diff --git a/docs/framework/data/adonet/ef/language-reference/compiled-queries-linq-to-entities.md b/docs/framework/data/adonet/ef/language-reference/compiled-queries-linq-to-entities.md index f9cc3196999ae..6994fd8b2402f 100644 --- a/docs/framework/data/adonet/ef/language-reference/compiled-queries-linq-to-entities.md +++ b/docs/framework/data/adonet/ef/language-reference/compiled-queries-linq-to-entities.md @@ -12,7 +12,7 @@ When you have an application that executes structurally similar queries many tim Starting with .NET Framework 4.5, LINQ queries are cached automatically. However, you can still use compiled LINQ queries to reduce this cost in later executions and compiled queries can be more efficient than LINQ queries that are automatically cached. LINQ to Entities queries that apply the `Enumerable.Contains` operator to in-memory collections are not automatically cached. Also, parameterizing in-memory collections in compiled LINQ queries is not allowed. - The class provides compilation and caching of queries for reuse. Conceptually, this class contains a 's `Compile` method with several overloads. Call the `Compile` method to create a new delegate to represent the compiled query. The `Compile` methods, provided with a and parameter values, return a delegate that produces some result (such as an instance). The query compiles once during only the first execution. The merge options set for the query at the time of the compilation cannot be changed later. Once the query is compiled, you can only supply parameters of primitive type but you cannot replace parts of the query that would change the generated SQL. For more information, see [EF Merge Options and Compiled Queries](https://docs.microsoft.com/archive/blogs/dsimmons/ef-merge-options-and-compiled-queries). + The class provides compilation and caching of queries for reuse. Conceptually, this class contains a 's `Compile` method with several overloads. Call the `Compile` method to create a new delegate to represent the compiled query. The `Compile` methods, provided with a and parameter values, return a delegate that produces some result (such as an instance). The query compiles once during only the first execution. The merge options set for the query at the time of the compilation cannot be changed later. Once the query is compiled, you can only supply parameters of primitive type but you cannot replace parts of the query that would change the generated SQL. For more information, see [EF Merge Options and Compiled Queries](/archive/blogs/dsimmons/ef-merge-options-and-compiled-queries). The LINQ to Entities query expression that the 's `Compile` method compiles is represented by one of the generic `Func` delegates, such as . At most, the query expression can encapsulate an `ObjectContext` parameter, a return parameter, and 16 query parameters. If more than 16 query parameters are required, you can create a structure whose properties represent query parameters. You can then use the properties on the structure in the query expression after you set the properties. @@ -67,4 +67,4 @@ When you have an application that executes structurally similar queries many tim - [ADO.NET Entity Framework](../index.md) - [LINQ to Entities](linq-to-entities.md) -- [EF Merge Options and Compiled Queries](https://docs.microsoft.com/archive/blogs/dsimmons/ef-merge-options-and-compiled-queries) +- [EF Merge Options and Compiled Queries](/archive/blogs/dsimmons/ef-merge-options-and-compiled-queries) diff --git a/docs/framework/data/adonet/ef/language-reference/composing-nested-entity-sql-queries.md b/docs/framework/data/adonet/ef/language-reference/composing-nested-entity-sql-queries.md index 885fe6c286db6..639781432808b 100644 --- a/docs/framework/data/adonet/ef/language-reference/composing-nested-entity-sql-queries.md +++ b/docs/framework/data/adonet/ef/language-reference/composing-nested-entity-sql-queries.md @@ -40,7 +40,7 @@ UNION ALL FROM … ); ``` - The following example demonstrates how to properly nest expressions in [!INCLUDE[esql](../../../../../../includes/esql-md.md)]: [How to: Order the Union of Two Queries](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896299(v=vs.100)). + The following example demonstrates how to properly nest expressions in [!INCLUDE[esql](../../../../../../includes/esql-md.md)]: [How to: Order the Union of Two Queries](/previous-versions/dotnet/netframework-4.0/bb896299(v=vs.100)). ## Nested Queries in Projection Nested queries in the project clause might get translated into Cartesian product queries on the server. In some backend servers, including SQL Server, this can cause the TempDB table to get very large, which can adversely affect server performance. diff --git a/docs/framework/data/adonet/ef/language-reference/entity-sql-language.md b/docs/framework/data/adonet/ef/language-reference/entity-sql-language.md index 52f6d8aa3b1d3..aff6ac92db1d7 100644 --- a/docs/framework/data/adonet/ef/language-reference/entity-sql-language.md +++ b/docs/framework/data/adonet/ef/language-reference/entity-sql-language.md @@ -42,31 +42,31 @@ Entity SQL is a storage-independent query language that is similar to SQL. Entit ## Using Entity SQL with object queries If you want to use Entity SQL with object queries, see the following topics for more information: - [How to: Execute a Query that Returns Entity Type Objects](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb738694(v=vs.100)) + [How to: Execute a Query that Returns Entity Type Objects](/previous-versions/dotnet/netframework-4.0/bb738694(v=vs.100)) - [How to: Execute a Parameterized Query](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb738521(v=vs.100)) + [How to: Execute a Parameterized Query](/previous-versions/dotnet/netframework-4.0/bb738521(v=vs.100)) - [How to: Navigate Relationships Using Navigation Properties](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896321(v=vs.100)) + [How to: Navigate Relationships Using Navigation Properties](/previous-versions/dotnet/netframework-4.0/bb896321(v=vs.100)) - [How to: Call a User-Defined Function](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/dd490951(v=vs.100)) + [How to: Call a User-Defined Function](/previous-versions/dotnet/netframework-4.0/dd490951(v=vs.100)) - [How to: Filter Data](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/cc716755(v=vs.100)) + [How to: Filter Data](/previous-versions/dotnet/netframework-4.0/cc716755(v=vs.100)) - [How to: Sort Data](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/cc716784(v=vs.100)) + [How to: Sort Data](/previous-versions/dotnet/netframework-4.0/cc716784(v=vs.100)) - [How to: Group Data](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896341(v=vs.100)) + [How to: Group Data](/previous-versions/dotnet/netframework-4.0/bb896341(v=vs.100)) - [How to: Aggregate Data](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/cc716738(v=vs.100)) + [How to: Aggregate Data](/previous-versions/dotnet/netframework-4.0/cc716738(v=vs.100)) - [How to: Execute a Query that Returns Anonymous Type Objects](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb738512(v=vs.100)) + [How to: Execute a Query that Returns Anonymous Type Objects](/previous-versions/dotnet/netframework-4.0/bb738512(v=vs.100)) - [How to: Execute a Query that Returns a Collection of Primitive Types](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb738451(v=vs.100)) + [How to: Execute a Query that Returns a Collection of Primitive Types](/previous-versions/dotnet/netframework-4.0/bb738451(v=vs.100)) - [How to: Query Related Objects in an EntityCollection](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/cc716708(v=vs.100)) + [How to: Query Related Objects in an EntityCollection](/previous-versions/dotnet/netframework-4.0/cc716708(v=vs.100)) - [How to: Order the Union of Two Queries](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896299(v=vs.100)) + [How to: Order the Union of Two Queries](/previous-versions/dotnet/netframework-4.0/bb896299(v=vs.100)) - [How to: Page Through Query Results](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb738702(v=vs.100)) + [How to: Page Through Query Results](/previous-versions/dotnet/netframework-4.0/bb738702(v=vs.100)) ## In This Section [Entity SQL Overview](entity-sql-overview.md) diff --git a/docs/framework/data/adonet/ef/language-reference/entity-sql-reference.md b/docs/framework/data/adonet/ef/language-reference/entity-sql-reference.md index b38a5f0d22989..d69ea2ef1c1e1 100644 --- a/docs/framework/data/adonet/ef/language-reference/entity-sql-reference.md +++ b/docs/framework/data/adonet/ef/language-reference/entity-sql-reference.md @@ -61,7 +61,7 @@ Logical operators test for the truth of a condition. The CASE expression evaluat |[\! (Logical NOT)](not-entity-sql.md)|Logical NOT.| |[|| (Logical OR)](or-entity-sql.md)|Logical OR.| |[CASE](case-entity-sql.md)|Evaluates a set of Boolean expressions to determine the result.| -|[THEN](then-entity-sql.md)|The result of a [WHEN](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb387119(v=vs.100)) clause when it evaluates to true.| +|[THEN](then-entity-sql.md)|The result of a [WHEN](/previous-versions/dotnet/netframework-4.0/bb387119(v=vs.100)) clause when it evaluates to true.| ## Query operators diff --git a/docs/framework/data/adonet/ef/language-reference/function-entity-sql.md b/docs/framework/data/adonet/ef/language-reference/function-entity-sql.md index 0f01f235ace84..abc50daa10fff 100644 --- a/docs/framework/data/adonet/ef/language-reference/function-entity-sql.md +++ b/docs/framework/data/adonet/ef/language-reference/function-entity-sql.md @@ -55,7 +55,7 @@ FUNCTION function-name `A()` - For more information, see [How to: Call a User-Defined Function](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/dd490951(v=vs.100)). + For more information, see [How to: Call a User-Defined Function](/previous-versions/dotnet/netframework-4.0/dd490951(v=vs.100)). Functions can also be declared in the model itself. Functions declared in the model are executed in the same way as functions declared inline in the command. For more information, see [User-Defined Functions](user-defined-functions-entity-sql.md). diff --git a/docs/framework/data/adonet/ef/language-reference/how-to-call-custom-database-functions.md b/docs/framework/data/adonet/ef/language-reference/how-to-call-custom-database-functions.md index 36a121643605e..be02eb1dfee46 100644 --- a/docs/framework/data/adonet/ef/language-reference/how-to-call-custom-database-functions.md +++ b/docs/framework/data/adonet/ef/language-reference/how-to-call-custom-database-functions.md @@ -30,7 +30,7 @@ The procedure below provides a high-level outline for calling a custom database ## Example -The following example demonstrates how to call a custom database function from within a LINQ to Entities query. The example uses the School model. For information about the School model, see [Creating the School Sample Database](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb399731(v=vs.100)) and [Generating the School .edmx File](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb399739(v=vs.100)). +The following example demonstrates how to call a custom database function from within a LINQ to Entities query. The example uses the School model. For information about the School model, see [Creating the School Sample Database](/previous-versions/dotnet/netframework-4.0/bb399731(v=vs.100)) and [Generating the School .edmx File](/previous-versions/dotnet/netframework-4.0/bb399739(v=vs.100)). The following code adds the `AvgStudentGrade` function to the School sample database. @@ -61,5 +61,5 @@ Finally, call the method in a LINQ to Entities query. The following code display ## See also -- [.edmx File Overview](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/cc982042(v=vs.100)) +- [.edmx File Overview](/previous-versions/dotnet/netframework-4.0/cc982042(v=vs.100)) - [Queries in LINQ to Entities](queries-in-linq-to-entities.md) diff --git a/docs/framework/data/adonet/ef/language-reference/how-to-call-model-defined-functions-as-object-methods.md b/docs/framework/data/adonet/ef/language-reference/how-to-call-model-defined-functions-as-object-methods.md index f843c7c38bea3..919f395ed7f90 100644 --- a/docs/framework/data/adonet/ef/language-reference/how-to-call-model-defined-functions-as-object-methods.md +++ b/docs/framework/data/adonet/ef/language-reference/how-to-call-model-defined-functions-as-object-methods.md @@ -11,7 +11,7 @@ This topic describes how to call a model-defined function as a method on an method or as a static method on a custom class, you must first map the method to the model-defined function with an . However, when you define a method on the class, you must use the property to expose the LINQ provider, whereas when you define a static method on a custom class, you must use the property to expose the LINQ provider. For more information, see the examples that follow the procedures below. - The procedures below provide high-level outlines for calling a model-defined function as a method on an object and as a static method on a custom class. The examples that follow provide more detail about the steps in the procedures. The procedures assume that you have defined a function in the conceptual model. For more information, see [How to: Define Custom Functions in the Conceptual Model](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/dd456812(v=vs.100)). + The procedures below provide high-level outlines for calling a model-defined function as a method on an object and as a static method on a custom class. The examples that follow provide more detail about the steps in the procedures. The procedures assume that you have defined a function in the conceptual model. For more information, see [How to: Define Custom Functions in the Conceptual Model](/previous-versions/dotnet/netframework-4.0/dd456812(v=vs.100)). ### To call a model-defined function as a method on an ObjectContext object @@ -42,7 +42,7 @@ This topic describes how to call a model-defined function as a method on an object. The example uses the [AdventureWorks Sales Model](https://github.com/Microsoft/sql-server-samples/releases/tag/adventureworks). - Consider the conceptual model function below that returns product revenue for a specified product. (For information about adding the function to your conceptual model, see [How to: Define Custom Functions in the Conceptual Model](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/dd456812(v=vs.100)).) + Consider the conceptual model function below that returns product revenue for a specified product. (For information about adding the function to your conceptual model, see [How to: Define Custom Functions in the Conceptual Model](/previous-versions/dotnet/netframework-4.0/dd456812(v=vs.100)).) [!code-xml[DP L2E Methods on ObjectContext#4](../../../../../../samples/snippets/xml/VS_Snippets_Data/dp l2e methods on objectcontext/xml/adventureworks.edmx#4)] @@ -83,7 +83,7 @@ This topic describes how to call a model-defined function as a method on an [!NOTE] > When you call a model-defined function as a static method on a custom class, the model-defined function must accept a collection and return an aggregation of values in the collection. - Consider the conceptual model function below that returns product revenue for a SalesOrderDetail collection. (For information about adding the function to your conceptual model, see [How to: Define Custom Functions in the Conceptual Model](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/dd456812(v=vs.100)).). + Consider the conceptual model function below that returns product revenue for a SalesOrderDetail collection. (For information about adding the function to your conceptual model, see [How to: Define Custom Functions in the Conceptual Model](/previous-versions/dotnet/netframework-4.0/dd456812(v=vs.100)).). [!code-xml[DP L2E Methods on ObjectContext#1](../../../../../../samples/snippets/xml/VS_Snippets_Data/dp l2e methods on objectcontext/xml/adventureworks.edmx#1)] @@ -101,6 +101,6 @@ This topic describes how to call a model-defined function as a method on an and methods to query the [AdventureWorks Sales Model](https://github.com/Microsoft/sql-server-samples/releases/tag/adventureworks) using query expression syntax. The AdventureWorks Sales Model used in these examples is built from the Contact, Address, Product, SalesOrderHeader, and SalesOrderDetail tables in the AdventureWorks sample database. diff --git a/docs/framework/data/adonet/ef/language-reference/skip-entity-sql.md b/docs/framework/data/adonet/ef/language-reference/skip-entity-sql.md index f4fe8a7fda3de..c726d3a1c4910 100644 --- a/docs/framework/data/adonet/ef/language-reference/skip-entity-sql.md +++ b/docs/framework/data/adonet/ef/language-reference/skip-entity-sql.md @@ -32,11 +32,11 @@ If a SKIP expression sub-clause is present in an ORDER BY clause, the results wi > SELECT [E] FROM Container.EntitySet AS [E] ORDER BY [E].[NonKeyColumn] DESC SKIP 5L > ``` -The [!INCLUDE[esql](../../../../../../includes/esql-md.md)] query in [How to: Page Through Query Results](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb738702(v=vs.100)) uses the ORDER BY operator with SKIP to specify the sort order used on objects returned in a SELECT statement. +The [!INCLUDE[esql](../../../../../../includes/esql-md.md)] query in [How to: Page Through Query Results](/previous-versions/dotnet/netframework-4.0/bb738702(v=vs.100)) uses the ORDER BY operator with SKIP to specify the sort order used on objects returned in a SELECT statement. ## See also - [ORDER BY](order-by-entity-sql.md) -- [How to: Page Through Query Results](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb738702(v=vs.100)) +- [How to: Page Through Query Results](/previous-versions/dotnet/netframework-4.0/bb738702(v=vs.100)) - [Paging](paging-entity-sql.md) - [TOP](top-entity-sql.md) diff --git a/docs/framework/data/adonet/ef/language-reference/standard-query-operators-in-linq-to-entities-queries.md b/docs/framework/data/adonet/ef/language-reference/standard-query-operators-in-linq-to-entities-queries.md index ffd0e3dd97fce..2e8213bc7c298 100644 --- a/docs/framework/data/adonet/ef/language-reference/standard-query-operators-in-linq-to-entities-queries.md +++ b/docs/framework/data/adonet/ef/language-reference/standard-query-operators-in-linq-to-entities-queries.md @@ -4,7 +4,7 @@ ms.date: "08/21/2018" ms.assetid: 7fa55a9b-6219-473d-b1e5-2884a32dcdff --- # Standard Query Operators in LINQ to Entities Queries -In a query, you specify the information that you want to retrieve from the data source. A query can also specify how that information should be sorted, grouped, and shaped before it is returned. LINQ provides a set of standard query methods that you can use in a query. Most of these methods operate on sequences; in this context, a sequence is an object whose type implements the interface or the interface. The standard query operators query functionality includes filtering, projection, aggregation, sorting, grouping, paging, and more. Some of the more frequently used standard query operators have dedicated keyword syntax so that they can be called by using query expression syntax. A query expression is a different, more readable way to express a query than the method-based equivalent. Query expression clauses are translated into calls to the query methods at compile time. For a list of standard query operators that have equivalent query expression clauses, see [Standard Query Operators Overview](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2013/bb397896(v=vs.120)). +In a query, you specify the information that you want to retrieve from the data source. A query can also specify how that information should be sorted, grouped, and shaped before it is returned. LINQ provides a set of standard query methods that you can use in a query. Most of these methods operate on sequences; in this context, a sequence is an object whose type implements the interface or the interface. The standard query operators query functionality includes filtering, projection, aggregation, sorting, grouping, paging, and more. Some of the more frequently used standard query operators have dedicated keyword syntax so that they can be called by using query expression syntax. A query expression is a different, more readable way to express a query than the method-based equivalent. Query expression clauses are translated into calls to the query methods at compile time. For a list of standard query operators that have equivalent query expression clauses, see [Standard Query Operators Overview](/previous-versions/visualstudio/visual-studio-2013/bb397896(v=vs.120)). Not all of the standard query operators are supported in LINQ to Entities queries. For more information, see [Supported and Unsupported LINQ Methods (LINQ to Entities)](supported-and-unsupported-linq-methods-linq-to-entities.md). This topic provides information about the standard query operators that is specific to LINQ to Entities. For more information about known issues in LINQ to Entities queries, see [Known Issues and Considerations in LINQ to Entities](known-issues-and-considerations-in-linq-to-entities.md). @@ -73,4 +73,4 @@ In a query, you specify the information that you want to retrieve from the data ## See also - [Supported and Unsupported LINQ Methods (LINQ to Entities)](supported-and-unsupported-linq-methods-linq-to-entities.md) -- [Standard Query Operators Overview](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2013/bb397896(v=vs.120)) +- [Standard Query Operators Overview](/previous-versions/visualstudio/visual-studio-2013/bb397896(v=vs.120)) diff --git a/docs/framework/data/adonet/ef/language-reference/treat-entity-sql.md b/docs/framework/data/adonet/ef/language-reference/treat-entity-sql.md index 8954d77ee1277..84287bf57675a 100644 --- a/docs/framework/data/adonet/ef/language-reference/treat-entity-sql.md +++ b/docs/framework/data/adonet/ef/language-reference/treat-entity-sql.md @@ -56,7 +56,7 @@ WHERE p IS OF (NamespaceName.Employee) |`TREAT (RowType AS RowType)`|Throws an exception.| ## Example - The following [!INCLUDE[esql](../../../../../../includes/esql-md.md)] query uses the TREAT operator to convert an object of the type Course to a collection of objects of the type OnsiteCourse. The query is based on the [School Model](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896300(v=vs.100)). + The following [!INCLUDE[esql](../../../../../../includes/esql-md.md)] query uses the TREAT operator to convert an object of the type Course to a collection of objects of the type OnsiteCourse. The query is based on the [School Model](/previous-versions/dotnet/netframework-4.0/bb896300(v=vs.100)). [!code-sql[DP EntityServices Concepts#TREAT_ISOF](~/samples/snippets/tsql/VS_Snippets_Data/dp entityservices concepts/tsql/entitysql.sql#treat_isof)] diff --git a/docs/framework/data/adonet/ef/language-reference/user-defined-functions-entity-sql.md b/docs/framework/data/adonet/ef/language-reference/user-defined-functions-entity-sql.md index fc31148d82971..a24cd25ce62c3 100644 --- a/docs/framework/data/adonet/ef/language-reference/user-defined-functions-entity-sql.md +++ b/docs/framework/data/adonet/ef/language-reference/user-defined-functions-entity-sql.md @@ -4,7 +4,7 @@ ms.date: "03/30/2017" ms.assetid: 3f9e6bbd-8e5a-43e1-809f-f8a61338e522 --- # User-Defined Functions (Entity SQL) -Entity SQL supports calling user-defined functions in a query. You can define these functions inline with the query (see [How to: Call a User-Defined Function](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/dd490951(v=vs.100))) or as part of the conceptual model (see [How to: Define Custom Functions in the Conceptual Model](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/dd456812(v=vs.100))). Conceptual model functions are defined as an Entity SQL command in the [DefiningExpression](/ef/ef6/modeling/designer/advanced/edmx/csdl-spec#definingexpression-element-csdl) element of a [Function](/ef/ef6/modeling/designer/advanced/edmx/csdl-spec#function-element-csdl) element in the conceptual model. +Entity SQL supports calling user-defined functions in a query. You can define these functions inline with the query (see [How to: Call a User-Defined Function](/previous-versions/dotnet/netframework-4.0/dd490951(v=vs.100))) or as part of the conceptual model (see [How to: Define Custom Functions in the Conceptual Model](/previous-versions/dotnet/netframework-4.0/dd456812(v=vs.100))). Conceptual model functions are defined as an Entity SQL command in the [DefiningExpression](/ef/ef6/modeling/designer/advanced/edmx/csdl-spec#definingexpression-element-csdl) element of a [Function](/ef/ef6/modeling/designer/advanced/edmx/csdl-spec#function-element-csdl) element in the conceptual model. Entity SQL enables you to define functions in the query command itself. The [FUNCTION](function-entity-sql.md) operator defines inline functions. You can define multiple functions in a single command, and these functions can have the same function name, as long as the function signatures are unique. For more information, see [Function Overload Resolution](function-overload-resolution-entity-sql.md). diff --git a/docs/framework/data/adonet/ef/migration-considerations.md b/docs/framework/data/adonet/ef/migration-considerations.md index 16c87bc5a2996..b4c83a0abeb89 100644 --- a/docs/framework/data/adonet/ef/migration-considerations.md +++ b/docs/framework/data/adonet/ef/migration-considerations.md @@ -23,7 +23,7 @@ The ADO.NET Entity Framework provides several benefits to an existing applicatio The path to migrate an existing application to the Entity Framework depends both on the type of application and on the existing data access strategy. However, you must always perform the following tasks when you migrate an existing application to the Entity Framework. > [!NOTE] -> All of these tasks are performed automatically when you use the Entity Data Model tools starting with Visual Studio 2008. For more information, see [How to: Use the Entity Data Model Wizard](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb738677(v=vs.100)). +> All of these tasks are performed automatically when you use the Entity Data Model tools starting with Visual Studio 2008. For more information, see [How to: Use the Entity Data Model Wizard](/previous-versions/dotnet/netframework-4.0/bb738677(v=vs.100)). 1. Upgrade the application. @@ -31,12 +31,12 @@ The ADO.NET Entity Framework provides several benefits to an existing applicatio 2. Define the models and mapping. - The model and mapping files define entities in the conceptual model; structures in the data source, such as tables, stored procedures, and views; and the mapping between the entities and data source structures. For more information, see [How to: Manually Define the Model and Mapping Files](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb399785(v=vs.100)). + The model and mapping files define entities in the conceptual model; structures in the data source, such as tables, stored procedures, and views; and the mapping between the entities and data source structures. For more information, see [How to: Manually Define the Model and Mapping Files](/previous-versions/dotnet/netframework-4.0/bb399785(v=vs.100)). - Types that are defined in the storage model must match the name of objects in the data source. If the existing application exposes data as objects, you must ensure that the entities and properties that are defined in the conceptual model match the names of these existing data classes and properties. For more information, see [How to: Customize Modeling and Mapping Files to Work with Custom Objects](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb738625(v=vs.100)). + Types that are defined in the storage model must match the name of objects in the data source. If the existing application exposes data as objects, you must ensure that the entities and properties that are defined in the conceptual model match the names of these existing data classes and properties. For more information, see [How to: Customize Modeling and Mapping Files to Work with Custom Objects](/previous-versions/dotnet/netframework-4.0/bb738625(v=vs.100)). > [!NOTE] - > The Entity Data Model Designer can be used to rename entities in the conceptual model to match existing objects. For more information, see [Entity Data Model Designer](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/cc716685(v=vs.100)). + > The Entity Data Model Designer can be used to rename entities in the conceptual model to match existing objects. For more information, see [Entity Data Model Designer](/previous-versions/dotnet/netframework-4.0/cc716685(v=vs.100)). 3. Define the connection string. @@ -44,10 +44,10 @@ The ADO.NET Entity Framework provides several benefits to an existing applicatio 4. Configure the Visual Studio project. - References to Entity Framework assemblies and the model and mapping files must be added to the Visual Studio project. You can add these mapping files to the project to ensure that they are deployed with the application in the location that is indicated in the connection string. For more information, see [How to: Manually Configure an Entity Framework Project](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb738546(v=vs.100)). + References to Entity Framework assemblies and the model and mapping files must be added to the Visual Studio project. You can add these mapping files to the project to ensure that they are deployed with the application in the location that is indicated in the connection string. For more information, see [How to: Manually Configure an Entity Framework Project](/previous-versions/dotnet/netframework-4.0/bb738546(v=vs.100)). ## Considerations for Applications with Existing Objects - Starting with the .NET Framework 4, the Entity Framework supports "plain old" CLR objects (POCO), also called persistence-ignorant objects. In most cases, your existing objects can work with the Entity Framework by making minor changes. For more information, see [Working with POCO Entities](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/dd456853(v=vs.100)). You can also migrate an application to the Entity Framework and use the data classes that are generated by the Entity Framework tools. For more information, see [How to: Use the Entity Data Model Wizard](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb738677(v=vs.100)). + Starting with the .NET Framework 4, the Entity Framework supports "plain old" CLR objects (POCO), also called persistence-ignorant objects. In most cases, your existing objects can work with the Entity Framework by making minor changes. For more information, see [Working with POCO Entities](/previous-versions/dotnet/netframework-4.0/dd456853(v=vs.100)). You can also migrate an application to the Entity Framework and use the data classes that are generated by the Entity Framework tools. For more information, see [How to: Use the Entity Data Model Wizard](/previous-versions/dotnet/netframework-4.0/bb738677(v=vs.100)). ## Considerations for Applications that Use ADO.NET Providers ADO.NET providers, such as SqlClient, enable you to query a data source to return tabular data. Data can also be loaded into an ADO.NET DataSet. The following list describes considerations for upgrading an application that uses an existing ADO.NET provider: @@ -71,30 +71,30 @@ The ADO.NET Entity Framework provides several benefits to an existing applicatio If your application enumerates the results of a query to display data in a or other type of control that supports data binding, you can modify your application to bind the control to the result of an . - For more information, see [Binding Objects to Controls](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb738469(v=vs.100)). + For more information, see [Binding Objects to Controls](/previous-versions/dotnet/netframework-4.0/bb738469(v=vs.100)). - ASP.NET data source controls. - The Entity Framework includes a data source control designed to simplify data binding in ASP.NET Web applications. For more information, see [EntityDataSource Web Server Control Overview](https://docs.microsoft.com/previous-versions/aspnet/cc488502(v=vs.100)). + The Entity Framework includes a data source control designed to simplify data binding in ASP.NET Web applications. For more information, see [EntityDataSource Web Server Control Overview](/previous-versions/aspnet/cc488502(v=vs.100)). ## Other Considerations The following are considerations that may apply when you migrate specific types of applications to the Entity Framework. - Applications that expose data services. - Web services and applications that are based on the Windows Communication Foundation (WCF) expose data from an underlying data source by using an XML request/response messaging format. The Entity Framework supports the serialization of entity objects by using binary, XML, or WCF data contract serialization. Binary and WCF serialization both support full serialization of object graphs. For more information, see [Building N-Tier Applications](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896304(v=vs.100)). + Web services and applications that are based on the Windows Communication Foundation (WCF) expose data from an underlying data source by using an XML request/response messaging format. The Entity Framework supports the serialization of entity objects by using binary, XML, or WCF data contract serialization. Binary and WCF serialization both support full serialization of object graphs. For more information, see [Building N-Tier Applications](/previous-versions/dotnet/netframework-4.0/bb896304(v=vs.100)). - Applications that use XML data. Object serialization enables you to create Entity Framework data services. These services provide data to applications that consume XML data, such as AJAX-based Internet applications. In these cases, consider using WCF Data Services. These data services are based on the Entity Data Model and provide dynamic access to entity data by using standard Representational State Transfer (REST) HTTP actions, such as GET, PUT, and POST. For more information, see [WCF Data Services 4.5](../../wcf/index.md). - The Entity Framework does not support a native-XML data type. This means that when an entity is mapped to a table with an XML column, the equivalent entity property for the XML column is a string. Objects can be disconnected and serialized as XML. For more information, see [Serializing Objects](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb738446(v=vs.100)). + The Entity Framework does not support a native-XML data type. This means that when an entity is mapped to a table with an XML column, the equivalent entity property for the XML column is a string. Objects can be disconnected and serialized as XML. For more information, see [Serializing Objects](/previous-versions/dotnet/netframework-4.0/bb738446(v=vs.100)). - If your application requires the ability to query XML data, you can still take advantage of the benefits of LINQ queries by using LINQ to XML. For more information, see [LINQ to XML (C#)](../../../../csharp/programming-guide/concepts/linq/linq-to-xml-overview.md) or [LINQ to XML (Visual Basic)](../../../../visual-basic/programming-guide/concepts/linq/linq-to-xml.md). + If your application requires the ability to query XML data, you can still take advantage of the benefits of LINQ queries by using LINQ to XML. For more information, see [LINQ to XML (C#)](../../../../standard/linq/linq-xml-overview.md) or [LINQ to XML (Visual Basic)](../../../../standard/linq/linq-xml-overview.md). - Applications that maintain state. - ASP.NET Web applications must frequently maintain the state of a Web page or of a user session. Objects in an instance can be stored in the client view state or in the session state on the server, and later retrieved and reattached to a new object context. For more information, see [Attaching and Detaching Objects](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896271(v=vs.100)). + ASP.NET Web applications must frequently maintain the state of a Web page or of a user session. Objects in an instance can be stored in the client view state or in the session state on the server, and later retrieved and reattached to a new object context. For more information, see [Attaching and Detaching Objects](/previous-versions/dotnet/netframework-4.0/bb896271(v=vs.100)). ## See also diff --git a/docs/framework/data/adonet/ef/modeling-and-mapping.md b/docs/framework/data/adonet/ef/modeling-and-mapping.md index aeaab6d306d91..0f44c535b51ba 100644 --- a/docs/framework/data/adonet/ef/modeling-and-mapping.md +++ b/docs/framework/data/adonet/ef/modeling-and-mapping.md @@ -4,7 +4,7 @@ ms.date: "03/30/2017" ms.assetid: ec8a9515-3708-4cde-a688-4d8e6975f150 --- # Modeling and Mapping -In the Entity Framework, you can define the conceptual model, storage model, and the mapping between the two in the way that best suits your application. The Entity Data Model Tools in Visual Studio allow you to create an .[edmx file](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/cc982042(v=vs.100)) from a database or a graphical model and then update that file when either the database or model changes. +In the Entity Framework, you can define the conceptual model, storage model, and the mapping between the two in the way that best suits your application. The Entity Data Model Tools in Visual Studio allow you to create an .[edmx file](/previous-versions/dotnet/netframework-4.0/cc982042(v=vs.100)) from a database or a graphical model and then update that file when either the database or model changes. Starting with the Entity Framework 4.1 you can also create a model programmatically using Code First development. There are two different scenarios for Code First development. In both cases, the developer defines a model by coding .NET Framework class definitions, and then optionally specifies additional mapping or configuration by using Data Annotations or the fluent API. diff --git a/docs/framework/data/adonet/ef/overview.md b/docs/framework/data/adonet/ef/overview.md index 51808f88488ac..046ee6f25840c 100644 --- a/docs/framework/data/adonet/ef/overview.md +++ b/docs/framework/data/adonet/ef/overview.md @@ -66,7 +66,7 @@ Together with the Entity Framework runtime, Visual Studio includes the mapping a To learn more about the Entity Framework, see: -[Getting Started](getting-started.md) - Provides information about how to get up and running quickly using the [Quickstart](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb399182(v=vs.100)), which shows how to create a simple Entity Framework application. +[Getting Started](getting-started.md) - Provides information about how to get up and running quickly using the [Quickstart](/previous-versions/dotnet/netframework-4.0/bb399182(v=vs.100)), which shows how to create a simple Entity Framework application. [Entity Framework Terminology](terminology.md) - Defines many of the terms that are introduced by the Entity Data Model and the Entity Framework and that are used in Entity Framework documentation. diff --git a/docs/framework/data/adonet/ef/performance-considerations.md b/docs/framework/data/adonet/ef/performance-considerations.md index c44f403a8a38f..61135894f6973 100644 --- a/docs/framework/data/adonet/ef/performance-considerations.md +++ b/docs/framework/data/adonet/ef/performance-considerations.md @@ -13,13 +13,13 @@ This topic describes performance characteristics of the ADO.NET Entity Framework |Operation|Relative Cost|Frequency|Comments| |---------------|-------------------|---------------|--------------| |Loading metadata|Moderate|Once in each application domain.|Model and mapping metadata used by the Entity Framework is loaded into a . This metadata is cached globally and is available to other instances of in the same application domain.| -|Opening the database connection|Moderate1|As needed.|Because an open connection to the database consumes a valuable resource, the Entity Framework opens and closes the database connection only as needed. You can also explicitly open the connection. For more information, see [Managing Connections and Transactions](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896325(v=vs.100)).| -|Generating views|High|Once in each application domain. (Can be pre-generated.)|Before the Entity Framework can execute a query against a conceptual model or save changes to the data source, it must generate a set of local query views to access the database. Because of the high cost of generating these views, you can pre-generate the views and add them to the project at design-time. For more information, see [How to: Pre-Generate Views to Improve Query Performance](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896240(v=vs.100)).| +|Opening the database connection|Moderate1|As needed.|Because an open connection to the database consumes a valuable resource, the Entity Framework opens and closes the database connection only as needed. You can also explicitly open the connection. For more information, see [Managing Connections and Transactions](/previous-versions/dotnet/netframework-4.0/bb896325(v=vs.100)).| +|Generating views|High|Once in each application domain. (Can be pre-generated.)|Before the Entity Framework can execute a query against a conceptual model or save changes to the data source, it must generate a set of local query views to access the database. Because of the high cost of generating these views, you can pre-generate the views and add them to the project at design-time. For more information, see [How to: Pre-Generate Views to Improve Query Performance](/previous-versions/dotnet/netframework-4.0/bb896240(v=vs.100)).| |Preparing the query|Moderate2|Once for each unique query.|Includes the costs to compose the query command, generate a command tree based on model and mapping metadata, and define the shape of the returned data. Because now both Entity SQL query commands and LINQ queries are cached, later executions of the same query take less time. You can still use compiled LINQ queries to reduce this cost in later executions and compiled queries can be more efficient than LINQ queries that are automatically cached. For more information, see [Compiled Queries (LINQ to Entities)](./language-reference/compiled-queries-linq-to-entities.md). For general information about LINQ query execution, see [LINQ to Entities](./language-reference/linq-to-entities.md). **Note:** LINQ to Entities queries that apply the `Enumerable.Contains` operator to in-memory collections are not automatically cached. Also parameterizing in-memory collections in compiled LINQ queries is not allowed.| |Executing the query|Low2|Once for each query.|The cost of executing the command against the data source by using the ADO.NET data provider. Because most data sources cache query plans, later executions of the same query may take even less time.| |Loading and validating types|Low3|Once for each instance.|Types are loaded and validated against the types that the conceptual model defines.| -|Tracking|Low3|Once for each object that a query returns. 4|If a query uses the merge option, this stage does not affect performance.

If the query uses the , , or merge option, query results are tracked in the . An is generated for each tracked object that the query returns and is used to create an in the . If an existing can be found for the , the existing object is returned. If the , or option is used, the object is updated before it is returned.

For more information, see [Identity Resolution, State Management, and Change Tracking](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896269(v=vs.100)).| -|Materializing the objects|Moderate3|Once for each object that a query returns. 4|The process of reading the returned object and creating objects and setting property values that are based on the values in each instance of the class. If the object already exists in the and the query uses the or merge options, this stage does not affect performance. For more information, see [Identity Resolution, State Management, and Change Tracking](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896269(v=vs.100)).| +|Tracking|Low3|Once for each object that a query returns. 4|If a query uses the merge option, this stage does not affect performance.

If the query uses the , , or merge option, query results are tracked in the . An is generated for each tracked object that the query returns and is used to create an in the . If an existing can be found for the , the existing object is returned. If the , or option is used, the object is updated before it is returned.

For more information, see [Identity Resolution, State Management, and Change Tracking](/previous-versions/dotnet/netframework-4.0/bb896269(v=vs.100)).| +|Materializing the objects|Moderate3|Once for each object that a query returns. 4|The process of reading the returned object and creating objects and setting property values that are based on the values in each instance of the class. If the object already exists in the and the query uses the or merge options, this stage does not affect performance. For more information, see [Identity Resolution, State Management, and Change Tracking](/previous-versions/dotnet/netframework-4.0/bb896269(v=vs.100)).| 1 When a data source provider implements connection pooling, the cost of opening a connection is distributed across the pool. The .NET Provider for SQL Server supports connection pooling. @@ -36,7 +36,7 @@ This topic describes performance characteristics of the ADO.NET Entity Framework Because queries can be resource intensive, consider at what point in your code and on what computer a query is executed. #### Deferred versus immediate execution - When you create an or LINQ query, the query may not be executed immediately. Query execution is deferred until the results are needed, such as during a `foreach` (C#) or `For Each` (Visual Basic) enumeration or when it is assigned to fill a collection. Query execution begins immediately when you call the method on an or when you call a LINQ method that returns a singleton query, such as or . For more information, see [Object Queries](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896241(v=vs.100)) and [Query Execution (LINQ to Entities)](./language-reference/query-execution.md). + When you create an or LINQ query, the query may not be executed immediately. Query execution is deferred until the results are needed, such as during a `foreach` (C#) or `For Each` (Visual Basic) enumeration or when it is assigned to fill a collection. Query execution begins immediately when you call the method on an or when you call a LINQ method that returns a singleton query, such as or . For more information, see [Object Queries](/previous-versions/dotnet/netframework-4.0/bb896241(v=vs.100)) and [Query Execution (LINQ to Entities)](./language-reference/query-execution.md). #### Client-side execution of LINQ queries Although the execution of a LINQ query occurs on the computer that hosts the data source, some parts of a LINQ query may be evaluated on the client computer. For more information, see the Store Execution section of [Query Execution (LINQ to Entities)](./language-reference/query-execution.md). @@ -53,7 +53,7 @@ This topic describes performance characteristics of the ADO.NET Entity Framework - Queries against a conceptual model that seem simple may result in the execution of more complex queries against the data source. This can occur because the Entity Framework translates a query against a conceptual model into an equivalent query against the data source. When a single entity set in the conceptual model maps to more than one table in the data source, or when a relationship between entities is mapped to a join table, the query command executed against the data source query may require one or more joins. > [!NOTE] - > Use the method of the or classes to view the commands that are executed against the data source for a given query. For more information, see [How to: View the Store Commands](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896348(v=vs.100)). + > Use the method of the or classes to view the commands that are executed against the data source for a given query. For more information, see [How to: View the Store Commands](/previous-versions/dotnet/netframework-4.0/bb896348(v=vs.100)). - Nested Entity SQL queries may create joins on the server and can return a large number of rows. @@ -67,7 +67,7 @@ This topic describes performance characteristics of the ADO.NET Entity Framework In addition, such queries cause the query pipeline to generate a single query with duplication of objects across nested queries. Because of this, a single column may be duplicated multiple times. On some databases, including SQL Server, this can cause the TempDB table to grow very large, which can decrease server performance. Care should be taken when you execute nested queries. -- Any queries that return a large amount of data can cause decreased performance if the client is performing operations that consume resources in a way that is proportional to the size of the result set. In such cases, you should consider limiting the amount of data returned by the query. For more information, see [How to: Page Through Query Results](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb738702(v=vs.100)). +- Any queries that return a large amount of data can cause decreased performance if the client is performing operations that consume resources in a way that is proportional to the size of the result set. In such cases, you should consider limiting the amount of data returned by the query. For more information, see [How to: Page Through Query Results](/previous-versions/dotnet/netframework-4.0/bb738702(v=vs.100)). Any commands automatically generated by the Entity Framework may be more complex than similar commands written explicitly by a database developer. If you need explicit control over the commands executed against your data source, consider defining a mapping to a table-valued function or stored procedure. @@ -81,15 +81,15 @@ This topic describes performance characteristics of the ADO.NET Entity Framework 2. Call the `Load` method on the navigation property that the object exposes. -3. Set the option on the to `true`. Note that this is done automatically when you generate object-layer code with the [Entity Data Model Designer](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/cc716685(v=vs.100)). For more information see [Generated Code Overview](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/cc982041(v=vs.100)). +3. Set the option on the to `true`. Note that this is done automatically when you generate object-layer code with the [Entity Data Model Designer](/previous-versions/dotnet/netframework-4.0/cc716685(v=vs.100)). For more information see [Generated Code Overview](/previous-versions/dotnet/netframework-4.0/cc982041(v=vs.100)). - When you consider which option to use, be aware that there is a tradeoff between the number of requests against the database and the amount of data returned in a single query. For more information, see [Loading Related Objects](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896272(v=vs.100)). + When you consider which option to use, be aware that there is a tradeoff between the number of requests against the database and the amount of data returned in a single query. For more information, see [Loading Related Objects](/previous-versions/dotnet/netframework-4.0/bb896272(v=vs.100)). #### Using query paths Query paths define the graph of objects that a query returns. When you define a query path, only a single request against the database is required to return all objects that the path defines. Using query paths can result in complex commands being executed against the data source from seemingly simple object queries. This occurs because one or more joins are required to return related objects in a single query. This complexity is greater in queries against a complex entity model, such as an entity with inheritance or a path that includes many-to-many relationships. > [!NOTE] -> Use the method to see the command that will be generated by an . For more information, see [How to: View the Store Commands](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896348(v=vs.100)). +> Use the method to see the command that will be generated by an . For more information, see [How to: View the Store Commands](/previous-versions/dotnet/netframework-4.0/bb896348(v=vs.100)). When a query path includes too many related objects or the objects contain too much row data, the data source might be unable to complete the query. This occurs if the query requires intermediate temporary storage that exceeds the capabilities of the data source. When this occurs, you can reduce the complexity of the data source query by explicitly loading related objects. @@ -111,42 +111,42 @@ This topic describes performance characteristics of the ADO.NET Entity Framework - An explicit transaction with an operation against a SQL Server 2000 database or other data source that always promote explicit transactions to the DTC. -- An explicit transaction with an operation against SQL Server 2005 when the connection is managed by the Entity Framework. This occurs because SQL Server 2005 promotes to a DTC whenever a connection is closed and reopened within a single transaction, which is the default behavior of the Entity Framework. This DTC promotion does not occur when using SQL Server 2008. To avoid this promotion when using SQL Server 2005, you must explicitly open and close the connection within the transaction. For more information, see [Managing Connections and Transactions](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896325(v=vs.100)). +- An explicit transaction with an operation against SQL Server 2005 when the connection is managed by the Entity Framework. This occurs because SQL Server 2005 promotes to a DTC whenever a connection is closed and reopened within a single transaction, which is the default behavior of the Entity Framework. This DTC promotion does not occur when using SQL Server 2008. To avoid this promotion when using SQL Server 2005, you must explicitly open and close the connection within the transaction. For more information, see [Managing Connections and Transactions](/previous-versions/dotnet/netframework-4.0/bb896325(v=vs.100)). - An explicit transaction is used when one or more operations are executed inside a transaction. For more information, see [Managing Connections and Transactions](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896325(v=vs.100)). + An explicit transaction is used when one or more operations are executed inside a transaction. For more information, see [Managing Connections and Transactions](/previous-versions/dotnet/netframework-4.0/bb896325(v=vs.100)). ## Strategies for Improving Performance You can improve the overall performance of queries in the Entity Framework by using the following strategies. #### Pre-generate views - Generating views based on an entity model is a significant cost the first time that an application executes a query. Use the EdmGen.exe utility to pre-generate views as a Visual Basic or C# code file that can be added to the project during design. You could also use the Text Template Transformation Toolkit to generate pre-compiled views. Pre-generated views are validated at runtime to ensure that they are consistent with the current version of the specified entity model. For more information, see [How to: Pre-Generate Views to Improve Query Performance](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896240(v=vs.100)). + Generating views based on an entity model is a significant cost the first time that an application executes a query. Use the EdmGen.exe utility to pre-generate views as a Visual Basic or C# code file that can be added to the project during design. You could also use the Text Template Transformation Toolkit to generate pre-compiled views. Pre-generated views are validated at runtime to ensure that they are consistent with the current version of the specified entity model. For more information, see [How to: Pre-Generate Views to Improve Query Performance](/previous-versions/dotnet/netframework-4.0/bb896240(v=vs.100)). When working with very large models, the following consideration applies: - The .NET metadata format limits the number of user string characters in a given binary to 16,777,215 (0xFFFFFF). If you are generating views for a very large model and the view file reaches this size limit, you will get the "No logical space left to create more user strings." compile error. This size limitation applies to all managed binaries. For more information see the [blog](https://docs.microsoft.com/archive/blogs/appfabriccat/solving-the-no-logical-space-left-to-create-more-user-strings-error-and-improving-performance-of-pre-generated-views-in-visual-studio-net4-entity-framework) that demonstrates how to avoid the error when working with large and complex models. + The .NET metadata format limits the number of user string characters in a given binary to 16,777,215 (0xFFFFFF). If you are generating views for a very large model and the view file reaches this size limit, you will get the "No logical space left to create more user strings." compile error. This size limitation applies to all managed binaries. For more information see the [blog](/archive/blogs/appfabriccat/solving-the-no-logical-space-left-to-create-more-user-strings-error-and-improving-performance-of-pre-generated-views-in-visual-studio-net4-entity-framework) that demonstrates how to avoid the error when working with large and complex models. #### Consider using the NoTracking merge option for queries There is a cost required to track returned objects in the object context. Detecting changes to objects and ensuring that multiple requests for the same logical entity return the same object instance requires that objects be attached to an instance. If you do not plan to make updates or deletes to objects and do not require identity management, consider using the merge options when you execute queries. #### Return the correct amount of data - In some scenarios, specifying a query path using the method is much faster because it requires fewer round trips to the database. However, in other scenarios, additional round trips to the database to load related objects may be faster because the simpler queries with fewer joins result in less redundancy of data. Because of this, we recommend that you test the performance of various ways to retrieve related objects. For more information, see [Loading Related Objects](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896272(v=vs.100)). + In some scenarios, specifying a query path using the method is much faster because it requires fewer round trips to the database. However, in other scenarios, additional round trips to the database to load related objects may be faster because the simpler queries with fewer joins result in less redundancy of data. Because of this, we recommend that you test the performance of various ways to retrieve related objects. For more information, see [Loading Related Objects](/previous-versions/dotnet/netframework-4.0/bb896272(v=vs.100)). - To avoid returning too much data in a single query, consider paging the results of the query into more manageable groups. For more information, see [How to: Page Through Query Results](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb738702(v=vs.100)). + To avoid returning too much data in a single query, consider paging the results of the query into more manageable groups. For more information, see [How to: Page Through Query Results](/previous-versions/dotnet/netframework-4.0/bb738702(v=vs.100)). #### Limit the scope of the ObjectContext - In most cases, you should create an instance within a `using` statement (`Using…End Using` in Visual Basic). This can increase performance by ensuring that the resources associated with the object context are disposed automatically when the code exits the statement block. However, when controls are bound to objects managed by the object context, the instance should be maintained as long as the binding is needed and disposed of manually. For more information, see [Managing Connections and Transactions](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896325(v=vs.100)). + In most cases, you should create an instance within a `using` statement (`Using…End Using` in Visual Basic). This can increase performance by ensuring that the resources associated with the object context are disposed automatically when the code exits the statement block. However, when controls are bound to objects managed by the object context, the instance should be maintained as long as the binding is needed and disposed of manually. For more information, see [Managing Connections and Transactions](/previous-versions/dotnet/netframework-4.0/bb896325(v=vs.100)). #### Consider opening the database connection manually - When your application executes a series of object queries or frequently calls to persist create, update, and delete operations to the data source, the Entity Framework must continuously open and close the connection to the data source. In these situations, consider manually opening the connection at the start of these operations and either closing or disposing of the connection when the operations are complete. For more information, see [Managing Connections and Transactions](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896325(v=vs.100)). + When your application executes a series of object queries or frequently calls to persist create, update, and delete operations to the data source, the Entity Framework must continuously open and close the connection to the data source. In these situations, consider manually opening the connection at the start of these operations and either closing or disposing of the connection when the operations are complete. For more information, see [Managing Connections and Transactions](/previous-versions/dotnet/netframework-4.0/bb896325(v=vs.100)). ## Performance Data - Some performance data for the Entity Framework is published in the following posts on the [ADO.NET team blog](https://docs.microsoft.com/archive/blogs/adonet/): + Some performance data for the Entity Framework is published in the following posts on the [ADO.NET team blog](/archive/blogs/adonet/): -- [Exploring the Performance of the ADO.NET Entity Framework - Part 1](https://docs.microsoft.com/archive/blogs/adonet/exploring-the-performance-of-the-ado-net-entity-framework-part-1) +- [Exploring the Performance of the ADO.NET Entity Framework - Part 1](/archive/blogs/adonet/exploring-the-performance-of-the-ado-net-entity-framework-part-1) -- [Exploring the Performance of the ADO.NET Entity Framework – Part 2](https://docs.microsoft.com/archive/blogs/adonet/exploring-the-performance-of-the-ado-net-entity-framework-part-2) +- [Exploring the Performance of the ADO.NET Entity Framework – Part 2](/archive/blogs/adonet/exploring-the-performance-of-the-ado-net-entity-framework-part-2) -- [ADO.NET Entity Framework Performance Comparison](https://docs.microsoft.com/archive/blogs/adonet/ado-net-entity-framework-performance-comparison) +- [ADO.NET Entity Framework Performance Comparison](/archive/blogs/adonet/ado-net-entity-framework-performance-comparison) ## See also diff --git a/docs/framework/data/adonet/ef/resources.md b/docs/framework/data/adonet/ef/resources.md index 64c6dc1cb0fbc..03b7608431353 100644 --- a/docs/framework/data/adonet/ef/resources.md +++ b/docs/framework/data/adonet/ef/resources.md @@ -6,10 +6,10 @@ ms.assetid: 0bb04c18-4a14-42a4-baa9-a63d556c9f49 # Entity Framework Resources The following external resources provide information and support for creating Entity Framework applications. - [ADO.NET Team Blog](https://docs.microsoft.com/archive/blogs/adonet/) + [ADO.NET Team Blog](/archive/blogs/adonet/) Blog containing updates and discussion of ADO.NET features and functionality. - [Entity Framework Design Blog](https://docs.microsoft.com/archive/blogs/efdesign) + [Entity Framework Design Blog](/archive/blogs/efdesign) Design discussions and feature previews for future Entity Framework versions. [Entity Framework FAQ](https://social.technet.microsoft.com/wiki/contents/articles/3737.entity-framework-faq.aspx) @@ -20,4 +20,4 @@ The following external resources provide information and support for creating En - [Entity Framework Overview](overview.md) - [Getting Started](getting-started.md) - [Entity Framework Terminology](terminology.md) -- [ADO.NET Entity Data Model Tools](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb399249(v=vs.100)) +- [ADO.NET Entity Data Model Tools](/previous-versions/dotnet/netframework-4.0/bb399249(v=vs.100)) diff --git a/docs/framework/data/adonet/ef/security-considerations.md b/docs/framework/data/adonet/ef/security-considerations.md index f88c09d53b541..212e464ba8d65 100644 --- a/docs/framework/data/adonet/ef/security-considerations.md +++ b/docs/framework/data/adonet/ef/security-considerations.md @@ -21,7 +21,7 @@ This topic describes security considerations that are specific to developing, de During the logon operation, information that is based on the user password is passed to the server through the network libraries of the underlying data source. A malicious provider can steal user credentials, generate malicious queries, or tamper with the result set. #### Encrypt your connection to protect sensitive data. - The Entity Framework does not directly handle data encryption. If users access data over a public network, your application should establish an encrypted connection to the data source to increase security. For more information, see the security-related documentation for your data source. For a SQL Server data source, see [Encrypting Connections to SQL Server](https://docs.microsoft.com/previous-versions/sql/sql-server-2008-r2/ms189067(v=sql.105)). + The Entity Framework does not directly handle data encryption. If users access data over a public network, your application should establish an encrypted connection to the data source to increase security. For more information, see the security-related documentation for your data source. For a SQL Server data source, see [Encrypting Connections to SQL Server](/previous-versions/sql/sql-server-2008-r2/ms189067(v=sql.105)). #### Secure the connection string. Protecting access to your data source is one of the most important goals when securing an application. A connection string presents a potential vulnerability if it is not secured or if it is improperly constructed. When you store connection information in plain text or persist it in memory, you risk compromising your entire system. The following are the recommended methods for securing connection strings: @@ -32,7 +32,7 @@ This topic describes security considerations that are specific to developing, de - Encrypt configuration file sections using protected configuration. - ASP.NET provides a feature called protected configuration that enables you to encrypt sensitive information in a configuration file. Although primarily designed for ASP.NET, you can also use protected configuration to encrypt sections of configuration files in Windows applications. For a detailed description of the new protected configuration capabilities, see [Encrypting Configuration Information Using Protected Configuration](https://docs.microsoft.com/previous-versions/aspnet/53tyfkaw(v=vs.100)). + ASP.NET provides a feature called protected configuration that enables you to encrypt sensitive information in a configuration file. Although primarily designed for ASP.NET, you can also use protected configuration to encrypt sections of configuration files in Windows applications. For a detailed description of the new protected configuration capabilities, see [Encrypting Configuration Information Using Protected Configuration](/previous-versions/aspnet/53tyfkaw(v=vs.100)). - Store connection strings in secured configuration files. @@ -92,7 +92,7 @@ This topic describes security considerations that are specific to developing, de SQL injection attacks can be performed in [!INCLUDE[esql](../../../../../includes/esql-md.md)] by supplying malicious input to values that are used in a query predicate and in parameter names. To avoid the risk of SQL injection, you should never combine user input with [!INCLUDE[esql](../../../../../includes/esql-md.md)] command text. - [!INCLUDE[esql](../../../../../includes/esql-md.md)] queries accept parameters everywhere that literals are accepted. You should use parameterized queries instead of injecting literals from an external agent directly into the query. You should also consider using [query builder methods](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896238(v=vs.100)) to safely construct Entity SQL. + [!INCLUDE[esql](../../../../../includes/esql-md.md)] queries accept parameters everywhere that literals are accepted. You should use parameterized queries instead of injecting literals from an external agent directly into the query. You should also consider using [query builder methods](/previous-versions/dotnet/netframework-4.0/bb896238(v=vs.100)) to safely construct Entity SQL. - LINQ to Entities injection attacks: @@ -126,7 +126,7 @@ This topic describes security considerations that are specific to developing, de The following security considerations apply when generating and working with entity types. #### Do not share an ObjectContext across application domains. - Sharing an with more than one application domain may expose information in the connection string. Instead, you should transfer serialized objects or object graphs to the other application domain and then attach those objects to an in that application domain. For more information, see [Serializing Objects](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb738446(v=vs.100)). + Sharing an with more than one application domain may expose information in the connection string. Instead, you should transfer serialized objects or object graphs to the other application domain and then attach those objects to an in that application domain. For more information, see [Serializing Objects](/previous-versions/dotnet/netframework-4.0/bb738446(v=vs.100)). #### Prevent type safety violations. If type safety is violated, the Entity Framework cannot guarantee the integrity of data in objects. Type safety violations could occur if you allow untrusted applications to run with full-trust code access security. diff --git a/docs/framework/data/adonet/ef/sqlclient-for-the-entity-framework.md b/docs/framework/data/adonet/ef/sqlclient-for-the-entity-framework.md index ec5bf410dfe9d..3f81a3ad031fa 100644 --- a/docs/framework/data/adonet/ef/sqlclient-for-the-entity-framework.md +++ b/docs/framework/data/adonet/ef/sqlclient-for-the-entity-framework.md @@ -23,7 +23,7 @@ This section describes the .NET Framework Data Provider for SQL Server (SqlClien |2000|2005|2008| > [!NOTE] -> Starting with Visual Studio 2010, the [ADO.NET Entity Data Model Tools](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb399249(v=vs.100)) do not support SQL Server 2000. +> Starting with Visual Studio 2010, the [ADO.NET Entity Data Model Tools](/previous-versions/dotnet/netframework-4.0/bb399249(v=vs.100)) do not support SQL Server 2000. ## Provider Namespace Name All providers must specify a namespace. This property tells the Entity Framework which prefix is used by the provider for specific constructs, such as types and functions. The namespace for SqlClient provider manifests is `SqlServer`. For more information about namespaces, see [Namespaces](./language-reference/namespaces-entity-sql.md). diff --git a/docs/framework/data/adonet/ef/terminology.md b/docs/framework/data/adonet/ef/terminology.md index 3956bc95b55b5..b6c2ee549fd58 100644 --- a/docs/framework/data/adonet/ef/terminology.md +++ b/docs/framework/data/adonet/ef/terminology.md @@ -21,7 +21,7 @@ This topic defines terms frequently referenced in Entity Framework documentation |concurrency|A process that allows multiple users to access and change shared data at the same time. By default, the Entity Framework implements an optimistic concurrency model.| |direction|Refers to the asymmetrical nature of some associations. Direction is specified with `FromRole` and `ToRole` attributes of a `NavigationProperty` or `ReferentialConstraint` element in a schema.

For more information, see [NavigationProperty Element (CSDL)](/ef/ef6/modeling/designer/advanced/edmx/csdl-spec#navigationproperty-element-csdl) and [navigation property](../navigation-property.md).| |eager loading|The process of loading a specific set of related objects along with the objects that were explicitly requested in the query.| -|.edmx file|An XML file that contains the conceptual model (in CSDL), the storage model (in SSDL), and the mappings between them (in MSL). The .edmx file is created by the Entity Data Model Tools. For more information, see [.edmx File Overview](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/cc982042(v=vs.100)).| +|.edmx file|An XML file that contains the conceptual model (in CSDL), the storage model (in SSDL), and the mappings between them (in MSL). The .edmx file is created by the Entity Data Model Tools. For more information, see [.edmx File Overview](/previous-versions/dotnet/netframework-4.0/cc982042(v=vs.100)).| |end|A participating entity in an association.

For more information, see [End Element (CSDL)](/ef/ef6/modeling/designer/advanced/edmx/csdl-spec#end-element-csdl) and [association end](../association-end.md).| |entity|A concept in the domain of an application from which a data type is defined.

For more information, see [EntityType Element (CSDL)](/ef/ef6/modeling/designer/advanced/edmx/csdl-spec#entitytype-element-csdl) and [entity type](../entity-type.md).| |EntityClient|A storage-independent ADO.NET data provider that contains classes such as `EntityConnection`, `EntityCommand`, and `EntityDataReader`. Works with [!INCLUDE[esql](../../../../../includes/esql-md.md)] and connects to storage specific ADO.NET data providers, such as `SqlClient`.

For more information, see [EntityClient Provider for the Entity Framework](entityclient-provider-for-the-entity-framework.md).| @@ -42,27 +42,27 @@ This topic defines terms frequently referenced in Entity Framework documentation |mapping|A specification of the correspondences between items in a conceptual model and items in a storage model.

For more information, see [MSL Specification](/ef/ef6/modeling/designer/advanced/edmx/msl-spec).| |.msl file|An XML file that contains the mapping between the conceptual model and the storage model, expressed in MSL.| |mapping specification language (MSL)|An XML-based language that is used to map items defined in a conceptual model to items in a storage model.

For more information, see [MSL Specification](/ef/ef6/modeling/designer/advanced/edmx/msl-spec).| -|modification functions|Stored procedures that are used to insert, update, and delete data that is in the data source. These functions are used in place of Entity Framework generated commands. Modification functions are defined by the `Function` element in the storage model. The [ModificationFunctionMapping](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/cc716778(v=vs.100)) element maps these modification functions to insert, update, and delete operations against entities that are defined in the conceptual model.| +|modification functions|Stored procedures that are used to insert, update, and delete data that is in the data source. These functions are used in place of Entity Framework generated commands. Modification functions are defined by the `Function` element in the storage model. The [ModificationFunctionMapping](/previous-versions/dotnet/netframework-4.0/cc716778(v=vs.100)) element maps these modification functions to insert, update, and delete operations against entities that are defined in the conceptual model.| |multiplicity|The number of entities that can exist on each side of a relationship, as defined by an association. Also known as cardinality.

For more information, see [End Element (CSDL)](/ef/ef6/modeling/designer/advanced/edmx/csdl-spec#end-element-csdl) and [association end](../association-end.md).| -|multiple entity sets per type|The ability for an entity type to be defined in more than one entity set.

For more information, see [EntitySet Element (CSDL)](/ef/ef6/modeling/designer/advanced/edmx/csdl-spec#entityset-element-csdl) and [How to: Define a Model with Multiple Entity Sets per Type](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb738537(v=vs.100)).| +|multiple entity sets per type|The ability for an entity type to be defined in more than one entity set.

For more information, see [EntitySet Element (CSDL)](/ef/ef6/modeling/designer/advanced/edmx/csdl-spec#entityset-element-csdl) and [How to: Define a Model with Multiple Entity Sets per Type](/previous-versions/dotnet/netframework-4.0/bb738537(v=vs.100)).| |navigation property|A property of an entity type that represents a relationship to another entity type, as defined by an association. Navigation properties are used to return related objects as an or an , depending on the multiplicity at the other end of the association.

For more information, see [NavigationProperty Element (CSDL)](/ef/ef6/modeling/designer/advanced/edmx/csdl-spec#navigationproperty-element-csdl) and [navigation property](../navigation-property.md).| -|query path|A string representation of a path that specifies which related objects to return when an object query is executed. A query path is defined by calling the method on an .

For more information, see [Loading Related Objects](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896272(v=vs.100)).| +|query path|A string representation of a path that specifies which related objects to return when an object query is executed. A query path is defined by calling the method on an .

For more information, see [Loading Related Objects](/previous-versions/dotnet/netframework-4.0/bb896272(v=vs.100)).| |object context|Represents the entity container defined in the conceptual model. It contains a connection to the underlying data source and provides services such as change tracking and identity resolution. An object cont ext is represented by an instance of the or `DbContext` class.

`DbContext` is part of Entity Framework 5.0. The Entity Framework 5.0 isn't part of .NET Framework, but is built on .NET Framework 4.5. The Entity Framework 5.0 is available as the [Entity Framework](https://www.nuget.org/packages/EntityFramework) NuGet package. For more information, see [Past Releases of Entity Framework](/ef/ef6/what-is-new/past-releases).| |object layer|The entity types and object context definitions that are used by the Entity Framework.| -|object query|A query executed within an object context against a conceptual model that returns data as objects.

For more information, see [Object Queries](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896241(v=vs.100)).| +|object query|A query executed within an object context against a conceptual model that returns data as objects.

For more information, see [Object Queries](/previous-versions/dotnet/netframework-4.0/bb896241(v=vs.100)).| |object-relational mapping|A technique for transforming data from a relational database into data types that can be used in object-oriented software applications.

The Entity Framework provides object-relational mapping services by mapping relational data, as defined in the storage model, to data types, as defined in the conceptual model.

For more information, see [Modeling and Mapping](modeling-and-mapping.md).| |Object Services|Services provided by the Entity Framework that enable application code to operate on entities like .NET Framework objects.| |persistence-ignorant object|An object that does not contain any logic that is related to data storage. Also known as a POCO entity.| |POCO|Plain Old CLR Object. An object that does not inherit from another class or implement an interface.| -|POCO entity|An entity in the Entity Framework that does not inherit from or and does not implement the Entity Framework interfaces. Frequently, POCO entities are existing domain objects that you use in an Entity Framework application. These entities support persistence ignorance. For more information, see [Working with POCO Entities](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/dd456853(v=vs.100)).| -|proxy object|An object that derives from a POCO class and is generated by the Entity Framework to support change tracking and lazy loading. For more information, see [Requirements for Creating POCO Proxies](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/dd468057(v=vs.100)).| +|POCO entity|An entity in the Entity Framework that does not inherit from or and does not implement the Entity Framework interfaces. Frequently, POCO entities are existing domain objects that you use in an Entity Framework application. These entities support persistence ignorance. For more information, see [Working with POCO Entities](/previous-versions/dotnet/netframework-4.0/dd456853(v=vs.100)).| +|proxy object|An object that derives from a POCO class and is generated by the Entity Framework to support change tracking and lazy loading. For more information, see [Requirements for Creating POCO Proxies](/previous-versions/dotnet/netframework-4.0/dd468057(v=vs.100)).| |referential constraint|A constraint that is defined in a conceptual model that indicates that an entity has a dependent relationship to another entity. This constraint means that an instance of a dependent entity cannot exist without a corresponding instance of the principle entity

For more information, see [ReferentialConstraint Element (CSDL)](/ef/ef6/modeling/designer/advanced/edmx/csdl-spec#referentialconstraint-element-csdl) and [referential integrity constraint](../referential-integrity-constraint.md).| |relationship|A logical connection between entities.| |role|The name given to each `End` of an association to clarify the semantics of the relationship.

For more information, see [End Element (CSDL)](/ef/ef6/modeling/designer/advanced/edmx/csdl-spec#end-element-csdl) and [association end](../association-end.md).| |scalar property|A property of an entity that maps to a single field in the storage model.| |self-tracking entity|An entity built from a Text Template Transformation Toolkit (T4) that has the ability to record changes to scalar, complex, and navigation properties.| |simple type|A primitive type that is used for defining properties in the conceptual model.

For more information, see [Conceptual Model Types (CSDL)](/ef/ef6/modeling/designer/advanced/edmx/csdl-spec#conceptual-model-types-csdl) and [Entity Data Model: Primitive Data Types](../entity-data-model-primitive-data-types.md).| -|split entity|An entity type that is mapped to two separate types in the storage model.

For more information, see [How to: Define a Model with a Single Entity Mapped to Two Tables](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896233(v=vs.100)).| +|split entity|An entity type that is mapped to two separate types in the storage model.

For more information, see [How to: Define a Model with a Single Entity Mapped to Two Tables](/previous-versions/dotnet/netframework-4.0/bb896233(v=vs.100)).| |storage model|A definition for the logical model of data in a supported data source, such as a relational database. The storage model is defined in SSDL in the .ssdl file.

For more information, see [Modeling and Mapping](modeling-and-mapping.md) and [SSDL Specification](/ef/ef6/modeling/designer/advanced/edmx/ssdl-spec).| |.ssdl file|An XML file that contains the storage model, expressed in SSDL.| |store schema definition language (SSDL)|An XML-based language that is used to define the entity types, associations, entity containers, entity sets, and association sets of a storage model that frequently corresponds to a database schema.

For more information, see [SSDL Specification](/ef/ef6/modeling/designer/advanced/edmx/ssdl-spec).| diff --git a/docs/framework/data/adonet/ef/working-with-data-definition-language.md b/docs/framework/data/adonet/ef/working-with-data-definition-language.md index 9b630dc2dd37a..7a9c3b3395bed 100644 --- a/docs/framework/data/adonet/ef/working-with-data-definition-language.md +++ b/docs/framework/data/adonet/ef/working-with-data-definition-language.md @@ -34,11 +34,11 @@ Starting with the .NET Framework version 4, the Entity Framework supports data d 2. Add an existing model to your application. - 1. Add an empty model named `SchoolModel`. To create an empty model, see the [How to: Create a New .edmx File](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/cc716703(v=vs.100)) topic. + 1. Add an empty model named `SchoolModel`. To create an empty model, see the [How to: Create a New .edmx File](/previous-versions/dotnet/netframework-4.0/cc716703(v=vs.100)) topic. The SchoolModel.edmx file is added to your project. - 1. Copy the conceptual, storage, and mapping content for the School model from the [School Model](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb896300(v=vs.100)) topic. + 1. Copy the conceptual, storage, and mapping content for the School model from the [School Model](/previous-versions/dotnet/netframework-4.0/bb896300(v=vs.100)) topic. 2. Open the SchoolModel.edmx file and paste the content within the `edmx:Runtime` tags. diff --git a/docs/framework/data/adonet/ef/working-with-data-providers.md b/docs/framework/data/adonet/ef/working-with-data-providers.md index 63e2446762934..9a417f650015d 100644 --- a/docs/framework/data/adonet/ef/working-with-data-providers.md +++ b/docs/framework/data/adonet/ef/working-with-data-providers.md @@ -11,7 +11,7 @@ The topics in this section describe the services and providers that transform qu [Entity Framework Data Providers](data-providers.md) - [Writing an Entity Framework Data Provider](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ee789835(v=vs.100))) + [Writing an Entity Framework Data Provider](/previous-versions/dotnet/netframework-4.0/ee789835(v=vs.100))) ## See also diff --git a/docs/framework/data/adonet/ef/working-with-objects.md b/docs/framework/data/adonet/ef/working-with-objects.md index 450095e4957d2..70853bf6a9c66 100644 --- a/docs/framework/data/adonet/ef/working-with-objects.md +++ b/docs/framework/data/adonet/ef/working-with-objects.md @@ -6,4 +6,4 @@ ms.assetid: 338d8a55-05cc-46b0-bbb8-1379d77068e9 # Working with Objects The Entity Framework enables you to query, insert, update, and delete data, which is expressed as typed common language runtime (CLR) objects that are instances of entity types. The entity types represent the entities defined in the conceptual model. The Entity Framework maps entities and relationships that are defined in a conceptual model to a data source. The Entity Framework provides facilities to do the following: materialize data returned from the data source as objects; track changes that were made to the objects; handle concurrency; propagate object changes back to the data source; and bind objects to controls. - For more information about working with objects in the latest version of the Entity Framework see, [Working with Objects](https://docs.microsoft.com/previous-versions/gg696163(v=vs.103)). + For more information about working with objects in the latest version of the Entity Framework see, [Working with Objects](/previous-versions/gg696163(v=vs.103)). diff --git a/docs/framework/data/adonet/entity-data-model.md b/docs/framework/data/adonet/entity-data-model.md index 6560e91f0f129..ca10ac241cf04 100644 --- a/docs/framework/data/adonet/entity-data-model.md +++ b/docs/framework/data/adonet/entity-data-model.md @@ -58,6 +58,6 @@ The Entity Data Model (EDM) is a set of concepts that describe the structure of ## See also -- [ADO.NET Entity Data Model Tools](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb399249(v=vs.100)) -- [.edmx File Overview](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/cc982042(v=vs.100)) +- [ADO.NET Entity Data Model Tools](/previous-versions/dotnet/netframework-4.0/bb399249(v=vs.100)) +- [.edmx File Overview](/previous-versions/dotnet/netframework-4.0/cc982042(v=vs.100)) - [CSDL Specification](/ef/ef6/modeling/designer/advanced/edmx/csdl-spec) diff --git a/docs/framework/data/adonet/establishing-the-connection.md b/docs/framework/data/adonet/establishing-the-connection.md index c0aab4f4bf721..84db6fa8274ee 100644 --- a/docs/framework/data/adonet/establishing-the-connection.md +++ b/docs/framework/data/adonet/establishing-the-connection.md @@ -45,7 +45,7 @@ using (SqlConnection connection = new SqlConnection(connectionString)) ### Integrated Security and ASP.NET SQL Server integrated security (also known as trusted connections) helps to provide protection when connecting to SQL Server as it does not expose a user ID and password in the connection string and is the recommended method for authenticating a connection. Integrated security uses the current security identity, or token, of the executing process. For desktop applications, this is typically the identity of the currently logged-on user. - The security identity for ASP.NET applications can be set to one of several different options. To better understand the security identity that an ASP.NET application uses when connecting to SQL Server, see [ASP.NET Impersonation](https://docs.microsoft.com/previous-versions/aspnet/xh507fc5(v=vs.100)), [ASP.NET Authentication](https://docs.microsoft.com/previous-versions/aspnet/eeyk640h(v=vs.100)), and [How to: Access SQL Server Using Windows Integrated Security](https://docs.microsoft.com/previous-versions/aspnet/bsz5788z(v=vs.100)). + The security identity for ASP.NET applications can be set to one of several different options. To better understand the security identity that an ASP.NET application uses when connecting to SQL Server, see [ASP.NET Impersonation](/previous-versions/aspnet/xh507fc5(v=vs.100)), [ASP.NET Authentication](/previous-versions/aspnet/eeyk640h(v=vs.100)), and [How to: Access SQL Server Using Windows Integrated Security](/previous-versions/aspnet/bsz5788z(v=vs.100)). ## Connecting to an OLE DB Data Source The .NET Framework Data Provider for OLE DB provides connectivity to data sources exposed using OLE DB (through SQLOLEDB, the OLE DB Provider for SQL Server), using the **OleDbConnection** object. diff --git a/docs/framework/data/adonet/factory-model-overview.md b/docs/framework/data/adonet/factory-model-overview.md index 3230d7205b674..807ab876ae0c6 100644 --- a/docs/framework/data/adonet/factory-model-overview.md +++ b/docs/framework/data/adonet/factory-model-overview.md @@ -9,7 +9,7 @@ ADO.NET 2.0 introduced new base classes in the namespa ADO.NET 2.0 also introduced abstract base classes, which enable a developer to write generic data access code that does not depend on a specific data provider. ## The Factory Design Pattern - The programming model for writing provider-independent code is based on the use of the "factory" design pattern, which uses a single API to access databases across multiple providers. This pattern is aptly named, as it calls for the use of a specialized object solely to create other objects, much like a real-world factory. For a more detailed description of the factory design pattern, see [Writing Generic Data Access Code in ASP.NET 2.0 and ADO.NET 2.0](https://docs.microsoft.com/previous-versions/dotnet/articles/ms971499(v=msdn.10)). + The programming model for writing provider-independent code is based on the use of the "factory" design pattern, which uses a single API to access databases across multiple providers. This pattern is aptly named, as it calls for the use of a specialized object solely to create other objects, much like a real-world factory. For a more detailed description of the factory design pattern, see [Writing Generic Data Access Code in ASP.NET 2.0 and ADO.NET 2.0](/previous-versions/dotnet/articles/ms971499(v=msdn.10)). Starting with ADO.NET 2.0, the class provides `static` (or `Shared` in Visual Basic) methods for creating a instance. The instance then returns a correct strongly typed object based on provider information and the connection string supplied at run time. diff --git a/docs/framework/data/adonet/how-to-bind-a-dataview-object-to-a-winforms-datagridview-control.md b/docs/framework/data/adonet/how-to-bind-a-dataview-object-to-a-winforms-datagridview-control.md index 32338571cea1d..318bb5f848376 100644 --- a/docs/framework/data/adonet/how-to-bind-a-dataview-object-to-a-winforms-datagridview-control.md +++ b/docs/framework/data/adonet/how-to-bind-a-dataview-object-to-a-winforms-datagridview-control.md @@ -9,7 +9,7 @@ ms.assetid: 2b73d60a-6049-446a-85a7-3e5a68b183e2 # How to: Bind a DataView Object to a Windows Forms DataGridView Control The control provides a powerful and flexible way to display data in a tabular format. The control supports the standard Windows Forms data binding model, so it will bind to and a variety of other data sources. In most situations, however, you will bind to a component that will manage the details of interacting with the data source. - For more information about the control, see [DataGridView Control Overview](../../winforms/controls/datagridview-control-overview-windows-forms.md). + For more information about the control, see [DataGridView Control Overview](/dotnet/desktop/winforms/controls/datagridview-control-overview-windows-forms). ### To connect a DataGridView control to a DataView diff --git a/docs/framework/data/adonet/obtaining-a-dbproviderfactory.md b/docs/framework/data/adonet/obtaining-a-dbproviderfactory.md index 63bf42e02871f..338937cba2a7f 100644 --- a/docs/framework/data/adonet/obtaining-a-dbproviderfactory.md +++ b/docs/framework/data/adonet/obtaining-a-dbproviderfactory.md @@ -94,5 +94,5 @@ The process of obtaining a involves - [DbProviderFactories](dbproviderfactories.md) - [Connection Strings](connection-strings.md) -- [Using the Configuration Classes](https://docs.microsoft.com/previous-versions/aspnet/ms228063(v=vs.100)) +- [Using the Configuration Classes](/previous-versions/aspnet/ms228063(v=vs.100)) - [ADO.NET Overview](ado-net-overview.md) diff --git a/docs/framework/data/adonet/ole-db-odbc-and-oracle-connection-pooling.md b/docs/framework/data/adonet/ole-db-odbc-and-oracle-connection-pooling.md index 97778248dfd1f..04d3f30b96825 100644 --- a/docs/framework/data/adonet/ole-db-odbc-and-oracle-connection-pooling.md +++ b/docs/framework/data/adonet/ole-db-odbc-and-oracle-connection-pooling.md @@ -17,7 +17,7 @@ Provider=SQLOLEDB;OLE DB Services=-4;Data Source=localhost;Integrated Security=S We recommend that you always close or dispose of a connection when you are finished using it in order to return the connection to the pool. Connections that are not explicitly closed may not get returned to the pool. For example, a connection that has gone out of scope but that has not been explicitly closed will only be returned to the connection pool if the maximum pool size has been reached and the connection is still valid. - For more information about OLE DB session or resource pooling, as well as how to disable pooling by overriding OLE DB provider service defaults, see the [OLE DB Programmer's Guide](https://docs.microsoft.com/previous-versions/windows/desktop/ms713643(v=vs.85)). + For more information about OLE DB session or resource pooling, as well as how to disable pooling by overriding OLE DB provider service defaults, see the [OLE DB Programmer's Guide](/previous-versions/windows/desktop/ms713643(v=vs.85)). ## ODBC Connection pooling for the .NET Framework Data Provider for ODBC is managed by the ODBC Driver Manager that is used for the connection, and is not affected by the .NET Framework Data Provider for ODBC. diff --git a/docs/framework/data/adonet/performance-counters.md b/docs/framework/data/adonet/performance-counters.md index 15c84891de795..8981e7ed92131 100644 --- a/docs/framework/data/adonet/performance-counters.md +++ b/docs/framework/data/adonet/performance-counters.md @@ -393,7 +393,7 @@ class Program - [Connecting to a Data Source](connecting-to-a-data-source.md) - [OLE DB, ODBC, and Oracle Connection Pooling](ole-db-odbc-and-oracle-connection-pooling.md) -- [Performance Counters for ASP.NET](https://docs.microsoft.com/previous-versions/aspnet/fxk122b4(v=vs.100)) +- [Performance Counters for ASP.NET](/previous-versions/aspnet/fxk122b4(v=vs.100)) - [Runtime Profiling](../../debug-trace-profile/runtime-profiling.md) -- [Introduction to Monitoring Performance Thresholds](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/bd20x32d(v=vs.90)) +- [Introduction to Monitoring Performance Thresholds](/previous-versions/visualstudio/visual-studio-2008/bd20x32d(v=vs.90)) - [ADO.NET Overview](ado-net-overview.md) diff --git a/docs/framework/data/adonet/protecting-connection-information.md b/docs/framework/data/adonet/protecting-connection-information.md index 52f7f6a6e6454..acfdf357ba3bc 100644 --- a/docs/framework/data/adonet/protecting-connection-information.md +++ b/docs/framework/data/adonet/protecting-connection-information.md @@ -37,6 +37,6 @@ Protecting access to your data source is one of the most important goals when se ## See also - [Securing ADO.NET Applications](securing-ado-net-applications.md) -- [Encrypting Configuration Information Using Protected Configuration](https://docs.microsoft.com/previous-versions/aspnet/53tyfkaw(v=vs.100)) +- [Encrypting Configuration Information Using Protected Configuration](/previous-versions/aspnet/53tyfkaw(v=vs.100)) - [Security in .NET](../../../standard/security/index.md) - [ADO.NET Overview](ado-net-overview.md) diff --git a/docs/framework/data/adonet/secure-client-applications.md b/docs/framework/data/adonet/secure-client-applications.md index c703c63bb6e81..4dd5e1807642e 100644 --- a/docs/framework/data/adonet/secure-client-applications.md +++ b/docs/framework/data/adonet/secure-client-applications.md @@ -15,10 +15,10 @@ Applications typically consist of many parts that must all be protected from vul [Security and User Input](../../../standard/security/security-and-user-input.md) Describes how to handle subtle and potentially dangerous bugs involving user input. - [Validating User Input in ASP.NET Web Pages](https://docs.microsoft.com/previous-versions/aspnet/7kh55542(v=vs.100)) + [Validating User Input in ASP.NET Web Pages](/previous-versions/aspnet/7kh55542(v=vs.100)) Overview of validating user input using ASP.NET validation controls. - [User Input in Windows Forms](../../winforms/user-input-in-windows-forms.md) + [User Input in Windows Forms](/dotnet/desktop/winforms/user-input-in-windows-forms) Provides links and information for validating mouse and keyboard input in a Windows Forms application. [.NET Framework Regular Expressions](../../../standard/base-types/regular-expressions.md) @@ -27,13 +27,13 @@ Applications typically consist of many parts that must all be protected from vul ## Windows Applications In the past, Windows applications generally ran with full permissions. The .NET Framework provides the infrastructure to restrict code executing in a Windows application by using code access security (CAS). However, CAS alone is not enough to protect your application. - [Windows Forms Security](../../winforms/windows-forms-security.md) + [Windows Forms Security](/dotnet/desktop/winforms/windows-forms-security) Discusses how to secure Windows Forms applications and provides links to related topics. - [Windows Forms and Unmanaged Applications](../../winforms/advanced/windows-forms-and-unmanaged-applications.md) + [Windows Forms and Unmanaged Applications](/dotnet/desktop/winforms/advanced/windows-forms-and-unmanaged-applications) Describes how to interact with unmanaged applications in a Windows Forms application. - [ClickOnce Deployment for Windows Forms](../../winforms/clickonce-deployment-for-windows-forms.md) + [ClickOnce Deployment for Windows Forms](/dotnet/desktop/winforms/clickonce-deployment-for-windows-forms) Describes how to use `ClickOnce` deployment in a Windows Forms application and discusses the security implications. ## ASP.NET and XML Web Services @@ -45,24 +45,24 @@ Applications typically consist of many parts that must all be protected from vul |Resource|Description| |--------------|-----------------| -|[Securing ASP.NET Web Sites](https://docs.microsoft.com/previous-versions/aspnet/91f66yxt(v=vs.100))|Discusses how to secure ASP.NET applications.| -|[Securing XML Web Services Created Using ASP.NET](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/w67h0dw7(v=vs.100))|Discusses how to implement security for an ASP.NET Web Service.| -|[Script Exploits Overview](https://docs.microsoft.com/previous-versions/aspnet/w1sw53ds(v=vs.100))|Discusses how to guard against a script exploit attack, which attempts to insert malicious characters into a Web page.| -|[Basic Security Practices for Web Applications](https://docs.microsoft.com/previous-versions/aspnet/zdh19h94(v=vs.100))|General security information and links to further discussion,| +|[Securing ASP.NET Web Sites](/previous-versions/aspnet/91f66yxt(v=vs.100))|Discusses how to secure ASP.NET applications.| +|[Securing XML Web Services Created Using ASP.NET](/previous-versions/dotnet/netframework-4.0/w67h0dw7(v=vs.100))|Discusses how to implement security for an ASP.NET Web Service.| +|[Script Exploits Overview](/previous-versions/aspnet/w1sw53ds(v=vs.100))|Discusses how to guard against a script exploit attack, which attempts to insert malicious characters into a Web page.| +|[Basic Security Practices for Web Applications](/previous-versions/aspnet/zdh19h94(v=vs.100))|General security information and links to further discussion,| ## Remoting .NET remoting enables you to build widely distributed applications easily, whether the application components are all on one computer or spread out across the entire world. You can build client applications that use objects in other processes on the same computer or on any other computer that is reachable over its network. You can also use .NET remoting to communicate with other application domains in the same process. |Resource|Description| |--------------|-----------------| -|[Configuration of Remote Applications](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/b8tysty8(v=vs.100))|Discusses how to configure remoting applications in order to avoid common problems.| -|[Security in Remoting](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/9hwst9th(v=vs.100))|Describes authentication and encryption as well as additional security topics relevant to remoting.| +|[Configuration of Remote Applications](/previous-versions/dotnet/netframework-4.0/b8tysty8(v=vs.100))|Discusses how to configure remoting applications in order to avoid common problems.| +|[Security in Remoting](/previous-versions/dotnet/netframework-4.0/9hwst9th(v=vs.100))|Describes authentication and encryption as well as additional security topics relevant to remoting.| |[Security and Remoting Considerations](../../misc/security-and-remoting-considerations.md)|Describes security issues with protected objects and application domain crossing.| ## See also - [Securing ADO.NET Applications](securing-ado-net-applications.md) -- [Recommendations for Data Access Strategies](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/8fxztkff(v=vs.90)) +- [Recommendations for Data Access Strategies](/previous-versions/visualstudio/visual-studio-2008/8fxztkff(v=vs.90)) - [Securing Applications](/visualstudio/ide/securing-applications) - [Protecting Connection Information](protecting-connection-information.md) - [ADO.NET Overview](ado-net-overview.md) diff --git a/docs/framework/data/adonet/secure-data-access.md b/docs/framework/data/adonet/secure-data-access.md index 4e88cfac7c63c..1a56459f05051 100644 --- a/docs/framework/data/adonet/secure-data-access.md +++ b/docs/framework/data/adonet/secure-data-access.md @@ -18,7 +18,7 @@ To write secure ADO.NET code, you have to understand the security mechanisms ava |Resource|Description| |--------------|-----------------| |[Protecting Connection Information](protecting-connection-information.md)|Describes security best practices and techniques for protecting connection information, such as using protected configuration to encrypt connection strings.| -|[Recommendations for Data Access Strategies](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/8fxztkff(v=vs.90))|Provides recommendations for accessing data and performing database operations.| +|[Recommendations for Data Access Strategies](/previous-versions/visualstudio/visual-studio-2008/8fxztkff(v=vs.90))|Provides recommendations for accessing data and performing database operations.| |[Connection String Builders](connection-string-builders.md)|Describes how to build connection strings from user input at run time.| |[Overview of SQL Server Security](./sql/overview-of-sql-server-security.md)|Describes the SQL Server security architecture.| @@ -40,7 +40,7 @@ To write secure ADO.NET code, you have to understand the security mechanisms ava |Resource|Description| |--------------|-----------------| -|[Script Exploits Overview](https://docs.microsoft.com/previous-versions/aspnet/w1sw53ds(v=vs.100))|Describes how to guard against scripting and SQL statement exploits.| +|[Script Exploits Overview](/previous-versions/aspnet/w1sw53ds(v=vs.100))|Describes how to guard against scripting and SQL statement exploits.| ## Probing Attacks Attackers often use information from an exception, such as the name of your server, database, or table, to mount an attack on your system. Because exceptions can contain specific information about your application or data source, you can help keep your application and data source better protected by only exposing essential information to the client. @@ -59,7 +59,7 @@ To write secure ADO.NET code, you have to understand the security mechanisms ava |Resource|Description| |--------------|-----------------| -|[Security Considerations and Guidance for Access 2007](https://docs.microsoft.com/previous-versions/office/developer/office-2007/bb421308(v=office.12))|Describes security techniques for Access 2007 such encrypting files, administering passwords, converting databases to the new ACCDB and ACCDE formats, and using other security options.| +|[Security Considerations and Guidance for Access 2007](/previous-versions/office/developer/office-2007/bb421308(v=office.12))|Describes security techniques for Access 2007 such encrypting files, administering passwords, converting databases to the new ACCDB and ACCDE formats, and using other security options.| |[Introduction to Access 2010 security](https://support.office.com/article/Introduction-to-Access-2010-security-CAE6D764-0318-4622-955F-68D9F186D6CA)|Provides an overview of the security features offered by Access 2010.| ## Enterprise Services COM+ contains its own security model that relies on Windows NT accounts and process/thread impersonation. The namespace provides wrappers that allow .NET applications to integrate managed code with COM+ security services through the class. @@ -68,7 +68,7 @@ To write secure ADO.NET code, you have to understand the security mechanisms ava |Resource|Description| |--------------|-----------------| -|[Role-Based Security](https://docs.microsoft.com/previous-versions/dotnet/netframework-1.1/s6y8k15h(v=vs.71))|Discusses how to integrate managed code with COM+ security services.| +|[Role-Based Security](/previous-versions/dotnet/netframework-1.1/s6y8k15h(v=vs.71))|Discusses how to integrate managed code with COM+ security services.| ## Interoperating with Unmanaged Code The .NET Framework provides for interaction with unmanaged code, including COM components, COM+ services, external type libraries, and many operating system services. Working with unmanaged code involves going outside the security perimeter for managed code. Both your code and any code that calls it must have unmanaged code permission ( with the flag specified). Unmanaged code can introduce unintended security vulnerabilities into your application. Therefore, you should avoid interoperating with unmanaged code unless it is absolutely necessary. @@ -78,13 +78,13 @@ To write secure ADO.NET code, you have to understand the security mechanisms ava |Resource|Description| |--------------|-----------------| |[Interoperating with Unmanaged Code](../../interop/index.md)|Contains topics describing how to expose COM components to the .NET Framework and how to expose .NET Framework components to COM.| -|[Advanced COM Interoperability](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bd9cdfyx(v=vs.100))|Contains advanced topics such as primary interop assemblies, threading and custom marshaling.| +|[Advanced COM Interoperability](/previous-versions/dotnet/netframework-4.0/bd9cdfyx(v=vs.100))|Contains advanced topics such as primary interop assemblies, threading and custom marshaling.| ## See also - [Securing ADO.NET Applications](securing-ado-net-applications.md) - [SQL Server Security](./sql/sql-server-security.md) -- [Recommendations for Data Access Strategies](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/8fxztkff(v=vs.90)) +- [Recommendations for Data Access Strategies](/previous-versions/visualstudio/visual-studio-2008/8fxztkff(v=vs.90)) - [Protecting Connection Information](protecting-connection-information.md) - [Connection String Builders](connection-string-builders.md) - [ADO.NET Overview](ado-net-overview.md) diff --git a/docs/framework/data/adonet/securing-ado-net-applications.md b/docs/framework/data/adonet/securing-ado-net-applications.md index 7a11cd564ad7e..1d05a2ed1a02d 100644 --- a/docs/framework/data/adonet/securing-ado-net-applications.md +++ b/docs/framework/data/adonet/securing-ado-net-applications.md @@ -42,10 +42,10 @@ Writing secure code does not guard against self-inflicted security holes when wo [Security](../../../standard/security/index.md) Contains links to articles describing all aspects of security in .NET. - [Security Tools](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/7w3fd0wb(v=vs.90)) + [Security Tools](/previous-versions/visualstudio/visual-studio-2008/7w3fd0wb(v=vs.90)) .NET Framework tools for securing and administering security policy. - [Resources for Creating Secure Applications](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2010/ms165101(v=vs.100)) + [Resources for Creating Secure Applications](/previous-versions/visualstudio/visual-studio-2010/ms165101(v=vs.100)) Provides links to articles for creating secure applications. [Security Bibliography](/visualstudio/ide/securing-applications) diff --git a/docs/framework/data/adonet/security-overview.md b/docs/framework/data/adonet/security-overview.md index 95f5049086a17..d4cbb79a1f9dc 100644 --- a/docs/framework/data/adonet/security-overview.md +++ b/docs/framework/data/adonet/security-overview.md @@ -86,7 +86,7 @@ For more information, see the following resources: |Resource|Description| |--------------|-----------------| |[SQL Server Security](./sql/sql-server-security.md)|Provides an overview of SQL Server security with application scenarios that provide guidance for creating secure ADO.NET applications that target SQL Server.| -|[Recommendations for Data Access Strategies](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/8fxztkff(v=vs.90))|Provides recommendations for accessing data and performing database operations.| +|[Recommendations for Data Access Strategies](/previous-versions/visualstudio/visual-studio-2008/8fxztkff(v=vs.90))|Provides recommendations for accessing data and performing database operations.| ## Security Policy and Administration @@ -96,8 +96,8 @@ For more information, see the following resources: |Resource|Description| |--------------|-----------------| -|[Security Policy Management](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/c1k0eed6(v=vs.100))|Provides information on creating and administering security policy.| -|[Security Policy Best Practices](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/sa4se9bc(v=vs.100))|Provides links describing how to administer security policy.| +|[Security Policy Management](/previous-versions/dotnet/netframework-4.0/c1k0eed6(v=vs.100))|Provides information on creating and administering security policy.| +|[Security Policy Best Practices](/previous-versions/dotnet/netframework-4.0/sa4se9bc(v=vs.100))|Provides links describing how to administer security policy.| ## See also diff --git a/docs/framework/data/adonet/sorting-with-dataview-linq-to-dataset.md b/docs/framework/data/adonet/sorting-with-dataview-linq-to-dataset.md index 107ac7d56c507..cb2b91a4d8925 100644 --- a/docs/framework/data/adonet/sorting-with-dataview-linq-to-dataset.md +++ b/docs/framework/data/adonet/sorting-with-dataview-linq-to-dataset.md @@ -79,4 +79,4 @@ The ability to sort data based on specific criteria and then present the data to - [Data Binding and LINQ to DataSet](data-binding-and-linq-to-dataset.md) - [Filtering with DataView](filtering-with-dataview-linq-to-dataset.md) -- [Sorting Data](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2013/bb546145(v=vs.120)) +- [Sorting Data](/previous-versions/visualstudio/visual-studio-2013/bb546145(v=vs.120)) diff --git a/docs/framework/data/adonet/sql/clr-stored-procedures.md b/docs/framework/data/adonet/sql/clr-stored-procedures.md index 67e5c35225df1..f9cb585532f71 100644 --- a/docs/framework/data/adonet/sql/clr-stored-procedures.md +++ b/docs/framework/data/adonet/sql/clr-stored-procedures.md @@ -17,9 +17,9 @@ For more detailed information, see the version of [SQL Server documentation](/sq **SQL Server documentation** -1. [CLR Stored Procedures](https://docs.microsoft.com/previous-versions/sql/sql-server-2008/ms131094(v=sql.100)) +1. [CLR Stored Procedures](/previous-versions/sql/sql-server-2008/ms131094(v=sql.100)) ## See also -- [Creating SQL Server 2005 Objects In Managed Code](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/6s0s2at1(v=vs.90)) +- [Creating SQL Server 2005 Objects In Managed Code](/previous-versions/visualstudio/visual-studio-2008/6s0s2at1(v=vs.90)) - [ADO.NET Overview](../ado-net-overview.md) diff --git a/docs/framework/data/adonet/sql/date-and-time-data.md b/docs/framework/data/adonet/sql/date-and-time-data.md index 5cb55f0598da1..8d6e49301023d 100644 --- a/docs/framework/data/adonet/sql/date-and-time-data.md +++ b/docs/framework/data/adonet/sql/date-and-time-data.md @@ -16,7 +16,7 @@ SQL Server 2008 introduces new data types for handling date and time information **SQL Server documentation** -1. [Using Date and Time Data](https://docs.microsoft.com/previous-versions/sql/sql-server-2008/ms180878(v=sql.100)) +1. [Using Date and Time Data](/previous-versions/sql/sql-server-2008/ms180878(v=sql.100)) ## Date/Time Data Types Introduced in SQL Server 2008 The following table describes the new date and time data types. @@ -41,7 +41,7 @@ SQL Server 2008 introduces new data types for handling date and time information > [!NOTE] > The YDM date format is not supported when converting from a string format to `date`, `time`, `datetime2`, or `datetimeoffset`. - For more information about how SQL Server interprets date and time data, see [Using Date and Time Data](https://docs.microsoft.com/previous-versions/sql/sql-server-2008/ms180878(v=sql.100)). + For more information about how SQL Server interprets date and time data, see [Using Date and Time Data](/previous-versions/sql/sql-server-2008/ms180878(v=sql.100)). ## Date/Time Data Types and Parameters The following enumerations have been added to to support the new date and time data types. @@ -231,7 +231,7 @@ command.Parameters.AddWithValue( _ |Topic|Description| |-----------|-----------------| |[Date and Time Data Types and Functions (Transact-SQL)](/sql/t-sql/functions/date-and-time-data-types-and-functions-transact-sql)|Provides an overview of all Transact-SQL date and time data types and functions.| -|[Using Date and Time Data](https://docs.microsoft.com/previous-versions/sql/sql-server-2008/ms180878(v=sql.100))|Provides information about the date and time data types and functions, and examples of using them.| +|[Using Date and Time Data](/previous-versions/sql/sql-server-2008/ms180878(v=sql.100))|Provides information about the date and time data types and functions, and examples of using them.| |[Data Types (Transact-SQL)](/sql/t-sql/data-types/data-types-transact-sql)|Describes system data types in SQL Server.| ## See also diff --git a/docs/framework/data/adonet/sql/enabling-cross-database-access-in-sql-server.md b/docs/framework/data/adonet/sql/enabling-cross-database-access-in-sql-server.md index 3cb3cdbeca40e..949393f1492e2 100644 --- a/docs/framework/data/adonet/sql/enabling-cross-database-access-in-sql-server.md +++ b/docs/framework/data/adonet/sql/enabling-cross-database-access-in-sql-server.md @@ -42,7 +42,7 @@ ALTER DATABASE Database2 SET DB_CHAINING ON; |Resource|Description| |--------------|-----------------| -|[Extending Database Impersonation by Using EXECUTE AS](https://docs.microsoft.com/previous-versions/sql/sql-server-2008-r2/ms188304(v=sql.105)) and [Cross DB Ownership Chaining Option](/sql/database-engine/configure-windows/cross-db-ownership-chaining-server-configuration-option).|Articles describe how to configure cross-database ownership chaining for an instance of SQL Server.| +|[Extending Database Impersonation by Using EXECUTE AS](/previous-versions/sql/sql-server-2008-r2/ms188304(v=sql.105)) and [Cross DB Ownership Chaining Option](/sql/database-engine/configure-windows/cross-db-ownership-chaining-server-configuration-option).|Articles describe how to configure cross-database ownership chaining for an instance of SQL Server.| ## See also diff --git a/docs/framework/data/adonet/sql/enabling-query-notifications.md b/docs/framework/data/adonet/sql/enabling-query-notifications.md index d2847a764c3a9..34acc2e6f5776 100644 --- a/docs/framework/data/adonet/sql/enabling-query-notifications.md +++ b/docs/framework/data/adonet/sql/enabling-query-notifications.md @@ -24,23 +24,23 @@ Applications that consume query notifications have a common set of requirements. **SQL Server documentation** -- [Creating a Query for Notification](https://docs.microsoft.com/previous-versions/sql/sql-server-2008-r2/ms181122(v=sql.105)) +- [Creating a Query for Notification](/previous-versions/sql/sql-server-2008-r2/ms181122(v=sql.105)) -- [Security Considerations for Service Broker](https://docs.microsoft.com/previous-versions/sql/sql-server-2005/ms166059(v=sql.90)) +- [Security Considerations for Service Broker](/previous-versions/sql/sql-server-2005/ms166059(v=sql.90)) -- [Security and Protection (Service Broker)](https://docs.microsoft.com/previous-versions/sql/sql-server-2008-r2/bb522911(v=sql.105)) +- [Security and Protection (Service Broker)](/previous-versions/sql/sql-server-2008-r2/bb522911(v=sql.105)) -- [Security Considerations for Notifications Services](https://docs.microsoft.com/previous-versions/sql/sql-server-2005/ms172604(v=sql.90)) +- [Security Considerations for Notifications Services](/previous-versions/sql/sql-server-2005/ms172604(v=sql.90)) -- [Query Notification Permissions](https://docs.microsoft.com/previous-versions/sql/sql-server-2008-r2/ms188311(v=sql.105)) +- [Query Notification Permissions](/previous-versions/sql/sql-server-2008-r2/ms188311(v=sql.105)) -- [International Considerations for Service Broker](https://docs.microsoft.com/previous-versions/sql/sql-server-2005/ms166028(v=sql.90)) +- [International Considerations for Service Broker](/previous-versions/sql/sql-server-2005/ms166028(v=sql.90)) -- [Solution Design Considerations (Service Broker)](https://docs.microsoft.com/previous-versions/sql/sql-server-2008-r2/bb522899(v=sql.105)) +- [Solution Design Considerations (Service Broker)](/previous-versions/sql/sql-server-2008-r2/bb522899(v=sql.105)) -- [Service Broker Developer InfoCenter](https://docs.microsoft.com/previous-versions/sql/sql-server-2008-r2/ms166100(v=sql.105)) +- [Service Broker Developer InfoCenter](/previous-versions/sql/sql-server-2008-r2/ms166100(v=sql.105)) -- [Developer's Guide (Service Broker)](https://docs.microsoft.com/previous-versions/sql/sql-server-2008-r2/bb522908(v=sql.105)) +- [Developer's Guide (Service Broker)](/previous-versions/sql/sql-server-2008-r2/bb522908(v=sql.105)) ## Enabling Query Notifications to Run Sample Code To enable Service Broker on the **AdventureWorks** database by using SQL Server Management Studio, execute the following Transact-SQL statement: diff --git a/docs/framework/data/adonet/sql/granting-row-level-permissions-in-sql-server.md b/docs/framework/data/adonet/sql/granting-row-level-permissions-in-sql-server.md index a4597538f4683..10695672587ab 100644 --- a/docs/framework/data/adonet/sql/granting-row-level-permissions-in-sql-server.md +++ b/docs/framework/data/adonet/sql/granting-row-level-permissions-in-sql-server.md @@ -18,7 +18,7 @@ The following example describes how to configure row-level filtering based on a - Enable row-level filtering: - - If you are using SQL Server 2016 or higher, or [Azure SQL Database](https://docs.microsoft.com/azure/sql-database/), create a security policy that adds a predicate on the table restricting the rows returned to those that match either the current database user (using the CURRENT_USER() built-in function) or the current login name (using the SUSER_SNAME() built-in function): + - If you are using SQL Server 2016 or higher, or [Azure SQL Database](/azure/sql-database/), create a security policy that adds a predicate on the table restricting the rows returned to those that match either the current database user (using the CURRENT_USER() built-in function) or the current login name (using the SUSER_SNAME() built-in function): ```sql CREATE SCHEMA Security diff --git a/docs/framework/data/adonet/sql/linq/aggregate-queries.md b/docs/framework/data/adonet/sql/linq/aggregate-queries.md index 9b50a6e0a3df3..1d83f4ca6219e 100644 --- a/docs/framework/data/adonet/sql/linq/aggregate-queries.md +++ b/docs/framework/data/adonet/sql/linq/aggregate-queries.md @@ -12,7 +12,7 @@ ms.assetid: 13ec5580-05ce-4a1f-9d3d-8660be7891a2 - Aggregate queries typically return a number instead of a collection. - For more information, see [Aggregation Operations](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2013/bb546138(v=vs.120)). + For more information, see [Aggregation Operations](/previous-versions/visualstudio/visual-studio-2013/bb546138(v=vs.120)). - You cannot call aggregates against anonymous types. diff --git a/docs/framework/data/adonet/sql/linq/background-information.md b/docs/framework/data/adonet/sql/linq/background-information.md index b73b33c225277..870650073eee1 100644 --- a/docs/framework/data/adonet/sql/linq/background-information.md +++ b/docs/framework/data/adonet/sql/linq/background-information.md @@ -12,7 +12,7 @@ The topics in this section pertain to concepts and procedures that extend beyond - Participate in the [LINQ Forum](https://social.msdn.microsoft.com/forums/home?forum=linqtosql), where you can discuss more complex topics in detail with experts. -- Study the white paper that details [!INCLUDE[vbtecdlinq](../../../../../../includes/vbtecdlinq-md.md)] technology, complete with Visual Basic and C# code examples. For more information, see [LINQ to SQL: .NET Language-Integrated Query for Relational Data](https://docs.microsoft.com/previous-versions/dotnet/articles/bb425822(v=msdn.10)). +- Study the white paper that details [!INCLUDE[vbtecdlinq](../../../../../../includes/vbtecdlinq-md.md)] technology, complete with Visual Basic and C# code examples. For more information, see [LINQ to SQL: .NET Language-Integrated Query for Relational Data](/previous-versions/dotnet/articles/bb425822(v=msdn.10)). ## In This Section [ADO.NET and LINQ to SQL](ado-net-and-linq-to-sql.md) diff --git a/docs/framework/data/adonet/sql/linq/how-to-generate-the-object-model-in-visual-basic-or-csharp.md b/docs/framework/data/adonet/sql/linq/how-to-generate-the-object-model-in-visual-basic-or-csharp.md index 22fc7be9b9924..e2cba0c0fa7c2 100644 --- a/docs/framework/data/adonet/sql/linq/how-to-generate-the-object-model-in-visual-basic-or-csharp.md +++ b/docs/framework/data/adonet/sql/linq/how-to-generate-the-object-model-in-visual-basic-or-csharp.md @@ -6,7 +6,7 @@ ms.assetid: a0c73b33-5650-420c-b9dc-f49310c201ee # How to: Generate the Object Model in Visual Basic or C\# In [!INCLUDE[vbtecdlinq](../../../../../../includes/vbtecdlinq-md.md)], an object model in your own programming language is mapped to a relational database. Two tools are available for automatically generating a Visual Basic or C# model from the metadata of an existing database. -- If you are using Visual Studio, you can use the Object Relational Designer to generate an object model. The O/R Designer provides a rich user interface to help you generate a [!INCLUDE[vbtecdlinq](../../../../../../includes/vbtecdlinq-md.md)] object model. For more information see, [Linq to SQL Tools in Visual Studio](https://docs.microsoft.com/visualstudio/data-tools/linq-to-sql-tools-in-visual-studio2). +- If you are using Visual Studio, you can use the Object Relational Designer to generate an object model. The O/R Designer provides a rich user interface to help you generate a [!INCLUDE[vbtecdlinq](../../../../../../includes/vbtecdlinq-md.md)] object model. For more information see, [Linq to SQL Tools in Visual Studio](/visualstudio/data-tools/linq-to-sql-tools-in-visual-studio2). - The SQLMetal command-line tool. For more information, see [SqlMetal.exe (Code Generation Tool)](../../../../tools/sqlmetal-exe-code-generation-tool.md). diff --git a/docs/framework/data/adonet/sql/linq/implementing-business-logic-linq-to-sql.md b/docs/framework/data/adonet/sql/linq/implementing-business-logic-linq-to-sql.md index a61562ea17e57..d5c5ea57a3a5f 100644 --- a/docs/framework/data/adonet/sql/linq/implementing-business-logic-linq-to-sql.md +++ b/docs/framework/data/adonet/sql/linq/implementing-business-logic-linq-to-sql.md @@ -175,7 +175,7 @@ partial class Customer [Walkthrough: Customizing the insert, update, and delete behavior of entity classes](/visualstudio/data-tools/walkthrough-customizing-the-insert-update-and-delete-behavior-of-entity-classes) - [Walkthrough: Adding Validation to Entity Classes](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2013/bb629301(v=vs.120)) + [Walkthrough: Adding Validation to Entity Classes](/previous-versions/visualstudio/visual-studio-2013/bb629301(v=vs.120)) ## See also diff --git a/docs/framework/data/adonet/sql/linq/index.md b/docs/framework/data/adonet/sql/linq/index.md index fef6b5a0e6a5e..c5e763392745c 100644 --- a/docs/framework/data/adonet/sql/linq/index.md +++ b/docs/framework/data/adonet/sql/linq/index.md @@ -14,7 +14,7 @@ ms.assetid: 73d13345-eece-471a-af40-4cc7a2f11655 Developers using Visual Studio typically use the Object Relational Designer, which provides a user interface for implementing many of the features of [!INCLUDE[vbtecdlinq](../../../../../../includes/vbtecdlinq-md.md)]. - The documentation that is included with this release of [!INCLUDE[vbtecdlinq](../../../../../../includes/vbtecdlinq-md.md)] describes the basic building blocks, processes, and techniques you need for building [!INCLUDE[vbtecdlinq](../../../../../../includes/vbtecdlinq-md.md)] applications. You can also search Microsoft Docs for specific issues, and you can participate in the [LINQ Forum](https://social.msdn.microsoft.com/forums/home?forum=linqtosql), where you can discuss more complex topics in detail with experts. Finally, the [LINQ to SQL: .NET Language-Integrated Query for Relational Data](https://docs.microsoft.com/previous-versions/dotnet/articles/bb425822(v=msdn.10)) white paper details [!INCLUDE[vbtecdlinq](../../../../../../includes/vbtecdlinq-md.md)] technology, complete with Visual Basic and C# code examples. + The documentation that is included with this release of [!INCLUDE[vbtecdlinq](../../../../../../includes/vbtecdlinq-md.md)] describes the basic building blocks, processes, and techniques you need for building [!INCLUDE[vbtecdlinq](../../../../../../includes/vbtecdlinq-md.md)] applications. You can also search Microsoft Docs for specific issues, and you can participate in the [LINQ Forum](https://social.msdn.microsoft.com/forums/home?forum=linqtosql), where you can discuss more complex topics in detail with experts. Finally, the [LINQ to SQL: .NET Language-Integrated Query for Relational Data](/previous-versions/dotnet/articles/bb425822(v=msdn.10)) white paper details [!INCLUDE[vbtecdlinq](../../../../../../includes/vbtecdlinq-md.md)] technology, complete with Visual Basic and C# code examples. ## In This Section [Getting Started](getting-started.md) @@ -42,11 +42,11 @@ ms.assetid: 73d13345-eece-471a-af40-4cc7a2f11655 [LINQ and ADO.NET](../../linq-and-ado-net.md) Links to the ADO.NET portal. - [LINQ to SQL Walkthroughs](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/bb386295(v=vs.90)) + [LINQ to SQL Walkthroughs](/previous-versions/visualstudio/visual-studio-2008/bb386295(v=vs.90)) Lists walkthroughs available for [!INCLUDE[vbtecdlinq](../../../../../../includes/vbtecdlinq-md.md)]. [Downloading Sample Databases](downloading-sample-databases.md) Describes how to download sample databases used in the documentation. - [LinqDataSource Web Server Control Overview](https://docs.microsoft.com/previous-versions/aspnet/bb547113(v=vs.100)) + [LinqDataSource Web Server Control Overview](/previous-versions/aspnet/bb547113(v=vs.100)) Describes how the control exposes Language-Integrated Query (LINQ) to Web developers through the ASP.NET data-source control architecture. diff --git a/docs/framework/data/adonet/sql/linq/linq-to-sql-n-tier-with-aspnet.md b/docs/framework/data/adonet/sql/linq/linq-to-sql-n-tier-with-aspnet.md index 761ed988ddc29..bc5408d216b0c 100644 --- a/docs/framework/data/adonet/sql/linq/linq-to-sql-n-tier-with-aspnet.md +++ b/docs/framework/data/adonet/sql/linq/linq-to-sql-n-tier-with-aspnet.md @@ -6,7 +6,7 @@ ms.assetid: f6cc863a-d6a6-4281-ba8b-197c01cf6c6f # LINQ to SQL N-Tier with ASP.NET In ASP.NET applications that use [!INCLUDE[vbtecdlinq](../../../../../../includes/vbtecdlinq-md.md)], you use the Web server control. The control handles most of the logic that it must have to query against [!INCLUDE[vbtecdlinq](../../../../../../includes/vbtecdlinq-md.md)], pass the data to the browser, retrieve it, and submit it to the [!INCLUDE[vbtecdlinq](../../../../../../includes/vbtecdlinq-md.md)] which then updates the database. You just configure the control in the markup, and the control handles all the data transfer between [!INCLUDE[vbtecdlinq](../../../../../../includes/vbtecdlinq-md.md)] and the browser. Because the control handles the interactions with the presentation tier, and [!INCLUDE[vbtecdlinq](../../../../../../includes/vbtecdlinq-md.md)] handles the communication with the data tier, your main focus in ASP.NET multitier applications is on writing your custom business logic. - For more information about `LINQDataSource`, see [LinqDataSource Web Server Control Overview](https://docs.microsoft.com/previous-versions/aspnet/bb547113(v=vs.100)). + For more information about `LINQDataSource`, see [LinqDataSource Web Server Control Overview](/previous-versions/aspnet/bb547113(v=vs.100)). ## See also diff --git a/docs/framework/data/adonet/sql/linq/linq-to-sql-n-tier-with-web-services.md b/docs/framework/data/adonet/sql/linq/linq-to-sql-n-tier-with-web-services.md index c2239d983b763..b3e5747e9947a 100644 --- a/docs/framework/data/adonet/sql/linq/linq-to-sql-n-tier-with-web-services.md +++ b/docs/framework/data/adonet/sql/linq/linq-to-sql-n-tier-with-web-services.md @@ -33,4 +33,4 @@ ms.assetid: 9cb10eb8-957f-4beb-a271-5f682016fed2 ## See also - [N-Tier and Remote Applications with LINQ to SQL](n-tier-and-remote-applications-with-linq-to-sql.md) -- [LinqDataSource Web Server Control Overview](https://docs.microsoft.com/previous-versions/aspnet/bb547113(v=vs.100)) +- [LinqDataSource Web Server Control Overview](/previous-versions/aspnet/bb547113(v=vs.100)) diff --git a/docs/framework/data/adonet/sql/linq/n-tier-and-remote-applications-with-linq-to-sql.md b/docs/framework/data/adonet/sql/linq/n-tier-and-remote-applications-with-linq-to-sql.md index 770289366a365..3125097993435 100644 --- a/docs/framework/data/adonet/sql/linq/n-tier-and-remote-applications-with-linq-to-sql.md +++ b/docs/framework/data/adonet/sql/linq/n-tier-and-remote-applications-with-linq-to-sql.md @@ -10,7 +10,7 @@ You can create n-tier or multitier applications that use [!INCLUDE[vbtecdlinq](. On the middle tier, entities are created by the data context, which tracks their state, and manages deferred loading from and submission of changes to the database. These entities are "attached" to the `DataContext`. However, after the entities are sent to another tier through serialization, they become detached, which means the `DataContext` is no longer tracking their state. Entities that the client sends back for updates must be reattached to the data context before [!INCLUDE[vbtecdlinq](../../../../../../includes/vbtecdlinq-md.md)] can submit the changes to the database. The client is responsible for providing original values and/or timestamps back to the middle tier if those are required for optimistic concurrency checks. - In ASP.NET applications, the manages most of this complexity. For more information, see [LinqDataSource Web Server Control Overview](https://docs.microsoft.com/previous-versions/aspnet/bb547113(v=vs.100)). + In ASP.NET applications, the manages most of this complexity. For more information, see [LinqDataSource Web Server Control Overview](/previous-versions/aspnet/bb547113(v=vs.100)). ## Additional Resources For more information about how to implement n-tier applications that use [!INCLUDE[vbtecdlinq](../../../../../../includes/vbtecdlinq-md.md)], see the following topics: diff --git a/docs/framework/data/adonet/sql/linq/programming-guide.md b/docs/framework/data/adonet/sql/linq/programming-guide.md index 0e8ae41545b26..958fb3415769d 100644 --- a/docs/framework/data/adonet/sql/linq/programming-guide.md +++ b/docs/framework/data/adonet/sql/linq/programming-guide.md @@ -6,7 +6,7 @@ ms.assetid: ed1012d4-3ff2-4877-af27-93125c4180ea # Programming Guide This section contains information about how to create and use your [!INCLUDE[vbtecdlinq](../../../../../../includes/vbtecdlinq-md.md)] object model. If you are using Visual Studio, you can also use the Object Relational Designer to perform many of these same tasks. - You can also search Microsoft Docs for specific issues, and you can participate in the [LINQ Forum](https://social.msdn.microsoft.com/forums/home?forum=linqtosql), where you can discuss more complex topics in detail with experts. Finally, the [LINQ to SQL: .NET Language-Integrated Query for Relational Data](https://docs.microsoft.com/previous-versions/dotnet/articles/bb425822(v=msdn.10)) white paper details [!INCLUDE[vbtecdlinq](../../../../../../includes/vbtecdlinq-md.md)] technology, complete with Visual Basic and C# code examples. + You can also search Microsoft Docs for specific issues, and you can participate in the [LINQ Forum](https://social.msdn.microsoft.com/forums/home?forum=linqtosql), where you can discuss more complex topics in detail with experts. Finally, the [LINQ to SQL: .NET Language-Integrated Query for Relational Data](/previous-versions/dotnet/articles/bb425822(v=msdn.10)) white paper details [!INCLUDE[vbtecdlinq](../../../../../../includes/vbtecdlinq-md.md)] technology, complete with Visual Basic and C# code examples. ## In This Section [Creating the Object Model](creating-the-object-model.md) diff --git a/docs/framework/data/adonet/sql/linq/reference.md b/docs/framework/data/adonet/sql/linq/reference.md index 0ea8968da0118..b58f25ccc08b0 100644 --- a/docs/framework/data/adonet/sql/linq/reference.md +++ b/docs/framework/data/adonet/sql/linq/reference.md @@ -6,7 +6,7 @@ ms.assetid: 312c3935-a947-4220-a837-0039d9fc458b # Reference This section provides reference information for [!INCLUDE[vbtecdlinq](../../../../../../includes/vbtecdlinq-md.md)] developers. - You are also encouraged to search Microsoft Docs for specific issues, and especially to participate in the [LINQ Forum](https://social.msdn.microsoft.com/forums/en-us/home?forum=linqtosql), where you can discuss more complex topics in detail with experts. In addition, you can study a white paper detailing [!INCLUDE[vbtecdlinq](../../../../../../includes/vbtecdlinq-md.md)] technology, complete with Visual Basic and C# code examples. For more information, see [LINQ to SQL: .NET Language-Integrated Query for Relational Data](https://docs.microsoft.com/previous-versions/dotnet/articles/bb425822(v=msdn.10)). + You are also encouraged to search Microsoft Docs for specific issues, and especially to participate in the [LINQ Forum](https://social.msdn.microsoft.com/forums/en-us/home?forum=linqtosql), where you can discuss more complex topics in detail with experts. In addition, you can study a white paper detailing [!INCLUDE[vbtecdlinq](../../../../../../includes/vbtecdlinq-md.md)] technology, complete with Visual Basic and C# code examples. For more information, see [LINQ to SQL: .NET Language-Integrated Query for Relational Data](/previous-versions/dotnet/articles/bb425822(v=msdn.10)). ## In This Section [Data Types and Functions](data-types-and-functions.md) @@ -38,5 +38,5 @@ This section provides reference information for [!INCLUDE[vbtecdlinq](../../../. [Language-Integrated Query (LINQ) - Visual Basic](../../../../../visual-basic/programming-guide/concepts/linq/index.md) Provides portals for LINQ topics. - [LinqDataSource Web Server Control Overview](https://docs.microsoft.com/previous-versions/aspnet/bb547113(v=vs.100)) + [LinqDataSource Web Server Control Overview](/previous-versions/aspnet/bb547113(v=vs.100)) Describes how the control exposes LINQ to Web developers through the ASP.NET data-source control architecture. diff --git a/docs/framework/data/adonet/sql/linq/samples.md b/docs/framework/data/adonet/sql/linq/samples.md index 150cc281d9ee8..cb3f24849d5ab 100644 --- a/docs/framework/data/adonet/sql/linq/samples.md +++ b/docs/framework/data/adonet/sql/linq/samples.md @@ -11,7 +11,7 @@ This topic provides links to the Visual Basic and C# solutions that contain [!IN [Sample Queries (Visual Basic)](../../../../../visual-basic/programming-guide/language-features/linq/introduction-to-linq.md) C# version of the SampleQueries solution - [Sample Queries](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/bb397972(v=vs.90)) + [Sample Queries](/previous-versions/visualstudio/visual-studio-2008/bb397972(v=vs.90)) Follow these steps to find additional examples of [!INCLUDE[vbtecdlinq](../../../../../../includes/vbtecdlinq-md.md)] code and applications: @@ -19,9 +19,9 @@ This topic provides links to the Visual Basic and C# solutions that contain [!IN - Participate in the [LINQ Forum](https://social.msdn.microsoft.com/forums/en-us/home?forum=linqtosql), where you can discuss more complex topics in detail with experts. -- Study the white paper that details [!INCLUDE[vbtecdlinq](../../../../../../includes/vbtecdlinq-md.md)] technology, complete with Visual Basic and C# code examples. For more information, see [LINQ to SQL: .NET Language-Integrated Query for Relational Data](https://docs.microsoft.com/previous-versions/dotnet/articles/bb425822(v=msdn.10)). +- Study the white paper that details [!INCLUDE[vbtecdlinq](../../../../../../includes/vbtecdlinq-md.md)] technology, complete with Visual Basic and C# code examples. For more information, see [LINQ to SQL: .NET Language-Integrated Query for Relational Data](/previous-versions/dotnet/articles/bb425822(v=msdn.10)). ## See also - [LINQ to SQL](index.md) -- [LINQ to SQL Walkthroughs](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/bb386295(v=vs.90)) +- [LINQ to SQL Walkthroughs](/previous-versions/visualstudio/visual-studio-2008/bb386295(v=vs.90)) diff --git a/docs/framework/data/adonet/sql/linq/sql-clr-type-mapping.md b/docs/framework/data/adonet/sql/linq/sql-clr-type-mapping.md index 0a6eb8b0bef62..7ef48eb161b05 100644 --- a/docs/framework/data/adonet/sql/linq/sql-clr-type-mapping.md +++ b/docs/framework/data/adonet/sql/linq/sql-clr-type-mapping.md @@ -54,7 +54,7 @@ In LINQ to SQL, the data model of a relational database maps to an object model - SQL Server orders some data types differently than data of equivalent type in the CLR. For example, SQL Server data of type `UNIQUEIDENTIFIER` is ordered differently than CLR data of type . -- SQL Server handles some string comparison operations differently than the CLR. In SQL Server, string comparison behavior depends on the collation settings on the server. For more information, see [Working with Collations](https://docs.microsoft.com/previous-versions/sql/sql-server-2008-r2/ms187582(v=sql.105)) in the Microsoft SQL Server Books Online. +- SQL Server handles some string comparison operations differently than the CLR. In SQL Server, string comparison behavior depends on the collation settings on the server. For more information, see [Working with Collations](/previous-versions/sql/sql-server-2008-r2/ms187582(v=sql.105)) in the Microsoft SQL Server Books Online. - SQL Server may return different values for some mapped functions than the CLR. For example, equality functions will differ because SQL Server considers two strings to be equal if they only differ in trailing white space; whereas the CLR considers them to be not equal. @@ -226,7 +226,7 @@ In LINQ to SQL, the data model of a relational database maps to an object model ### SQL Server FILESTREAM The `FILESTREAM` attribute for `VARBINARY(MAX)` columns is available starting with Microsoft SQL Server 2008; you can map to it with LINQ to SQL starting with the .NET Framework version 3.5 SP1. - Although you can map `VARBINARY(MAX)` columns with the `FILESTREAM` attribute to objects, the method is unable to automatically create columns with the `FILESTREAM` attribute. For more information about `FILESTREAM`, see [FILESTREAM Overview](https://docs.microsoft.com/previous-versions/sql/sql-server-2008-r2/bb933993(v=sql.105)). + Although you can map `VARBINARY(MAX)` columns with the `FILESTREAM` attribute to objects, the method is unable to automatically create columns with the `FILESTREAM` attribute. For more information about `FILESTREAM`, see [FILESTREAM Overview](/previous-versions/sql/sql-server-2008-r2/bb933993(v=sql.105)). ### Binary Serialization diff --git a/docs/framework/data/adonet/sql/linq/sql-server-compact-and-linq-to-sql.md b/docs/framework/data/adonet/sql/linq/sql-server-compact-and-linq-to-sql.md index 41ad0b93354e5..eda734e8eab8d 100644 --- a/docs/framework/data/adonet/sql/linq/sql-server-compact-and-linq-to-sql.md +++ b/docs/framework/data/adonet/sql/linq/sql-server-compact-and-linq-to-sql.md @@ -4,7 +4,7 @@ ms.date: "03/30/2017" ms.assetid: 59022359-a5a2-4c42-9a6a-5c0259c3ad17 --- # SQL Server Compact and LINQ to SQL -SQL Server Compact is the default database installed with Visual Studio. For more information, see [Using SQL Server Compact (Visual Studio)](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2012/aa983321(v=vs.110)). +SQL Server Compact is the default database installed with Visual Studio. For more information, see [Using SQL Server Compact (Visual Studio)](/previous-versions/visualstudio/visual-studio-2012/aa983321(v=vs.110)). This topic outlines the key differences in usage, configuration, feature sets, and scope of [!INCLUDE[vbtecdlinq](../../../../../../includes/vbtecdlinq-md.md)] support. diff --git a/docs/framework/data/adonet/sql/modifying-large-value-max-data.md b/docs/framework/data/adonet/sql/modifying-large-value-max-data.md index 85932c4022a2c..8766a979e91b0 100644 --- a/docs/framework/data/adonet/sql/modifying-large-value-max-data.md +++ b/docs/framework/data/adonet/sql/modifying-large-value-max-data.md @@ -15,7 +15,7 @@ Large object (LOB) data types are those that exceed the maximum row size of 8 ki **SQL Server documentation** -1. [Using Large-Value Data Types](https://docs.microsoft.com/previous-versions/sql/sql-server-2008/ms178158(v=sql.100)) +1. [Using Large-Value Data Types](/previous-versions/sql/sql-server-2008/ms178158(v=sql.100)) ## Large-Value Type Restrictions The following restrictions apply to the `max` data types, which do not exist for smaller data types: diff --git a/docs/framework/data/adonet/sql/ownership-and-user-schema-separation-in-sql-server.md b/docs/framework/data/adonet/sql/ownership-and-user-schema-separation-in-sql-server.md index c21b82afc48d8..8a98cd4614934 100644 --- a/docs/framework/data/adonet/sql/ownership-and-user-schema-separation-in-sql-server.md +++ b/docs/framework/data/adonet/sql/ownership-and-user-schema-separation-in-sql-server.md @@ -50,7 +50,7 @@ Server.Database.DatabaseSchema.DatabaseObject |Resource|Description| |--------------|-----------------| -|[User-Schema Separation](https://docs.microsoft.com/previous-versions/sql/sql-server-2008-r2/ms190387(v=sql.105))|Describes the changes introduced by user-schema separation. Includes new behavior, its impact on ownership, catalog views, and permissions.| +|[User-Schema Separation](/previous-versions/sql/sql-server-2008-r2/ms190387(v=sql.105))|Describes the changes introduced by user-schema separation. Includes new behavior, its impact on ownership, catalog views, and permissions.| ## See also diff --git a/docs/framework/data/adonet/sql/query-notifications-in-sql-server.md b/docs/framework/data/adonet/sql/query-notifications-in-sql-server.md index 10f011f4ae386..3c768645946bd 100644 --- a/docs/framework/data/adonet/sql/query-notifications-in-sql-server.md +++ b/docs/framework/data/adonet/sql/query-notifications-in-sql-server.md @@ -19,19 +19,19 @@ Built upon the Service Broker infrastructure, query notifications allow applicat You can set up notifications for SELECT and EXECUTE statements. When using an EXECUTE statement, SQL Server registers a notification for the command executed rather than the EXECUTE statement itself. The command must meet the requirements and limitations for a SELECT statement. When a command that registers a notification contains more than one statement, the Database Engine creates a notification for each statement in the batch. - If you are developing an application where you need reliable sub-second notifications when data changes, review the sections **Planning an Efficient Query Notifications Strategy** and **Alternatives to Query Notifications** in the [Planning for Notifications](https://docs.microsoft.com/previous-versions/sql/sql-server-2008-r2/ms187528(v=sql.105)) article. For more information about Query Notifications and SQL Server Service Broker, see the following links to articles in the SQL Server documentation. + If you are developing an application where you need reliable sub-second notifications when data changes, review the sections **Planning an Efficient Query Notifications Strategy** and **Alternatives to Query Notifications** in the [Planning for Notifications](/previous-versions/sql/sql-server-2008-r2/ms187528(v=sql.105)) article. For more information about Query Notifications and SQL Server Service Broker, see the following links to articles in the SQL Server documentation. **SQL Server documentation** -- [Using Query Notifications](https://docs.microsoft.com/previous-versions/sql/sql-server-2008-r2/ms175110(v=sql.105)) +- [Using Query Notifications](/previous-versions/sql/sql-server-2008-r2/ms175110(v=sql.105)) -- [Creating a Query for Notification](https://docs.microsoft.com/previous-versions/sql/sql-server-2008-r2/ms181122(v=sql.105)) +- [Creating a Query for Notification](/previous-versions/sql/sql-server-2008-r2/ms181122(v=sql.105)) -- [Development (Service Broker)](https://docs.microsoft.com/previous-versions/sql/sql-server-2008-r2/bb522889(v=sql.105)) +- [Development (Service Broker)](/previous-versions/sql/sql-server-2008-r2/bb522889(v=sql.105)) -- [Service Broker Developer InfoCenter](https://docs.microsoft.com/previous-versions/sql/sql-server-2008-r2/ms166100(v=sql.105)) +- [Service Broker Developer InfoCenter](/previous-versions/sql/sql-server-2008-r2/ms166100(v=sql.105)) -- [Developer's Guide (Service Broker)](https://docs.microsoft.com/previous-versions/sql/sql-server-2008-r2/bb522908(v=sql.105)) +- [Developer's Guide (Service Broker)](/previous-versions/sql/sql-server-2008-r2/bb522908(v=sql.105)) ## In This Section [Enabling Query Notifications](enabling-query-notifications.md) diff --git a/docs/framework/data/adonet/sql/signing-stored-procedures-in-sql-server.md b/docs/framework/data/adonet/sql/signing-stored-procedures-in-sql-server.md index 99f86891bb351..0de7fa1cb1d4e 100644 --- a/docs/framework/data/adonet/sql/signing-stored-procedures-in-sql-server.md +++ b/docs/framework/data/adonet/sql/signing-stored-procedures-in-sql-server.md @@ -48,7 +48,7 @@ For more information, see the following resources. |Resource|Description| |--------------|-----------------| -|[Module Signing](https://docs.microsoft.com/previous-versions/sql/sql-server-2008/ms345102(v=sql.100))|Describes module signing, providing a sample scenario and links to the relevant Transact-SQL articles.| +|[Module Signing](/previous-versions/sql/sql-server-2008/ms345102(v=sql.100))|Describes module signing, providing a sample scenario and links to the relevant Transact-SQL articles.| |[Signing Stored Procedures with a Certificate](/sql/relational-databases/tutorial-signing-stored-procedures-with-a-certificate)|Provides a tutorial for signing a stored procedure with a certificate.| ## See also diff --git a/docs/framework/data/adonet/sql/sql-server-express-security.md b/docs/framework/data/adonet/sql/sql-server-express-security.md index 880f0dacd5686..c55d3a2ad69f9 100644 --- a/docs/framework/data/adonet/sql/sql-server-express-security.md +++ b/docs/framework/data/adonet/sql/sql-server-express-security.md @@ -25,8 +25,8 @@ Microsoft SQL Server Express Edition (SQL Server Express) is based on Microsoft ||| |-|-| -|[Microsoft SQL Server 2005 Express Edition Books Online](https://docs.microsoft.com/previous-versions/sql/sql-server-2005/ms165706(v=sql.90))|Complete documentation for SQL Server 2005 Express Edition.| -|[User Instances for Non-Administrators](https://docs.microsoft.com/previous-versions/sql/sql-server-2008/ms143684(v=sql.100)) in SQL Server Books Online|Describes how to create and deploy user instances.| +|[Microsoft SQL Server 2005 Express Edition Books Online](/previous-versions/sql/sql-server-2005/ms165706(v=sql.90))|Complete documentation for SQL Server 2005 Express Edition.| +|[User Instances for Non-Administrators](/previous-versions/sql/sql-server-2008/ms143684(v=sql.100)) in SQL Server Books Online|Describes how to create and deploy user instances.| |[SQL Server Express User Instances](sql-server-express-user-instances.md)|Describes user instance capabilities in an ADO.NET application. Provides information about how to enable a user instance, connect to a user instance using a , user instance lifetime, and user instance scenarios.| ## See also diff --git a/docs/framework/data/adonet/sql/sql-server-express-user-instances.md b/docs/framework/data/adonet/sql/sql-server-express-user-instances.md index 41530c492cc49..ed38fd7ec8cea 100644 --- a/docs/framework/data/adonet/sql/sql-server-express-user-instances.md +++ b/docs/framework/data/adonet/sql/sql-server-express-user-instances.md @@ -138,7 +138,7 @@ private static void OpenSqlConnection() - Any single-user application where sharing data is not required. -- ClickOnce deployment. If .NET Framework 2.0 (or later) and SQL Server Express are already installed on the target computer, the installation package downloaded as a result of a ClickOnce action can be installed and used by non-administrator users. Note that an administrator must install SQL Server Express if that is part of the setup. For more information, see [ClickOnce Deployment for Windows Forms](../../../winforms/clickonce-deployment-for-windows-forms.md). +- ClickOnce deployment. If .NET Framework 2.0 (or later) and SQL Server Express are already installed on the target computer, the installation package downloaded as a result of a ClickOnce action can be installed and used by non-administrator users. Note that an administrator must install SQL Server Express if that is part of the setup. For more information, see [ClickOnce Deployment for Windows Forms](/dotnet/desktop/winforms/clickonce-deployment-for-windows-forms). - Dedicated ASP.NET hosting using Windows Authentication. A single SQL Server Express instance can be hosted on an intranet. The application connects using the ASPNET Windows account, not by using impersonation. User instances should not be used for third-party or shared hosting scenarios where all applications would share the same user instance and would no longer remain isolated from each other. diff --git a/docs/framework/data/adonet/sql/sql-server-features-and-adonet.md b/docs/framework/data/adonet/sql/sql-server-features-and-adonet.md index 5ecbf1c913cb5..96de9c34b0847 100644 --- a/docs/framework/data/adonet/sql/sql-server-features-and-adonet.md +++ b/docs/framework/data/adonet/sql/sql-server-features-and-adonet.md @@ -11,7 +11,7 @@ The topics in this section discuss features in SQL Server that are targeted at d **SQL Server documentation** -1. [Development (Database Engine)](https://docs.microsoft.com/previous-versions/sql/sql-server-2008/bb500155(v=sql.100)) +1. [Development (Database Engine)](/previous-versions/sql/sql-server-2008/bb500155(v=sql.100)) ## In This Section [Enumerating Instances of SQL Server (ADO.NET)](enumerating-instances-of-sql-server.md) diff --git a/docs/framework/data/adonet/sql/table-valued-parameters.md b/docs/framework/data/adonet/sql/table-valued-parameters.md index 07f577f99daae..df8dc365bbc0b 100644 --- a/docs/framework/data/adonet/sql/table-valued-parameters.md +++ b/docs/framework/data/adonet/sql/table-valued-parameters.md @@ -20,7 +20,7 @@ Table-valued parameters provide an easy way to marshal multiple rows of data fro |Resource|Description| |--------------|-----------------| |[Use Table-Valued Parameters (Database Engine)](/sql/relational-databases/tables/use-table-valued-parameters-database-engine)|Describes how to create and use table-valued parameters.| -|[User-Defined Table Types](https://docs.microsoft.com/previous-versions/sql/sql-server-2008/bb522526(v=sql.100))|Describes user-defined table types that are used to declare table-valued parameters.| +|[User-Defined Table Types](/previous-versions/sql/sql-server-2008/bb522526(v=sql.100))|Describes user-defined table types that are used to declare table-valued parameters.| ## Passing Multiple Rows in Previous Versions of SQL Server Before table-valued parameters were introduced to SQL Server 2008, the options for passing multiple rows of data to a stored procedure or a parameterized SQL command were limited. A developer could choose from the following options for passing multiple rows to the server: @@ -34,7 +34,7 @@ Table-valued parameters provide an easy way to marshal multiple rows of data fro - Use the `bcp` utility program or the object to load many rows of data into a table. Although this technique is very efficient, it does not support server-side processing unless the data is loaded into a temporary table or table variable. ## Creating Table-Valued Parameter Types - Table-valued parameters are based on strongly typed table structures that are defined by using Transact-SQL CREATE TYPE statements. You have to create a table type and define the structure in SQL Server before you can use table-valued parameters in your client applications. For more information about creating table types, see [User-Defined Table Types](https://docs.microsoft.com/previous-versions/sql/sql-server-2008/bb522526(v=sql.100)). + Table-valued parameters are based on strongly typed table structures that are defined by using Transact-SQL CREATE TYPE statements. You have to create a table type and define the structure in SQL Server before you can use table-valued parameters in your client applications. For more information about creating table types, see [User-Defined Table Types](/previous-versions/sql/sql-server-2008/bb522526(v=sql.100)). The following statement creates a table type named CategoryTableType that consists of CategoryID and CategoryName columns: diff --git a/docs/framework/data/adonet/whats-new.md b/docs/framework/data/adonet/whats-new.md index abf91660582b9..b61abfcc23950 100644 --- a/docs/framework/data/adonet/whats-new.md +++ b/docs/framework/data/adonet/whats-new.md @@ -42,15 +42,15 @@ The following features are new in the .NET Framework Data Provider for SQL Serve - SqlClient provides additional support for sparse columns, a feature that was added in SQL Server 2008. If your application already accesses data in a table that uses sparse columns, you should see an increase in performance. The IsColumnSet column of indicates if a column is a sparse column that is a member of a column set. indicates if a column is a sparse column (see [SQL Server Schema Collections](sql-server-schema-collections.md) for more information). For more information about sparse columns, see [Use Sparse Columns](/sql/relational-databases/tables/use-sparse-columns). -- The assembly Microsoft.SqlServer.Types.dll, which contains the spatial data types, has been upgraded from version 10.0 to version 11.0. Applications that reference this assembly may fail. For more information, see [Breaking Changes to Database Engine Features](https://docs.microsoft.com/previous-versions/sql/sql-server-2012/ms143179(v=sql.110)). +- The assembly Microsoft.SqlServer.Types.dll, which contains the spatial data types, has been upgraded from version 10.0 to version 11.0. Applications that reference this assembly may fail. For more information, see [Breaking Changes to Database Engine Features](/previous-versions/sql/sql-server-2012/ms143179(v=sql.110)). ## ADO.NET Entity Framework -The .NET Framework 4.5 adds APIs that enable new scenarios when working with the Entity Framework 5.0. For more information about improvements and features that were added to the Entity Framework 5.0, see the following topics: [What’s New](https://docs.microsoft.com/previous-versions/gg696190(v=vs.103)) and [Entity Framework Releases and Versioning](/ef/ef6/what-is-new/past-releases). +The .NET Framework 4.5 adds APIs that enable new scenarios when working with the Entity Framework 5.0. For more information about improvements and features that were added to the Entity Framework 5.0, see the following topics: [What’s New](/previous-versions/gg696190(v=vs.103)) and [Entity Framework Releases and Versioning](/ef/ef6/what-is-new/past-releases). ## See also - [ADO.NET](index.md) - [ADO.NET Overview](ado-net-overview.md) - [SQL Server and ADO.NET](./sql/index.md) -- [What's New in WCF Data Services 5.0](https://docs.microsoft.com/previous-versions/dotnet/wcf-data-services/ee373845(v=vs.103)) +- [What's New in WCF Data Services 5.0](/previous-versions/dotnet/wcf-data-services/ee373845(v=vs.103)) diff --git a/docs/framework/data/index.md b/docs/framework/data/index.md index 23c6f4627e940..a94ef2ff75a86 100644 --- a/docs/framework/data/index.md +++ b/docs/framework/data/index.md @@ -34,5 +34,5 @@ This section provides information on how to access data in the .NET Framework. [XML Documents and Data](../../standard/data/xml/index.md) Provides an overview to a comprehensive and integrated set of classes that work with XML documents and data in the .NET Framework. - [XML Standards Reference](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms256177(v=vs.100)) - Provides reference information on XML standards that Microsoft supports. + [XML Standards Reference](/previous-versions/dotnet/netframework-4.0/ms256177(v=vs.100)) + Provides reference information on XML standards that Microsoft supports. diff --git a/docs/framework/data/transactions/using-system-transactions-in-aspnet.md b/docs/framework/data/transactions/using-system-transactions-in-aspnet.md index ed376de0f035a..2264d909a8cbc 100644 --- a/docs/framework/data/transactions/using-system-transactions-in-aspnet.md +++ b/docs/framework/data/transactions/using-system-transactions-in-aspnet.md @@ -12,7 +12,7 @@ This topic describes how you can successfully use ins is demanded whenever transaction management is escalated to be managed by the Microsoft Distributed Transaction Coordinator (MSDTC). This kind of scenario utilizes process-wide resources and particularly a global resource, which is the reserved space in the MSDTC log. An example of this usage is a Web front-end to a database or an application that uses a database as part of the services it provides. - ASP.NET has its own set of trust levels and associates a specific set of permissions with these trust levels through policy files. For more information, see [ASP.NET Trust Levels and Policy Files](https://docs.microsoft.com/previous-versions/aspnet/wyts434y(v=vs.100)). When you initially install the Windows SDK, none of the default ASP.NET policy files are associated with the . As such, when your transaction in an ASP.NET application is escalated to be managed by the MSDTC, the escalation fails with a upon demanding the . To enable transaction escalation in an ASP.NET partial trust environment, you should grant the in the same default trust levels as those of . You can either configure your own custom trust level and policy file to support this, or you can modify the default policy files, which are **Web_hightrust.config** and **Web_mediumtrust.config**. + ASP.NET has its own set of trust levels and associates a specific set of permissions with these trust levels through policy files. For more information, see [ASP.NET Trust Levels and Policy Files](/previous-versions/aspnet/wyts434y(v=vs.100)). When you initially install the Windows SDK, none of the default ASP.NET policy files are associated with the . As such, when your transaction in an ASP.NET application is escalated to be managed by the MSDTC, the escalation fails with a upon demanding the . To enable transaction escalation in an ASP.NET partial trust environment, you should grant the in the same default trust levels as those of . You can either configure your own custom trust level and policy file to support this, or you can modify the default policy files, which are **Web_hightrust.config** and **Web_mediumtrust.config**. To modify the policy files, add a `SecurityClass` element for `DistributedTransactionPermission` to the `SecurityClasses` element under the `PolicyLevel` element and add a corresponding `IPermission` element under the ASP.NET `NamedPermissionSet` for System.Transactions. The following configuration file demonstrates this. @@ -35,7 +35,7 @@ This topic describes how you can successfully use ins
``` - For more information about ASP.NET security policy, see [securityPolicy Element (ASP.NET Settings Schema)](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/zhs35b56(v=vs.100)). + For more information about ASP.NET security policy, see [securityPolicy Element (ASP.NET Settings Schema)](/previous-versions/dotnet/netframework-4.0/zhs35b56(v=vs.100)). ## Dynamic Compilation If you want to import and use in an ASP.NET application that is dynamically compiled on access, you should place a reference to the assembly in the configuration file. Specifically, the reference should be added under the `compilation/assemblies` section of the default root **Web.config** configuration file, or a specific Web application's configuration file. The following example demonstrates this. @@ -52,10 +52,10 @@ This topic describes how you can successfully use ins
``` - For more information, see [add Element for assemblies for compilation (ASP.NET Settings Schema)](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/37e2zyhb(v=vs.100)). + For more information, see [add Element for assemblies for compilation (ASP.NET Settings Schema)](/previous-versions/dotnet/netframework-4.0/37e2zyhb(v=vs.100)). ## See also -- [ASP.NET Trust Levels and Policy Files](https://docs.microsoft.com/previous-versions/aspnet/wyts434y(v=vs.100)) -- [securityPolicy Element (ASP.NET Settings Schema)](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/zhs35b56(v=vs.100)) +- [ASP.NET Trust Levels and Policy Files](/previous-versions/aspnet/wyts434y(v=vs.100)) +- [securityPolicy Element (ASP.NET Settings Schema)](/previous-versions/dotnet/netframework-4.0/zhs35b56(v=vs.100)) - [Transaction Management Escalation](transaction-management-escalation.md) diff --git a/docs/framework/data/wcf/application-scenarios-wcf-data-services.md b/docs/framework/data/wcf/application-scenarios-wcf-data-services.md index 751146b0ed721..57464f4d91ba1 100644 --- a/docs/framework/data/wcf/application-scenarios-wcf-data-services.md +++ b/docs/framework/data/wcf/application-scenarios-wcf-data-services.md @@ -37,11 +37,11 @@ Consume an OData feed in a .NET Framework-based client application. Consume an OData feed in a Silverlight-based client application. -- [WCF Data Services (Silverlight)](https://docs.microsoft.com/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838234(v=vs.95)) +- [WCF Data Services (Silverlight)](/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838234(v=vs.95)) - [Asynchronous Operations](asynchronous-operations-wcf-data-services.md) -- [How to: Bind Data Service Data to Controls (Silverlight Client)](https://docs.microsoft.com/previous-versions/dotnet/wcf-data-services/ee681614(v=vs.103)) +- [How to: Bind Data Service Data to Controls (Silverlight Client)](/previous-versions/dotnet/wcf-data-services/ee681614(v=vs.103)) Consume an OData feed in an AJAX-based client application. @@ -65,7 +65,7 @@ Create a .NET Framework-based client application that consumes an OData feed asy - [Asynchronous Operations](asynchronous-operations-wcf-data-services.md) -- [WCF Data Services (Silverlight)](https://docs.microsoft.com/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838234(v=vs.95)) +- [WCF Data Services (Silverlight)](/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838234(v=vs.95)) Expose and consume an OData feed with a binary large object that is accessed and changed as a stream. diff --git a/docs/framework/data/wcf/asynchronous-operations-wcf-data-services.md b/docs/framework/data/wcf/asynchronous-operations-wcf-data-services.md index 7f0048e8e6af5..14863ca24677c 100644 --- a/docs/framework/data/wcf/asynchronous-operations-wcf-data-services.md +++ b/docs/framework/data/wcf/asynchronous-operations-wcf-data-services.md @@ -15,7 +15,7 @@ Web applications must accommodate higher latency between client and server than You can perform asynchronous operations by using a pair of methods on the and classes that start with *Begin* and *End* respectively. The *Begin* methods register a delegate that the service calls when the operation is complete. The *End* methods should be called in the delegate that is registered to handle the callback from the completed operations. When you call the *End* method to complete an asynchronous operation, you must do so from the same or instance that you used to begin the operation. Each *Begin* method takes a `state` parameter that can pass a state object to the callback. This state object is retrieved from the that is supplied with the callback and is used to call the corresponding *End* method to complete the asynchronous operation. For example, when you supply the instance as the `state` parameter when you call the method on the instance, the same instance is returned by the . This instance of is then used to call the method to complete the query operation. For more information, see [How to: Execute Asynchronous Data Service Queries](how-to-execute-asynchronous-data-service-queries-wcf-data-services.md). > [!NOTE] -> Only asynchronous operations are supported by the client libraries that are provided in the .NET Framework for Silverlight. For more information, see [WCF Data Services (Silverlight)](https://docs.microsoft.com/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838234(v=vs.95)). +> Only asynchronous operations are supported by the client libraries that are provided in the .NET Framework for Silverlight. For more information, see [WCF Data Services (Silverlight)](/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838234(v=vs.95)). The .NET Framework client libraries support the following asynchronous operations: @@ -28,7 +28,7 @@ Web applications must accommodate higher latency between client and server than |Saving changes to objects in the |-
- | ## Threading Considerations for Asynchronous Operations - In a multi-threaded application, the delegate that is registered as a callback for the asynchronous operation is not necessarily invoked on the same thread that was used to call the *Begin* method, which creates the initial request. In an application where the callback must be invoked on a specific thread, you must explicitly marshal the execution of the *End* method, which handles the response, to the desired thread. For example, in Windows Presentation Foundation (WPF)-based applications and Silverlight-based applications, the response must be marshaled back to the UI thread by using the method on the object. For more information, see [Querying the Data Service (WCF Data Services/Silverlight)](https://docs.microsoft.com/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc903932(v=vs.95)). + In a multi-threaded application, the delegate that is registered as a callback for the asynchronous operation is not necessarily invoked on the same thread that was used to call the *Begin* method, which creates the initial request. In an application where the callback must be invoked on a specific thread, you must explicitly marshal the execution of the *End* method, which handles the response, to the desired thread. For example, in Windows Presentation Foundation (WPF)-based applications and Silverlight-based applications, the response must be marshaled back to the UI thread by using the method on the object. For more information, see [Querying the Data Service (WCF Data Services/Silverlight)](/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc903932(v=vs.95)). ## See also diff --git a/docs/framework/data/wcf/calling-service-operations-wcf-data-services.md b/docs/framework/data/wcf/calling-service-operations-wcf-data-services.md index ad0ad790db857..7d6355b82ad6b 100644 --- a/docs/framework/data/wcf/calling-service-operations-wcf-data-services.md +++ b/docs/framework/data/wcf/calling-service-operations-wcf-data-services.md @@ -26,7 +26,7 @@ The Open Data Protocol (OData) defines service operations for a data service. WC - You cannot use to call a GET service operation that returns a single result, of either entity or primitive type, or that requires more than one input parameter. You must instead call the method. -- Consider creating an extension method on the strongly typed partial class, which is generated by the tools, that uses either the or the method to call a service operation. This enables you to call service operations directly from the context. For more information, see the blog post [Service Operations and the WCF Data Services Client](https://docs.microsoft.com/archive/blogs/astoriateam/service-operations-and-the-wcf-data-services-client). +- Consider creating an extension method on the strongly typed partial class, which is generated by the tools, that uses either the or the method to call a service operation. This enables you to call service operations directly from the context. For more information, see the blog post [Service Operations and the WCF Data Services Client](/archive/blogs/astoriateam/service-operations-and-the-wcf-data-services-client). - When you use to call a service operation, the client library automatically escapes characters supplied to the by performing percent-encoding of reserved characters, such as ampersand (&), and escaping of single-quotes in strings. However, when you call one of the *Execute* methods to call a service operation, you must remember to perform this escaping of any user-supplied string values. Single-quotes in URIs are escaped as pairs of single-quotes. diff --git a/docs/framework/data/wcf/configuring-the-data-service-wcf-data-services.md b/docs/framework/data/wcf/configuring-the-data-service-wcf-data-services.md index a95ce458a30c2..01daa183e02a9 100644 --- a/docs/framework/data/wcf/configuring-the-data-service-wcf-data-services.md +++ b/docs/framework/data/wcf/configuring-the-data-service-wcf-data-services.md @@ -63,7 +63,7 @@ With WCF Data Services, you can create data services that expose Open Data Proto |`/Customers?$select=Orders/*&$expand=Orders`|`Customers`:

-and-

`Orders`: |Not supported|Not supported|`Customers`: |Not supported| |`/Customers('ALFKI')?$select=Orders/*&$expand=Orders`|`Customers`:

-and-

`Orders`: |Not supported|Not supported|Not supported|Not supported| - 1 In this example, `Address` represents a complex type property of the `Customers` entity that has a property named `StreetAddress`. The model used by the Northwind data services does not explicitly define this complex type. When the data model is defined by using the Entity Framework provider, you can use the Entity Data Model tools to define such a complex type. For more information, see [How to: Create and Modify Complex Types](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/dd456820(v=vs.100)). + 1 In this example, `Address` represents a complex type property of the `Customers` entity that has a property named `StreetAddress`. The model used by the Northwind data services does not explicitly define this complex type. When the data model is defined by using the Entity Framework provider, you can use the Entity Data Model tools to define such a complex type. For more information, see [How to: Create and Modify Complex Types](/previous-versions/dotnet/netframework-4.0/dd456820(v=vs.100)). 2 This URI is supported when a property that returns a binary large object (BLOB) is defined as the media resource that belongs to an entity that is a media link entry, which in this case, is `Customers`. For more information, see [Streaming Provider](streaming-provider-wcf-data-services.md). diff --git a/docs/framework/data/wcf/create-a-data-service-using-an-adonet-ef-data-wcf.md b/docs/framework/data/wcf/create-a-data-service-using-an-adonet-ef-data-wcf.md index a2afb68c03a10..f02538fece08c 100644 --- a/docs/framework/data/wcf/create-a-data-service-using-an-adonet-ef-data-wcf.md +++ b/docs/framework/data/wcf/create-a-data-service-using-an-adonet-ef-data-wcf.md @@ -39,7 +39,7 @@ The Entity Framework also provides a command line tool that can generate an Enti 9. Click **Finish** to complete the wizard. - This creates a default data model based on the specific database. The Entity Framework enables to customize the data model. For more information, see [Entity Data Model Tools Tasks](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb738480(v=vs.100)). + This creates a default data model based on the specific database. The Entity Framework enables to customize the data model. For more information, see [Entity Data Model Tools Tasks](/previous-versions/dotnet/netframework-4.0/bb738480(v=vs.100)). ## To create the data service by using the new data model diff --git a/docs/framework/data/wcf/creating-the-data-service.md b/docs/framework/data/wcf/creating-the-data-service.md index 4e5d3f1b89155..b287a24fee154 100644 --- a/docs/framework/data/wcf/creating-the-data-service.md +++ b/docs/framework/data/wcf/creating-the-data-service.md @@ -47,7 +47,7 @@ In this topic, you create a sample data service that uses WCF Data Services to e 5. Connect the data model to the database by doing one of the following steps, and then click **Next**: - - If you don't have a database connection already configured, click **New Connection** and create a new connection. For more information, see [How to: Create Connections to SQL Server Databases](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/s4yys16a(v=vs.90)). This SQL Server instance must have the Northwind sample database attached. + - If you don't have a database connection already configured, click **New Connection** and create a new connection. For more information, see [How to: Create Connections to SQL Server Databases](/previous-versions/visualstudio/visual-studio-2008/s4yys16a(v=vs.90)). This SQL Server instance must have the Northwind sample database attached. \- or - @@ -98,4 +98,4 @@ You have successfully created a new data service that exposes an OData feed that ## See also -- [ADO.NET Entity Data Model Tools](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb399249(v=vs.100)) +- [ADO.NET Entity Data Model Tools](/previous-versions/dotnet/netframework-4.0/bb399249(v=vs.100)) diff --git a/docs/framework/data/wcf/developing-and-deploying-wcf-data-services.md b/docs/framework/data/wcf/developing-and-deploying-wcf-data-services.md index 98ef1e5031dc7..4de4e7b1e9083 100644 --- a/docs/framework/data/wcf/developing-and-deploying-wcf-data-services.md +++ b/docs/framework/data/wcf/developing-and-deploying-wcf-data-services.md @@ -49,7 +49,7 @@ When you develop a WCF Data Service as an ASP.NET application or ASP.NET Web sit - This server can only be accessed on the local computer. - - This server listens on `localhost` and on a specific port, not on port 80, which is the default port for HTTP messages. For more information, see [Web Servers in Visual Studio for ASP.NET Web Projects](https://docs.microsoft.com/previous-versions/aspnet/58wxa9w5(v=vs.120)). + - This server listens on `localhost` and on a specific port, not on port 80, which is the default port for HTTP messages. For more information, see [Web Servers in Visual Studio for ASP.NET Web Projects](/previous-versions/aspnet/58wxa9w5(v=vs.120)). - This server runs the data service in the context of your current user account. For example, if you are running as an administrator-level user, a data service running in the Visual Studio Development Server will have administrator-level privileges. This can cause the data service to be able to access resources that it does not have the rights to access when deployed to an IIS server. @@ -64,7 +64,7 @@ When you develop a WCF Data Service as an ASP.NET application or ASP.NET Web sit 3. **Azure Development Environment** - Azure Tools for Visual Studio includes an integrated set of tools for developing Azure services in Visual Studio. With these tools, you can develop a data service that can be deployed to Azure, and you can test the data service on the local computer before deployment. Use these tools when using Visual Studio to develop a data service that runs on the Azure platform. For information about installing the tools, see [Azure tools for Visual Studio 2015](../../../azure/vs2015-install.md). For more information about developing a data service that runs on Azure, see the post [Deploying an OData Service in Azure](https://docs.microsoft.com/archive/blogs/astoriateam/deploying-an-odata-service-in-windows-azure). + Azure Tools for Visual Studio includes an integrated set of tools for developing Azure services in Visual Studio. With these tools, you can develop a data service that can be deployed to Azure, and you can test the data service on the local computer before deployment. Use these tools when using Visual Studio to develop a data service that runs on the Azure platform. For information about installing the tools, see [Azure tools for Visual Studio 2015](../../../azure/vs2015-install.md). For more information about developing a data service that runs on Azure, see the post [Deploying an OData Service in Azure](/archive/blogs/astoriateam/deploying-an-odata-service-in-windows-azure). ### Development Tips @@ -74,9 +74,9 @@ Consider the following when you develop a data service: - An HTTP inspection program can be helpful when debugging a data service by enabling you to inspect the contents of request and response messages. Any network packet analyzer that can display raw packets can be used to inspect HTTP requests to and responses from the data service. -- When debugging a data service, you may want to get more information about an error from the data service than during regular operation. You can get additional error information from the data service by setting the property in the to `true` and by setting the property of the attribute on the data service class to `true`. For more information, see the post [Debugging WCF Data Services](https://docs.microsoft.com/archive/blogs/phaniraj/debugging-wcf-data-services). You can also enable tracing in WCF to view exceptions raised in the HTTP messaging layer. For more information, see [Configuring Tracing](../../wcf/diagnostics/tracing/configuring-tracing.md). +- When debugging a data service, you may want to get more information about an error from the data service than during regular operation. You can get additional error information from the data service by setting the property in the to `true` and by setting the property of the attribute on the data service class to `true`. For more information, see the post [Debugging WCF Data Services](/archive/blogs/phaniraj/debugging-wcf-data-services). You can also enable tracing in WCF to view exceptions raised in the HTTP messaging layer. For more information, see [Configuring Tracing](../../wcf/diagnostics/tracing/configuring-tracing.md). -- A data service is usually developed as an ASP.NET application project, but you can also create you data service as an ASP.NET Web site project in Visual Studio. For information about the differences between the two types of projects, see [Web Application Projects versus Web Site Projects in Visual Studio](https://docs.microsoft.com/previous-versions/aspnet/dd547590(v=vs.110)). +- A data service is usually developed as an ASP.NET application project, but you can also create you data service as an ASP.NET Web site project in Visual Studio. For information about the differences between the two types of projects, see [Web Application Projects versus Web Site Projects in Visual Studio](/previous-versions/aspnet/dd547590(v=vs.110)). - When you create a data service by using the **Add New Item** dialog box in Visual Studio, the data service is hosted by ASP.NET in IIS. While ASP.NET and IIS is the default host for a data service, other hosting options are supported. For more information, see [Hosting the Data Service](hosting-the-data-service-wcf-data-services.md). @@ -90,34 +90,34 @@ WCF Data Service provides flexibility in choosing the process that hosts the dat - **Deployment Technologies for ASP.NET Web Applications** - - [How to: Create a Web Deployment Package in Visual Studio](https://docs.microsoft.com/previous-versions/aspnet/dd465323(v=vs.110)) + - [How to: Create a Web Deployment Package in Visual Studio](/previous-versions/aspnet/dd465323(v=vs.110)) - - [How to: Deploy a Web Project Using One-Click Publish in Visual Studio](https://docs.microsoft.com/previous-versions/aspnet/dd465337(v=vs.110)) + - [How to: Deploy a Web Project Using One-Click Publish in Visual Studio](/previous-versions/aspnet/dd465337(v=vs.110)) - **Deployment Technologies for ASP.NET Web Sites** - - [How to: Copy Web Site Files with the Copy Web Site Tool](https://docs.microsoft.com/previous-versions/aspnet/c95809c0(v=vs.100)) + - [How to: Copy Web Site Files with the Copy Web Site Tool](/previous-versions/aspnet/c95809c0(v=vs.100)) - - [How to: Publish Web Sites](https://docs.microsoft.com/previous-versions/aspnet/20yh9f1b(v=vs.100)) + - [How to: Publish Web Sites](/previous-versions/aspnet/20yh9f1b(v=vs.100)) - - [Walkthrough: Deploying an ASP.NET Web Application Using XCOPY](https://docs.microsoft.com/previous-versions/aspnet/f735abw9(v=vs.100)) + - [Walkthrough: Deploying an ASP.NET Web Application Using XCOPY](/previous-versions/aspnet/f735abw9(v=vs.100)) - For more information about the deployment options for an ASP.NET application, see [Web Deployment Overview for Visual Studio and ASP.NET](https://docs.microsoft.com/previous-versions/aspnet/dd394698(v=vs.110)). + For more information about the deployment options for an ASP.NET application, see [Web Deployment Overview for Visual Studio and ASP.NET](/previous-versions/aspnet/dd394698(v=vs.110)). > [!TIP] > Before you attempt to deploy the data service to IIS, make sure that you have tested the deployment to a Web server that is running IIS. For more information, see [How to: Develop a WCF Data Service Running on IIS](how-to-develop-a-wcf-data-service-running-on-iis.md). - **Azure** - You can deploy a data service to Azure by using [Azure Tools for Visual Studio](../../../azure/vs2015-install.md). For more information about deploying a data service to Azure, see [Deploying an OData Service in Azure](https://docs.microsoft.com/archive/blogs/astoriateam/deploying-an-odata-service-in-windows-azure). + You can deploy a data service to Azure by using [Azure Tools for Visual Studio](../../../azure/vs2015-install.md). For more information about deploying a data service to Azure, see [Deploying an OData Service in Azure](/archive/blogs/astoriateam/deploying-an-odata-service-in-windows-azure). ### Deployment Considerations Consider the following when deploying a data service: -- When you deploy a data service that uses the Entity Framework provider to access a SQL Server database, you might also have to propagate data structures, data, or both with your data service deployment. Visual Studio can automatically create scripts (.sql files) to do this in the destination database, and these scripts can be included in the Web deployment package of an ASP.NET application. For more information, see [How to: Deploy a Database With a Web Application Project](https://docs.microsoft.com/previous-versions/dd465343(v=vs.100)). For an ASP.NET Web site, you can do this by using the **Database Publishing Wizard** in Visual Studio. For more information, see [Publishing a SQL Database](https://docs.microsoft.com/previous-versions/aspnet/bb907585(v=vs.100)). +- When you deploy a data service that uses the Entity Framework provider to access a SQL Server database, you might also have to propagate data structures, data, or both with your data service deployment. Visual Studio can automatically create scripts (.sql files) to do this in the destination database, and these scripts can be included in the Web deployment package of an ASP.NET application. For more information, see [How to: Deploy a Database With a Web Application Project](/previous-versions/dd465343(v=vs.100)). For an ASP.NET Web site, you can do this by using the **Database Publishing Wizard** in Visual Studio. For more information, see [Publishing a SQL Database](/previous-versions/aspnet/bb907585(v=vs.100)). -- Because WCF Data Services includes a basic WCF implementation, you can use Windows Server AppFabric to monitor a data service deployed to IIS running on Windows Server. For more information about using Windows Server AppFabric to monitor a data service, see the post [Tracking WCF Data Services with Windows Server AppFabric](https://docs.microsoft.com/archive/blogs/rjacobs/tracking-wcf-data-services-with-windows-server-appfabric). +- Because WCF Data Services includes a basic WCF implementation, you can use Windows Server AppFabric to monitor a data service deployed to IIS running on Windows Server. For more information about using Windows Server AppFabric to monitor a data service, see the post [Tracking WCF Data Services with Windows Server AppFabric](/archive/blogs/rjacobs/tracking-wcf-data-services-with-windows-server-appfabric). ## See also diff --git a/docs/framework/data/wcf/feed-customization-wcf-data-services.md b/docs/framework/data/wcf/feed-customization-wcf-data-services.md index b294199daab4e..9a60b0f43da34 100644 --- a/docs/framework/data/wcf/feed-customization-wcf-data-services.md +++ b/docs/framework/data/wcf/feed-customization-wcf-data-services.md @@ -25,7 +25,7 @@ WCF Data Services uses the Open Data Protocol (OData) to expose data as a feed. > When you define custom feeds, you must guarantee that all entity properties that have custom mappings defined are included in the projection. When a mapped entity property is not included in the projection, data loss might occur. For more information, see [Query Projections](query-projections-wcf-data-services.md). ## Customizing Feeds with the Entity Framework Provider - The data model used with the Entity Framework provider is represented as XML in the .edmx file. In this case, the attributes that define custom feeds are added to the `EntityType` and `Property` elements that represent entity types and properties in the data model. These feed customization attributes are not defined in [\[MC-CSDL\]: Conceptual Schema Definition File Format](https://docs.microsoft.com/openspecs/windows_protocols/mc-csdl/c03ad8c3-e8b7-4306-af96-a9e52bb3df12), which is the format that the Entity Framework provider uses to define the data model. Therefore, you must declare feed customization attributes in a specific schema namespace, which is defined as `m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"`. The following XML fragment shows feed customization attributes applied to `Property` elements of the `Products` entity type that define the `ProductName`, `ReorderLevel`, and `UnitsInStock` properties. + The data model used with the Entity Framework provider is represented as XML in the .edmx file. In this case, the attributes that define custom feeds are added to the `EntityType` and `Property` elements that represent entity types and properties in the data model. These feed customization attributes are not defined in [\[MC-CSDL\]: Conceptual Schema Definition File Format](/openspecs/windows_protocols/mc-csdl/c03ad8c3-e8b7-4306-af96-a9e52bb3df12), which is the format that the Entity Framework provider uses to define the data model. Therefore, you must declare feed customization attributes in a specific schema namespace, which is defined as `m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"`. The following XML fragment shows feed customization attributes applied to `Property` elements of the `Products` entity type that define the `ProductName`, `ReorderLevel`, and `UnitsInStock` properties. [!code-xml[Astoria Custom Feeds#EdmFeedAttributes](../../../../samples/snippets/xml/VS_Snippets_Misc/astoria_custom_feeds/xml/northwind.csdl#edmfeedattributes)] @@ -36,7 +36,7 @@ WCF Data Services uses the Open Data Protocol (OData) to expose data as a feed. For more information, see [How to: Customize Feeds with the Entity Framework Provider](how-to-customize-feeds-with-ef-provider-wcf-data-services.md). > [!NOTE] -> Because extensions to the data model are not supported by the Entity Designer, you must manually modify the XML file that contains the data model. For more information about the .edmx file that is generated by the Entity Data Model tools, see [.edmx File Overview (Entity Framework)](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/cc982042(v=vs.100)). +> Because extensions to the data model are not supported by the Entity Designer, you must manually modify the XML file that contains the data model. For more information about the .edmx file that is generated by the Entity Data Model tools, see [.edmx File Overview (Entity Framework)](/previous-versions/dotnet/netframework-4.0/cc982042(v=vs.100)). ### Custom Feed Attributes The following table shows the XML attributes that customize feeds that you can add to the conceptual schema definition language (CSDL) that defines the data model. These attributes are equivalent to the properties of the used with the reflection provider. diff --git a/docs/framework/data/wcf/generating-the-data-service-client-library-wcf-data-services.md b/docs/framework/data/wcf/generating-the-data-service-client-library-wcf-data-services.md index 23939a09e65de..9f095525c4901 100644 --- a/docs/framework/data/wcf/generating-the-data-service-client-library-wcf-data-services.md +++ b/docs/framework/data/wcf/generating-the-data-service-client-library-wcf-data-services.md @@ -13,9 +13,9 @@ A data service that implements the Open Data Protocol (OData) can return a servi - Requests the service metadata document from the data service and interprets the returned metadata. > [!NOTE] - > The returned metadata is stored in the client project as an .edmx file. This .edmx file cannot be opened by using the Entity Data Model designer because it does not have the same format an .edmx file used by the Entity Framework. You can view this metadata file by using the XML editor or any text editor. For more information, see [\[MC-EDMX\]: Entity Data Model for Data Services Packaging Format](https://docs.microsoft.com/openspecs/windows_protocols/mc-edmx/5dff5e25-56a1-408b-9d44-bff6634c7d16). + > The returned metadata is stored in the client project as an .edmx file. This .edmx file cannot be opened by using the Entity Data Model designer because it does not have the same format an .edmx file used by the Entity Framework. You can view this metadata file by using the XML editor or any text editor. For more information, see [\[MC-EDMX\]: Entity Data Model for Data Services Packaging Format](/openspecs/windows_protocols/mc-edmx/5dff5e25-56a1-408b-9d44-bff6634c7d16). -- Generates a representation of the service as an entity container class that inherits from . This generated entity container class resembles the entity container that the Entity Data Model tools generate. For more information, see [Object Services Overview (Entity Framework)](https://docs.microsoft.com/previous-versions/bb386871(v=vs.100)). +- Generates a representation of the service as an entity container class that inherits from . This generated entity container class resembles the entity container that the Entity Data Model tools generate. For more information, see [Object Services Overview (Entity Framework)](/previous-versions/bb386871(v=vs.100)). - Generates data classes for the data model types that it discovers in the service metadata. diff --git a/docs/framework/data/wcf/getting-started-with-wcf-data-services.md b/docs/framework/data/wcf/getting-started-with-wcf-data-services.md index 8664330687102..53b049d83d67a 100644 --- a/docs/framework/data/wcf/getting-started-with-wcf-data-services.md +++ b/docs/framework/data/wcf/getting-started-with-wcf-data-services.md @@ -30,6 +30,6 @@ The topics in this section help you quickly understand Open Data Protocol (OData Provides links to WCF Data Services and OData resources. ## Related Sections - [WCF Data Services (Silverlight)](https://docs.microsoft.com/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838234(v=vs.95)) + [WCF Data Services (Silverlight)](/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838234(v=vs.95)) - [Getting Started](../adonet/ef/getting-started.md) + [Getting Started](../adonet/ef/getting-started.md) diff --git a/docs/framework/data/wcf/how-to-customize-feeds-with-ef-provider-wcf-data-services.md b/docs/framework/data/wcf/how-to-customize-feeds-with-ef-provider-wcf-data-services.md index 1dc41cb5ba736..4c71ebb9e0e8d 100644 --- a/docs/framework/data/wcf/how-to-customize-feeds-with-ef-provider-wcf-data-services.md +++ b/docs/framework/data/wcf/how-to-customize-feeds-with-ef-provider-wcf-data-services.md @@ -9,7 +9,7 @@ ms.assetid: fd16272e-36f2-415e-850e-8a81f2b17525 # How to: Customize Feeds with the Entity Framework Provider (WCF Data Services) WCF Data Services enables you to customize the Atom serialization in a data service response so that properties of an entity may be mapped to unused elements that are defined in the AtomPub protocol. This topic shows how to define mapping attributes for the entity types in a data model that is defined in an .edmx file by using the Entity Framework provider. For more information, see [Feed Customization](feed-customization-wcf-data-services.md). - In this topic you will manually modify the tool-generated .edmx file that contains the data model. You must manually modify the file because extensions to the data model are not supported by the Entity Designer. For more information about the .edmx file that the Entity Data Model tools generate, see [.edmx File Overview (Entity Framework)](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/cc982042(v=vs.100)). The example in this topic uses the Northwind sample data service and autogenerated client data service classes. This service and the client data classes are created when you complete the [WCF Data Services quickstart](quickstart-wcf-data-services.md). + In this topic you will manually modify the tool-generated .edmx file that contains the data model. You must manually modify the file because extensions to the data model are not supported by the Entity Designer. For more information about the .edmx file that the Entity Data Model tools generate, see [.edmx File Overview (Entity Framework)](/previous-versions/dotnet/netframework-4.0/cc982042(v=vs.100)). The example in this topic uses the Northwind sample data service and autogenerated client data service classes. This service and the client data classes are created when you complete the [WCF Data Services quickstart](quickstart-wcf-data-services.md). ### To manually modify the Northwind.edmx file to add feed customization attributes diff --git a/docs/framework/data/wcf/how-to-develop-a-wcf-data-service-running-on-iis.md b/docs/framework/data/wcf/how-to-develop-a-wcf-data-service-running-on-iis.md index 8a339b28da2ed..8d1e93d43b141 100644 --- a/docs/framework/data/wcf/how-to-develop-a-wcf-data-service-running-on-iis.md +++ b/docs/framework/data/wcf/how-to-develop-a-wcf-data-service-running-on-iis.md @@ -126,7 +126,7 @@ After you create the service, you must explicitly provide access to data service 5. Connect the data model to the database by doing one of the following steps, and then click **Next**: - - If you do not have a database connection already configured, click **New Connection** and create a new connection. For more information, see [How to: Create Connections to SQL Server Databases](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/s4yys16a(v=vs.90)). This SQL Server instance must have the Northwind sample database attached. + - If you do not have a database connection already configured, click **New Connection** and create a new connection. For more information, see [How to: Create Connections to SQL Server Databases](/previous-versions/visualstudio/visual-studio-2008/s4yys16a(v=vs.90)). This SQL Server instance must have the Northwind sample database attached. \- or - diff --git a/docs/framework/data/wcf/how-to-enable-access-to-the-data-service-wcf-data-services.md b/docs/framework/data/wcf/how-to-enable-access-to-the-data-service-wcf-data-services.md index f78042d2043f4..89b501168f48e 100644 --- a/docs/framework/data/wcf/how-to-enable-access-to-the-data-service-wcf-data-services.md +++ b/docs/framework/data/wcf/how-to-enable-access-to-the-data-service-wcf-data-services.md @@ -12,7 +12,7 @@ ms.assetid: 3d830bcd-32b4-4f26-9287-d58a071452c6 In WCF Data Services, you must explicitly grant access to the resources that are exposed by a data service. This means that after you create a new data service, you must still explicitly provide access to individual resources as entity sets. This topic shows how to enable read and write access to five of the entity sets in the Northwind data service that is created when you complete the [quickstart](quickstart-wcf-data-services.md). Because the enumeration is defined by using the , you can use a logical OR operator to specify multiple permissions for a single entity set. > [!NOTE] -> Any client that can access the ASP.NET application can also access the resources exposed by the data service. In a production data service, to prevent unauthorized access to resources, you should also secure the application itself. For more information, see [Securing ASP.NET Web Sites](https://docs.microsoft.com/previous-versions/aspnet/91f66yxt(v=vs.100)). +> Any client that can access the ASP.NET application can also access the resources exposed by the data service. In a production data service, to prevent unauthorized access to resources, you should also secure the application itself. For more information, see [Securing ASP.NET Web Sites](/previous-versions/aspnet/91f66yxt(v=vs.100)). ### To enable access to the data service diff --git a/docs/framework/data/wcf/how-to-manually-generate-client-data-service-classes-wcf-data-services.md b/docs/framework/data/wcf/how-to-manually-generate-client-data-service-classes-wcf-data-services.md index 197d9989cee4d..b729e2151e89d 100644 --- a/docs/framework/data/wcf/how-to-manually-generate-client-data-service-classes-wcf-data-services.md +++ b/docs/framework/data/wcf/how-to-manually-generate-client-data-service-classes-wcf-data-services.md @@ -9,7 +9,7 @@ ms.assetid: b98cb1d6-956a-4e50-add6-67e4f2587346 # How to: Manually Generate Client Data Service Classes (WCF Data Services) WCF Data Services integrates with Visual Studio to enable you to automatically generate client data service classes when you use the **Add Service Reference** dialog box to add a reference to a data service in a Visual Studio project. For more information, see [How to: Add a Data Service Reference](how-to-add-a-data-service-reference-wcf-data-services.md). You can also manually generate the same client data service classes by using the code-generation tool, `DataSvcUtil.exe`. This tool, which is included with WCF Data Services, generates .NET Framework classes from the data service definition. It can also be used to generate data service classes from the conceptual model (.csdl) file and from the .edmx file that represents an Entity Framework model in a Visual Studio project. - The example in this topic creates client data service classes based on the Northwind sample data service. This service is created when you complete the [WCF Data Services quickstart](quickstart-wcf-data-services.md). Some examples in this topic require the conceptual model file for the Northwind model. For more information, see [How to: Use EdmGen.exe to Generate the Model and Mapping Files](../adonet/ef/how-to-use-edmgen-exe-to-generate-the-model-and-mapping-files.md). Some examples in this topic require the .edmx file for the Northwind model. For more information, see [.edmx File Overview](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/cc982042(v=vs.100)). + The example in this topic creates client data service classes based on the Northwind sample data service. This service is created when you complete the [WCF Data Services quickstart](quickstart-wcf-data-services.md). Some examples in this topic require the conceptual model file for the Northwind model. For more information, see [How to: Use EdmGen.exe to Generate the Model and Mapping Files](../adonet/ef/how-to-use-edmgen-exe-to-generate-the-model-and-mapping-files.md). Some examples in this topic require the .edmx file for the Northwind model. For more information, see [.edmx File Overview](/previous-versions/dotnet/netframework-4.0/cc982042(v=vs.100)). ### To generate C# classes that support data binding diff --git a/docs/framework/data/wcf/index.md b/docs/framework/data/wcf/index.md index c6b5a27774220..7001dcccb43e5 100644 --- a/docs/framework/data/wcf/index.md +++ b/docs/framework/data/wcf/index.md @@ -71,7 +71,7 @@ I want to use LINQ... I still need some more information... -- [WCF Data Services Team Blog](https://docs.microsoft.com/archive/blogs/astoriateam/) +- [WCF Data Services Team Blog](/archive/blogs/astoriateam/) - [Resources](wcf-data-services-resources.md) @@ -81,7 +81,7 @@ I still need some more information... Provides an overview of the features and functionality available in WCF Data Services. -[What's New in WCF Data Services 5.0](https://docs.microsoft.com/previous-versions/dotnet/wcf-data-services/ee373845(v=vs.103)) +[What's New in WCF Data Services 5.0](/previous-versions/dotnet/wcf-data-services/ee373845(v=vs.103)) Describes new functionality in WCF Data Services and support for new OData features. diff --git a/docs/framework/data/wcf/securing-wcf-data-services.md b/docs/framework/data/wcf/securing-wcf-data-services.md index abe1d8cc0dd0e..6c520be7d45f0 100644 --- a/docs/framework/data/wcf/securing-wcf-data-services.md +++ b/docs/framework/data/wcf/securing-wcf-data-services.md @@ -24,9 +24,9 @@ WCF Data Services does not implement any kind of authentication of its own, but |Authentication Options|Description| |----------------------------|-----------------| |Anonymous authentication|When HTTP anonymous authentication is enabled, any principle is able to connect to the data service. Credentials are not required for anonymous access. Use this option only when you want to allow anyone to access the data service.| -|Basic and digest authentication|Credentials consisting of a user name and password are required for authentication. Supports authentication of non-Windows clients. **Security Note:** Basic authentication credentials (user name and password) are sent in the clear and can be intercepted. Digest authentication sends a hash based-on the supplied credentials, which makes it more secure than basic authentication. Both are susceptible to man-in-the-middle attacks. When using these authentication methods, you should consider encrypting communication between client and the data service by using the Secure Sockets Layer (SSL).

Microsoft Internet Information Services (IIS) provides an implementation of both basic and digest authentication for HTTP requests in an ASP.NET application. This Windows Authentication Provider implementation enables a .NET Framework client application to supply credentials in the HTTP header of the request to the data service to seamlessly negotiate authentication of a Windows user. For more information, see [Digest Authentication Technical Reference](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc782794(v=ws.10)).

When you want to have your data service use basic authentication based on some custom authentication service and not Windows credentials, you must implement a custom ADP.NET HTTP Module for authentication.

For an example of how to use a custom basic authentication scheme with WCF Data Services, see the blog post [OData and Authentication – Part 6 – Custom Basic Authentication](https://devblogs.microsoft.com/odata/odata-and-authentication-part-6-custom-basic-authentication/).| -|Windows authentication|Windows-based credentials are exchanged by using NTLM or Kerberos. This mechanism is more secure than basic or digest authentication, but it requires that the client be a Windows-based application. IIS also provides an implementation of Windows authentication for HTTP requests in an ASP.NET application. For more information, see [ASP.NET Forms Authentication Overview](https://docs.microsoft.com/previous-versions/aspnet/7t6b43z4(v=vs.100)).

For an example of how to use Windows authentication with WCF Data Services, see the blog post [OData and Authentication – Part 2 – Windows Authentication](https://devblogs.microsoft.com/odata/odata-and-authentication-part-2-windows-authentication/).| -|ASP.NET forms authentication|Forms authentication lets you authenticate users by using your own code and then maintain an authentication token in a cookie or in the page URL. You authenticate the user name and password of your users using a login form that you create. Unauthenticated requests are redirected to a login page, where the user provides credentials and submits the form. If the application authenticates the request, the system issues a ticket that contains a key for reestablishing the identity for subsequent requests. For more information, see [Forms Authentication Provider](https://docs.microsoft.com/previous-versions/aspnet/9wff0kyh(v=vs.100)). **Security Note:** By default, the cookie that contains the forms authentication ticket is not secured when you use forms authentication in a ASP.NET Web application. You should consider requiring SSL to protect both the authentication ticket and the initial login credentials.

For an example of how to use forms authentication with WCF Data Services, see the blog post [OData and Authentication – Part 7 – Forms Authentication](https://devblogs.microsoft.com/odata/odata-and-authentication-part-7-forms-authentication/).| +|Basic and digest authentication|Credentials consisting of a user name and password are required for authentication. Supports authentication of non-Windows clients. **Security Note:** Basic authentication credentials (user name and password) are sent in the clear and can be intercepted. Digest authentication sends a hash based-on the supplied credentials, which makes it more secure than basic authentication. Both are susceptible to man-in-the-middle attacks. When using these authentication methods, you should consider encrypting communication between client and the data service by using the Secure Sockets Layer (SSL).

Microsoft Internet Information Services (IIS) provides an implementation of both basic and digest authentication for HTTP requests in an ASP.NET application. This Windows Authentication Provider implementation enables a .NET Framework client application to supply credentials in the HTTP header of the request to the data service to seamlessly negotiate authentication of a Windows user. For more information, see [Digest Authentication Technical Reference](/previous-versions/windows/it-pro/windows-server-2003/cc782794(v=ws.10)).

When you want to have your data service use basic authentication based on some custom authentication service and not Windows credentials, you must implement a custom ADP.NET HTTP Module for authentication.

For an example of how to use a custom basic authentication scheme with WCF Data Services, see the blog post [OData and Authentication – Part 6 – Custom Basic Authentication](https://devblogs.microsoft.com/odata/odata-and-authentication-part-6-custom-basic-authentication/).| +|Windows authentication|Windows-based credentials are exchanged by using NTLM or Kerberos. This mechanism is more secure than basic or digest authentication, but it requires that the client be a Windows-based application. IIS also provides an implementation of Windows authentication for HTTP requests in an ASP.NET application. For more information, see [ASP.NET Forms Authentication Overview](/previous-versions/aspnet/7t6b43z4(v=vs.100)).

For an example of how to use Windows authentication with WCF Data Services, see the blog post [OData and Authentication – Part 2 – Windows Authentication](https://devblogs.microsoft.com/odata/odata-and-authentication-part-2-windows-authentication/).| +|ASP.NET forms authentication|Forms authentication lets you authenticate users by using your own code and then maintain an authentication token in a cookie or in the page URL. You authenticate the user name and password of your users using a login form that you create. Unauthenticated requests are redirected to a login page, where the user provides credentials and submits the form. If the application authenticates the request, the system issues a ticket that contains a key for reestablishing the identity for subsequent requests. For more information, see [Forms Authentication Provider](/previous-versions/aspnet/9wff0kyh(v=vs.100)). **Security Note:** By default, the cookie that contains the forms authentication ticket is not secured when you use forms authentication in a ASP.NET Web application. You should consider requiring SSL to protect both the authentication ticket and the initial login credentials.

For an example of how to use forms authentication with WCF Data Services, see the blog post [OData and Authentication – Part 7 – Forms Authentication](https://devblogs.microsoft.com/odata/odata-and-authentication-part-7-forms-authentication/).| |Claims-based authentication|In claims-based authentication, the data service relies on a trusted "third-party" identity provider service to authenticate the user. The identity provider positively authenticates the user that is requesting access to data service resources and issues a token that grants access to the requested resources. This token is then presented to the data service, which then grants access to the user based on the trust relationship with the identity service that issued the access token.

The benefit of using a claims-based authentication provider is that they can be used to authenticate various types of clients across trust domains. By employing such a third-party provider, a data service can offload the requirements of maintaining and authenticating users. OAuth 2.0 is a claims-based authentication protocol that is supported by Azure AppFabric Access Control for federated authorization as a service. This protocol supports REST-based services. For an example of how to use OAuth 2.0 with WCF Data Services, see the blog post [OData and Authentication – Part 8 – OAuth WRAP](https://devblogs.microsoft.com/odata/odata-and-authentication-part-8-oauth-wrap/).| @@ -51,7 +51,7 @@ context.Credentials = _ OData and Authentication – Part 3 – ClientSide Hooks](https://devblogs.microsoft.com/odata/odata-and-authentication-part-3-clientside-hooks/). For an example of how to set HTTP headers in a request message, see [How to: Set Headers in the Client Request](how-to-set-headers-in-the-client-request-wcf-data-services.md). ## Impersonation - Generally, the data service accesses required resources, such as files on the server or a database, by using the credentials of the worker process that is hosting the data service. When using impersonation, ASP.NET applications can execute with the Windows identity (user account) of the user making the request. Impersonation is commonly used in applications that rely on IIS to authenticate the user, and the credentials of this principle are used to access the required resources. For more information, see [ASP.NET Impersonation](https://docs.microsoft.com/previous-versions/aspnet/xh507fc5(v=vs.100)). + Generally, the data service accesses required resources, such as files on the server or a database, by using the credentials of the worker process that is hosting the data service. When using impersonation, ASP.NET applications can execute with the Windows identity (user account) of the user making the request. Impersonation is commonly used in applications that rely on IIS to authenticate the user, and the credentials of this principle are used to access the required resources. For more information, see [ASP.NET Impersonation](/previous-versions/aspnet/xh507fc5(v=vs.100)). ## Configuring Data Service Authorization Authorization is the granting of access to application resources to a principle or process that is identified based on a previously successful authentication. As a general practice, you should only grant sufficient rights to users of the data service to perform the operations required by client applications. diff --git a/docs/framework/data/wcf/streaming-provider-wcf-data-services.md b/docs/framework/data/wcf/streaming-provider-wcf-data-services.md index 7c77979dc6e3c..061208132e8e4 100644 --- a/docs/framework/data/wcf/streaming-provider-wcf-data-services.md +++ b/docs/framework/data/wcf/streaming-provider-wcf-data-services.md @@ -33,7 +33,7 @@ Configuring a data service to support the streaming of binary data requires the 5. Enable access to binary resources on the server or in a data source. -The examples in this topic are based on a sample streaming photo service, which is discussed in depth in the post [Data Services Streaming Provider Series: Implementing a Streaming Provider (Part 1)](https://docs.microsoft.com/archive/blogs/astoriateam/data-services-streaming-provider-series-implementing-a-streaming-provider-part-1). The source code for the Streaming Photo Data Service sample is available on [GitHub](https://github.com/microsoftarchive/msdn-code-gallery-community-s-z/tree/master/Streaming%20Photo%20OData%20Service%20Sample). +The examples in this topic are based on a sample streaming photo service, which is discussed in depth in the post [Data Services Streaming Provider Series: Implementing a Streaming Provider (Part 1)](/archive/blogs/astoriateam/data-services-streaming-provider-series-implementing-a-streaming-provider-part-1). The source code for the Streaming Photo Data Service sample is available on [GitHub](https://github.com/microsoftarchive/msdn-code-gallery-community-s-z/tree/master/Streaming%20Photo%20OData%20Service%20Sample). ## Defining a Media Link Entry in the Data Model @@ -47,7 +47,7 @@ To indicate that an entity is a media link entry, add the `HasStream` attribute You must also add the namespace `xmlns:m=http://schemas.microsoft.com/ado/2007/08/dataservices/metadata` either to the entity or to the root of the .edmx or .csdl file that defines the data model. -For an example of a data service that uses the Entity Framework provider and exposes a media resource, see the post [Data Services Streaming Provider Series: Implementing a Streaming Provider (Part 1)](https://docs.microsoft.com/archive/blogs/astoriateam/data-services-streaming-provider-series-implementing-a-streaming-provider-part-1). +For an example of a data service that uses the Entity Framework provider and exposes a media resource, see the post [Data Services Streaming Provider Series: Implementing a Streaming Provider (Part 1)](/archive/blogs/astoriateam/data-services-streaming-provider-series-implementing-a-streaming-provider-part-1). **Reflection Provider** @@ -89,7 +89,7 @@ When you create a data service in an ASP.NET Web application, Windows Communicat For more information, see [Streaming Message Transfer](../../wcf/feature-details/streaming-message-transfer.md) and [Transport Quotas](../../wcf/feature-details/transport-quotas.md). -By default, Internet Information Services (IIS) also limits the size of requests to 4 MB. To enable your data service to receive streams larger than 4 MB when running on IIS, you must also set the `maxRequestLength` attribute of the [httpRuntime Element (ASP.NET Settings Schema)](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/e1f13641(v=vs.100)) in the `` configuration section, as shown in the following example: +By default, Internet Information Services (IIS) also limits the size of requests to 4 MB. To enable your data service to receive streams larger than 4 MB when running on IIS, you must also set the `maxRequestLength` attribute of the [httpRuntime Element (ASP.NET Settings Schema)](/previous-versions/dotnet/netframework-4.0/e1f13641(v=vs.100)) in the `` configuration section, as shown in the following example: ## Using Data Streams in a Client Application @@ -119,7 +119,7 @@ The following are things to consider when you implement a streaming provider and - When you implement the , , or methods, you must use the eTag and Content-Type values that are supplied as method parameters. Do not set eTag or Content-Type headers in your provider implementation. -- By default, the client sends large binary streams by using a chunked HTTP Transfer-Encoding. Because the ASP.NET Development Server does not support this kind of encoding, you cannot use this Web server to host a streaming data service that must accept large binary streams. For more information on ASP.NET Development Server, see [Web Servers in Visual Studio for ASP.NET Web Projects](https://docs.microsoft.com/previous-versions/aspnet/58wxa9w5(v=vs.120)). +- By default, the client sends large binary streams by using a chunked HTTP Transfer-Encoding. Because the ASP.NET Development Server does not support this kind of encoding, you cannot use this Web server to host a streaming data service that must accept large binary streams. For more information on ASP.NET Development Server, see [Web Servers in Visual Studio for ASP.NET Web Projects](/previous-versions/aspnet/58wxa9w5(v=vs.120)). diff --git a/docs/framework/data/wcf/using-a-data-service-in-a-client-application-wcf-data-services.md b/docs/framework/data/wcf/using-a-data-service-in-a-client-application-wcf-data-services.md index b0c7711ce950e..137173de04ac2 100644 --- a/docs/framework/data/wcf/using-a-data-service-in-a-client-application-wcf-data-services.md +++ b/docs/framework/data/wcf/using-a-data-service-in-a-client-application-wcf-data-services.md @@ -39,7 +39,7 @@ You can access a service that exposes an Open Data Protocol (OData) feed by supp The message format of the payload is requested in the header of the HTTP request message. For more information, see [OData: Operations](https://www.odata.org/documentation/odata-version-2-0/operations/). ## Accessing and Changing Data Using Client Libraries - WCF Data Services includes client libraries that enable you to more easily consume an OData feed from .NET Framework and Silverlight-based client applications. These libraries simplify sending and receiving HTTP messages. They also translate the message payload into CLR objects that represent entity data. The client libraries feature the two core classes and . These classes enable you to query a data service and then work with the returned entity data as CLR objects. For more information, see [WCF Data Services Client Library](wcf-data-services-client-library.md) and [WCF Data Services (Silverlight)](https://docs.microsoft.com/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838234(v=vs.95)). + WCF Data Services includes client libraries that enable you to more easily consume an OData feed from .NET Framework and Silverlight-based client applications. These libraries simplify sending and receiving HTTP messages. They also translate the message payload into CLR objects that represent entity data. The client libraries feature the two core classes and . These classes enable you to query a data service and then work with the returned entity data as CLR objects. For more information, see [WCF Data Services Client Library](wcf-data-services-client-library.md) and [WCF Data Services (Silverlight)](/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838234(v=vs.95)). You can use the **Add Service Reference** dialog in Visual Studio to add a reference to a data service. This tool requests the service metadata from a referenced data service and generates the that represents a data service, as well as generates the client data service classes that represent entities. For more information, see [Generating the Data Service Client Library](generating-the-data-service-client-library-wcf-data-services.md). diff --git a/docs/framework/data/wcf/using-actions-to-implement-server-side-behavior.md b/docs/framework/data/wcf/using-actions-to-implement-server-side-behavior.md index 50881377fc165..236465e9b229a 100644 --- a/docs/framework/data/wcf/using-actions-to-implement-server-side-behavior.md +++ b/docs/framework/data/wcf/using-actions-to-implement-server-side-behavior.md @@ -8,28 +8,28 @@ ms.assetid: 11a372db-7168-498b-80d2-9419ff557ba5 OData Actions provide a way to implement a behavior that acts upon a resource retrieved from an OData service. For example consider a digital movie as a resource, there are many things you may do with a digital movie: check-out, rate/comment, or check-in. These are all examples of Actions that may be implemented by a WCF Data Service that manages digital movies. Actions are described in an OData response that contains a resource on which the Action can be invoked. When a user requests a resource that represents a digital movie the response returned from the WCF Data Service contains information about the Actions that are available for that resource. The availability of an Action can depend on the state of the data service or resource. For example once a digital movie is checked out it cannot be checked out by another user. Clients can invoke an action simply by specifying a URL. For example, `http://MyServer/MovieService.svc/Movies(6)` would identify a specific digital movie and `http://MyServer/MovieService.svc/Movies(6)/Checkout` would invoke the action on the specific movie. Actions allow you to expose you service model without exposing your data model. Continuing with the movie service example, you may wish to allow a user to rate a movie, but not directly expose the rating data as a resource. You could implement a Rate Action to allow the user to rate a movie but not directly access the rating data as a resource. ## Implementing an action - To implement a service action you must implement the , [IDataServiceActionProvider](https://docs.microsoft.com/previous-versions/dotnet/wcf-data-services/hh859915(v=vs.103)), and [IDataServiceInvokable](https://docs.microsoft.com/previous-versions/dotnet/wcf-data-services/hh859893(v=vs.103)) interfaces. allows WCF Data Services to get your implementation of [IDataServiceActionProvider](https://docs.microsoft.com/previous-versions/dotnet/wcf-data-services/hh859915(v=vs.103)). [IDataServiceActionProvider](https://docs.microsoft.com/previous-versions/dotnet/wcf-data-services/hh859915(v=vs.103)) allows WCF Data Services to create, find, describe and invoke service actions. [IDataServiceInvokable](https://docs.microsoft.com/previous-versions/dotnet/wcf-data-services/hh859893(v=vs.103)) allows you to invoke the code that implements the service actions’ behavior and get the results, if any. Keep in mind that WCF Data Services are Per-Call WCF Services, a new instance of the service will be created each time the service is called. Make sure no unnecessary work is done when the service is created. + To implement a service action you must implement the , [IDataServiceActionProvider](/previous-versions/dotnet/wcf-data-services/hh859915(v=vs.103)), and [IDataServiceInvokable](/previous-versions/dotnet/wcf-data-services/hh859893(v=vs.103)) interfaces. allows WCF Data Services to get your implementation of [IDataServiceActionProvider](/previous-versions/dotnet/wcf-data-services/hh859915(v=vs.103)). [IDataServiceActionProvider](/previous-versions/dotnet/wcf-data-services/hh859915(v=vs.103)) allows WCF Data Services to create, find, describe and invoke service actions. [IDataServiceInvokable](/previous-versions/dotnet/wcf-data-services/hh859893(v=vs.103)) allows you to invoke the code that implements the service actions’ behavior and get the results, if any. Keep in mind that WCF Data Services are Per-Call WCF Services, a new instance of the service will be created each time the service is called. Make sure no unnecessary work is done when the service is created. ### IServiceProvider - contains a method called . This method is called by WCF Data Services to retrieve a number of service providers, including metadata service providers and data service action providers. When asked for a data service action provider, return your [IDataServiceActionProvider](https://docs.microsoft.com/previous-versions/dotnet/wcf-data-services/hh859915(v=vs.103)) implementation. + contains a method called . This method is called by WCF Data Services to retrieve a number of service providers, including metadata service providers and data service action providers. When asked for a data service action provider, return your [IDataServiceActionProvider](/previous-versions/dotnet/wcf-data-services/hh859915(v=vs.103)) implementation. ### IDataServiceActionProvider - [IDataServiceActionProvider](https://docs.microsoft.com/previous-versions/dotnet/wcf-data-services/hh859915(v=vs.103)) contains methods that allow you to retrieve information about the available actions. When you implement [IDataServiceActionProvider](https://docs.microsoft.com/previous-versions/dotnet/wcf-data-services/hh859915(v=vs.103)) you are augmenting the metadata for your service which is defined by your service’s implementation of [IDataServiceActionProvider](https://docs.microsoft.com/previous-versions/dotnet/wcf-data-services/hh859915(v=vs.103)) with Actions and handling dispatch to those actions as appropriate. + [IDataServiceActionProvider](/previous-versions/dotnet/wcf-data-services/hh859915(v=vs.103)) contains methods that allow you to retrieve information about the available actions. When you implement [IDataServiceActionProvider](/previous-versions/dotnet/wcf-data-services/hh859915(v=vs.103)) you are augmenting the metadata for your service which is defined by your service’s implementation of [IDataServiceActionProvider](/previous-versions/dotnet/wcf-data-services/hh859915(v=vs.103)) with Actions and handling dispatch to those actions as appropriate. #### AdvertiseServiceAction - The [AdvertiseServiceAction method](https://docs.microsoft.com/previous-versions/dotnet/wcf-data-services/hh859971(v=vs.103)) is called to determine what actions are available for the specified resource. This method is only called for actions that are not always available. It is used to check if the action should be included in the OData response based upon the state of the resource being requested or the state of the service. How this check is accomplished is completely up to you. If it is an expensive to calculate availability and the current resource is in a feed, it is acceptable to skip the check and advertise the action. The `inFeed` parameter is set to `true` if the current resource being returned is part of a feed. + The [AdvertiseServiceAction method](/previous-versions/dotnet/wcf-data-services/hh859971(v=vs.103)) is called to determine what actions are available for the specified resource. This method is only called for actions that are not always available. It is used to check if the action should be included in the OData response based upon the state of the resource being requested or the state of the service. How this check is accomplished is completely up to you. If it is an expensive to calculate availability and the current resource is in a feed, it is acceptable to skip the check and advertise the action. The `inFeed` parameter is set to `true` if the current resource being returned is part of a feed. #### CreateInvokable - [CreateInvokable](https://docs.microsoft.com/previous-versions/dotnet/wcf-data-services/hh859940(v=vs.103)) is called to create a [IDataServiceInvokable](https://docs.microsoft.com/previous-versions/dotnet/wcf-data-services/hh859893(v=vs.103)) that contains a delegate that encapsulates the code that implements the action’s behavior. This creates the [IDataServiceInvokable](https://docs.microsoft.com/previous-versions/dotnet/wcf-data-services/hh859893(v=vs.103)) instance but does not invoke the action. WCF Data Service Actions have side effects and need to work in conjunction with the Update Provider to save those changes to disk. The [IDataServiceInvokable.Invoke](https://docs.microsoft.com/previous-versions/dotnet/wcf-data-services/hh859924(v=vs.103)) method is called from the Update Provider’s SaveChanges() method is called. + [CreateInvokable](/previous-versions/dotnet/wcf-data-services/hh859940(v=vs.103)) is called to create a [IDataServiceInvokable](/previous-versions/dotnet/wcf-data-services/hh859893(v=vs.103)) that contains a delegate that encapsulates the code that implements the action’s behavior. This creates the [IDataServiceInvokable](/previous-versions/dotnet/wcf-data-services/hh859893(v=vs.103)) instance but does not invoke the action. WCF Data Service Actions have side effects and need to work in conjunction with the Update Provider to save those changes to disk. The [IDataServiceInvokable.Invoke](/previous-versions/dotnet/wcf-data-services/hh859924(v=vs.103)) method is called from the Update Provider’s SaveChanges() method is called. #### GetServiceActions - This method returns a collection of [ServiceAction](https://docs.microsoft.com/previous-versions/dotnet/wcf-data-services/hh544089(v=vs.103)) instances that represent all of the actions a WCF Data Service exposes. [ServiceAction](https://docs.microsoft.com/previous-versions/dotnet/wcf-data-services/hh544089(v=vs.103)) is the metadata representation of an Action and includes information like the Action name, its parameters, and its return type. + This method returns a collection of [ServiceAction](/previous-versions/dotnet/wcf-data-services/hh544089(v=vs.103)) instances that represent all of the actions a WCF Data Service exposes. [ServiceAction](/previous-versions/dotnet/wcf-data-services/hh544089(v=vs.103)) is the metadata representation of an Action and includes information like the Action name, its parameters, and its return type. #### GetServiceActionsByBindingParameterType - This method returns a collection of all [ServiceAction](https://docs.microsoft.com/previous-versions/dotnet/wcf-data-services/hh544089(v=vs.103)) instances that can be bound to the specified binding parameter type. In other words, all [ServiceAction](https://docs.microsoft.com/previous-versions/dotnet/wcf-data-services/hh544089(v=vs.103))s that can act on the specified resource type (also called binding parameter type).This is used when the service returns a resource in order to include information about Actions that can be invoked against that resource. This method should only return actions that can bind to the exact binding parameter type (no derived types). This method is called once per request per type encountered and the result is cached by WCF Data Services. + This method returns a collection of all [ServiceAction](/previous-versions/dotnet/wcf-data-services/hh544089(v=vs.103)) instances that can be bound to the specified binding parameter type. In other words, all [ServiceAction](/previous-versions/dotnet/wcf-data-services/hh544089(v=vs.103))s that can act on the specified resource type (also called binding parameter type).This is used when the service returns a resource in order to include information about Actions that can be invoked against that resource. This method should only return actions that can bind to the exact binding parameter type (no derived types). This method is called once per request per type encountered and the result is cached by WCF Data Services. #### TryResolveServiceAction - This method searches for a specified [ServiceAction](https://docs.microsoft.com/previous-versions/dotnet/wcf-data-services/hh544089(v=vs.103)) and returns `true` if the [ServiceAction](https://docs.microsoft.com/previous-versions/dotnet/wcf-data-services/hh544089(v=vs.103)) is found. If found, the [ServiceAction](https://docs.microsoft.com/previous-versions/dotnet/wcf-data-services/hh544089(v=vs.103)) is returned in the `serviceAction` `out` parameter. + This method searches for a specified [ServiceAction](/previous-versions/dotnet/wcf-data-services/hh544089(v=vs.103)) and returns `true` if the [ServiceAction](/previous-versions/dotnet/wcf-data-services/hh544089(v=vs.103)) is found. If found, the [ServiceAction](/previous-versions/dotnet/wcf-data-services/hh544089(v=vs.103)) is returned in the `serviceAction` `out` parameter. ### IDataServiceInvokable This interface provides a way to execute a WCF Data Service Action. When implementing IDataServiceInvokable you are responsible for 3 things: diff --git a/docs/framework/data/wcf/wcf-data-service-client-utility-datasvcutil-exe.md b/docs/framework/data/wcf/wcf-data-service-client-utility-datasvcutil-exe.md index 63a8d8d3a50b7..964fec4a98497 100644 --- a/docs/framework/data/wcf/wcf-data-service-client-utility-datasvcutil-exe.md +++ b/docs/framework/data/wcf/wcf-data-service-client-utility-datasvcutil-exe.md @@ -13,9 +13,9 @@ DataSvcUtil.exe is a command-line tool provided by WCF Data Services that consum - The root URI of a data service. The utility requests the service metadata document, which describes the data model exposed by the data service. For more information, see [AtomPub (RFC5023)](https://tools.ietf.org/html/rfc5023#section-8). -- A data model file (.csdl) defined by using the conceptual schema definition language (CSDL), as defined in the [\[MC-CSDL\]: Conceptual Schema Definition File Format](https://docs.microsoft.com/openspecs/windows_protocols/mc-csdl/c03ad8c3-e8b7-4306-af96-a9e52bb3df12) specification. +- A data model file (.csdl) defined by using the conceptual schema definition language (CSDL), as defined in the [\[MC-CSDL\]: Conceptual Schema Definition File Format](/openspecs/windows_protocols/mc-csdl/c03ad8c3-e8b7-4306-af96-a9e52bb3df12) specification. -- An .edmx file created by using the Entity Data Model tools that are provided with the Entity Framework. For more information, see the [\[MC-EDMX\]: Entity Data Model for Data Services Packaging Format](https://docs.microsoft.com/openspecs/windows_protocols/mc-edmx/5dff5e25-56a1-408b-9d44-bff6634c7d16) specification. +- An .edmx file created by using the Entity Data Model tools that are provided with the Entity Framework. For more information, see the [\[MC-EDMX\]: Entity Data Model for Data Services Packaging Format](/openspecs/windows_protocols/mc-edmx/5dff5e25-56a1-408b-9d44-bff6634c7d16) specification. For more information, see [How to: Manually Generate Client Data Service Classes](how-to-manually-generate-client-data-service-classes-wcf-data-services.md). diff --git a/docs/framework/data/wcf/wcf-data-services-client-library.md b/docs/framework/data/wcf/wcf-data-services-client-library.md index 262f3ab12cd86..69003d3919afd 100644 --- a/docs/framework/data/wcf/wcf-data-services-client-library.md +++ b/docs/framework/data/wcf/wcf-data-services-client-library.md @@ -13,7 +13,7 @@ Any application can interact with an Open Data Protocol (OData)-based data servi The two main classes of the client library are the class and the class. The class encapsulates operations that are supported against a specified data service. Although OData services are stateless, the context is not. Therefore, you can use the class to maintain state on the client between interactions with the data service in order to support features such as change management. This class also manages identities and tracks changes. The class represents a query against a specific entity set. - This section describes how to use client libraries to access and change data from a .NET Framework client application. For more information about how to use the WCF Data Services client library with a Silverlight-based application, see [WCF Data Services (Silverlight)](https://docs.microsoft.com/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838234(v%3dvs.95)). Other client libraries are available that enable you to consume an OData feed in other kinds of applications. For more information on OData SDK, see [OData SDK - Sample Code](https://www.odata.org/ecosystem/#sdk). + This section describes how to use client libraries to access and change data from a .NET Framework client application. For more information about how to use the WCF Data Services client library with a Silverlight-based application, see [WCF Data Services (Silverlight)](/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc838234(v=vs.95)). Other client libraries are available that enable you to consume an OData feed in other kinds of applications. For more information on OData SDK, see [OData SDK - Sample Code](https://www.odata.org/ecosystem/#sdk). ## In This Section [Generating the Data Service Client Library](generating-the-data-service-client-library-wcf-data-services.md) diff --git a/docs/framework/data/wcf/wcf-data-services-overview.md b/docs/framework/data/wcf/wcf-data-services-overview.md index 050487df63a08..3f962e717e411 100644 --- a/docs/framework/data/wcf/wcf-data-services-overview.md +++ b/docs/framework/data/wcf/wcf-data-services-overview.md @@ -54,6 +54,6 @@ OData defines a set of extensions to the Atom Publishing Protocol (AtomPub). It - [WCF Data Services 4.5](index.md) - [Getting Started](getting-started-with-wcf-data-services.md) - [Defining WCF Data Services](defining-wcf-data-services.md) -- [Accessing Data Service Resources (WCF Data Services)](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/dd728283(v=vs.100)) +- [Accessing Data Service Resources (WCF Data Services)](/previous-versions/dotnet/netframework-4.0/dd728283(v=vs.100)) - [WCF Data Services Client Library](wcf-data-services-client-library.md) - [Representational State Transfer (REST)](https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm) diff --git a/docs/framework/data/wcf/wcf-data-services-resources.md b/docs/framework/data/wcf/wcf-data-services-resources.md index cf09e7fa16b37..182a1061dffca 100644 --- a/docs/framework/data/wcf/wcf-data-services-resources.md +++ b/docs/framework/data/wcf/wcf-data-services-resources.md @@ -26,7 +26,7 @@ WCF Data Services introductory topics can be found in the following locations. M [WCF Data Services Forum](https://social.msdn.microsoft.com/Forums/en-US/home?forum=adodotnetdataservices) Data programming support for WCF Data Services developers. - [WCF Data Services Team Blog](https://docs.microsoft.com/archive/blogs/astoriateam/) + [WCF Data Services Team Blog](/archive/blogs/astoriateam/) Blog that contains updates and discussion of WCF Data Services features and functionality. [OData website](https://www.odata.org/) @@ -38,10 +38,10 @@ WCF Data Services introductory topics can be found in the following locations. M [OData Blog](https://www.odata.org/blog/) Blog that contains discussions about OData programming. - [Overview: WCF Data Services](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/cc956153(v=msdn.10)) + [Overview: WCF Data Services](/previous-versions/visualstudio/visual-studio-2008/cc956153(v=msdn.10)) A white paper that provides more high-level information about the benefits of WCF Data Services. - [Using Microsoft WCF Data Services](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/cc907912(v=msdn.10)) + [Using Microsoft WCF Data Services](/previous-versions/visualstudio/visual-studio-2008/cc907912(v=msdn.10)) A white paper that provides additional information and examples for creating data services and accessing data services in client applications. [The Entity-Relationship Model: Toward a Unified View of Data](https://dl.acm.org/doi/10.1145/320434.320440) by Peter Pin-Shan Chen, Massachusetts Institute of Technology diff --git a/docs/framework/data/wcf/working-with-binary-data-wcf-data-services.md b/docs/framework/data/wcf/working-with-binary-data-wcf-data-services.md index 0ff4397f1c150..11499710dd7df 100644 --- a/docs/framework/data/wcf/working-with-binary-data-wcf-data-services.md +++ b/docs/framework/data/wcf/working-with-binary-data-wcf-data-services.md @@ -20,7 +20,7 @@ The WCF Data Services client library enables you to retrieve and update binary d WCF Data Services implements the streaming of binary data by using HTTP as defined in the OData. In this mechanism, binary data is treated as a media resource that is separate from but related to an entity, which is called a media link entry. For more information, see [Streaming Provider](streaming-provider-wcf-data-services.md). > [!TIP] -> For a step-by-step example of how to create a Windows Presentation Foundation (WPF) client application that downloads binary image files from an OData service that stores photos, see the post [Data Services Streaming Provider Series-Part 2: Accessing a Media Resource Stream from the Client](https://docs.microsoft.com/archive/blogs/astoriateam/data-services-streaming-provider-series-part-2-accessing-a-media-resource-stream-from-the-client). To download the sample code for the stream photo data service featured in the blog post, see the [Streaming Photo Data Service Sample](https://github.com/microsoftarchive/msdn-code-gallery-community-s-z/tree/master/Streaming%20Photo%20OData%20Service%20Sample) in GitHub. +> For a step-by-step example of how to create a Windows Presentation Foundation (WPF) client application that downloads binary image files from an OData service that stores photos, see the post [Data Services Streaming Provider Series-Part 2: Accessing a Media Resource Stream from the Client](/archive/blogs/astoriateam/data-services-streaming-provider-series-part-2-accessing-a-media-resource-stream-from-the-client). To download the sample code for the stream photo data service featured in the blog post, see the [Streaming Photo Data Service Sample](https://github.com/microsoftarchive/msdn-code-gallery-community-s-z/tree/master/Streaming%20Photo%20OData%20Service%20Sample) in GitHub. ## Entity Metadata @@ -28,14 +28,14 @@ An entity that has a related media resource stream is indicated in the data serv [!code-xml[Astoria Photo Streaming Service#HasStream](../../../../samples/snippets/xml/VS_Snippets_Misc/astoria_photo_streaming_service/xml/photodata.edmx#hasstream)] -The remaining examples in this topic show how to access and change the media resource stream. For a complete example of how to consume a media resource stream in a .NET Framework client application by using the WCF Data Services client library, see the post [Accessing a Media Resource Stream from the Client](https://docs.microsoft.com/archive/blogs/astoriateam/data-services-streaming-provider-series-part-2-accessing-a-media-resource-stream-from-the-client). +The remaining examples in this topic show how to access and change the media resource stream. For a complete example of how to consume a media resource stream in a .NET Framework client application by using the WCF Data Services client library, see the post [Accessing a Media Resource Stream from the Client](/archive/blogs/astoriateam/data-services-streaming-provider-series-part-2-accessing-a-media-resource-stream-from-the-client). ## Accessing the Binary Resource Stream The WCF Data Services client library provides methods for accessing binary resource streams from an OData-based data service. When downloading a media resource, you can either use the URI of the media resource or you can get a binary stream that contains the media resource data itself. You can also upload media resource data as a binary stream. > [!TIP] -> For a step-by-step example of how to create a Windows Presentation Foundation (WPF) client application that downloads binary image files from an OData service that stores photos, see the post [Data Services Streaming Provider Series-Part 2: Accessing a Media Resource Stream from the Client](https://docs.microsoft.com/archive/blogs/astoriateam/data-services-streaming-provider-series-part-2-accessing-a-media-resource-stream-from-the-client). To download the sample code for the stream photo data service featured in the blog post, see the [Streaming Photo Data Service Sample](https://github.com/microsoftarchive/msdn-code-gallery-community-s-z/tree/master/Streaming%20Photo%20OData%20Service%20Sample) in GitHub. +> For a step-by-step example of how to create a Windows Presentation Foundation (WPF) client application that downloads binary image files from an OData service that stores photos, see the post [Data Services Streaming Provider Series-Part 2: Accessing a Media Resource Stream from the Client](/archive/blogs/astoriateam/data-services-streaming-provider-series-part-2-accessing-a-media-resource-stream-from-the-client). To download the sample code for the stream photo data service featured in the blog post, see the [Streaming Photo Data Service Sample](https://github.com/microsoftarchive/msdn-code-gallery-community-s-z/tree/master/Streaming%20Photo%20OData%20Service%20Sample) in GitHub. ### Getting the URI of the Binary Stream diff --git a/docs/framework/debug-trace-profile/making-an-image-easier-to-debug.md b/docs/framework/debug-trace-profile/making-an-image-easier-to-debug.md index de3e5b0147998..c1a11e338c913 100644 --- a/docs/framework/debug-trace-profile/making-an-image-easier-to-debug.md +++ b/docs/framework/debug-trace-profile/making-an-image-easier-to-debug.md @@ -50,4 +50,4 @@ The **DebuggableAttribute** applies to a whole assembly at a time, not to indivi - [Debugging, Tracing, and Profiling](index.md) - [Enabling JIT-Attach Debugging](enabling-jit-attach-debugging.md) -- [Enabling Profiling](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/s5ec0es1(v=vs.100)) +- [Enabling Profiling](/previous-versions/dotnet/netframework-4.0/s5ec0es1(v=vs.100)) diff --git a/docs/framework/debug-trace-profile/performance-counters.md b/docs/framework/debug-trace-profile/performance-counters.md index 02a72d961f2b0..617e2f92b5ce5 100644 --- a/docs/framework/debug-trace-profile/performance-counters.md +++ b/docs/framework/debug-trace-profile/performance-counters.md @@ -10,7 +10,7 @@ ms.assetid: 06a4ae8c-eeb2-4d5a-817e-b1b95c0653e1 --- # Performance counters in the .NET Framework -This topic provides a list of performance counters you can find in the [Windows Performance Monitor](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc749249%28v=ws.11%29). +This topic provides a list of performance counters you can find in the [Windows Performance Monitor](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc749249(v=ws.11)). ## Exception performance counters The Performance console .NET CLR Exceptions category includes counters that provide information about the exceptions thrown by an application. The following table describes these performance counters. diff --git a/docs/framework/deployment/best-practices-for-assembly-loading.md b/docs/framework/deployment/best-practices-for-assembly-loading.md index 089f78c38599f..05e5fd97621e8 100644 --- a/docs/framework/deployment/best-practices-for-assembly-loading.md +++ b/docs/framework/deployment/best-practices-for-assembly-loading.md @@ -147,7 +147,7 @@ This article discusses ways to avoid problems of type identity that can lead to If it is not possible to put all your assemblies in the probing path, consider alternatives such as using the .NET Framework add-in model, placing assemblies into the global assembly cache, or creating application domains. ### Consider Using the .NET Framework Add-In Model - If you are using the load-from context to implement add-ins, which typically are not installed in the application base, use the .NET Framework add-in model. This model provides isolation at the application domain or process level, without requiring you to manage application domains yourself. For information about the add-in model, see [Add-ins and Extensibility](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb384200(v%3dvs.100)). + If you are using the load-from context to implement add-ins, which typically are not installed in the application base, use the .NET Framework add-in model. This model provides isolation at the application domain or process level, without requiring you to manage application domains yourself. For information about the add-in model, see [Add-ins and Extensibility](/previous-versions/dotnet/netframework-4.0/bb384200(v=vs.100)). ### Consider Using the Global Assembly Cache Place assemblies in the global assembly cache to get the benefit of a shared assembly path that is outside the application base, without losing the advantages of the default load context or taking on the disadvantages of the other contexts. diff --git a/docs/framework/deployment/client-profile.md b/docs/framework/deployment/client-profile.md index cc2e163b5ae23..03b8083dea5a8 100644 --- a/docs/framework/deployment/client-profile.md +++ b/docs/framework/deployment/client-profile.md @@ -16,13 +16,13 @@ The .NET Client Profile is a subset of the .NET Framework, which was provided wi Starting with the .NET Framework 4.5, the Client Profile has been discontinued and only the full redistributable package is available. Optimizations provided by the .NET Framework 4.5, such as smaller download size and faster deployment, have eliminated the need for a separate deployment package. The single redistributable streamlines the installation process and simplifies your app's deployment options. - However, if you are targeting the .NET Framework 4 or 3.5 and want to learn more about the Client Profile and when to use it, see [.NET Framework Client Profile](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/cc656912%28v=vs.100%29) in the .NET Framework 4 documentation. + However, if you are targeting the .NET Framework 4 or 3.5 and want to learn more about the Client Profile and when to use it, see [.NET Framework Client Profile](/previous-versions/dotnet/netframework-4.0/cc656912(v=vs.100)) in the .NET Framework 4 documentation. When you install the .NET Framework 4.5, the .NET Framework 4 Client Profile is updated to the full version of the .NET Framework. For information about installing the .NET Framework 4.5, see [Install the .NET Framework for developers](../install/guide-for-developers.md). ## See also -- [.NET Framework Client Profile (.NET Framework 4)](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/cc656912%28v=vs.100%29) +- [.NET Framework Client Profile (.NET Framework 4)](/previous-versions/dotnet/netframework-4.0/cc656912(v=vs.100)) - [Visual Studio Multi-Targeting Overview](/visualstudio/ide/visual-studio-multi-targeting-overview) - [Troubleshooting .NET Framework Targeting Errors](/visualstudio/msbuild/troubleshooting-dotnet-framework-targeting-errors) - [How to: Target a Version of the .NET Framework](/visualstudio/ide/visual-studio-multi-targeting-overview) diff --git a/docs/framework/deployment/deployment-guide-for-developers.md b/docs/framework/deployment/deployment-guide-for-developers.md index 51065214b69d2..20c3d1384d7fa 100644 --- a/docs/framework/deployment/deployment-guide-for-developers.md +++ b/docs/framework/deployment/deployment-guide-for-developers.md @@ -37,9 +37,9 @@ You can download the redistributable packages and language packs for .NET Framew - Starting with .NET Framework 4.5, your users can view a list of running .NET Framework apps during setup and close them easily. This may help avoid system restarts caused by .NET Framework installations. See [Reducing System Restarts](reducing-system-restarts.md). -- Uninstalling .NET Framework 4.5 or later versions also removes pre-existing .NET Framework 4 files. If you want to go back to .NET Framework 4, you must reinstall it and any updates to it. See [Installing the .NET Framework 4](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/5a4x27ek(v=vs.100)). +- Uninstalling .NET Framework 4.5 or later versions also removes pre-existing .NET Framework 4 files. If you want to go back to .NET Framework 4, you must reinstall it and any updates to it. See [Installing the .NET Framework 4](/previous-versions/dotnet/netframework-4.0/5a4x27ek(v=vs.100)). -- The .NET Framework 4.5 redistributable was updated on October 9, 2012 to correct an issue related to an improper timestamp on a digital certificate, which caused the digital signature on files produced and signed by Microsoft to expire prematurely. If you previously installed the .NET Framework 4.5 redistributable package dated August 16, 2012, we recommend that you update your copy with the latest redistributable from the [.NET Framework download page](https://dotnet.microsoft.com/download/dotnet-framework/net45). For more information about this issue, see [Microsoft Security Advisory 2749655](https://docs.microsoft.com/security-updates/SecurityAdvisories/2012/2749655). +- The .NET Framework 4.5 redistributable was updated on October 9, 2012 to correct an issue related to an improper timestamp on a digital certificate, which caused the digital signature on files produced and signed by Microsoft to expire prematurely. If you previously installed the .NET Framework 4.5 redistributable package dated August 16, 2012, we recommend that you update your copy with the latest redistributable from the [.NET Framework download page](https://dotnet.microsoft.com/download/dotnet-framework/net45). For more information about this issue, see [Microsoft Security Advisory 2749655](/security-updates/SecurityAdvisories/2012/2749655). For information about how a system administrator can deploy the .NET Framework and its system dependencies across a network, see [Deployment Guide for Administrators](guide-for-administrators.md). @@ -339,11 +339,11 @@ The following table lists options that you can include when you chain the .NET F |Option|Description| |------------|-----------------| |**/CEIPConsent**|Overwrites the default behavior and sends anonymous feedback to Microsoft to improve future deployment experiences. This option can be used only if the setup program prompts for consent and if the user grants permission to send anonymous feedback to Microsoft.| -|**/chainingpackage** `packageName`|Specifies the name of the executable that is doing the chaining. This information is sent to Microsoft as anonymous feedback to help improve future deployment experiences.

If the package name includes spaces, use double quotation marks as delimiters; for example: **/chainingpackage "Lucerne Publishing"**. For an example of a chaining package, see [Getting Progress Information from an Installation Package](https://docs.microsoft.com/previous-versions/cc825975(v=vs.100)).| +|**/chainingpackage** `packageName`|Specifies the name of the executable that is doing the chaining. This information is sent to Microsoft as anonymous feedback to help improve future deployment experiences.

If the package name includes spaces, use double quotation marks as delimiters; for example: **/chainingpackage "Lucerne Publishing"**. For an example of a chaining package, see [Getting Progress Information from an Installation Package](/previous-versions/cc825975(v=vs.100)).| |**/LCID** `LCID`

where `LCID` specifies a locale identifier (see [supported languages](#supported-languages))|Installs the language pack specified by `LCID` and forces the displayed UI to be shown in that language, unless quiet mode is set.

For the web installer, this option chain-installs the language package from the web. **Note:** Use this option only with the web installer.| |**/log** `file` | `folder`|Specifies the location of the log file. The default is the temporary folder for the process, and the default file name is based on the package. If the file extension is .txt, a text log is produced. If you specify any other extension or no extension, an HTML log is created.| |**/msioptions**|Specifies options to be passed for .msi and .msp items; for example: `/msioptions "PROPERTY1='Value'"`.| -|**/norestart**|Prevents the setup program from rebooting automatically. If you use this option, the chaining app has to capture the return code and handle rebooting (see [Getting Progress Information from an Installation Package](https://docs.microsoft.com/previous-versions/cc825975(v=vs.100))).| +|**/norestart**|Prevents the setup program from rebooting automatically. If you use this option, the chaining app has to capture the return code and handle rebooting (see [Getting Progress Information from an Installation Package](/previous-versions/cc825975(v=vs.100))).| |**/passive**|Sets passive mode. Displays the progress bar to indicate that installation is in progress, but does not display any prompts or error messages to the user. In this mode, when chained by a setup program, the chaining package must handle [return codes](#return-codes).| |**/pipe**|Creates a communication channel to enable a chaining package to get progress.| |**/promptrestart**|Passive mode only, if the setup program requires a restart, it prompts the user. This option requires user interaction if a restart is required.| diff --git a/docs/framework/deployment/guide-for-administrators.md b/docs/framework/deployment/guide-for-administrators.md index 1ad0a6dc738e6..99e42482effbd 100644 --- a/docs/framework/deployment/guide-for-administrators.md +++ b/docs/framework/deployment/guide-for-administrators.md @@ -33,16 +33,16 @@ This topic contains the following sections: When you have the supporting infrastructure in place, you use Configuration Manager to deploy the .NET Framework redistributable package to computers on the network. Building the infrastructure involves creating and defining five primary areas: collections, a package and program for the software, distribution points, and deployments. -- **Collections** are groups of Configuration Manager resources, such as users, user groups, or computers, to which the .NET Framework is deployed. For more information, see [Introduction to collections in Configuration Manager](https://docs.microsoft.com/configmgr/core/clients/manage/collections/introduction-to-collections) in the Configuration Manager documentation library. +- **Collections** are groups of Configuration Manager resources, such as users, user groups, or computers, to which the .NET Framework is deployed. For more information, see [Introduction to collections in Configuration Manager](/configmgr/core/clients/manage/collections/introduction-to-collections) in the Configuration Manager documentation library. -- **Packages and programs** typically represent software applications to be installed on a client computer, but they might also contain individual files, updates, or even individual commands. For more information, see [Packages and programs in Configuration Manager](https://docs.microsoft.com/configmgr/apps/deploy-use/packages-and-programs) in the Configuration Manager documentation library. +- **Packages and programs** typically represent software applications to be installed on a client computer, but they might also contain individual files, updates, or even individual commands. For more information, see [Packages and programs in Configuration Manager](/configmgr/apps/deploy-use/packages-and-programs) in the Configuration Manager documentation library. -- **Distribution points** are Configuration Manager site system roles that store files required for software to run on client computers. When the Configuration Manager client receives and processes a software deployment, it contacts a distribution point to download the content associated with the software and to start the installation process. For more information, see [Fundamental concepts for content management in Configuration Manager](https://docs.microsoft.com/configmgr/core/plan-design/hierarchy/fundamental-concepts-for-content-management) in the Configuration Manager documentation library. +- **Distribution points** are Configuration Manager site system roles that store files required for software to run on client computers. When the Configuration Manager client receives and processes a software deployment, it contacts a distribution point to download the content associated with the software and to start the installation process. For more information, see [Fundamental concepts for content management in Configuration Manager](/configmgr/core/plan-design/hierarchy/fundamental-concepts-for-content-management) in the Configuration Manager documentation library. - **Deployments** instruct applicable members of the specified target collection to install the software package. > [!IMPORTANT] -> The procedures in this topic contain typical settings for creating and deploying a package and program, and might not cover all possible settings. For other Configuration Manager deployment options, see the [Configuration Manager Documentation Library](https://docs.microsoft.com/previous-versions/system-center/system-center-2012-R2/gg682041%28v=technet.10%29). +> The procedures in this topic contain typical settings for creating and deploying a package and program, and might not cover all possible settings. For other Configuration Manager deployment options, see the [Configuration Manager Documentation Library](/previous-versions/system-center/system-center-2012-R2/gg682041(v=technet.10)). @@ -62,7 +62,7 @@ You can use Configuration Manager to deploy a silent installation of the .NET Fr ### Create a collection -In this step, you select the computers to which you will deploy the package and program, and group them into a device collection. To create a collection in Configuration Manager, you can use direct membership rules (where you manually specify the collection members) or query rules (where Configuration Manager determines the collection members based on criteria you specify). For more information about membership rules, including queries and direct rules, see [Introduction to collections in Configuration Manager](https://docs.microsoft.com/configmgr/core/clients/manage/collections/introduction-to-collections) in the Configuration Manager Documentation Library. +In this step, you select the computers to which you will deploy the package and program, and group them into a device collection. To create a collection in Configuration Manager, you can use direct membership rules (where you manually specify the collection members) or query rules (where Configuration Manager determines the collection members based on criteria you specify). For more information about membership rules, including queries and direct rules, see [Introduction to collections in Configuration Manager](/configmgr/core/clients/manage/collections/introduction-to-collections) in the Configuration Manager Documentation Library. To create a collection: @@ -130,7 +130,7 @@ The following table describes the command-line options specified in step 7. |**/norestart**|Prevents the Setup program from rebooting automatically. If you use this option, Configuration Manager must handle the computer restart.| |**/chainingpackage** *PackageName*|Specifies the name of the package that is doing the chaining. This information is reported with other installation session information for those who have signed up for the Microsoft Customer Experience Improvement Program (CEIP). If the package name includes spaces, use double quotation marks as delimiters; for example: **/chainingpackage "Chaining Product"**.| -These steps create a package named .NET Framework 4.5. The program deploys a silent installation of the .NET Framework 4.5. In a silent installation, users do not interact with the installation process, and the chaining application has to capture the return code and handle rebooting; see [Getting Progress Information from an Installation Package](https://docs.microsoft.com/previous-versions/cc825975(v=vs.100)). +These steps create a package named .NET Framework 4.5. The program deploys a silent installation of the .NET Framework 4.5. In a silent installation, users do not interact with the installation process, and the chaining application has to capture the return code and handle rebooting; see [Getting Progress Information from an Installation Package](/previous-versions/cc825975(v=vs.100)). @@ -156,7 +156,7 @@ Use the following steps to select a distribution point for the .NET Framework 4. 8. Complete the wizard. -The package now contains all the information you need to silently deploy the .NET Framework 4.5. Before you deploy the package and program, verify that it was installed on the distribution point; see the "Content status monitoring" section of [Monitor content you distribute with Configuration Manager](https://docs.microsoft.com/configmgr/core/servers/deploy/configure/monitor-content-you-have-distributed) in the Configuration Manager Documentation Library. +The package now contains all the information you need to silently deploy the .NET Framework 4.5. Before you deploy the package and program, verify that it was installed on the distribution point; see the "Content status monitoring" section of [Monitor content you distribute with Configuration Manager](/configmgr/core/servers/deploy/configure/monitor-content-you-have-distributed) in the Configuration Manager Documentation Library. @@ -183,7 +183,7 @@ To deploy the .NET Framework 4.5 package and program: 9. On the **User Experience** page of the wizard, use the default values and choose **Next**. > [!WARNING] - > Your production environment might have policies that require different selections for the deployment schedule. For information about these options, see [Advertisement Name Properties: Schedule Tab](https://docs.microsoft.com/previous-versions/system-center/configuration-manager-2007/bb694016%28v=technet.10%29). + > Your production environment might have policies that require different selections for the deployment schedule. For information about these options, see [Advertisement Name Properties: Schedule Tab](/previous-versions/system-center/configuration-manager-2007/bb694016(v=technet.10)). 10. On the **Distribution Points** page of the wizard, use the default values and choose **Next**. @@ -207,19 +207,19 @@ For more information about the infrastructure for testing the deployment of the **SQL Server 2008:** -- [Installing SQL Server 2008 (SQL Server Video)](https://docs.microsoft.com/previous-versions/sql/sql-server-2008/dd299415(v=sql.100)) +- [Installing SQL Server 2008 (SQL Server Video)](/previous-versions/sql/sql-server-2008/dd299415(v=sql.100)) - [SQL Server 2008 Security Overview for Database Administrators](https://download.microsoft.com/download/a/c/d/acd8e043-d69b-4f09-bc9e-4168b65aaa71/SQL2008SecurityOverviewforAdmins.docx) **System Center 2012 Configuration Manager (Management Point, Distribution Point):** -- [Site Administration for System Center 2012 Configuration Manager](https://docs.microsoft.com/previous-versions/system-center/system-center-2012-R2/gg681983%28v=technet.10%29) +- [Site Administration for System Center 2012 Configuration Manager](/previous-versions/system-center/system-center-2012-R2/gg681983(v=technet.10)) -- [Configuration Manager Single Site Planning and Deployment](https://docs.microsoft.com/previous-versions/system-center/configuration-manager-2007/bb680961%28v=technet.10%29) +- [Configuration Manager Single Site Planning and Deployment](/previous-versions/system-center/configuration-manager-2007/bb680961(v=technet.10)) **System Center 2012 Configuration Manager client for Windows computers:** -- [Deploying Clients for System Center 2012 Configuration Manager](https://docs.microsoft.com/previous-versions/system-center/system-center-2012-R2/gg699391%28v=technet.10%29) +- [Deploying Clients for System Center 2012 Configuration Manager](/previous-versions/system-center/system-center-2012-R2/gg699391(v=technet.10)) @@ -261,7 +261,7 @@ For links to detailed information, see the next section, [Download error codes]( - [Background Intelligent Transfer Service (BITS) error codes](/windows/desktop/Bits/bits-return-values) -- [URL moniker error codes](https://docs.microsoft.com/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775145%28v=vs.85%29) +- [URL moniker error codes](/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms775145(v=vs.85)) - [WinHttp error codes](/windows/desktop/WinHttp/error-messages) @@ -269,7 +269,7 @@ Other error codes: - [Windows Installer error codes](/windows/desktop/msi/error-codes) -- [Windows Update Agent result codes](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc720442(v=ws.10)) +- [Windows Update Agent result codes](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc720442(v=ws.10)) ## See also diff --git a/docs/framework/develop-client-apps.md b/docs/framework/develop-client-apps.md index 4e623c976ad2e..e107652fcf4af 100644 --- a/docs/framework/develop-client-apps.md +++ b/docs/framework/develop-client-apps.md @@ -20,8 +20,8 @@ ms.assetid: 2dfb50b7-5af2-4e12-9bbb-c5ade0e39a68 There are several ways to develop Windows-based applications with .NET Framework. You can use any of these tools and frameworks: - [Universal Windows Platform (UWP)](/windows/uwp/) -- [Windows Presentation Foundation (WPF)](./wpf/index.md) -- [Windows Forms](./winforms/index.md) +- [Windows Presentation Foundation (WPF)](/dotnet/desktop/wpf/) +- [Windows Forms](/dotnet/desktop/winforms/) This section contains articles that describe how to create Windows-based applications by using Windows Presentation Foundation or Windows Forms. However, you can also create web applications using .NET Framework and client applications for computers or devices that you make available through Microsoft Store (UWP apps). @@ -30,7 +30,7 @@ This section contains articles that describe how to create Windows-based applica [Universal Windows Platform](/windows/uwp/)\ Describes how to create UWP applications that you can make available to users through Microsoft Store. -[.NET API for UWP apps](/dotnet/api/index?view=dotnet-uwp-10.0)\ +[.NET API for UWP apps](../../api/index.md?view=dotnet-uwp-10.0)\ Reference for .NET types that support UWP apps. [Develop for Multiple Platforms](../standard/cross-platform/index.md)\ @@ -39,7 +39,7 @@ Describes the different methods you can use .NET Framework to target multiple cl [Get Started with ASP.NET Web Sites](https://dotnet.microsoft.com/apps/aspnet/web-apps)\ Describes the ways you can develop web apps using ASP.NET. -[.NET API for Windows Phone Silverlight](https://docs.microsoft.com/previous-versions/windows/apps/jj207211\(v=vs.105\))\ +[.NET API for Windows Phone Silverlight](/previous-versions/windows/apps/jj207211\(v=vs.105\))\ Lists .NET Framework APIs you can use for building apps with Windows Phone Silverlight. ## See also diff --git a/docs/framework/development-guide.md b/docs/framework/development-guide.md index 90ba60605fd24..e380d1923784a 100644 --- a/docs/framework/development-guide.md +++ b/docs/framework/development-guide.md @@ -58,7 +58,7 @@ This section explains how to create, configure, debug, secure, and deploy your . Provides information about caching, lazy initialization, reliability, and ETW events. ## Reference - [.NET Framework Class Library](/dotnet/api/?view=netframework-4.7) + [.NET Framework Class Library](../../api/index.md?view=netframework-4.7) Supplies syntax, code examples, and usage information for each class that is contained in the .NET Framework namespaces. ## Related Sections diff --git a/docs/framework/get-started/overview.md b/docs/framework/get-started/overview.md index e0fae6e03da15..ed33fc351f09b 100644 --- a/docs/framework/get-started/overview.md +++ b/docs/framework/get-started/overview.md @@ -70,9 +70,9 @@ As you would expect from an object-oriented class library, the .NET Framework ty - Console apps. See [Building Console Applications](../../standard/building-console-apps.md). -- Windows GUI apps (Windows Forms). See [Windows Forms](../winforms/index.md). +- Windows GUI apps (Windows Forms). See [Windows Forms](/dotnet/desktop/winforms/). -- Windows Presentation Foundation (WPF) apps. See [Windows Presentation Foundation](../wpf/index.md). +- Windows Presentation Foundation (WPF) apps. See [Windows Presentation Foundation](/dotnet/desktop/wpf/). - ASP.NET apps. See [Web Applications with ASP.NET](../develop-web-apps-with-aspnet.md). diff --git a/docs/framework/get-started/system-requirements.md b/docs/framework/get-started/system-requirements.md index 15967b9d61380..7bd7da0b30a19 100644 --- a/docs/framework/get-started/system-requirements.md +++ b/docs/framework/get-started/system-requirements.md @@ -93,7 +93,7 @@ For information on the support lifecycle of .NET Framework versions, see [Micros - Windows Server 2012 includes .NET Framework 4.5, so you don't have to install it separately. Similarly, Windows Server 2012 R2 includes .NET Framework 4.5.1. -- .NET Framework has limited support for the Server Core Role with Windows Server 2008 R2 SP1 or later. See [Server Core .NET Functionality](https://docs.microsoft.com/previous-versions//dd745015(v=vs.85)) for a list of unsupported APIs. +- .NET Framework has limited support for the Server Core Role with Windows Server 2008 R2 SP1 or later. See [Server Core .NET Functionality](/previous-versions//dd745015(v=vs.85)) for a list of unsupported APIs. - .NET Framework isn't supported on Windows Server 2008 R2 for Itanium-Based Systems. diff --git a/docs/framework/install/guide-for-developers.md b/docs/framework/install/guide-for-developers.md index 7ef50a1ba0970..02b23aac9bd09 100644 --- a/docs/framework/install/guide-for-developers.md +++ b/docs/framework/install/guide-for-developers.md @@ -132,7 +132,7 @@ Both web and offline installers are designed for x86-based and x64-based compute - You must have administrative credentials to install .NET Framework 4.5 or later versions. -- The .NET Framework 4.5 redistributable was updated on October 9, 2012 to correct an issue related to an improper timestamp on a digital certificate, which caused the digital signature on files produced and signed by Microsoft to expire prematurely. If you previously installed the .NET Framework 4.5 redistributable package dated August 16, 2012, we recommend that you update your copy with the latest redistributable from the [.NET Framework download page](https://dotnet.microsoft.com/download/dotnet-framework/net45). For more information about this issue, see [Microsoft Security Advisory 2749655](https://docs.microsoft.com/security-updates/SecurityAdvisories/2012/2749655) and [Knowledge Base article 2770445](https://support.microsoft.com/kb/2770445). +- The .NET Framework 4.5 redistributable was updated on October 9, 2012 to correct an issue related to an improper timestamp on a digital certificate, which caused the digital signature on files produced and signed by Microsoft to expire prematurely. If you previously installed the .NET Framework 4.5 redistributable package dated August 16, 2012, we recommend that you update your copy with the latest redistributable from the [.NET Framework download page](https://dotnet.microsoft.com/download/dotnet-framework/net45). For more information about this issue, see [Microsoft Security Advisory 2749655](/security-updates/SecurityAdvisories/2012/2749655) and [Knowledge Base article 2770445](https://support.microsoft.com/kb/2770445). ## To install language packs diff --git a/docs/framework/interop/blittable-and-non-blittable-types.md b/docs/framework/interop/blittable-and-non-blittable-types.md index 3d5a2eff09067..3c62f9a577bce 100644 --- a/docs/framework/interop/blittable-and-non-blittable-types.md +++ b/docs/framework/interop/blittable-and-non-blittable-types.md @@ -55,13 +55,13 @@ Most data types have a common representation in both managed and unmanaged memor |Non-blittable type|Description| |-------------------------|-----------------| |[System.Array](default-marshaling-for-arrays.md)|Converts to a C-style array or a `SAFEARRAY`.| -|[System.Boolean](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/t2t3725f(v=vs.100))|Converts to a 1, 2, or 4-byte value with `true` as 1 or -1.| -|[System.Char](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/6tyybbf2(v=vs.100))|Converts to a Unicode or ANSI character.| -|[System.Class](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/s0968xy8(v=vs.100))|Converts to a class interface.| +|[System.Boolean](/previous-versions/dotnet/netframework-4.0/t2t3725f(v=vs.100))|Converts to a 1, 2, or 4-byte value with `true` as 1 or -1.| +|[System.Char](/previous-versions/dotnet/netframework-4.0/6tyybbf2(v=vs.100))|Converts to a Unicode or ANSI character.| +|[System.Class](/previous-versions/dotnet/netframework-4.0/s0968xy8(v=vs.100))|Converts to a class interface.| |[System.Object](default-marshaling-for-objects.md)|Converts to a variant or an interface.| |[System.Mdarray](default-marshaling-for-arrays.md)|Converts to a C-style array or a `SAFEARRAY`.| |[System.String](default-marshaling-for-strings.md)|Converts to a string terminating in a null reference or to a BSTR.| -|[System.Valuetype](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/0t2cwe11(v=vs.100))|Converts to a structure with a fixed memory layout.| +|[System.Valuetype](/previous-versions/dotnet/netframework-4.0/0t2cwe11(v=vs.100))|Converts to a structure with a fixed memory layout.| |[System.Szarray](default-marshaling-for-arrays.md)|Converts to a C-style array or a `SAFEARRAY`.| Class and object types are supported only by COM interop. For corresponding types in Visual Basic, C#, and C++, see the [Class Library Overview](../../standard/class-library-overview.md). diff --git a/docs/framework/interop/compiling-an-interop-project.md b/docs/framework/interop/compiling-an-interop-project.md index 3573379fc09fe..3809e66f60406 100644 --- a/docs/framework/interop/compiling-an-interop-project.md +++ b/docs/framework/interop/compiling-an-interop-project.md @@ -21,7 +21,7 @@ COM interop projects that reference one or more assemblies containing imported C - Deploying interop assemblies: You can create a standard reference to an interop assembly. In this case, the interop assembly must be deployed with your application. - The differences between these two techniques are discussed in greater detail in [Using COM Types in Managed Code](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/3y76b69k(v=vs.100)). + The differences between these two techniques are discussed in greater detail in [Using COM Types in Managed Code](/previous-versions/dotnet/netframework-4.0/3y76b69k(v=vs.100)). Embedding interop types with Visual Studio is demonstrated in [Walkthrough: Embedding Types from Managed Assemblies in Visual Studio](../../standard/assembly/embed-types-visual-studio.md). @@ -36,6 +36,6 @@ COM interop projects that reference one or more assemblies containing imported C - [Exposing COM Components to the .NET Framework](exposing-com-components.md) - [Language Independence and Language-Independent Components](../../standard/language-independence-and-language-independent-components.md) -- [Using COM Types in Managed Code](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/3y76b69k(v=vs.100)) +- [Using COM Types in Managed Code](/previous-versions/dotnet/netframework-4.0/3y76b69k(v=vs.100)) - [Walkthrough: Embedding Types from Managed Assemblies in Visual Studio](../../standard/assembly/embed-types-visual-studio.md) - [Importing a Type Library as an Assembly](importing-a-type-library-as-an-assembly.md) diff --git a/docs/framework/interop/configure-net-framework-based-com-components-for-reg.md b/docs/framework/interop/configure-net-framework-based-com-components-for-reg.md index 60fd08e258cca..b3f2413fcf9eb 100644 --- a/docs/framework/interop/configure-net-framework-based-com-components-for-reg.md +++ b/docs/framework/interop/configure-net-framework-based-com-components-for-reg.md @@ -170,6 +170,6 @@ You can install an application manifest in the same directory as the COM applica ## See also - [Registration-Free COM Interop](registration-free-com-interop.md) -- [Requirements for Registration-Free COM Interop](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/f8h7012w(v=vs.100)) -- [Configuring COM Components for Registration-Free Activation](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/x65a421a(v=vs.100)) -- [Registration-Free Activation of .NET-Based Components: A Walkthrough](https://docs.microsoft.com/previous-versions/dotnet/articles/ms973915(v=msdn.10)) +- [Requirements for Registration-Free COM Interop](/previous-versions/dotnet/netframework-4.0/f8h7012w(v=vs.100)) +- [Configuring COM Components for Registration-Free Activation](/previous-versions/dotnet/netframework-4.0/x65a421a(v=vs.100)) +- [Registration-Free Activation of .NET-Based Components: A Walkthrough](/previous-versions/dotnet/articles/ms973915(v=msdn.10)) diff --git a/docs/framework/interop/copying-and-pinning.md b/docs/framework/interop/copying-and-pinning.md index b7bbdbd7f5903..ba10bb8113506 100644 --- a/docs/framework/interop/copying-and-pinning.md +++ b/docs/framework/interop/copying-and-pinning.md @@ -76,5 +76,5 @@ When a is passed b ## See also - [Default Marshaling Behavior](default-marshaling-behavior.md) -- [Directional Attributes](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/77e6taeh(v=vs.100)) +- [Directional Attributes](/previous-versions/dotnet/netframework-4.0/77e6taeh(v=vs.100)) - [Interop Marshaling](interop-marshaling.md) diff --git a/docs/framework/interop/creating-prototypes-in-managed-code.md b/docs/framework/interop/creating-prototypes-in-managed-code.md index f2a9253a7e9a0..5e50bdc345707 100644 --- a/docs/framework/interop/creating-prototypes-in-managed-code.md +++ b/docs/framework/interop/creating-prototypes-in-managed-code.md @@ -231,7 +231,7 @@ interface IDemandStubsItf - [Specifying an Entry Point](specifying-an-entry-point.md) - [Specifying a Character Set](specifying-a-character-set.md) - [Platform Invoke Examples](platform-invoke-examples.md) -- [Platform Invoke Security Considerations](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bb397754(v=vs.100)) +- [Platform Invoke Security Considerations](/previous-versions/dotnet/netframework-4.0/bb397754(v=vs.100)) - [Identifying Functions in DLLs](identifying-functions-in-dlls.md) - [Creating a Class to Hold DLL Functions](creating-a-class-to-hold-dll-functions.md) - [Calling a DLL Function](calling-a-dll-function.md) diff --git a/docs/framework/interop/default-marshaling-behavior.md b/docs/framework/interop/default-marshaling-behavior.md index ae90db64ec05a..9f14e90e10776 100644 --- a/docs/framework/interop/default-marshaling-behavior.md +++ b/docs/framework/interop/default-marshaling-behavior.md @@ -17,7 +17,7 @@ Interop marshaling operates on rules that dictate how data associated with metho This section identifies the default behavioral characteristics of the interop marshaling service. It presents detailed information on marshaling arrays, Boolean types, char types, delegates, classes, objects, strings, and structures. > [!NOTE] -> Marshaling of generic types is not supported. For more information see, [Interoperating Using Generic Types](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms229590(v=vs.100)). +> Marshaling of generic types is not supported. For more information see, [Interoperating Using Generic Types](/previous-versions/dotnet/netframework-4.0/ms229590(v=vs.100)). ## Memory management with the interop marshaler The interop marshaler always attempts to free memory allocated by unmanaged code. This behavior complies with COM memory management rules, but differs from the rules that govern native C++. @@ -34,7 +34,7 @@ BSTR MethodOne (BSTR b) { However, if you define the method as a platform invoke prototype, replace each **BSTR** type with a type, and call `MethodOne`, the common language runtime attempts to free `b` twice. You can change the marshaling behavior by using types rather than **String** types. - The runtime always uses the **CoTaskMemFree** method to free memory. If the memory you are working with was not allocated with the **CoTaskMemAlloc** method, you must use an **IntPtr** and free the memory manually using the appropriate method. Similarly, you can avoid automatic memory freeing in situations where memory should never be freed, such as when using the **GetCommandLine** function from Kernel32.dll, which returns a pointer to kernel memory. For details on manually freeing memory, see the [Buffers Sample](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/x3txb6xc(v=vs.100)). + The runtime always uses the **CoTaskMemFree** method to free memory. If the memory you are working with was not allocated with the **CoTaskMemAlloc** method, you must use an **IntPtr** and free the memory manually using the appropriate method. Similarly, you can avoid automatic memory freeing in situations where memory should never be freed, such as when using the **GetCommandLine** function from Kernel32.dll, which returns a pointer to kernel memory. For details on manually freeing memory, see the [Buffers Sample](/previous-versions/dotnet/netframework-4.0/x3txb6xc(v=vs.100)). ## Default marshaling for classes Classes can be marshaled only by COM interop and are always marshaled as interfaces. In some cases the interface used to marshal the class is known as the class interface. For information about overriding the class interface with an interface of your choice, see [Introducing the class interface](../../standard/native-interop/com-callable-wrapper.md#introducing-the-class-interface). diff --git a/docs/framework/interop/default-marshaling-for-arrays.md b/docs/framework/interop/default-marshaling-for-arrays.md index 4d94301d9a3f2..2560990dee82b 100644 --- a/docs/framework/interop/default-marshaling-for-arrays.md +++ b/docs/framework/interop/default-marshaling-for-arrays.md @@ -73,7 +73,7 @@ void New3([MarshalAs(UnmanagedType.SafeArray, SafeArraySubType=VT_BSTR)] ref String[] ar); ``` - Multidimensional, or nonzero-bound safe arrays, can be marshaled into managed code if the method signature produced by Tlbimp.exe is modified to indicate an element type of **ELEMENT_TYPE_ARRAY** instead of **ELEMENT_TYPE_SZARRAY**. Alternatively, you can use the **/sysarray** switch with Tlbimp.exe to import all arrays as objects. In cases where the array being passed is known to be multidimensional, you can edit the Microsoft intermediate language (MSIL) code produced by Tlbimp.exe and then recompile it. For details about how to modify MSIL code, see [Customizing Runtime Callable Wrappers](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/e753eftz(v=vs.100)). + Multidimensional, or nonzero-bound safe arrays, can be marshaled into managed code if the method signature produced by Tlbimp.exe is modified to indicate an element type of **ELEMENT_TYPE_ARRAY** instead of **ELEMENT_TYPE_SZARRAY**. Alternatively, you can use the **/sysarray** switch with Tlbimp.exe to import all arrays as objects. In cases where the array being passed is known to be multidimensional, you can edit the Microsoft intermediate language (MSIL) code produced by Tlbimp.exe and then recompile it. For details about how to modify MSIL code, see [Customizing Runtime Callable Wrappers](/previous-versions/dotnet/netframework-4.0/e753eftz(v=vs.100)). ### C-Style Arrays When a C-style array is imported from a type library to a .NET assembly, the array is converted to **ELEMENT_TYPE_SZARRAY**. @@ -137,7 +137,7 @@ void New2(ref double ar); void New3(ref String ar); ``` - You can provide the marshaler with the array size by editing the Microsoft intermediate language (MSIL) code produced by Tlbimp.exe and then recompiling it. For details about how to modify MSIL code, see [Customizing Runtime Callable Wrappers](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/e753eftz(v=vs.100)). To indicate the number of elements in the array, apply the type to the array parameter of the managed method definition in one of the following ways: + You can provide the marshaler with the array size by editing the Microsoft intermediate language (MSIL) code produced by Tlbimp.exe and then recompiling it. For details about how to modify MSIL code, see [Customizing Runtime Callable Wrappers](/previous-versions/dotnet/netframework-4.0/e753eftz(v=vs.100)). To indicate the number of elements in the array, apply the type to the array parameter of the managed method definition in one of the following ways: - Identify another parameter that contains the number of elements in the array. The parameters are identified by position, starting with the first parameter as number 0. @@ -357,5 +357,5 @@ public struct MyStruct { - [Default Marshaling Behavior](default-marshaling-behavior.md) - [Blittable and Non-Blittable Types](blittable-and-non-blittable-types.md) -- [Directional Attributes](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/77e6taeh(v=vs.100)) +- [Directional Attributes](/previous-versions/dotnet/netframework-4.0/77e6taeh(v=vs.100)) - [Copying and Pinning](copying-and-pinning.md) diff --git a/docs/framework/interop/default-marshaling-for-objects.md b/docs/framework/interop/default-marshaling-for-objects.md index 9c16a4e52eadd..133a8dcdc40ef 100644 --- a/docs/framework/interop/default-marshaling-for-objects.md +++ b/docs/framework/interop/default-marshaling-for-objects.md @@ -318,5 +318,5 @@ The following table summarizes the propagation rules for variants and objects. - [Default Marshaling Behavior](default-marshaling-behavior.md) - [Blittable and Non-Blittable Types](blittable-and-non-blittable-types.md) -- [Directional Attributes](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/77e6taeh(v=vs.100)) +- [Directional Attributes](/previous-versions/dotnet/netframework-4.0/77e6taeh(v=vs.100)) - [Copying and Pinning](copying-and-pinning.md) diff --git a/docs/framework/interop/default-marshaling-for-strings.md b/docs/framework/interop/default-marshaling-for-strings.md index 1d31ce3a250ba..a011711a567b2 100644 --- a/docs/framework/interop/default-marshaling-for-strings.md +++ b/docs/framework/interop/default-marshaling-for-strings.md @@ -285,5 +285,5 @@ End Class - [Default Marshaling Behavior](default-marshaling-behavior.md) - [Marshaling Strings](marshaling-strings.md) - [Blittable and Non-Blittable Types](blittable-and-non-blittable-types.md) -- [Directional Attributes](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/77e6taeh(v=vs.100)) +- [Directional Attributes](/previous-versions/dotnet/netframework-4.0/77e6taeh(v=vs.100)) - [Copying and Pinning](copying-and-pinning.md) diff --git a/docs/framework/interop/deploying-an-interop-application.md b/docs/framework/interop/deploying-an-interop-application.md index 9061fe1e5a00e..80fd7ab91162e 100644 --- a/docs/framework/interop/deploying-an-interop-application.md +++ b/docs/framework/interop/deploying-an-interop-application.md @@ -21,7 +21,7 @@ An interop application typically includes a .NET client assembly, one or more in - By using embedded interop types: Beginning with the .NET Framework 4, you can instruct the compiler to embed type information from an interop assembly into your executable. The compiler embeds only the type information that your application uses. You do not have to deploy the interop assembly with your application. This is the recommended technique. -- By deploying interop assemblies: You can create a standard reference to an interop assembly. In this case, the interop assembly must be deployed with your application. If you employ this technique, and you are not using a private COM component, always reference the primary interop assembly (PIA) published by the author of the COM component you intend to incorporate in your managed code. For more information about producing and using primary interop assemblies, see [Primary Interop Assemblies](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/aax7sdch(v=vs.100)). +- By deploying interop assemblies: You can create a standard reference to an interop assembly. In this case, the interop assembly must be deployed with your application. If you employ this technique, and you are not using a private COM component, always reference the primary interop assembly (PIA) published by the author of the COM component you intend to incorporate in your managed code. For more information about producing and using primary interop assemblies, see [Primary Interop Assemblies](/previous-versions/dotnet/netframework-4.0/aax7sdch(v=vs.100)). If you use embedded interop types, deployment is simple and straightforward. There is nothing special you need to do. The rest of this article describes the scenarios for deploying interop assemblies with your application. @@ -36,11 +36,11 @@ An interop application typically includes a .NET client assembly, one or more in All COM components associated with the application must be installed in the Windows registry. If Client1.exe and Client2.exe in the illustration are installed on different computers, you must register the COM components on both computers. ### Shared Assemblies - Assemblies that are shared by multiple applications should be installed in a centralized repository called the global assembly cache. .NET clients can access the same copy of the interop assembly, which is signed and installed in the global assembly cache. For more information about producing and using primary interop assemblies, see [Primary Interop Assemblies](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/aax7sdch(v=vs.100)). + Assemblies that are shared by multiple applications should be installed in a centralized repository called the global assembly cache. .NET clients can access the same copy of the interop assembly, which is signed and installed in the global assembly cache. For more information about producing and using primary interop assemblies, see [Primary Interop Assemblies](/previous-versions/dotnet/netframework-4.0/aax7sdch(v=vs.100)). ## See also - [Exposing COM Components to the .NET Framework](exposing-com-components.md) - [Importing a Type Library as an Assembly](importing-a-type-library-as-an-assembly.md) -- [Using COM Types in Managed Code](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/3y76b69k(v=vs.100)) +- [Using COM Types in Managed Code](/previous-versions/dotnet/netframework-4.0/3y76b69k(v=vs.100)) - [Compiling an Interop Project](compiling-an-interop-project.md) diff --git a/docs/framework/interop/exposing-com-components.md b/docs/framework/interop/exposing-com-components.md index 545f659938df1..9c64fc495a3fe 100644 --- a/docs/framework/interop/exposing-com-components.md +++ b/docs/framework/interop/exposing-com-components.md @@ -9,7 +9,7 @@ helpviewer_keywords: ms.assetid: e78b14f1-e487-43cd-9c6d-1a07483f1730 --- # Exposing COM Components to the .NET Framework -This section summarizes the process needed to expose an existing COM component to managed code. For details about writing COM servers that tightly integrate with the .NET Framework, see [Design Considerations for Interoperation](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/61aax4kh(v=vs.100)). +This section summarizes the process needed to expose an existing COM component to managed code. For details about writing COM servers that tightly integrate with the .NET Framework, see [Design Considerations for Interoperation](/previous-versions/dotnet/netframework-4.0/61aax4kh(v=vs.100)). Existing COM components are valuable resources in managed code as middle-tier business applications or as isolated functionality. An ideal component has a primary interop assembly and conforms tightly to the programming standards imposed by COM. @@ -19,7 +19,7 @@ This section summarizes the process needed to expose an existing COM component t The common language runtime requires metadata for all types, including COM types. There are several ways to obtain an assembly containing COM types imported as metadata. -2. [Use COM types in managed Code](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/3y76b69k(v=vs.100)). +2. [Use COM types in managed Code](/previous-versions/dotnet/netframework-4.0/3y76b69k(v=vs.100)). You can inspect COM types, activate instances, and invoke methods on the COM object the same way you do for any managed type. @@ -34,7 +34,7 @@ This section summarizes the process needed to expose an existing COM component t ## See also - [Interoperating with Unmanaged Code](index.md) -- [Design Considerations for Interoperation](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/61aax4kh(v=vs.100)) +- [Design Considerations for Interoperation](/previous-versions/dotnet/netframework-4.0/61aax4kh(v=vs.100)) - [COM Interop Sample: .NET Client and COM Server](com-interop-sample-net-client-and-com-server.md) - [Language Independence and Language-Independent Components](../../standard/language-independence-and-language-independent-components.md) - [Gacutil.exe (Global Assembly Cache Tool)](../tools/gacutil-exe-gac-tool.md) diff --git a/docs/framework/interop/exposing-dotnet-components-to-com.md b/docs/framework/interop/exposing-dotnet-components-to-com.md index c3976f7fe7a1b..93e0aa4b5276a 100644 --- a/docs/framework/interop/exposing-dotnet-components-to-com.md +++ b/docs/framework/interop/exposing-dotnet-components-to-com.md @@ -36,11 +36,11 @@ Writing a .NET type and consuming that type from unmanaged code are distinct act COM developers can reference types in an assembly using the same tools and techniques they use today. -3. [Call a .NET object](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/8hw8h46b(v=vs.100)). +3. [Call a .NET object](/previous-versions/dotnet/netframework-4.0/8hw8h46b(v=vs.100)). COM developers can call methods on the .NET object the same way they call methods on any unmanaged type. For example, the COM **CoCreateInstance** API activates .NET objects. -4. [Deploy an application for COM access](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/c2850st8(v=vs.100)). +4. [Deploy an application for COM access](/previous-versions/dotnet/netframework-4.0/c2850st8(v=vs.100)). A strong-named assembly can be installed in the global assembly cache and requires a signature from its publisher. Assemblies that are not strong named must be installed in the application directory of the client. diff --git a/docs/framework/interop/how-to-create-wrappers-manually.md b/docs/framework/interop/how-to-create-wrappers-manually.md index 8f387b387922c..49b254b78288a 100644 --- a/docs/framework/interop/how-to-create-wrappers-manually.md +++ b/docs/framework/interop/how-to-create-wrappers-manually.md @@ -21,11 +21,11 @@ If you decide to declare COM types manually in managed source code, the best pla 1. Assuming that you have an IDL file or type library file, decide which classes and interfaces you want to include in the custom RCW. You can exclude any types that you do not intend to use directly or indirectly in your application. -2. Create a source file in a CLS-compliant language and declare the types. See [Type Library to Assembly Conversion Summary](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/k83zzh38(v=vs.100)) for a complete description of the import conversion process. Effectively, when you create a custom RCW, you are manually performing the type conversion activity provided by the [Type Library Importer (Tlbimp.exe)](../tools/tlbimp-exe-type-library-importer.md). The example in the next section shows types in an IDL or type library file and their corresponding types in C# code. +2. Create a source file in a CLS-compliant language and declare the types. See [Type Library to Assembly Conversion Summary](/previous-versions/dotnet/netframework-4.0/k83zzh38(v=vs.100)) for a complete description of the import conversion process. Effectively, when you create a custom RCW, you are manually performing the type conversion activity provided by the [Type Library Importer (Tlbimp.exe)](../tools/tlbimp-exe-type-library-importer.md). The example in the next section shows types in an IDL or type library file and their corresponding types in C# code. 3. When the declarations are complete, compile the file as you compile any other managed source code. -4. As with the types imported with Tlbimp.exe, some require additional information, which you can add directly to your code. For details, see [How to: Edit Interop Assemblies](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/8zbc969t(v=vs.100)). +4. As with the types imported with Tlbimp.exe, some require additional information, which you can add directly to your code. For details, see [How to: Edit Interop Assemblies](/previous-versions/dotnet/netframework-4.0/8zbc969t(v=vs.100)). ## Example The following code shows an example of the `ISATest` interface and `SATest` class in IDL and the corresponding types in C# source code. @@ -94,9 +94,9 @@ namespace SAServer ## See also -- [Customizing Runtime Callable Wrappers](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/e753eftz(v=vs.100)) -- [COM Data Types](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/sak564ww(v=vs.100)) -- [How to: Edit Interop Assemblies](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/8zbc969t(v=vs.100)) -- [Type Library to Assembly Conversion Summary](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/k83zzh38(v=vs.100)) +- [Customizing Runtime Callable Wrappers](/previous-versions/dotnet/netframework-4.0/e753eftz(v=vs.100)) +- [COM Data Types](/previous-versions/dotnet/netframework-4.0/sak564ww(v=vs.100)) +- [How to: Edit Interop Assemblies](/previous-versions/dotnet/netframework-4.0/8zbc969t(v=vs.100)) +- [Type Library to Assembly Conversion Summary](/previous-versions/dotnet/netframework-4.0/k83zzh38(v=vs.100)) - [Tlbimp.exe (Type Library Importer)](../tools/tlbimp-exe-type-library-importer.md) - [Tlbexp.exe (Type Library Exporter)](../tools/tlbexp-exe-type-library-exporter.md) diff --git a/docs/framework/interop/how-to-generate-primary-interop-assemblies-using-tlbimp-exe.md b/docs/framework/interop/how-to-generate-primary-interop-assemblies-using-tlbimp-exe.md index e075a16606f87..5254b294e4027 100644 --- a/docs/framework/interop/how-to-generate-primary-interop-assemblies-using-tlbimp-exe.md +++ b/docs/framework/interop/how-to-generate-primary-interop-assemblies-using-tlbimp-exe.md @@ -40,7 +40,7 @@ Primary interop assemblies can reference only other primary interop assemblies. A dependent primary interop assembly with a version number that differs from that of the original type library is not discoverable when installed in the current directory. You must either register the dependent primary interop assembly in the Windows registry or use the **/reference** option to be sure that Tlbimp.exe finds the dependent DLL. -You can also wrap multiple versions of a type library. For instructions, see [How to: Wrap Multiple Versions of Type Libraries](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/1565h6hc(v=vs.100)). +You can also wrap multiple versions of a type library. For instructions, see [How to: Wrap Multiple Versions of Type Libraries](/previous-versions/dotnet/netframework-4.0/1565h6hc(v=vs.100)). ## Example diff --git a/docs/framework/interop/how-to-map-hresults-and-exceptions.md b/docs/framework/interop/how-to-map-hresults-and-exceptions.md index d39cd8d422d6f..c39c031220d56 100644 --- a/docs/framework/interop/how-to-map-hresults-and-exceptions.md +++ b/docs/framework/interop/how-to-map-hresults-and-exceptions.md @@ -137,5 +137,5 @@ CMyClass::MethodThatThrows ## See also -- [Advanced COM Interoperability](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bd9cdfyx(v=vs.100)) +- [Advanced COM Interoperability](/previous-versions/dotnet/netframework-4.0/bd9cdfyx(v=vs.100)) - [Exceptions](../../standard/exceptions/index.md) diff --git a/docs/framework/interop/how-to-reference-net-types-from-com.md b/docs/framework/interop/how-to-reference-net-types-from-com.md index c8414393e5940..4cb08fe602c43 100644 --- a/docs/framework/interop/how-to-reference-net-types-from-com.md +++ b/docs/framework/interop/how-to-reference-net-types-from-com.md @@ -40,5 +40,5 @@ From the point of view of client and server code, the differences between COM an - [Exposing .NET Framework Components to COM](exposing-dotnet-components-to-com.md) - [Registering Assemblies with COM](registering-assemblies-with-com.md) -- [Calling a .NET Object](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/8hw8h46b(v=vs.100)) -- [Deploying an Application for COM Access](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/c2850st8(v=vs.100)) +- [Calling a .NET Object](/previous-versions/dotnet/netframework-4.0/8hw8h46b(v=vs.100)) +- [Deploying an Application for COM Access](/previous-versions/dotnet/netframework-4.0/c2850st8(v=vs.100)) diff --git a/docs/framework/interop/how-to-register-primary-interop-assemblies.md b/docs/framework/interop/how-to-register-primary-interop-assemblies.md index 7d52ca45b4f0e..a4e0cbed89324 100644 --- a/docs/framework/interop/how-to-register-primary-interop-assemblies.md +++ b/docs/framework/interop/how-to-register-primary-interop-assemblies.md @@ -44,6 +44,6 @@ regasm CompanyA.UtilLib.dll ## See also -- [Programming with Primary Interop Assemblies](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/baxfadst(v=vs.100)) -- [Locating Primary Interop Assemblies](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/y06sxw56(v=vs.100)) -- [Redistributing Primary Interop Assemblies](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/w0dt2w20(v=vs.100)) +- [Programming with Primary Interop Assemblies](/previous-versions/dotnet/netframework-4.0/baxfadst(v=vs.100)) +- [Locating Primary Interop Assemblies](/previous-versions/dotnet/netframework-4.0/y06sxw56(v=vs.100)) +- [Redistributing Primary Interop Assemblies](/previous-versions/dotnet/netframework-4.0/w0dt2w20(v=vs.100)) diff --git a/docs/framework/interop/importing-a-type-library-as-an-assembly.md b/docs/framework/interop/importing-a-type-library-as-an-assembly.md index 9d81cae6981cf..6878e47609f3a 100644 --- a/docs/framework/interop/importing-a-type-library-as-an-assembly.md +++ b/docs/framework/interop/importing-a-type-library-as-an-assembly.md @@ -25,7 +25,7 @@ There are two ways to make this type information available to your application: - Using design-time-only interop assemblies: Beginning with the .NET Framework 4, you can instruct the compiler to embed type information from the interop assembly into your executable. The compiler embeds only the type information that your application uses. You do not have to deploy the interop assembly with your application. This is the recommended technique. -- Deploying interop assemblies: You can create a standard reference to the interop assembly. In this case, the interop assembly must be deployed with your application. If you employ this technique, and you are not using a private COM component, always reference the primary interop assembly (PIA) published by the author of the COM component you intend to incorporate in your managed code. For more information about producing and using primary interop assemblies, see [Primary Interop Assemblies](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/aax7sdch(v=vs.100)). +- Deploying interop assemblies: You can create a standard reference to the interop assembly. In this case, the interop assembly must be deployed with your application. If you employ this technique, and you are not using a private COM component, always reference the primary interop assembly (PIA) published by the author of the COM component you intend to incorporate in your managed code. For more information about producing and using primary interop assemblies, see [Primary Interop Assemblies](/previous-versions/dotnet/netframework-4.0/aax7sdch(v=vs.100)). When you use design-time-only interop assemblies, you can embed type information from the primary interop assembly published by the author of the COM component. However, you do not have to deploy the primary interop assembly with your application. @@ -61,18 +61,18 @@ After you locate the type library that contains the implementation of your targe - Knowledge of the type library-to-assembly conversion rules. - Writing a custom wrapper is an advanced technique. For additional information about how to generate a custom wrapper, see [Customizing Standard Wrappers](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/h7hx9abd(v=vs.100)). + Writing a custom wrapper is an advanced technique. For additional information about how to generate a custom wrapper, see [Customizing Standard Wrappers](/previous-versions/dotnet/netframework-4.0/h7hx9abd(v=vs.100)). - For more information about the COM interop import process, see [Type Library to Assembly Conversion Summary](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/k83zzh38(v=vs.100)). + For more information about the COM interop import process, see [Type Library to Assembly Conversion Summary](/previous-versions/dotnet/netframework-4.0/k83zzh38(v=vs.100)). ## See also - - [Exposing COM Components to the .NET Framework](exposing-com-components.md) -- [Type Library to Assembly Conversion Summary](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/k83zzh38(v=vs.100)) +- [Type Library to Assembly Conversion Summary](/previous-versions/dotnet/netframework-4.0/k83zzh38(v=vs.100)) - [Tlbimp.exe (Type Library Importer)](../tools/tlbimp-exe-type-library-importer.md) -- [Customizing Standard Wrappers](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/h7hx9abd(v=vs.100)) -- [Using COM Types in Managed Code](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/3y76b69k(v=vs.100)) +- [Customizing Standard Wrappers](/previous-versions/dotnet/netframework-4.0/h7hx9abd(v=vs.100)) +- [Using COM Types in Managed Code](/previous-versions/dotnet/netframework-4.0/3y76b69k(v=vs.100)) - [Compiling an Interop Project](compiling-an-interop-project.md) - [Deploying an Interop Application](deploying-an-interop-application.md) - [How to: Add References to Type Libraries](how-to-add-references-to-type-libraries.md) diff --git a/docs/framework/interop/interop-marshaling.md b/docs/framework/interop/interop-marshaling.md index da7bbe3568cd4..cb0b0008ab7d5 100644 --- a/docs/framework/interop/interop-marshaling.md +++ b/docs/framework/interop/interop-marshaling.md @@ -73,7 +73,7 @@ For cross-apartment marshaling, you can do the following: > [!NOTE] > Once the thread of a C# client is set to STA, calls to MTA COM components will require cross-apartment marshaling. -For instructions on explicitly selecting an apartment model, see [Managed and Unmanaged Threading](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/5s8ee185(v=vs.100)). +For instructions on explicitly selecting an apartment model, see [Managed and Unmanaged Threading](/previous-versions/dotnet/netframework-4.0/5s8ee185(v=vs.100)). ## Marshaling Remote Calls @@ -120,10 +120,10 @@ Some unmanaged calls can be channeled through SOAP, such as the calls between se |[Marshaling Data with COM Interop](marshaling-data-with-com-interop.md)|Describes how to customize COM wrappers to alter marshaling behavior.| |[How to: Migrate Managed-Code DCOM to WCF](how-to-migrate-managed-code-dcom-to-wcf.md)|Describes how to migrate from DCOM to WCF.| |[How to: Map HRESULTs and Exceptions](how-to-map-hresults-and-exceptions.md)|Describes how to map custom exceptions to HRESULTs and provides the complete mapping from each HRESULT to its comparable exception class in the .NET Framework.| -|[Interoperating Using Generic Types](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms229590(v=vs.100))|Describes which actions are supported when using generic types for COM interoperability.| +|[Interoperating Using Generic Types](/previous-versions/dotnet/netframework-4.0/ms229590(v=vs.100))|Describes which actions are supported when using generic types for COM interoperability.| |[Interoperating with Unmanaged Code](index.md)|Describes interoperability services provided by the common language runtime.| -|[Advanced COM Interoperability](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bd9cdfyx(v=vs.100))|Provides links to more information about incorporating COM components into your .NET Framework application.| -|[Design Considerations for Interoperation](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/61aax4kh(v=vs.100))|Provides tips for writing integrated COM components.| +|[Advanced COM Interoperability](/previous-versions/dotnet/netframework-4.0/bd9cdfyx(v=vs.100))|Provides links to more information about incorporating COM components into your .NET Framework application.| +|[Design Considerations for Interoperation](/previous-versions/dotnet/netframework-4.0/61aax4kh(v=vs.100))|Provides tips for writing integrated COM components.| ## Reference diff --git a/docs/framework/interop/marshaling-a-delegate-as-a-callback-method.md b/docs/framework/interop/marshaling-a-delegate-as-a-callback-method.md index 8239330ac9d93..389ec2cd8b19e 100644 --- a/docs/framework/interop/marshaling-a-delegate-as-a-callback-method.md +++ b/docs/framework/interop/marshaling-a-delegate-as-a-callback-method.md @@ -15,7 +15,7 @@ ms.assetid: 6ddd7866-9804-4571-84de-83f5cc017a5a This sample demonstrates how to pass delegates to an unmanaged function expecting function pointers. A delegate is a class that can hold a reference to a method and is equivalent to a type-safe function pointer or a callback function. > [!NOTE] -> When you use a delegate inside a call, the common language runtime protects the delegate from being garbage collected for the duration of that call. However, if the unmanaged function stores the delegate to use after the call completes, you must manually prevent garbage collection until the unmanaged function finishes with the delegate. For more information, see the [HandleRef Sample](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/hc662t8k(v=vs.100)) and [GCHandle Sample](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/44ey4b32(v=vs.100)). +> When you use a delegate inside a call, the common language runtime protects the delegate from being garbage collected for the duration of that call. However, if the unmanaged function stores the delegate to use after the call completes, you must manually prevent garbage collection until the unmanaged function finishes with the delegate. For more information, see the [HandleRef Sample](/previous-versions/dotnet/netframework-4.0/hc662t8k(v=vs.100)) and [GCHandle Sample](/previous-versions/dotnet/netframework-4.0/44ey4b32(v=vs.100)). The Callback sample uses the following unmanaged functions, shown with their original function declaration: @@ -47,6 +47,6 @@ In this sample, the `NativeMethods` class contains managed prototypes for the `T ## See also -- [Miscellaneous Marshaling Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ss9sb93t(v=vs.100)) +- [Miscellaneous Marshaling Samples](/previous-versions/dotnet/netframework-4.0/ss9sb93t(v=vs.100)) - [Platform Invoke Data Types](marshaling-data-with-platform-invoke.md#platform-invoke-data-types) - [Creating Prototypes in Managed Code](creating-prototypes-in-managed-code.md) diff --git a/docs/framework/interop/marshaling-classes-structures-and-unions.md b/docs/framework/interop/marshaling-classes-structures-and-unions.md index aa3891cf641e6..c8cfea8ff9cf6 100644 --- a/docs/framework/interop/marshaling-classes-structures-and-unions.md +++ b/docs/framework/interop/marshaling-classes-structures-and-unions.md @@ -30,7 +30,7 @@ The following table lists marshaling options for classes, structures, and unions |----------|-----------------|------------| |Class by value.|Passes a class with integer members as an In/Out parameter, like the managed case.|[SysTime sample](#systime-sample)| |Structure by value.|Passes structures as In parameters.|[Structures sample](#structures-sample)| -|Structure by reference.|Passes structures as In/Out parameters.|[OSInfo sample](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/795sy883(v=vs.100))| +|Structure by reference.|Passes structures as In/Out parameters.|[OSInfo sample](/previous-versions/dotnet/netframework-4.0/795sy883(v=vs.100))| |Structure with nested structures (flattened).|Passes a class that represents a structure with nested structures in the unmanaged function. The structure is flattened to one big structure in the managed prototype.|[FindFile sample](#findfile-sample)| |Structure with a pointer to another structure.|Passes a structure that contains a pointer to a second structure as a member.|[Structures Sample](#structures-sample)| |Array of structures with integers by value.|Passes an array of structures that contain only integers as an In/Out parameter. Members of the array can be changed.|[Arrays Sample](marshaling-different-types-of-arrays.md)| @@ -38,7 +38,7 @@ The following table lists marshaling options for classes, structures, and unions |Unions with value types.|Passes unions with value types (integer and double).|[Unions sample](#unions-sample)| |Unions with mixed types.|Passes unions with mixed types (integer and string).|[Unions sample](#unions-sample)| |Struct with platform-specific layout.|Passes a type with native-packing definitions.|[Platform sample](#platform-sample)| -|Null values in structure.|Passes a null reference (**Nothing** in Visual Basic) instead of a reference to a value type.|[HandleRef sample](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.0/hc662t8k(v=vs.85))| +|Null values in structure.|Passes a null reference (**Nothing** in Visual Basic) instead of a reference to a value type.|[HandleRef sample](/previous-versions/dotnet/netframework-3.0/hc662t8k(v=vs.85))| ## Structures sample @@ -128,7 +128,7 @@ Structures as arguments to methods are passed by value unless the parameter cont ## FindFile sample -This sample demonstrates how to pass a structure that contains a second, embedded structure to an unmanaged function. It also demonstrates how to use the attribute to declare a fixed-length array within the structure. In this sample, the embedded structure elements are added to the parent structure. For a sample of an embedded structure that is not flattened, see [Structures Sample](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/eadtsekz(v=vs.100)). +This sample demonstrates how to pass a structure that contains a second, embedded structure to an unmanaged function. It also demonstrates how to use the attribute to declare a fixed-length array within the structure. In this sample, the embedded structure elements are added to the parent structure. For a sample of an embedded structure that is not flattened, see [Structures Sample](/previous-versions/dotnet/netframework-4.0/eadtsekz(v=vs.100)). The FindFile sample uses the following unmanaged function, shown with its original function declaration: @@ -326,7 +326,7 @@ typedef struct _SYSTEMTIME { In this sample, the `SystemTime` class contains the elements of the original structure represented as class members. The attribute is set to ensure that the members are arranged in memory sequentially, in the order in which they appear. -The `NativeMethods` class contains a managed prototype of the `GetSystemTime` method, which passes the `SystemTime` class as an In/Out parameter by default. The parameter must be declared with the and attributes because classes, which are reference types, are passed as In parameters by default. For the caller to receive the results, these [directional attributes](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/77e6taeh(v=vs.100)) must be applied explicitly. The `App` class creates a new instance of the `SystemTime` class and accesses its data fields. +The `NativeMethods` class contains a managed prototype of the `GetSystemTime` method, which passes the `SystemTime` class as an In/Out parameter by default. The parameter must be declared with the and attributes because classes, which are reference types, are passed as In parameters by default. For the caller to receive the results, these [directional attributes](/previous-versions/dotnet/netframework-4.0/77e6taeh(v=vs.100)) must be applied explicitly. The `App` class creates a new instance of the `SystemTime` class and accesses its data fields. ### Code Samples diff --git a/docs/framework/interop/marshaling-data-with-com-interop.md b/docs/framework/interop/marshaling-data-with-com-interop.md index 0860c7c4de50c..098f3a0bd7749 100644 --- a/docs/framework/interop/marshaling-data-with-com-interop.md +++ b/docs/framework/interop/marshaling-data-with-com-interop.md @@ -25,23 +25,23 @@ Describes how to create a COM wrapper manually in managed source code. Describes how to migrate managed DCOM code to WCF for the most secure solution. ## Related Sections - [COM Data Types](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/sak564ww(v=vs.100)) + [COM Data Types](/previous-versions/dotnet/netframework-4.0/sak564ww(v=vs.100)) Provides corresponding managed and unmanaged data types. - [Customizing COM Callable Wrappers](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/3bwc828w(v=vs.100)) + [Customizing COM Callable Wrappers](/previous-versions/dotnet/netframework-4.0/3bwc828w(v=vs.100)) Describes how to explicitly marshal data types using the attribute at design time. - [Customizing Runtime Callable Wrappers](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/e753eftz(v=vs.100)) + [Customizing Runtime Callable Wrappers](/previous-versions/dotnet/netframework-4.0/e753eftz(v=vs.100)) Describes how to adjust the marshaling behavior of types in an interop assembly and how to define COM types manually. - [Advanced COM Interoperability](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bd9cdfyx(v=vs.100)) + [Advanced COM Interoperability](/previous-versions/dotnet/netframework-4.0/bd9cdfyx(v=vs.100)) Provides links to more information about incorporating COM components into your .NET Framework application. - [Assembly to Type Library Conversion Summary](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/xk1120c3(v=vs.100)) + [Assembly to Type Library Conversion Summary](/previous-versions/dotnet/netframework-4.0/xk1120c3(v=vs.100)) Describes the assembly to type library export conversion process. - [Type Library to Assembly Conversion Summary](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/k83zzh38(v=vs.100)) + [Type Library to Assembly Conversion Summary](/previous-versions/dotnet/netframework-4.0/k83zzh38(v=vs.100)) Describes the type library to assembly import conversion process. - [Interoperating Using Generic Types](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms229590(v=vs.100)) + [Interoperating Using Generic Types](/previous-versions/dotnet/netframework-4.0/ms229590(v=vs.100)) Describes which actions are supported when using generic types for COM interoperability. diff --git a/docs/framework/interop/marshaling-strings.md b/docs/framework/interop/marshaling-strings.md index 5c859479d85da..95e25083bf8eb 100644 --- a/docs/framework/interop/marshaling-strings.md +++ b/docs/framework/interop/marshaling-strings.md @@ -21,13 +21,13 @@ Platform invoke copies string parameters, converting them from the .NET Framewor |String|Description|Sample| |------------|-----------------|------------| |By value.|Passes strings as In parameters.|[MsgBox](msgbox-sample.md)| -|As result.|Returns strings from unmanaged code.|[Strings](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/e765dyyy(v=vs.100))| -|By reference.|Passes strings as In/Out parameters using .|[Buffers](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/x3txb6xc(v=vs.100))| -|In a structure by value.|Passes strings in a structure that is an In parameter.|[Structs](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/eadtsekz(v=vs.100))| -|In a structure by reference **(char\*)**.|Passes strings in a structure that is an In/Out parameter. The unmanaged function expects a pointer to a character buffer and the buffer size is a member of the structure.|[Strings](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/e765dyyy(v=vs.100))| -|In a structure by reference **(char[])**.|Passes strings in a structure that is an In/Out parameter. The unmanaged function expects an embedded character buffer.|[OSInfo](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/795sy883(v=vs.100))| -|In a class by value **(char\*)**.|Passes strings in a class (a class is an In/Out parameter). The unmanaged function expects a pointer to a character buffer.|[OpenFileDlg](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/w5tyztk9(v=vs.100))| -|In a class by value **(char[])**.|Passes strings in a class (a class is an In/Out parameter). The unmanaged function expects an embedded character buffer.|[OSInfo](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/795sy883(v=vs.100))| +|As result.|Returns strings from unmanaged code.|[Strings](/previous-versions/dotnet/netframework-4.0/e765dyyy(v=vs.100))| +|By reference.|Passes strings as In/Out parameters using .|[Buffers](/previous-versions/dotnet/netframework-4.0/x3txb6xc(v=vs.100))| +|In a structure by value.|Passes strings in a structure that is an In parameter.|[Structs](/previous-versions/dotnet/netframework-4.0/eadtsekz(v=vs.100))| +|In a structure by reference **(char\*)**.|Passes strings in a structure that is an In/Out parameter. The unmanaged function expects a pointer to a character buffer and the buffer size is a member of the structure.|[Strings](/previous-versions/dotnet/netframework-4.0/e765dyyy(v=vs.100))| +|In a structure by reference **(char[])**.|Passes strings in a structure that is an In/Out parameter. The unmanaged function expects an embedded character buffer.|[OSInfo](/previous-versions/dotnet/netframework-4.0/795sy883(v=vs.100))| +|In a class by value **(char\*)**.|Passes strings in a class (a class is an In/Out parameter). The unmanaged function expects a pointer to a character buffer.|[OpenFileDlg](/previous-versions/dotnet/netframework-4.0/w5tyztk9(v=vs.100))| +|In a class by value **(char[])**.|Passes strings in a class (a class is an In/Out parameter). The unmanaged function expects an embedded character buffer.|[OSInfo](/previous-versions/dotnet/netframework-4.0/795sy883(v=vs.100))| |As an array of strings by value.|Creates an array of strings that is passed by value.|[Arrays](marshaling-different-types-of-arrays.md)| |As an array of structures that contain strings by value.|Creates an array of structures that contain strings and the array is passed by value.|[Arrays](marshaling-different-types-of-arrays.md)| @@ -37,4 +37,4 @@ Platform invoke copies string parameters, converting them from the .NET Framewor - [Marshaling Data with Platform Invoke](marshaling-data-with-platform-invoke.md) - [Marshaling Classes, Structures, and Unions](marshaling-classes-structures-and-unions.md) - [Marshaling Different Types of Arrays](marshaling-different-types-of-arrays.md) -- [Miscellaneous Marshaling Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ss9sb93t(v=vs.100)) +- [Miscellaneous Marshaling Samples](/previous-versions/dotnet/netframework-4.0/ss9sb93t(v=vs.100)) diff --git a/docs/framework/interop/packaging-an-assembly-for-com.md b/docs/framework/interop/packaging-an-assembly-for-com.md index ab787269369b3..1420849f09f49 100644 --- a/docs/framework/interop/packaging-an-assembly-for-com.md +++ b/docs/framework/interop/packaging-an-assembly-for-com.md @@ -54,7 +54,7 @@ COM developers can benefit from the following information about the managed type Regardless of the mechanism you choose, only public types defined in the assembly you supply are included in the generated type library. -For instructions, see [How to: Embed Type Libraries as Win32 Resources in .NET-Based Applications](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ww9a897z(v=vs.100)). +For instructions, see [How to: Embed Type Libraries as Win32 Resources in .NET-Based Applications](/previous-versions/dotnet/netframework-4.0/ww9a897z(v=vs.100)). @@ -92,4 +92,4 @@ The [.NET Services Installation Tool (Regsvcs.exe)](../tools/regsvcs-exe-net-ser - [Assembly Security Considerations](../../standard/assembly/security-considerations.md) - [Tlbexp.exe (Type Library Exporter)](../tools/tlbexp-exe-type-library-exporter.md) - [Registering Assemblies with COM](registering-assemblies-with-com.md) -- [How to: Embed Type Libraries as Win32 Resources in Applications](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ww9a897z(v=vs.100)) +- [How to: Embed Type Libraries as Win32 Resources in Applications](/previous-versions/dotnet/netframework-4.0/ww9a897z(v=vs.100)) diff --git a/docs/framework/interop/registering-assemblies-with-com.md b/docs/framework/interop/registering-assemblies-with-com.md index eff58ea468ffe..833c71334ab7c 100644 --- a/docs/framework/interop/registering-assemblies-with-com.md +++ b/docs/framework/interop/registering-assemblies-with-com.md @@ -40,5 +40,5 @@ You can run a command-line tool called the [Assembly Registration Tool (Regasm.e - [Exposing .NET Framework Components to COM](exposing-dotnet-components-to-com.md) - [How to: Reference .NET Types from COM](how-to-reference-net-types-from-com.md) -- [Calling a .NET Object](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/8hw8h46b(v=vs.100)) -- [Deploying an Application for COM Access](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/c2850st8(v=vs.100)) +- [Calling a .NET Object](/previous-versions/dotnet/netframework-4.0/8hw8h46b(v=vs.100)) +- [Deploying an Application for COM Access](/previous-versions/dotnet/netframework-4.0/c2850st8(v=vs.100)) diff --git a/docs/framework/interop/type-equivalence-and-embedded-interop-types.md b/docs/framework/interop/type-equivalence-and-embedded-interop-types.md index aa35e1da7d016..953760fe46c7e 100644 --- a/docs/framework/interop/type-equivalence-and-embedded-interop-types.md +++ b/docs/framework/interop/type-equivalence-and-embedded-interop-types.md @@ -49,5 +49,5 @@ If a type does not have the -- [Using COM Types in Managed Code](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/3y76b69k(v=vs.100)) +- [Using COM Types in Managed Code](/previous-versions/dotnet/netframework-4.0/3y76b69k(v=vs.100)) - [Importing a Type Library as an Assembly](importing-a-type-library-as-an-assembly.md) diff --git a/docs/framework/mef/index.md b/docs/framework/mef/index.md index 2f502609d7f81..237cdd96a5e53 100644 --- a/docs/framework/mef/index.md +++ b/docs/framework/mef/index.md @@ -56,7 +56,7 @@ Previous versions of the .NET Framework introduced the Managed Add-in Framework The simplest way to see what MEF can do is to build a simple MEF application. In this example, you build a very simple calculator named SimpleCalculator. The goal of SimpleCalculator is to create a console application that accepts basic arithmetic commands, in the form "5+3" or "6-2", and returns the correct answers. Using MEF, you'll be able to add new operators without changing the application code. -To download the complete code for this example, see the [SimpleCalculator sample (Visual Basic)](https://docs.microsoft.com/samples/dotnet/samples/simple-calculator-vb/). +To download the complete code for this example, see the [SimpleCalculator sample (Visual Basic)](/samples/dotnet/samples/simple-calculator-vb/). > [!NOTE] > The purpose of SimpleCalculator is to demonstrate the concepts and syntax of MEF, rather than to necessarily provide a realistic scenario for its use. Many of the applications that would benefit most from the power of MEF are more complex than SimpleCalculator. For more extensive examples, see the [Managed Extensibility Framework](https://github.com/MicrosoftArchive/mef) on GitHub. @@ -478,6 +478,6 @@ This topic covered the basic concepts of MEF. ## Next steps -To download the complete code for this example, see the [SimpleCalculator sample (Visual Basic)](https://docs.microsoft.com/samples/dotnet/samples/simple-calculator-vb/). +To download the complete code for this example, see the [SimpleCalculator sample (Visual Basic)](/samples/dotnet/samples/simple-calculator-vb/). For more information and code examples, see [Managed Extensibility Framework](https://github.com/MicrosoftArchive/mef). For a list of the MEF types, see the namespace. diff --git a/docs/framework/mef/mef-for-net-for-windows-store-apps.md b/docs/framework/mef/mef-for-net-for-windows-store-apps.md index c933e6156ca7a..e3ba106100727 100644 --- a/docs/framework/mef/mef-for-net-for-windows-store-apps.md +++ b/docs/framework/mef/mef-for-net-for-windows-store-apps.md @@ -17,10 +17,10 @@ ms.assetid: 7667770e-d163-4ad6-a303-085cf73db2f2 - provides MEF types used internally by the composition engine. - For more information about .NET for Windows 8.x Store apps and a list of namespaces and types that it contains, see [.NET for Windows Store apps overview](https://docs.microsoft.com/previous-versions/br230302(v=vs.110)). + For more information about .NET for Windows 8.x Store apps and a list of namespaces and types that it contains, see [.NET for Windows Store apps overview](/previous-versions/br230302(v=vs.110)). ## See also -- [.NET for Windows Store apps overview](https://docs.microsoft.com/previous-versions/br230302(v=vs.110)) -- [.NET for Windows Store apps – supported APIs](https://docs.microsoft.com/previous-versions/br230232(v=vs.110)) +- [.NET for Windows Store apps overview](/previous-versions/br230302(v=vs.110)) +- [.NET for Windows Store apps – supported APIs](/previous-versions/br230232(v=vs.110)) - [Managed Extensibility Framework (MEF)](index.md) diff --git a/docs/framework/migration-guide/migrating-from-the-net-framework-1-1.md b/docs/framework/migration-guide/migrating-from-the-net-framework-1-1.md index a51ae6052b300..85e778a150b62 100644 --- a/docs/framework/migration-guide/migrating-from-the-net-framework-1-1.md +++ b/docs/framework/migration-guide/migrating-from-the-net-framework-1-1.md @@ -51,9 +51,9 @@ However, in some cases, you may have to modify your source code and recompile yo To assess the impact of possible breaking changes on your application, you must review the following lists of changes: -- [Breaking Changes in .NET Framework 2.0](https://docs.microsoft.com/previous-versions/aa570326(v=msdn.10)) documents changes in .NET Framework 2.0 SP1 that can affect an application that targets .NET Framework 1.1. +- [Breaking Changes in .NET Framework 2.0](/previous-versions/aa570326(v=msdn.10)) documents changes in .NET Framework 2.0 SP1 that can affect an application that targets .NET Framework 1.1. -- [Changes in .NET Framework 3.5 SP1](https://docs.microsoft.com/previous-versions/dotnet/articles/dd310284(v=msdn.10)) documents changes between the .NET Framework 3.5 and the .NET Framework 3.5 SP1. +- [Changes in .NET Framework 3.5 SP1](/previous-versions/dotnet/articles/dd310284(v=msdn.10)) documents changes between the .NET Framework 3.5 and the .NET Framework 3.5 SP1. - [.NET Framework 4 Migration Issues](net-framework-4-migration-issues.md) documents changes between the .NET Framework 3.5 SP1 and the .NET Framework 4. diff --git a/docs/framework/migration-guide/net-framework-4-migration-issues.md b/docs/framework/migration-guide/net-framework-4-migration-issues.md index 597f8b5cd5306..b6c1908706d58 100644 --- a/docs/framework/migration-guide/net-framework-4-migration-issues.md +++ b/docs/framework/migration-guide/net-framework-4-migration-issues.md @@ -11,9 +11,9 @@ ms.assetid: df478548-8c05-4de2-8ba7-adcdbe1c2a60 This article describes migration issues between .NET Framework version 3.5 Service Pack 1 and .NET Framework version 4, including fixes, changes for standards compliance and security, and changes based on customer feedback. Most of these changes do not require any programming modifications in your applications. For those that may involve modifications, see the **Recommended changes** column of the table. Notable changes are broken down by area, for example, ASP.NET and Windows Presentation Foundation (WPF). -For a higher-level overview of the issues in this article, see [Migration Guide to .NET Framework 4](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ff657133%28v=vs.100%29). +For a higher-level overview of the issues in this article, see [Migration Guide to .NET Framework 4](/previous-versions/dotnet/netframework-4.0/ff657133(v=vs.100)). -For information about new features, see [What's New in .NET Framework 4](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms171868%28v=vs.100%29). +For information about new features, see [What's New in .NET Framework 4](/previous-versions/dotnet/netframework-4.0/ms171868(v=vs.100)). ## ASP.NET and Web @@ -23,15 +23,15 @@ Assembly: System.Web (in System.Web.dll) | Feature | Differences from 3.5 SP1 | Recommended changes | | -------- | ------------------------ | ------------------- | -| **Browser definition files** | The browser definition files have been updated to include information about new and updated browsers and devices. Older browsers and devices such as Netscape Navigator have been removed, and newer browsers and devices such as Google Chrome and Apple iPhone have been added.

If your application contains custom browser definitions that inherit from one of the browser definitions that have been removed, you will see an error.

The object (which is exposed by the page's `Request.Browse` property) is driven by the browser definition files. Therefore, the information that is returned by accessing a property of this object in ASP.NET 4 might be different than the information that was returned in an earlier version of ASP.NET. | If your application relies on the old browser definition files, you can copy them from the following folder:

*Windows\\Microsoft.NET\\Framework\\v2.0.50727\\CONFIG\\Browsers*

Copy the files into the corresponding *\\CONFIG\\Browsers* folder for ASP.NET 4. After you copy the files, run the [Aspnet_regbrowsers.exe](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms229858(v=vs.90)) command-line tool. For more information, see the [https://www.asp.net/mobile](/aspnet/mobile/overview) Web site. | +| **Browser definition files** | The browser definition files have been updated to include information about new and updated browsers and devices. Older browsers and devices such as Netscape Navigator have been removed, and newer browsers and devices such as Google Chrome and Apple iPhone have been added.

If your application contains custom browser definitions that inherit from one of the browser definitions that have been removed, you will see an error.

The object (which is exposed by the page's `Request.Browse` property) is driven by the browser definition files. Therefore, the information that is returned by accessing a property of this object in ASP.NET 4 might be different than the information that was returned in an earlier version of ASP.NET. | If your application relies on the old browser definition files, you can copy them from the following folder:

*Windows\\Microsoft.NET\\Framework\\v2.0.50727\\CONFIG\\Browsers*

Copy the files into the corresponding *\\CONFIG\\Browsers* folder for ASP.NET 4. After you copy the files, run the [Aspnet_regbrowsers.exe](/previous-versions/dotnet/netframework-3.5/ms229858(v=vs.90)) command-line tool. For more information, see the [https://www.asp.net/mobile](/aspnet/mobile/overview) Web site. | | **Child applications running under mixed versions of ASP.NET** | ASP.NET 4 applications that are configured as children of applications that run earlier versions of ASP.NET might fail to start because of configuration or compilation errors. The specific error that occurs depends on whether the application runs under IIS 6.0, or under IIS 7 or IIS 7.5. | You can make changes to the configuration files of the affected applications so that the configuration system correctly recognizes the ASP.NET 4 application. For information about the changes you must make, see the section "ASP.NET 4 Child Applications Fail to Start When Under ASP.NET 2.0 or ASP.NET 3.5 Applications" in the document [ASP.NET 4 Breaking Changes](/aspnet/whitepapers/aspnet4/breaking-changes) on the ASP.NET Web site. | -| **ClientID changes** | The new `clientIDMode` setting in ASP.NET 4 lets you specify how ASP.NET generates the `id` attribute for HTML elements. In previous versions of ASP.NET, the default behavior was equivalent to the `AutoID` setting of `clientIDMode`. The default setting is now `Predictable`. For more information, see [ASP.NET Web Server Control Identification](https://docs.microsoft.com/previous-versions/aspnet/1d04y8ss%28v=vs.100%29). | If you use Visual Studio to upgrade your application from ASP.NET 2.0 or ASP.NET 3.5, the tool automatically adds a setting to the Web.config file that preserves the behavior of earlier versions of .NET Framework. However, if you upgrade an application by changing the application pool in IIS to target .NET Framework 4, ASP.NET uses the new mode by default. To disable the new client ID mode, add the following setting to the Web.config file:

`` | -| **Code access security (CAS)** | ASP.NET 2.0 NET features that were added in ASP.NET 3.5 use the .NET Framework 1.1 and .NET Framework 2.0 code access security (CAS) model. However, the implementation of CAS in ASP.NET 4 has been substantially overhauled. As a result, partial-trust ASP.NET applications that rely on trusted code running in the global assembly cache might fail with various security exceptions. Partial-trust applications that rely on extensive modifications to machine CAS policy might also fail and throw security exceptions. | You can revert partial-trust ASP.NET 4 applications to the behavior of ASP.NET 1.1 and 2.0 by using the new `legacyCasModel` attribute in the `trust` configuration element, as shown in the following example:

``

Important: Reverting to the older CAS model might represent reduced security.

For more information about the new ASP.NET 4 code access security model, see [Code Access Security in ASP.NET 4 Applications](https://docs.microsoft.com/previous-versions/dd984947(v=vs.100)). | +| **ClientID changes** | The new `clientIDMode` setting in ASP.NET 4 lets you specify how ASP.NET generates the `id` attribute for HTML elements. In previous versions of ASP.NET, the default behavior was equivalent to the `AutoID` setting of `clientIDMode`. The default setting is now `Predictable`. For more information, see [ASP.NET Web Server Control Identification](/previous-versions/aspnet/1d04y8ss(v=vs.100)). | If you use Visual Studio to upgrade your application from ASP.NET 2.0 or ASP.NET 3.5, the tool automatically adds a setting to the Web.config file that preserves the behavior of earlier versions of .NET Framework. However, if you upgrade an application by changing the application pool in IIS to target .NET Framework 4, ASP.NET uses the new mode by default. To disable the new client ID mode, add the following setting to the Web.config file:

`` | +| **Code access security (CAS)** | ASP.NET 2.0 NET features that were added in ASP.NET 3.5 use the .NET Framework 1.1 and .NET Framework 2.0 code access security (CAS) model. However, the implementation of CAS in ASP.NET 4 has been substantially overhauled. As a result, partial-trust ASP.NET applications that rely on trusted code running in the global assembly cache might fail with various security exceptions. Partial-trust applications that rely on extensive modifications to machine CAS policy might also fail and throw security exceptions. | You can revert partial-trust ASP.NET 4 applications to the behavior of ASP.NET 1.1 and 2.0 by using the new `legacyCasModel` attribute in the `trust` configuration element, as shown in the following example:

``

Important: Reverting to the older CAS model might represent reduced security.

For more information about the new ASP.NET 4 code access security model, see [Code Access Security in ASP.NET 4 Applications](/previous-versions/dd984947(v=vs.100)). | | **Configuration files** | The root configuration files (the machine.config file and the root Web.config file) for .NET Framework and ASP.NET 4 have been updated to include most of the boilerplate configuration information that was found in the application Web.config files in ASP.NET 3.5. Because of the complexity of the managed IIS 7 and IIS 7.5 configuration systems, running ASP.NET 3.5 applications under ASP.NET 4 and under IIS 7 and IIS 7.5 can result in either ASP.NET errors or IIS errors. | Upgrade ASP.NET 3.5 applications to ASP.NET 4 by using the project upgrade tools in Visual Studio. Visual Studio 2010 automatically modifies the ASP.NET 3.5 application's Web.config file to contain the appropriate settings for ASP.NET 4.

However, you can run ASP.NET 3.5 applications using .NET Framework 4 without recompilation. In that case, you might have to manually modify the application's Web.config file before you run the application under .NET Framework 4 and under IIS 7 or IIS 7.5. The specific change you must make depends on the combination of software you are working with, including Service Pack (SP) releases. For information about the possible software combinations that are affected by this change and how to resolve problems with specific combinations, see the section "Configuration Errors Related to New ASP.NET 4 Root Configuration" in the document [ASP.NET 4 Breaking Changes](/aspnet/whitepapers/aspnet4/breaking-changes) on the ASP.NET Web site. | | **Control rendering** | In previous versions of ASP.NET, some controls emitted markup that you could not disable. By default, this type of markup is no longer generated in ASP.NET 4. The rendering changes affect the following controls:

\* The `Image` and `ImageButton` controls no longer render a `border="0"` attribute.
\* The `BaseValidator` class and validation controls that derive from it no longer render red text by default.
\* The `HtmlForm` control does not render a `name` attribute.
\* The `Table` control no longer renders a `border="0"` attribute.

Controls that are not designed for user input (for example, the `Label` control) no longer render the `disabled="disabled"` attribute if their `Enabled` property is set to `false` (or if they inherit this setting from a container control). | If you use Visual Studio to upgrade your application from ASP.NET 2.0 or ASP.NET 3.5, the tool automatically adds a setting to the Web.config file that preserves legacy rendering. However, if you upgrade an application by changing the application pool in IIS to target .NET Framework 4, ASP.NET uses the new rendering mode by default. To disable the new rendering mode, add the following setting to the Web.config file:

`` | | **Event handlers in default documents** | ASP.NET 4 renders the HTML `form` element's `action` attribute value as an empty string when a request is made to an extensionless URL that has a default document mapped to it. In earlier releases of ASP.NET, a request to `http://contoso.com` would result in a request to Default.aspx. In that document, the opening `form` tag would be rendered as in the following example:

`
`

In ASP.NET 4, a request to `http://contoso.com` also results in a request to Default.aspx, but ASP.NET now renders the HTML opening `form` tag as in the following example:

``

When the `action` attribute is an empty string, the IIS `DefaultDocumentModule` object creates a child request to Default.aspx. Under most conditions, this child request is transparent to application code, and the Default.aspx page runs normally. However, a potential interaction between managed code and IIS 7 or IIS 7.5 Integrated mode can cause managed .aspx pages to stop working properly during the child request. If the following conditions occur, the child request to a default .aspx document will result in an error or in unexpected behavior:

\* An .aspx page is sent to the browser with the `form` element's `action` attribute set to "".
\* The form is posted back to ASP.NET.
\* A managed HTTP module reads some part of the entity body, such as `Request.Form` or `Request.Params`. This causes the entity body of the POST request to be read into managed memory. As a result, the entity body is no longer available to any native code modules that are running in IIS 7 or IIS 7.5 Integrated mode.
\* The IIS `DefaultDocumentModule` object eventually runs and creates a child request to the Default.aspx document. However, because the entity body has already been read by a piece of managed code, there is no entity body available to send to the child request.
\* When the HTTP pipeline runs for the child request, the handler for .aspx files runs during the handler-execute phase.

Because there is no entity body, there are no form variables and no view state. Therefore there is no information available for the .aspx page handler to determine what event (if any) should be raised. As a result, none of the postback event handlers for the affected .aspx page run. | For information about ways to work around problems that might arise as a result of this change, see "Event Handlers Might Not Be Not Raised in a Default Document in IIS 7 or IIS 7.5 Integrated Mode" in the document [ASP.NET 4 Breaking Changes](/aspnet/whitepapers/aspnet4/breaking-changes) on the ASP.NET Web site. | | **Hashing algorithm** | ASP.NET uses both encryption and hashing algorithms to help secure data such as forms authentication cookies and view state. By default, ASP.NET 4 uses the algorithm for hash operations on cookies and view state. Earlier versions of ASP.NET used the older algorithm. | If you run applications that mix ASP.NET 2.0 and ASP.NET 4, where data such as forms authentication cookies must work across .NET Framework versions, configure an ASP.NET 4 Web application to use the older algorithm by adding the following setting in the Web.config file:

`` | -| **Hosting controls in Internet Explorer** | You can no longer host Windows Forms controls in the Internet Explorer, because there are better solutions for hosting controls on the Web. Therefore, the IEHost.dll and IEExec.exe assemblies have been removed from .NET Framework. | You can use the following technologies for custom control development in Web applications:

\* You can create a Silverlight application and configure it to run outside the browser. For more information, see [Out-of-Browser Support](https://docs.microsoft.com/previous-versions/windows/silverlight/dotnet-windows-silverlight/dd550721%28v=vs.95%29).
\* You can build a XAML browser application (XBAP) to take advantage of WPF capabilities (requires .NET Framework on client machines). For more information, see [WPF XAML Browser Applications Overview](../wpf/app-development/wpf-xaml-browser-applications-overview.md). | +| **Hosting controls in Internet Explorer** | You can no longer host Windows Forms controls in the Internet Explorer, because there are better solutions for hosting controls on the Web. Therefore, the IEHost.dll and IEExec.exe assemblies have been removed from .NET Framework. | You can use the following technologies for custom control development in Web applications:

\* You can create a Silverlight application and configure it to run outside the browser. For more information, see [Out-of-Browser Support](/previous-versions/windows/silverlight/dotnet-windows-silverlight/dd550721(v=vs.95)).
\* You can build a XAML browser application (XBAP) to take advantage of WPF capabilities (requires .NET Framework on client machines). For more information, see [WPF XAML Browser Applications Overview](/dotnet/desktop/wpf/app-development/wpf-xaml-browser-applications-overview). | | **HtmlEncode and UrlEncode methods** | The `HtmlEncode` and `UrlEncode` methods of the and classes have been updated to encode the single quotation mark character (') as follows:

\* The `HtmlEncode` method encodes instances of the single quotation mark as `'`
\* The `UrlEncode` method encodes instances of the single quotation mark as `%27` | Examine your code for places where you use the `HtmlEncode` and `UrlEncode` methods, and make sure that the change in encoding does not result in a change that would affect your application. | | **HttpException errors in ASP.NET 2.0 applications** | After ASP.NET 4 has been enabled on IIS 6, ASP.NET 2.0 applications that run on IIS 6 (in either Windows Server 2003 or Windows Server 2003 R2) might generate errors such as the following: `System.Web.HttpException: Path '/[yourApplicationRoot]/eurl.axd/[Value]' was not found.` | * If ASP.NET 4 is not required in order to run the Web site, remap the site to use ASP.NET 2.0 instead.

-or-

\* If ASP.NET 4 is required in order to run the Web site, move any child ASP.NET 2.0 virtual directories to a different Web site that is mapped to ASP.NET 2.0.

-or-

\* Disable extensionless URLs. For more information, see "ASP.NET 2.0 Applications Might Generate HttpException Errors That Reference eurl.axd" in the document [ASP.NET 4 Breaking Changes](/aspnet/whitepapers/aspnet4/breaking-changes) on the ASP.NET Web site. | | **Membership types** | Some types (for example, ) that are used in ASP.NET membership have been moved from System.Web.dll to the System.Web.ApplicationServices.dll assembly. The types were moved in order to resolve architectural layering dependencies between types in the client and in extended .NET Framework SKUs. | Class libraries that have been upgraded from earlier versions of ASP.NET and that use membership types that have been moved might fail to compile when used in an ASP.NET 4 project. If so, add a reference in the class library project to System.Web.ApplicationServices.dll. | @@ -54,9 +54,9 @@ Assembly: System.Web (in System.Web.dll) | ------- | ------------------------ | ------------------- | | **CardSpace** | Windows CardSpace is no longer included in .NET Framework; it is provided separately. | Download Windows CardSpace from the [Microsoft Download Center](https://go.microsoft.com/fwlink/?LinkId=199868). | | **Configuration files** | Corrections have been made in how .NET Framework accesses application configuration files. | If your application configuration file is named *application-name.config*, rename it to *application-name.exe.config*. For example, rename *MyApp.config* to *MyApp.exe.config*. | -| **C# code compiler** | The `Compiler`, `CompilerError`, and `ErrorLevel` classes that were in the namespace are no longer available, and their assembly (cscompmgd.dll) is no longer included in .NET Framework. | Use the class and other classes in the namespace. For more information, see [Using the CodeDOM](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/y2k85ax6%28v=vs.100%29). | +| **C# code compiler** | The `Compiler`, `CompilerError`, and `ErrorLevel` classes that were in the namespace are no longer available, and their assembly (cscompmgd.dll) is no longer included in .NET Framework. | Use the class and other classes in the namespace. For more information, see [Using the CodeDOM](/previous-versions/dotnet/netframework-4.0/y2k85ax6(v=vs.100)). | | **Hosting** (unmanaged API) | To improve hosting capabilities, some of the hosting activation APIs have been deprecated. In-process side-by-side execution features enable an application to load and start multiple versions of .NET Framework in the same process. For example, you can run applications that load add-ins (or components) that are based on .NET Framework 2.0 SP1 and add-ins that are based on .NET Framework 4 in the same process. Older components continue to use the older .NET Framework version, and new components use the new .NET Framework version. | Use the configurations described in [In-Process Side-by-Side Execution](../deployment/in-process-side-by-side-execution.md). | -| **New security model** | The code access security (CAS) policy has been turned off and replaced with a simplified model, as described in [Security Changes in .NET Framework 4](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/dd233103%28v=vs.100%29). | Modifications may be required if you depend on CAS in your applications. For more information, see [Code Access Security Policy Compatibility and Migration](../misc/code-access-security-policy-compatibility-and-migration.md). | +| **New security model** | The code access security (CAS) policy has been turned off and replaced with a simplified model, as described in [Security Changes in .NET Framework 4](/previous-versions/dotnet/netframework-4.0/dd233103(v=vs.100)). | Modifications may be required if you depend on CAS in your applications. For more information, see [Code Access Security Policy Compatibility and Migration](../misc/code-access-security-policy-compatibility-and-migration.md). | ### Date and time @@ -71,7 +71,7 @@ Assembly: mscorlib (in mscorlib.dll) ### Globalization -For a list of new neutral and specific cultures, see [What's New in Globalization and Localization](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/dd997383%28v=vs.100%29). +For a list of new neutral and specific cultures, see [What's New in Globalization and Localization](/previous-versions/dotnet/netframework-4.0/dd997383(v=vs.100)). Namespace: @@ -93,7 +93,7 @@ Assembly: mscorlib (in mscorlib.dll) | Feature | Differences from 3.5 SP1 | Recommended changes | | ------- | ------------------------ | ------------------- | -| **Exceptions for corrupted process state** | The CLR no longer delivers exceptions for corrupted process state to exception handlers in managed code. | These exceptions indicate that the state of a process has been corrupted. We do not recommend that you run your application in this state.

For more information, see the and the entry [Handling Corrupted State Exceptions](https://docs.microsoft.com/archive/msdn-magazine/2009/february/clr-inside-out-handling-corrupted-state-exceptions) in the MSDN magazine. | +| **Exceptions for corrupted process state** | The CLR no longer delivers exceptions for corrupted process state to exception handlers in managed code. | These exceptions indicate that the state of a process has been corrupted. We do not recommend that you run your application in this state.

For more information, see the and the entry [Handling Corrupted State Exceptions](/archive/msdn-magazine/2009/february/clr-inside-out-handling-corrupted-state-exceptions) in the MSDN magazine. | | **Execution engine exceptions** | is now obsolete, because a catchable exception will allow an unstable process to continue to run. This change improves predictability and reliability in the runtime. | Use an to signal the condition. | ### Reflection @@ -109,7 +109,7 @@ Assembly: mscorlib (in mscorlib.dll) | **Declaring type** | The property now correctly returns null when the type does not have a declaring type. | None. | | **Delegates** | A delegate now throws an instead of a when a null value is passed to the delegate's constructor. | Ensure that any exception handling catches . | | **Global assembly cache location change** | For .NET Framework 4 assemblies, the global assembly cache has been moved from the Windows directory (%WINDIR%) to the Microsoft.Net subdirectory (*%WINDIR%\\Microsoft.Net*). Assemblies from earlier versions remain in the older directory.

The unmanaged [ASM_CACHE_FLAGS](../unmanaged-api/fusion/asm-cache-flags-enumeration.md) enumeration contains the new `ASM_CACHE_ROOT_EX` flag. This flag gets the cache location for .NET Framework 4 assemblies, which can be obtained by the [GetCachePath](../unmanaged-api/fusion/getcachepath-function.md) function. | None, assuming that applications do not use explicit paths to assemblies, which is not a recommended practice. | -| **Global assembly cache tool** | The [Gacutil.exe (Global Assembly Cache Tool)](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ex0ss12c%28v=vs.100%29) no longer supports the shell plugin viewer. | None. | +| **Global assembly cache tool** | The [Gacutil.exe (Global Assembly Cache Tool)](/previous-versions/dotnet/netframework-4.0/ex0ss12c(v=vs.100)) no longer supports the shell plugin viewer. | None. | ### Interoperability @@ -306,7 +306,7 @@ Assemblies: System.Xml (in System.Xml.dll), System.Xml.Linq (in System.Xml.Linq. | **Namespace attribute** | To prevent data corruption, an object now returns the local name of the `x:xmlns` attribute correctly. | | **Namespace declarations** | An object on a subtree no longer creates duplicate namespace declarations within one XML element. | | **Schema validation** | To prevent erroneous schema validation, the class allows for XSD schemas to be compiled correctly and consistently. These schemas can include other schemas; for example, `A.xsd` can include `B.xsd`, which can include `C.xsd`. Compiling any one of these causes this graph of dependencies to be traversed. | -| **Script functions** | The [function-available function](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms256124(v=vs.100)) no longer incorrectly returns `false` when the function is actually available. | +| **Script functions** | The [function-available function](/previous-versions/dotnet/netframework-4.0/ms256124(v=vs.100)) no longer incorrectly returns `false` when the function is actually available. | | **URIs** | The method now returns the correct BaseURI in LINQ queries. | ### Validation @@ -333,9 +333,9 @@ Assemblies: System.Xml (in System.Xml.dll), System.Xml.Linq (in System.Xml.Linq. ## See also -- [New Types and Members in .NET Framework 4](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ff641764%28v=vs.100%29) -- [Migration Guide to .NET Framework 4](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ff657133%28v=vs.100%29) -- [What's New in .NET Framework 4](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms171868%28v=vs.100%29) +- [New Types and Members in .NET Framework 4](/previous-versions/dotnet/netframework-4.0/ff641764(v=vs.100)) +- [Migration Guide to .NET Framework 4](/previous-versions/dotnet/netframework-4.0/ff657133(v=vs.100)) +- [What's New in .NET Framework 4](/previous-versions/dotnet/netframework-4.0/ms171868(v=vs.100)) - [Version Compatibility in .NET Framework](version-compatibility.md) - [Migrating Office Solutions to .NET Framework 4](/visualstudio/vsto/migrating-office-solutions-to-the-dotnet-framework-4-or-later) - [What's Obsolete in the .NET Framework Class Library](../whats-new/whats-obsolete.md) diff --git a/docs/framework/migration-guide/version-compatibility.md b/docs/framework/migration-guide/version-compatibility.md index 79f5e150af112..9f8e36a538cd6 100644 --- a/docs/framework/migration-guide/version-compatibility.md +++ b/docs/framework/migration-guide/version-compatibility.md @@ -47,9 +47,9 @@ If your app or component doesn't work as expected on the .NET Framework 4.5 (inc - If you have a .NET Framework 3.5 app, also see [.NET Framework 4 Migration Issues](net-framework-4-migration-issues.md). -- If you have a .NET Framework 2.0 app, also see [Changes in .NET Framework 3.5 SP1](https://docs.microsoft.com/previous-versions/dotnet/articles/dd310284(v=msdn.10)). +- If you have a .NET Framework 2.0 app, also see [Changes in .NET Framework 3.5 SP1](/previous-versions/dotnet/articles/dd310284(v=msdn.10)). -- If you have a .NET Framework 1.1 app, also see [Changes in .NET Framework 2.0](https://docs.microsoft.com/previous-versions/aa570326(v=msdn.10)). +- If you have a .NET Framework 1.1 app, also see [Changes in .NET Framework 2.0](/previous-versions/aa570326(v=msdn.10)). - If you're recompiling existing source code to run on the .NET Framework 4.5 or its point releases, or if you're developing a new version of an app or component that targets the .NET Framework 4.5 or its point releases from an existing source code base, check [What's Obsolete in the Class Library](../whats-new/whats-obsolete.md) for obsolete types and members, and apply the workaround described. (Previously compiled code will continue to run against types and members that have been marked as obsolete.) diff --git a/docs/framework/migration-guide/versions-and-dependencies.md b/docs/framework/migration-guide/versions-and-dependencies.md index 00a4cbe7e6a22..9dd8f2b47796c 100644 --- a/docs/framework/migration-guide/versions-and-dependencies.md +++ b/docs/framework/migration-guide/versions-and-dependencies.md @@ -169,7 +169,7 @@ The tables that follow summarize .NET Framework version history and correlate ea ### .NET Framework 4 -[New features](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms171868(v=vs.100)) +[New features](/previous-versions/dotnet/netframework-4.0/ms171868(v=vs.100)) ||| |-|-| @@ -181,7 +181,7 @@ The tables that follow summarize .NET Framework version history and correlate ea ### .NET Framework 3.5 -[New features](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/ms171868\(v=vs.90\)): +[New features](/previous-versions/visualstudio/visual-studio-2008/ms171868\(v=vs.90\)): - LINQ - Expression trees @@ -202,7 +202,7 @@ The tables that follow summarize .NET Framework version history and correlate ea ### .NET Framework 3.0 -[New features](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/bb822048(v=vs.90)): +[New features](/previous-versions/visualstudio/visual-studio-2008/bb822048(v=vs.90)): - Windows Presentation Foundation - Windows Communication Foundation @@ -218,7 +218,7 @@ The tables that follow summarize .NET Framework version history and correlate ea ### .NET Framework 2.0 -[New features](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/t357fb32%28v%3dvs.90%29): +[New features](/previous-versions/visualstudio/visual-studio-2008/t357fb32(v=vs.90)): - Generics - Debugger edit and continue @@ -237,7 +237,7 @@ The tables that follow summarize .NET Framework version history and correlate ea ### .NET Framework 1.1 -[New features](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/h88tthh0%28v%3dvs.90%29): +[New features](/previous-versions/visualstudio/visual-studio-2008/h88tthh0(v=vs.90)): - ASP.NET mobile controls - Side-by-side execution diff --git a/docs/framework/misc/code-access-security-basics.md b/docs/framework/misc/code-access-security-basics.md index 546dfdcee4d8e..ad54b9e354b86 100644 --- a/docs/framework/misc/code-access-security-basics.md +++ b/docs/framework/misc/code-access-security-basics.md @@ -49,7 +49,7 @@ Code access security does not eliminate the possibility of human error in writin Declarative security syntax uses [attributes](../../standard/attributes/index.md) to place security information into the [metadata](../../standard/metadata-and-self-describing-components.md) of your code. Attributes can be placed at the assembly, class, or member level, to indicate the type of request, demand, or override you want to use. Requests are used in applications that target the common language runtime to inform the runtime security system about the permissions that your application needs or does not want. Demands and overrides are used in libraries to help protect resources from callers or to override default security behavior. > [!NOTE] -> In the .NET Framework 4, there have been important changes to the .NET Framework security model and terminology. For more information about these changes, see [Security Changes](https://docs.microsoft.com/previous-versions/dotnet/framework/security/security-changes). +> In the .NET Framework 4, there have been important changes to the .NET Framework security model and terminology. For more information about these changes, see [Security Changes](/previous-versions/dotnet/framework/security/security-changes). In order to use declarative security calls, you must initialize the state data of the permission object so that it represents the particular form of permission you need. Every built-in permission has an attribute that is passed a enumeration to describe the type of security operation you want to perform. However, permissions also accept their own parameters that are exclusive to them. diff --git a/docs/framework/misc/code-access-security.md b/docs/framework/misc/code-access-security.md index 0ca8a664255f5..e249ff31534db 100644 --- a/docs/framework/misc/code-access-security.md +++ b/docs/framework/misc/code-access-security.md @@ -28,7 +28,7 @@ ms.assetid: 859af632-c80d-4736-8d6f-1e01b09ce127 The .NET Framework provides a security mechanism called code access security to help protect computer systems from malicious mobile code, to allow code from unknown origins to run with protection, and to help prevent trusted code from intentionally or accidentally compromising security. Code access security enables code to be trusted to varying degrees depending on where the code originates and on other aspects of the code's identity. Code access security also enforces the varying levels of trust on code, which minimizes the amount of code that must be fully trusted in order to run. Using code access security can reduce the likelihood that your code will be misused by malicious or error-filled code. It can reduce your liability, because you can specify the set of operations your code should be allowed to perform. Code access security can also help minimize the damage that can result from security vulnerabilities in your code. > [!NOTE] -> Major changes have been made to code access security in the .NET Framework 4. The most notable change has been [security transparency](security-transparent-code.md), but there are also other significant changes that affect code access security. For information about these changes, see [Security Changes](https://docs.microsoft.com/previous-versions/dotnet/framework/security/security-changes). +> Major changes have been made to code access security in the .NET Framework 4. The most notable change has been [security transparency](security-transparent-code.md), but there are also other significant changes that affect code access security. For information about these changes, see [Security Changes](/previous-versions/dotnet/framework/security/security-changes). Code access security primarily affects library code and partially trusted applications. Library developers must protect their code from unauthorized access from partially trusted applications. Partially trusted applications are applications that are loaded from external sources such as the Internet. Applications that are installed on your desktop or on the local intranet run in full trust. Full-trust applications are not affected by code access security unless they are marked as [security-transparent](security-transparent-code.md), because they are fully trusted. The only limitation for full-trust applications is that applications that are marked with the attribute cannot call code that is marked with the attribute. Partially trusted applications must be run in a sandbox (for example, in Internet Explorer) so that code access security can be applied. If you download an application from the Internet and try to run it from your desktop, you will get a with the message: "An attempt was made to load an assembly from a network location, which would have caused the assembly to be sandboxed in previous versions of the .NET Framework. This release of the .NET Framework does not enable CAS policy by default, so this load may be dangerous." If you are sure that the application can be trusted, you can enable it to be run as full trust by using the [\ element](../configure-apps/file-schema/runtime/loadfromremotesources-element.md). For information about running an application in a sandbox, see [How to: Run Partially Trusted Code in a Sandbox](how-to-run-partially-trusted-code-in-a-sandbox.md). diff --git a/docs/framework/misc/dangerous-permissions-and-policy-administration.md b/docs/framework/misc/dangerous-permissions-and-policy-administration.md index cb3e3b87bfcc2..12fe143ca07c3 100644 --- a/docs/framework/misc/dangerous-permissions-and-policy-administration.md +++ b/docs/framework/misc/dangerous-permissions-and-policy-administration.md @@ -17,7 +17,7 @@ ms.assetid: 1929e854-23a0-4bb1-94be-e8aa3b609e32 Several of the protected operations for which the .NET Framework provides permissions can potentially allow the security system to be circumvented. These dangerous permissions should be given only to trustworthy code, and then only as necessary. There is usually no defense against malicious code if it is granted these permissions. > [!NOTE] -> In the .NET Framework 4, there have been important changes to the .NET Framework security model and terminology. For more information about these changes, see [Security Changes](https://docs.microsoft.com/previous-versions/dotnet/framework/security/security-changes). +> In the .NET Framework 4, there have been important changes to the .NET Framework security model and terminology. For more information about these changes, see [Security Changes](/previous-versions/dotnet/framework/security/security-changes). The dangerous permissions are explained in the following table. diff --git a/docs/framework/misc/securing-method-access.md b/docs/framework/misc/securing-method-access.md index bfbe1ef972819..c4f23c50d2125 100644 --- a/docs/framework/misc/securing-method-access.md +++ b/docs/framework/misc/securing-method-access.md @@ -24,7 +24,7 @@ ms.assetid: f7c2d6ec-3b18-4e0e-9991-acd97189d818 - Limit the scope of accessibility to the class, assembly, or derived classes, if they can be trusted. This is the simplest way to limit method access. In general, derived classes can be less trustworthy than the class they derive from, though in some cases they share the parent class's identity. In particular, do not infer trust from the keyword `protected`, which is not necessarily used in the security context. -- Limit the method access to callers of a specified identity--essentially, any particular [evidence](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/7y5x1hcd%28v=vs.100%29) (strong name, publisher, zone, and so on) you choose. +- Limit the method access to callers of a specified identity--essentially, any particular [evidence](/previous-versions/dotnet/netframework-4.0/7y5x1hcd(v=vs.100)) (strong name, publisher, zone, and so on) you choose. - Limit the method access to callers having whatever permissions you select. diff --git a/docs/framework/misc/security-transparent-code-level-1.md b/docs/framework/misc/security-transparent-code-level-1.md index c72d6b44c00a0..b152f19821153 100644 --- a/docs/framework/misc/security-transparent-code-level-1.md +++ b/docs/framework/misc/security-transparent-code-level-1.md @@ -127,4 +127,4 @@ public class B ## See also - [Security-Transparent Code, Level 2](security-transparent-code-level-2.md) -- [Security Changes](https://docs.microsoft.com/previous-versions/dotnet/framework/security/security-changes) +- [Security Changes](/previous-versions/dotnet/framework/security/security-changes) diff --git a/docs/framework/misc/security-transparent-code-level-2.md b/docs/framework/misc/security-transparent-code-level-2.md index b061c5813f7ba..32b6c40da176b 100644 --- a/docs/framework/misc/security-transparent-code-level-2.md +++ b/docs/framework/misc/security-transparent-code-level-2.md @@ -175,4 +175,4 @@ The ## See also - [Security-Transparent Code, Level 1](security-transparent-code-level-1.md) -- [Security Changes](https://docs.microsoft.com/previous-versions/dotnet/framework/security/security-changes) +- [Security Changes](/previous-versions/dotnet/framework/security/security-changes) diff --git a/docs/framework/misc/using-libraries-from-partially-trusted-code.md b/docs/framework/misc/using-libraries-from-partially-trusted-code.md index 785ffac70aa88..85e7651582edd 100644 --- a/docs/framework/misc/using-libraries-from-partially-trusted-code.md +++ b/docs/framework/misc/using-libraries-from-partially-trusted-code.md @@ -16,7 +16,7 @@ ms.assetid: dd66cd4c-b087-415f-9c3e-94e3a1835f74 [!INCLUDE[net_security_note](../../../includes/net-security-note-md.md)] > [!NOTE] -> This topic addresses the behavior of strong-named assemblies and applies only to [Level 1](security-transparent-code-level-1.md) assemblies. [Security-Transparent Code, Level 2](security-transparent-code-level-2.md) assemblies in the .NET Framework 4 or later are not affected by strong names. For more information about changes to the security system, see [Security Changes](https://docs.microsoft.com/previous-versions/dotnet/framework/security/security-changes). +> This topic addresses the behavior of strong-named assemblies and applies only to [Level 1](security-transparent-code-level-1.md) assemblies. [Security-Transparent Code, Level 2](security-transparent-code-level-2.md) assemblies in the .NET Framework 4 or later are not affected by strong names. For more information about changes to the security system, see [Security Changes](/previous-versions/dotnet/framework/security/security-changes). Applications that receive less than full trust from their host or sandbox are not allowed to call shared managed libraries unless the library writer specifically allows them to through the use of the attribute. Therefore, application writers must be aware that some libraries will not be available to them from a partially trusted context. By default, all code that executes in a partial-trust [sandbox](how-to-run-partially-trusted-code-in-a-sandbox.md) and is not in the list of full-trust assemblies is partially trusted. If you do not expect your code to be executed from a partially trusted context or to be called by partially trusted code, you do not have to be concerned about the information in this section. However, if you write code that must interact with partially trusted code or operate from a partially trusted context, you should consider the following factors: diff --git a/docs/framework/net-native/getting-started-with-net-native.md b/docs/framework/net-native/getting-started-with-net-native.md index 5f78974ae6df3..dcadb91512ff4 100644 --- a/docs/framework/net-native/getting-started-with-net-native.md +++ b/docs/framework/net-native/getting-started-with-net-native.md @@ -118,7 +118,7 @@ For some specific examples of handling exceptions and other issues that occur wh ## See also - [Runtime Directives (rd.xml) Configuration File Reference](runtime-directives-rd-xml-configuration-file-reference.md) -- [.NET Native Setup and Configuration](https://docs.microsoft.com/previous-versions/dn600164(v=vs.110)) +- [.NET Native Setup and Configuration](/previous-versions/dn600164(v=vs.110)) - [.NET Native and Compilation](net-native-and-compilation.md) - [Reflection and .NET Native](reflection-and-net-native.md) - [APIs That Rely on Reflection](apis-that-rely-on-reflection.md) diff --git a/docs/framework/net-native/index.md b/docs/framework/net-native/index.md index ff499efde0c3d..8eae3c5341af2 100644 --- a/docs/framework/net-native/index.md +++ b/docs/framework/net-native/index.md @@ -32,7 +32,7 @@ For users of your apps, .NET Native offers these advantages: - Optimized app memory usage. > [!IMPORTANT] -> For the vast majority of apps and scenarios, .NET Native offers significantly faster startup times and superior performance when compared to an app compiled to IL or to an NGEN image. However, your results may vary. To ensure that your app has benefited from the performance enhancements of .NET Native, you should compare its performance with that of the non-.NET Native version of your app. For more information, see [Performance Session Overview](https://docs.microsoft.com/visualstudio/profiling/performance-session-overview). +> For the vast majority of apps and scenarios, .NET Native offers significantly faster startup times and superior performance when compared to an app compiled to IL or to an NGEN image. However, your results may vary. To ensure that your app has benefited from the performance enhancements of .NET Native, you should compare its performance with that of the non-.NET Native version of your app. For more information, see [Performance Session Overview](/visualstudio/profiling/performance-session-overview). But .NET Native involves more than a compilation to native code. It transforms the way that .NET Framework apps are built and executed. In particular: diff --git a/docs/framework/net-native/measuring-startup-improvement-with-net-native.md b/docs/framework/net-native/measuring-startup-improvement-with-net-native.md index 494b67b4de2f0..2da76cf2d77d4 100644 --- a/docs/framework/net-native/measuring-startup-improvement-with-net-native.md +++ b/docs/framework/net-native/measuring-startup-improvement-with-net-native.md @@ -49,7 +49,7 @@ ms.assetid: c4d25b24-9c1a-4b3e-9705-97ba0d6c0289 PerfView uses ETW events to help you do all sorts of performance investigations on your app. It also includes a configuration GUI that lets you turn logging for different types of events on or off. PerfView is a free tool and can be downloaded from the [Microsoft Download Center](https://www.microsoft.com/download/details.aspx?id=28567). For more information, watch the [PerfView tutorial videos](https://channel9.msdn.com/Series/PerfView-Tutorial). > [!NOTE] -> PerfView cannot be used to collect events on ARM systems. To collect events on ARM systems, use Windows Performance Recorder (WPR). For more information, see [Vance Morrison's blog post](https://docs.microsoft.com/archive/blogs/vancem/collecting-etwperfview-data-on-an-windows-rt-winrt-arm-surface-device). +> PerfView cannot be used to collect events on ARM systems. To collect events on ARM systems, use Windows Performance Recorder (WPR). For more information, see [Vance Morrison's blog post](/archive/blogs/vancem/collecting-etwperfview-data-on-an-windows-rt-winrt-arm-surface-device). You can also invoke PerfView from the command line. To log only the events from your provider, open the Command Prompt window and enter the command: @@ -87,7 +87,7 @@ perfview -KernelEvents:Process -OnlyProviders:*MyCompany-MyApp collect outputFil Select all the events listed in the left pane (Ctrl-A) and choose the **Enter** key. Now, you should be able to see the timestamps from each event. These timestamps are relative to the start of the trace, so you have to subtract the time of each event from the start time of the process to identify the elapsed time since startup. If you use Ctrl+Click to select two timestamps, you'll see the difference between them displayed in the status bar at the bottom of the page. This makes it easy to see the elapsed time between any two events in the display (including process start). You can open the shortcut menu for the view and select from a number of useful options, like exporting to CSV files or opening Microsoft Excel to save or process the data. - By repeating the procedure for both your original app and the version you built by using the .NET Native tool chain, you can compare the difference in performance. .NET Native apps generally start faster than non-.NET Native apps. If you’re interested in digging deeper, PerfView can also identify the parts of your code that are taking the most time. For more information, watch the [PerfView tutorials](https://channel9.msdn.com/Series/PerfView-Tutorial) or read [Vance Morrison’s blog entry](https://docs.microsoft.com/archive/blogs/vancem/publication-of-the-perfview-performance-analysis-tool). + By repeating the procedure for both your original app and the version you built by using the .NET Native tool chain, you can compare the difference in performance. .NET Native apps generally start faster than non-.NET Native apps. If you’re interested in digging deeper, PerfView can also identify the parts of your code that are taking the most time. For more information, watch the [PerfView tutorials](https://channel9.msdn.com/Series/PerfView-Tutorial) or read [Vance Morrison’s blog entry](/archive/blogs/vancem/publication-of-the-perfview-performance-analysis-tool). ## See also diff --git a/docs/framework/net-native/migrating-your-windows-store-app-to-net-native.md b/docs/framework/net-native/migrating-your-windows-store-app-to-net-native.md index bf141f8d442c3..e8c75f791ab7a 100644 --- a/docs/framework/net-native/migrating-your-windows-store-app-to-net-native.md +++ b/docs/framework/net-native/migrating-your-windows-store-app-to-net-native.md @@ -5,7 +5,7 @@ ms.assetid: 4153aa18-6f56-4a0a-865b-d3da743a1d05 --- # Migrate Your Windows Store App to .NET Native -.NET Native provides static compilation of apps in the Windows Store or on the developer's computer. This differs from the dynamic compilation performed for Windows Store apps by the just-in-time (JIT) compiler or the [Native Image Generator (Ngen.exe)](../tools/ngen-exe-native-image-generator.md) on the device. Despite the differences, .NET Native tries to maintain compatibility with the [.NET for Windows Store apps](https://docs.microsoft.com/previous-versions/windows/apps/br230302%28v=vs.140%29). For the most part, things that work on the .NET for Windows Store apps also work with .NET Native. However, in some cases, you may encounter behavioral changes. This document discusses these differences between the standard .NET for Windows Store apps and .NET Native in the following areas: +.NET Native provides static compilation of apps in the Windows Store or on the developer's computer. This differs from the dynamic compilation performed for Windows Store apps by the just-in-time (JIT) compiler or the [Native Image Generator (Ngen.exe)](../tools/ngen-exe-native-image-generator.md) on the device. Despite the differences, .NET Native tries to maintain compatibility with the [.NET for Windows Store apps](/previous-versions/windows/apps/br230302(v=vs.140)). For the most part, things that work on the .NET for Windows Store apps also work with .NET Native. However, in some cases, you may encounter behavioral changes. This document discusses these differences between the standard .NET for Windows Store apps and .NET Native in the following areas: - [General runtime differences](#Runtime) @@ -219,9 +219,9 @@ In .NET Native: - - - is supported, but it throws an exception in some scenarios, such as when it is used with [IDispatch](https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-idispatch) or `byref` variants. + is supported, but it throws an exception in some scenarios, such as when it is used with [IDispatch](/previous-versions/windows/desktop/api/oaidl/nn-oaidl-idispatch) or `byref` variants. - Deprecated APIs for [IDispatch](https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-idispatch) support include: + Deprecated APIs for [IDispatch](/previous-versions/windows/desktop/api/oaidl/nn-oaidl-idispatch) support include: - - @@ -318,7 +318,7 @@ However, .NET Native doesn't support the following: - Implementing the interface on a managed type -- Implementing the [IDispatch](https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-idispatch) interface on a managed type through the attribute. However, you can't call COM objects through `IDispatch`, and your managed object can't implement `IDispatch`. +- Implementing the [IDispatch](/previous-versions/windows/desktop/api/oaidl/nn-oaidl-idispatch) interface on a managed type through the attribute. However, you can't call COM objects through `IDispatch`, and your managed object can't implement `IDispatch`. Using reflection to invoke a platform invoke method isn't supported. You can work around this limitation by wrapping the method call in another method and using reflection to call the wrapper instead. @@ -659,5 +659,5 @@ Enabling .NET Native on a Unit Test Library for a Windows Store apps project isn - [Getting Started](getting-started-with-net-native.md) - [Runtime Directives (rd.xml) Configuration File Reference](runtime-directives-rd-xml-configuration-file-reference.md) -- [.NET For Windows Store apps overview](https://docs.microsoft.com/previous-versions/windows/apps/br230302%28v=vs.140%29) +- [.NET For Windows Store apps overview](/previous-versions/windows/apps/br230302(v=vs.140)) - [.NET Framework Support for Windows Store Apps and Windows Runtime](../../standard/cross-platform/support-for-windows-store-apps-and-windows-runtime.md) diff --git a/docs/framework/network-programming/internet-protocol-version-6.md b/docs/framework/network-programming/internet-protocol-version-6.md index ef41d8f4a9980..c97e60a804cec 100644 --- a/docs/framework/network-programming/internet-protocol-version-6.md +++ b/docs/framework/network-programming/internet-protocol-version-6.md @@ -50,10 +50,10 @@ The Internet Protocol version 6 (IPv6) is a new suite of standard protocols for - RFC 2374, An IPv6 Aggregatable Global Unicast Address Format. - You can also find IPv6-related information on the [IP Version 6 (IPv6)](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/dd379498%28v=ws.10%29). + You can also find IPv6-related information on the [IP Version 6 (IPv6)](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/dd379498(v=ws.10)). ## See also -- [IPv6 Sockets Sample](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.0/ms180981%28v=vs.85%29) +- [IPv6 Sockets Sample](/previous-versions/dotnet/netframework-3.0/ms180981(v=vs.85)) - [Network Programming Samples](network-programming-samples.md) - [Sockets](sockets.md) diff --git a/docs/framework/network-programming/network-isolation-for-windows-store-apps.md b/docs/framework/network-programming/network-isolation-for-windows-store-apps.md index 7432c93c1296a..54d490502b255 100644 --- a/docs/framework/network-programming/network-isolation-for-windows-store-apps.md +++ b/docs/framework/network-programming/network-isolation-for-windows-store-apps.md @@ -19,13 +19,13 @@ Use this checklist to be sure that network isolation is configured for your Wind 4. Deploy and run your app to test it using the network isolation tools provided for troubleshooting. -For more detailed information on how to configure network capabilities and isolation tools used for troubleshooting network isolation, see [How to configure network isolation capabilities](https://docs.microsoft.com/previous-versions/windows/apps/hh770532(v=win.10)) in the Windows 8.x Store developer documentation. +For more detailed information on how to configure network capabilities and isolation tools used for troubleshooting network isolation, see [How to configure network isolation capabilities](/previous-versions/windows/apps/hh770532(v=win.10)) in the Windows 8.x Store developer documentation. ## See also -- [Connecting to a web service](https://docs.microsoft.com/previous-versions/windows/apps/hh761504(v=win.10)) -- [Guidelines and checklist for network isolation](https://docs.microsoft.com/previous-versions/windows/apps/hh770532(v=win.10)) -- [Quickstart: Connecting using HttpClient](https://docs.microsoft.com/previous-versions/windows/apps/hh781239(v=win.10)) -- [How to use HttpClient handlers](https://docs.microsoft.com/previous-versions/windows/apps/hh781241(v=win.10)) -- [How to secure HttpClient connections](https://docs.microsoft.com/previous-versions/windows/apps/hh781240(v=win.10)) +- [Connecting to a web service](/previous-versions/windows/apps/hh761504(v=win.10)) +- [Guidelines and checklist for network isolation](/previous-versions/windows/apps/hh770532(v=win.10)) +- [Quickstart: Connecting using HttpClient](/previous-versions/windows/apps/hh781239(v=win.10)) +- [How to use HttpClient handlers](/previous-versions/windows/apps/hh781241(v=win.10)) +- [How to secure HttpClient connections](/previous-versions/windows/apps/hh781240(v=win.10)) - [HttpClient Sample](https://code.msdn.microsoft.com/windowsapps/HttpClient-sample-55700664) diff --git a/docs/framework/network-programming/network-programming-samples.md b/docs/framework/network-programming/network-programming-samples.md index 616ea92540ba3..db0ca19aa1e69 100644 --- a/docs/framework/network-programming/network-programming-samples.md +++ b/docs/framework/network-programming/network-programming-samples.md @@ -11,40 +11,40 @@ This section contains descriptions and links to downloadable network programming > All samples are available in the [.NET Framework SDK version 2.0 Samples Download](https://www.microsoft.com/download/confirmation.aspx?id=22181), which was released for the .NET Framework 2.0 and may be dated. ## In This Section - [Download Progress Indicator Technology Sample](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.0/t8w6294a(v=vs.85)) + [Download Progress Indicator Technology Sample](/previous-versions/dotnet/netframework-3.0/t8w6294a(v=vs.85)) Shows how to display the progress of a file download. - [FTP Client Technology Sample](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.0/b7810t5c(v=vs.85)) + [FTP Client Technology Sample](/previous-versions/dotnet/netframework-3.0/b7810t5c(v=vs.85)) Shows how to upload and download files to and from an FTP server. - [HttpListener Technology Sample](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.0/y7cbb2y2(v=vs.85)) + [HttpListener Technology Sample](/previous-versions/dotnet/netframework-3.0/y7cbb2y2(v=vs.85)) Shows how to process HTTP requests from within an application. - [HttpListener ASPX Host Application Sample](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/dd767375(v%3dvs.90)) + [HttpListener ASPX Host Application Sample](/previous-versions/visualstudio/visual-studio-2008/dd767375(v=vs.90)) Demonstrates how to use the features of the class to create an HTTP server that routes calls to a hosted ASP.NET application. - [Mailer Technology Sample](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.0/whw7xbk2(v=vs.85)) + [Mailer Technology Sample](/previous-versions/dotnet/netframework-3.0/whw7xbk2(v=vs.85)) Shows how to send email messages from a client application. - [NetStat Tool Technology Sample](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.0/ks32hs88(v=vs.85)) + [NetStat Tool Technology Sample](/previous-versions/dotnet/netframework-3.0/ks32hs88(v=vs.85)) Demonstrates the NCLNetStat network information tool. - [Network Information Technology Sample](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.0/2xatedhd(v=vs.85)) + [Network Information Technology Sample](/previous-versions/dotnet/netframework-3.0/2xatedhd(v=vs.85)) Shows how to monitor and display network information. - [Ping Client Technology Sample](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.0/5253acs7(v=vs.85)) + [Ping Client Technology Sample](/previous-versions/dotnet/netframework-3.0/5253acs7(v=vs.85)) Demonstrates a client application that can ping a remote host. - [WebClient Technology Sample](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.0/fxk992zc(v=vs.85)) + [WebClient Technology Sample](/previous-versions/dotnet/netframework-3.0/fxk992zc(v=vs.85)) Demonstrates how to perform common operations, such as the upload or download of files or data. - [Secure Streams Sample](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.0/ms180980(v=vs.85)) + [Secure Streams Sample](/previous-versions/dotnet/netframework-3.0/ms180980(v=vs.85)) Shows how to use a secure stream to communicate between a client and a server. - [IPv6 Sockets Sample](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.0/ms180981(v=vs.85)) + [IPv6 Sockets Sample](/previous-versions/dotnet/netframework-3.0/ms180981(v=vs.85)) Demonstrates how to use sockets when IPv6 is enabled. - [FTP Explorer Technology Sample](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.0/ms233623(v=vs.85)) + [FTP Explorer Technology Sample](/previous-versions/dotnet/netframework-3.0/ms233623(v=vs.85)) Demonstrates how to list the contents of an FTP server. ## Reference diff --git a/docs/framework/performance/caching-in-net-framework-applications.md b/docs/framework/performance/caching-in-net-framework-applications.md index 025228b029a5d..ac1631e5a808a 100644 --- a/docs/framework/performance/caching-in-net-framework-applications.md +++ b/docs/framework/performance/caching-in-net-framework-applications.md @@ -36,19 +36,19 @@ Caching enables you to store data in memory for rapid access. When the data is a > [!NOTE] > The class is modeled on the ASP.NET cache object that is defined in the namespace. Therefore, the internal caching logic similar to the logic that was provided in earlier versions of ASP.NET. - For an example of how to use to caching in a WPF application, see [Walkthrough: Caching Application Data in a WPF Application](../wpf/advanced/walkthrough-caching-application-data-in-a-wpf-application.md). + For an example of how to use to caching in a WPF application, see [Walkthrough: Caching Application Data in a WPF Application](/dotnet/desktop/wpf/advanced/walkthrough-caching-application-data-in-a-wpf-application). ## Caching in ASP.NET Applications The caching classes in the namespace provide functionality for caching data in ASP.NET. > [!NOTE] -> If your application targets the .NET Framework 3.5 or earlier, you must use the caching classes that are defined in the namespace. For more information, see [ASP.NET Caching Overview](https://docs.microsoft.com/previous-versions/aspnet/ms178597(v=vs.100)). +> If your application targets the .NET Framework 3.5 or earlier, you must use the caching classes that are defined in the namespace. For more information, see [ASP.NET Caching Overview](/previous-versions/aspnet/ms178597(v=vs.100)). > [!NOTE] -> When you develop new applications, we recommend that you use the class. The API that is provided in the namespace is like the API that is provided in the namespace. Therefore, the API will be familiar if you used caching in earlier versions of ASP.NET. For an example of how to use caching in ASP.NET applications, see [Walkthrough: Caching Application Data in ASP.NET](https://docs.microsoft.com/previous-versions/ff477235(v=vs.100)). +> When you develop new applications, we recommend that you use the class. The API that is provided in the namespace is like the API that is provided in the namespace. Therefore, the API will be familiar if you used caching in earlier versions of ASP.NET. For an example of how to use caching in ASP.NET applications, see [Walkthrough: Caching Application Data in ASP.NET](/previous-versions/ff477235(v=vs.100)). ### Output Caching - To manually cache application data, you can use the class in ASP.NET. ASP.NET also supports output caching, which stores the generated output of pages, controls, and HTTP responses in memory. You can configure output caching declaratively in an ASP.NET Web page or by using settings in the Web.config file. For more information, see [outputCache Element for caching (ASP.NET Settings Schema)](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms228124(v=vs.100)). + To manually cache application data, you can use the class in ASP.NET. ASP.NET also supports output caching, which stores the generated output of pages, controls, and HTTP responses in memory. You can configure output caching declaratively in an ASP.NET Web page or by using settings in the Web.config file. For more information, see [outputCache Element for caching (ASP.NET Settings Schema)](/previous-versions/dotnet/netframework-4.0/ms228124(v=vs.100)). ASP.NET lets you extend output caching by creating custom output-cache providers. By using custom providers, you can store cached content using other storage devices such as disks, cloud storage, and distributed cache engines. To create a custom output cache provider, you create a class that derives from the class and configure the application to use the custom output cache provider. @@ -64,7 +64,7 @@ Caching enables you to store data in memory for rapid access. When the data is a - Create a custom class that derives from the class and then provide a custom cache implementation in the derived class. -- Create a class that derives from class and customize or extend the derived class. For an example of how to do this, see [Caching Application Data by Using Multiple Cache Objects in an ASP.NET Application](https://docs.microsoft.com/archive/blogs/aspnetue/caching-application-data-by-using-multiple-cache-objects-in-an-asp-net-application). +- Create a class that derives from class and customize or extend the derived class. For an example of how to do this, see [Caching Application Data by Using Multiple Cache Objects in an ASP.NET Application](/archive/blogs/aspnetue/caching-application-data-by-using-multiple-cache-objects-in-an-asp-net-application). - Create a class that derives from the class and configure the application to use the custom output cache provider. @@ -74,5 +74,5 @@ Caching enables you to store data in memory for rapid access. When the data is a - - -- [Walkthrough: Caching Application Data in a WPF Application](../wpf/advanced/walkthrough-caching-application-data-in-a-wpf-application.md) -- [Walkthrough: Caching Application Data in ASP.NET](https://docs.microsoft.com/previous-versions/ff477235(v=vs.100)) +- [Walkthrough: Caching Application Data in a WPF Application](/dotnet/desktop/wpf/advanced/walkthrough-caching-application-data-in-a-wpf-application) +- [Walkthrough: Caching Application Data in ASP.NET](/previous-versions/ff477235(v=vs.100)) diff --git a/docs/framework/performance/clr-etw-events.md b/docs/framework/performance/clr-etw-events.md index cb0f925b23a85..0b0bdf535d719 100644 --- a/docs/framework/performance/clr-etw-events.md +++ b/docs/framework/performance/clr-etw-events.md @@ -56,7 +56,7 @@ The topics in this section describe event tracing for Windows (ETW) events. Each ## See also -- [Improve Debugging And Performance Tuning With ETW](https://docs.microsoft.com/archive/msdn-magazine/2007/april/event-tracing-improve-debugging-and-performance-tuning-with-etw) +- [Improve Debugging And Performance Tuning With ETW](/archive/msdn-magazine/2007/april/event-tracing-improve-debugging-and-performance-tuning-with-etw) - [Controlling .NET Framework Logging](controlling-logging.md) - [CLR ETW Providers](clr-etw-providers.md) - [CLR ETW Keywords and Levels](clr-etw-keywords-and-levels.md) diff --git a/docs/framework/performance/controlling-logging.md b/docs/framework/performance/controlling-logging.md index 623213b9d7991..5a6722f81adc9 100644 --- a/docs/framework/performance/controlling-logging.md +++ b/docs/framework/performance/controlling-logging.md @@ -12,7 +12,7 @@ You can use event tracing for Windows (ETW) to record common language runtime (C - The [Logman](/windows-server/administration/windows-commands/logman) and [Tracerpt](/windows-server/administration/windows-commands/tracerpt_1) command-line tools, which are included with the Windows operating system. -- The [Xperf](/windows-hardware/test/wpt/xperf-command-line-reference) tools in the [Windows Performance Toolkit](/windows-hardware/test/wpt/). For more information about Xperf, see the [Windows Performance blog](https://docs.microsoft.com/archive/blogs/pigscanfly/). +- The [Xperf](/windows-hardware/test/wpt/xperf-command-line-reference) tools in the [Windows Performance Toolkit](/windows-hardware/test/wpt/). For more information about Xperf, see the [Windows Performance blog](/archive/blogs/pigscanfly/). To capture CLR event information, the CLR provider must be installed on your computer. To confirm that the provider is installed, type `logman query providers` at the command prompt. A list of providers is displayed. This list should contain an entry for the CLR provider, as follows. diff --git a/docs/framework/performance/etw-events-in-the-common-language-runtime.md b/docs/framework/performance/etw-events-in-the-common-language-runtime.md index 92a6004b77068..03d928b985156 100644 --- a/docs/framework/performance/etw-events-in-the-common-language-runtime.md +++ b/docs/framework/performance/etw-events-in-the-common-language-runtime.md @@ -11,7 +11,7 @@ ms.assetid: 5bb9b6a2-7b57-4aea-8809-32b28bc73e88 # ETW Events in the Common Language Runtime The common language runtime (CLR) provides useful event tracing for Windows (ETW) diagnostic information through a large variety of debugging and profiling events. CLR ETW events leverage the Windows ETW tracing system to augment the existing profiling and debugging support provided by the common language runtime. - More information about ETW is available in the [Improve Debugging and Performance Tuning with ETW](https://docs.microsoft.com/archive/msdn-magazine/2007/april/event-tracing-improve-debugging-and-performance-tuning-with-etw) article. Information about Xperf can be found in the entry [Windows Performance Toolkit - Xperf](https://docs.microsoft.com/archive/blogs/ntdebugging/windows-performance-toolkit-xperf) in the NTDebugging blog. + More information about ETW is available in the [Improve Debugging and Performance Tuning with ETW](/archive/msdn-magazine/2007/april/event-tracing-improve-debugging-and-performance-tuning-with-etw) article. Information about Xperf can be found in the entry [Windows Performance Toolkit - Xperf](/archive/blogs/ntdebugging/windows-performance-toolkit-xperf) in the NTDebugging blog. The .NET Framework 4 or later is required for all the events described in the event topics. The Windows Vista operating system is the minimum supported client, and Windows Server 2008 is the minimum supported server. diff --git a/docs/framework/performance/exception-thrown-v1-etw-event.md b/docs/framework/performance/exception-thrown-v1-etw-event.md index 84d8fade01be1..4a56528c62978 100644 --- a/docs/framework/performance/exception-thrown-v1-etw-event.md +++ b/docs/framework/performance/exception-thrown-v1-etw-event.md @@ -29,8 +29,8 @@ This event captures information about the exceptions that are thrown. |Exception Type|win:UnicodeString|Type of the exception; for example, `System.NullReferenceException`.| |Exception Message|win:UnicodeString|Actual exception message.| |EIPCodeThrow|win:Pointer|Instruction pointer where exception occurred.| -|ExceptionHR|win:UInt32|Exception [HRESULT](https://docs.microsoft.com/openspecs/windows_protocols/ms-erref/0642cb2f-2075-4469-918c-4441e69c548a).| -|ExceptionFlags|win:UInt16|0x01: HasInnerException (see [CLR ETW Events](clr-etw-events.md) in the Visual Basic documentation).

0x02: IsNestedException.

0x04: IsRethrownException.

0x08: IsCorruptedStateException (indicates that the process state is corrupt; see [Handling Corrupted State Exceptions](https://docs.microsoft.com/archive/msdn-magazine/2009/february/clr-inside-out-handling-corrupted-state-exceptions)).

0x10: IsCLSCompliant (an exception that derives from is CLS-compliant; otherwise, it is not CLS-compliant).| +|ExceptionHR|win:UInt32|Exception [HRESULT](/openspecs/windows_protocols/ms-erref/0642cb2f-2075-4469-918c-4441e69c548a).| +|ExceptionFlags|win:UInt16|0x01: HasInnerException (see [CLR ETW Events](clr-etw-events.md) in the Visual Basic documentation).

0x02: IsNestedException.

0x04: IsRethrownException.

0x08: IsCorruptedStateException (indicates that the process state is corrupt; see [Handling Corrupted State Exceptions](/archive/msdn-magazine/2009/february/clr-inside-out-handling-corrupted-state-exceptions)).

0x10: IsCLSCompliant (an exception that derives from is CLS-compliant; otherwise, it is not CLS-compliant).| |ClrInstanceID|win:UInt16|Unique ID for the instance of CLR or CoreCLR.| ## See also diff --git a/docs/framework/performance/index.md b/docs/framework/performance/index.md index 28a5e5829dc78..3d824ac35d4fb 100644 --- a/docs/framework/performance/index.md +++ b/docs/framework/performance/index.md @@ -26,8 +26,8 @@ If you want to create apps with great performance, you should design and plan fo |Tool|Description| |----------|-----------------| |Visual Studio Performance Analysis|Use to analyze the CPU usage of your .NET Framework apps that will be deployed to computers that are running the Windows operating system.

This tool is available from the **Debug** menu in Visual Studio after you open a project. For more information, see [Performance Explorer](/visualstudio/profiling/performance-explorer). **Note:** Use Windows Phone Application Analysis (see next row) when targeting Windows Phone.| -|Windows Phone Application Analysis|Use to analyze the CPU and memory, network data transfer rate, app responsiveness, and battery consumption in your Windows Phone apps.

This tool is available from the **Debug** menu for a Windows Phone project in Visual Studio after you install the [Windows Phone SDK](https://go.microsoft.com/fwlink/?LinkId=265773). For more information, see [App profiling for Windows Phone 8](https://docs.microsoft.com/previous-versions/windows/apps/jj215908(v=vs.105)).| -|[PerfView](https://www.microsoft.com/download/details.aspx?id=28567)|Use to identify CPU and memory-related performance issues. This tool uses event tracing for Windows (ETW) and CLR profiling APIs to provide advanced memory and CPU investigations as well as information about garbage collection and JIT compilation. For more information about how to use PerfView, see the tutorial and help files that are included with the app, [Channel 9 video tutorials](https://channel9.msdn.com/Series/PerfView-Tutorial), and [blog posts](https://docs.microsoft.com/archive/blogs/vancem/).

For memory-specific issues, see [Using PerfView for Memory Investigations](https://channel9.msdn.com/Series/PerfView-Tutorial/PerfView-Tutorial-9-NET-Memory-Investigation-Basics-of-GC-Heap-Snapshots).| +|Windows Phone Application Analysis|Use to analyze the CPU and memory, network data transfer rate, app responsiveness, and battery consumption in your Windows Phone apps.

This tool is available from the **Debug** menu for a Windows Phone project in Visual Studio after you install the [Windows Phone SDK](https://go.microsoft.com/fwlink/?LinkId=265773). For more information, see [App profiling for Windows Phone 8](/previous-versions/windows/apps/jj215908(v=vs.105)).| +|[PerfView](https://www.microsoft.com/download/details.aspx?id=28567)|Use to identify CPU and memory-related performance issues. This tool uses event tracing for Windows (ETW) and CLR profiling APIs to provide advanced memory and CPU investigations as well as information about garbage collection and JIT compilation. For more information about how to use PerfView, see the tutorial and help files that are included with the app, [Channel 9 video tutorials](https://channel9.msdn.com/Series/PerfView-Tutorial), and [blog posts](/archive/blogs/vancem/).

For memory-specific issues, see [Using PerfView for Memory Investigations](https://channel9.msdn.com/Series/PerfView-Tutorial/PerfView-Tutorial-9-NET-Memory-Investigation-Basics-of-GC-Heap-Snapshots).| |[Windows Performance Analyzer](https://www.microsoft.com/download/details.aspx?id=30652)|Use to determine overall system performance such as your app's memory and storage use when multiple apps are running on the same computer. This tool is available from the download center as part of the Windows Assessment and Deployment Kit (ADK) for Windows 8. For more information, see [Windows Performance Analyzer](/windows-hardware/test/wpt/windows-performance-analyzer).| ### Event tracing for Windows (ETW) @@ -39,9 +39,9 @@ If you want to create apps with great performance, you should design and plan fo |App type|See| |--------------|---------| |.NET Framework apps for all platforms|[Garbage Collection and Performance](../../standard/garbage-collection/performance.md)

[Performance Tips](performance-tips.md)| -|Windows 8.x Store apps written in C++, C#, and Visual Basic|[Performance best practices for Windows Store apps using C++, C#, and Visual Basic](https://docs.microsoft.com/previous-versions/windows/apps/hh750313%28v=win.10%29)| -|Windows Presentation Foundation (WPF)|[WPF Performance Suite](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/aa969767(v=vs.100))| -|ASP.NET|[ASP.NET Performance Overview](https://docs.microsoft.com/previous-versions/aspnet/cc668225(v=vs.100))| +|Windows 8.x Store apps written in C++, C#, and Visual Basic|[Performance best practices for Windows Store apps using C++, C#, and Visual Basic](/previous-versions/windows/apps/hh750313(v=win.10))| +|Windows Presentation Foundation (WPF)|[WPF Performance Suite](/previous-versions/dotnet/netframework-4.0/aa969767(v=vs.100))| +|ASP.NET|[ASP.NET Performance Overview](/previous-versions/aspnet/cc668225(v=vs.100))| ## Related Topics diff --git a/docs/framework/performance/performance-tips.md b/docs/framework/performance/performance-tips.md index 87dd2e976ecc2..333b5c29a09f7 100644 --- a/docs/framework/performance/performance-tips.md +++ b/docs/framework/performance/performance-tips.md @@ -25,17 +25,17 @@ The term *performance* generally refers to the execution speed of a program. You ## Other Resources -- [Writing Faster Managed Code: Know What Things Cost](https://docs.microsoft.com/previous-versions/dotnet/articles/ms973852(v=msdn.10)) +- [Writing Faster Managed Code: Know What Things Cost](/previous-versions/dotnet/articles/ms973852(v=msdn.10)) -- [Writing High-Performance Managed Applications: A Primer](https://docs.microsoft.com/previous-versions/dotnet/articles/ms973858(v=msdn.10)) +- [Writing High-Performance Managed Applications: A Primer](/previous-versions/dotnet/articles/ms973858(v=msdn.10)) -- [Garbage Collector Basics and Performance Hints](https://docs.microsoft.com/previous-versions/dotnet/articles/ms973837(v=msdn.10)) +- [Garbage Collector Basics and Performance Hints](/previous-versions/dotnet/articles/ms973837(v=msdn.10)) -- [Performance Tips and Tricks in .NET Applications](https://docs.microsoft.com/previous-versions/dotnet/articles/ms973839(v=msdn.10)) +- [Performance Tips and Tricks in .NET Applications](/previous-versions/dotnet/articles/ms973839(v=msdn.10)) -- [Rico Mariani's Performance Tidbits](https://docs.microsoft.com/archive/blogs/ricom/) +- [Rico Mariani's Performance Tidbits](/archive/blogs/ricom/) -- [Vance Morrison's Blog](https://docs.microsoft.com/archive/blogs/vancem/) +- [Vance Morrison's Blog](/archive/blogs/vancem/) ## See also diff --git a/docs/framework/performance/writing-large-responsive-apps.md b/docs/framework/performance/writing-large-responsive-apps.md index 4c045d94c6ec8..267af4379088f 100644 --- a/docs/framework/performance/writing-large-responsive-apps.md +++ b/docs/framework/performance/writing-large-responsive-apps.md @@ -276,7 +276,7 @@ Language-Integrated Query (LINQ), in conjunction with lambda expressions, is an **Example 5: Lambdas, List\, and IEnumerable\** - This example uses [LINQ and functional style code](https://docs.microsoft.com/archive/blogs/charlie/anders-hejlsberg-on-linq-and-functional-programming) to find a symbol in the compiler’s model, given a name string: + This example uses [LINQ and functional style code](/archive/blogs/charlie/anders-hejlsberg-on-linq-and-functional-programming) to find a symbol in the compiler’s model, given a name string: ```csharp class Symbol { @@ -300,7 +300,7 @@ Func predicate = s => s.Name == name; return symbols.FirstOrDefault(predicate); ``` - In the first line, the [lambda expression](../../csharp/language-reference/operators/lambda-expressions.md) `s => s.Name == name` [closes over](https://docs.microsoft.com/archive/blogs/ericlippert/what-are-closures) the local variable `name`. This means that in addition to allocating an object for the [delegate](../../csharp/language-reference/builtin-types/reference-types.md#the-delegate-type) that `predicate` holds, the code allocates a static class to hold the environment that captures the value of `name`. The compiler generates code like the following: + In the first line, the [lambda expression](../../csharp/language-reference/operators/lambda-expressions.md) `s => s.Name == name` [closes over](/archive/blogs/ericlippert/what-are-closures) the local variable `name`. This means that in addition to allocating an object for the [delegate](../../csharp/language-reference/builtin-types/reference-types.md#the-delegate-type) that `predicate` holds, the code allocates a static class to hold the environment that captures the value of `name`. The compiler generates code like the following: ```csharp // Compiler-generated class to hold environment state for lambda @@ -462,7 +462,7 @@ class Compilation { /*...*/ - [Video of presentation of this topic](https://channel9.msdn.com/Events/TechEd/NorthAmerica/2013/DEV-B333) - [Beginners Guide to Performance Profiling](/visualstudio/profiling/beginners-guide-to-performance-profiling) - [Performance](index.md) -- [.NET Performance Tips](https://docs.microsoft.com/previous-versions/dotnet/articles/ms973839(v%3dmsdn.10)) +- [.NET Performance Tips](/previous-versions/dotnet/articles/ms973839(v=msdn.10)) - [Channel 9 PerfView tutorials](https://channel9.msdn.com/Series/PerfView-Tutorial) - [The .NET Compiler Platform SDK](../../csharp/roslyn-sdk/index.md) - [dotnet/roslyn repo on GitHub](https://github.com/dotnet/roslyn) diff --git a/docs/framework/reflection-and-codedom/dynamic-source-code-generation-and-compilation.md b/docs/framework/reflection-and-codedom/dynamic-source-code-generation-and-compilation.md index 8796c1735ca54..556fb2e6dc6dd 100644 --- a/docs/framework/reflection-and-codedom/dynamic-source-code-generation-and-compilation.md +++ b/docs/framework/reflection-and-codedom/dynamic-source-code-generation-and-compilation.md @@ -54,4 +54,4 @@ The .NET Framework includes code generators and code compilers for namespace provides interfaces for generating - - - [Dynamic Source Code Generation and Compilation](dynamic-source-code-generation-and-compilation.md) -- [CodeDOM Quick Reference](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/f1dfsbhc(v=vs.100)) +- [CodeDOM Quick Reference](/previous-versions/dotnet/netframework-4.0/f1dfsbhc(v=vs.100)) diff --git a/docs/framework/reflection-and-codedom/how-to-define-a-generic-type-with-reflection-emit.md b/docs/framework/reflection-and-codedom/how-to-define-a-generic-type-with-reflection-emit.md index 6059db46d8dbb..a0b76e92248ff 100644 --- a/docs/framework/reflection-and-codedom/how-to-define-a-generic-type-with-reflection-emit.md +++ b/docs/framework/reflection-and-codedom/how-to-define-a-generic-type-with-reflection-emit.md @@ -123,5 +123,5 @@ This topic shows how to create a simple generic type with two type parameters, h ## See also - -- [Using Reflection Emit](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/3y322t50(v=vs.100)) -- [Reflection Emit Dynamic Assembly Scenarios](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/tt9483fk(v=vs.100)) +- [Using Reflection Emit](/previous-versions/dotnet/netframework-4.0/3y322t50(v=vs.100)) +- [Reflection Emit Dynamic Assembly Scenarios](/previous-versions/dotnet/netframework-4.0/tt9483fk(v=vs.100)) diff --git a/docs/framework/reflection-and-codedom/how-to-define-and-execute-dynamic-methods.md b/docs/framework/reflection-and-codedom/how-to-define-and-execute-dynamic-methods.md index 7d3ee856c1a03..63decea50adcf 100644 --- a/docs/framework/reflection-and-codedom/how-to-define-and-execute-dynamic-methods.md +++ b/docs/framework/reflection-and-codedom/how-to-define-and-execute-dynamic-methods.md @@ -12,7 +12,7 @@ helpviewer_keywords: ms.assetid: 07d08a99-62c5-4254-bce2-2a75e55a18ab --- # How to: Define and Execute Dynamic Methods -The following procedures show how to define and execute a simple dynamic method and a dynamic method bound to an instance of a class. For more information on dynamic methods, see the class and [Reflection Emit Dynamic Method Scenarios](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/sfk2s47t(v=vs.100)). +The following procedures show how to define and execute a simple dynamic method and a dynamic method bound to an instance of a class. For more information on dynamic methods, see the class and [Reflection Emit Dynamic Method Scenarios](/previous-versions/dotnet/netframework-4.0/sfk2s47t(v=vs.100)). ### To define and execute a dynamic method @@ -110,5 +110,5 @@ The following procedures show how to define and execute a simple dynamic method ## See also - -- [Using Reflection Emit](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/3y322t50(v=vs.100)) -- [Reflection Emit Dynamic Method Scenarios](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/sfk2s47t(v=vs.100)) +- [Using Reflection Emit](/previous-versions/dotnet/netframework-4.0/3y322t50(v=vs.100)) +- [Reflection Emit Dynamic Method Scenarios](/previous-versions/dotnet/netframework-4.0/sfk2s47t(v=vs.100)) diff --git a/docs/framework/reflection-and-codedom/security-considerations-for-reflection.md b/docs/framework/reflection-and-codedom/security-considerations-for-reflection.md index 58a6e774d0c46..2463c2491b066 100644 --- a/docs/framework/reflection-and-codedom/security-considerations-for-reflection.md +++ b/docs/framework/reflection-and-codedom/security-considerations-for-reflection.md @@ -54,7 +54,7 @@ These rules are the same whether a security-critical member is accessed directly Application code that is run from the command line runs with full trust. As long as it is not marked as transparent, it can use reflection to access security-critical members. When the same code is run with partial trust (for example, in a sandboxed application domain) the assembly's trust level determines whether it can access security-critical code: If the assembly has a strong name and is installed in the global assembly cache, it is a trusted assembly and can call security-critical members. If it is not trusted, it becomes transparent even though it was not marked as transparent, and it cannot access security-critical members. -For more information about the security model in the .NET Framework 4, see [Security Changes](https://docs.microsoft.com/previous-versions/dotnet/framework/security/security-changes). +For more information about the security model in the .NET Framework 4, see [Security Changes](/previous-versions/dotnet/framework/security/security-changes). ## Reflection and Transparency @@ -110,7 +110,7 @@ Avoid writing public members that take param - - - -- [Security Changes](https://docs.microsoft.com/previous-versions/dotnet/framework/security/security-changes) +- [Security Changes](/previous-versions/dotnet/framework/security/security-changes) - [Code Access Security](../misc/code-access-security.md) - [Security Issues in Reflection Emit](security-issues-in-reflection-emit.md) - [Viewing Type Information](viewing-type-information.md) diff --git a/docs/framework/reflection-and-codedom/security-issues-in-reflection-emit.md b/docs/framework/reflection-and-codedom/security-issues-in-reflection-emit.md index 0ff32f822cb13..58cd249327d48 100644 --- a/docs/framework/reflection-and-codedom/security-issues-in-reflection-emit.md +++ b/docs/framework/reflection-and-codedom/security-issues-in-reflection-emit.md @@ -29,7 +29,7 @@ The .NET Framework provides three ways to emit Microsoft intermediate language ( ## Dynamic Assemblies - Dynamic assemblies are created by using overloads of the method. Most overloads of this method are deprecated in the .NET Framework 4, because of the elimination of machine-wide security policy. (See [Security Changes](https://docs.microsoft.com/previous-versions/dotnet/framework/security/security-changes).) The remaining overloads can be executed by any code, regardless of trust level. These overloads fall into two groups: those that specify a list of attributes to apply to the dynamic assembly when it is created, and those that do not. If you do not specify the transparency model for the assembly, by applying the attribute when you create it, the transparency model is inherited from the emitting assembly. + Dynamic assemblies are created by using overloads of the method. Most overloads of this method are deprecated in the .NET Framework 4, because of the elimination of machine-wide security policy. (See [Security Changes](/previous-versions/dotnet/framework/security/security-changes).) The remaining overloads can be executed by any code, regardless of trust level. These overloads fall into two groups: those that specify a list of attributes to apply to the dynamic assembly when it is created, and those that do not. If you do not specify the transparency model for the assembly, by applying the attribute when you create it, the transparency model is inherited from the emitting assembly. > [!NOTE] > Attributes that you apply to the dynamic assembly after it is created, by using the method, do not take effect until the assembly has been saved to disk and loaded into memory again. @@ -132,7 +132,7 @@ The .NET Framework provides three ways to emit Microsoft intermediate language ( ## Version Information - Starting with the .NET Framework 4, machine-wide security policy is eliminated and security transparency becomes the default enforcement mechanism. See [Security Changes](https://docs.microsoft.com/previous-versions/dotnet/framework/security/security-changes). + Starting with the .NET Framework 4, machine-wide security policy is eliminated and security transparency becomes the default enforcement mechanism. See [Security Changes](/previous-versions/dotnet/framework/security/security-changes). Starting with the .NET Framework 2.0 Service Pack 1, with the flag is no longer required when emitting dynamic assemblies and dynamic methods. This flag is required in all earlier versions of the .NET Framework. diff --git a/docs/framework/reflection-and-codedom/using-the-codedom.md b/docs/framework/reflection-and-codedom/using-the-codedom.md index 757f516f86fce..3a042026904a2 100644 --- a/docs/framework/reflection-and-codedom/using-the-codedom.md +++ b/docs/framework/reflection-and-codedom/using-the-codedom.md @@ -120,4 +120,4 @@ The CodeDOM provides types that represent many common types of source code eleme For documentation for the each of the CodeDOM types, see the reference documentation for the namespace. - For a quick chart to locate the CodeDOM element that represents a specific type of code element, see the [CodeDOM Quick Reference](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/f1dfsbhc(v=vs.100)). + For a quick chart to locate the CodeDOM element that represents a specific type of code element, see the [CodeDOM Quick Reference](/previous-versions/dotnet/netframework-4.0/f1dfsbhc(v=vs.100)). diff --git a/docs/framework/resources/index.md b/docs/framework/resources/index.md index 9e07ff9689cd5..e51c8529be59f 100644 --- a/docs/framework/resources/index.md +++ b/docs/framework/resources/index.md @@ -19,7 +19,7 @@ Nearly every production-quality app has to use resources. A resource is any none The .NET Framework and .NET Core provide comprehensive support for the creation and localization of resources. In addition, .NET supports a simple model for packaging and deploying localized resources. -For information about resources in ASP.NET, see [ASP.NET Web Page Resources Overview](https://docs.microsoft.com/previous-versions/aspnet/ms227427(v=vs.100)). +For information about resources in ASP.NET, see [ASP.NET Web Page Resources Overview](/previous-versions/aspnet/ms227427(v=vs.100)). ## Create and localize resources diff --git a/docs/framework/resources/packaging-and-deploying-resources-in-desktop-apps.md b/docs/framework/resources/packaging-and-deploying-resources-in-desktop-apps.md index 2a933e61f7873..9c01aece95c89 100644 --- a/docs/framework/resources/packaging-and-deploying-resources-in-desktop-apps.md +++ b/docs/framework/resources/packaging-and-deploying-resources-in-desktop-apps.md @@ -46,7 +46,7 @@ There are several advantages to this model: ## Resource naming conventions -When you package your application's resources, you must name them using the resource naming conventions that the common language runtime expects. The runtime identifies a resource by its culture name. Each culture is given a unique name, which is usually a combination of a two-letter, lowercase culture name associated with a language and, if required, a two-letter, uppercase subculture name associated with a country or region. The subculture name follows the culture name, separated by a dash (-). Examples include ja-JP for Japanese as spoken in Japan, en-US for English as spoken in the United States, de-DE for German as spoken in Germany, or de-AT for German as spoken in Austria. See the **Language tag** column in the [list of language/region names supported by Windows](https://docs.microsoft.com/openspecs/windows_protocols/ms-lcid/a9eac961-e77d-41a6-90a5-ce1a8b0cdb9c). Culture names follow the standard defined by [BCP 47](https://tools.ietf.org/html/bcp47). +When you package your application's resources, you must name them using the resource naming conventions that the common language runtime expects. The runtime identifies a resource by its culture name. Each culture is given a unique name, which is usually a combination of a two-letter, lowercase culture name associated with a language and, if required, a two-letter, uppercase subculture name associated with a country or region. The subculture name follows the culture name, separated by a dash (-). Examples include ja-JP for Japanese as spoken in Japan, en-US for English as spoken in the United States, de-DE for German as spoken in Germany, or de-AT for German as spoken in Austria. See the **Language tag** column in the [list of language/region names supported by Windows](/openspecs/windows_protocols/ms-lcid/a9eac961-e77d-41a6-90a5-ce1a8b0cdb9c). Culture names follow the standard defined by [BCP 47](https://tools.ietf.org/html/bcp47). > [!NOTE] > There are some exceptions for the two-letter culture names, such as `zh-Hans` for Chinese (Simplified). diff --git a/docs/framework/resources/retrieving-resources-in-desktop-apps.md b/docs/framework/resources/retrieving-resources-in-desktop-apps.md index dadff8ce26b2d..57ed49ec8495e 100644 --- a/docs/framework/resources/retrieving-resources-in-desktop-apps.md +++ b/docs/framework/resources/retrieving-resources-in-desktop-apps.md @@ -22,7 +22,7 @@ ms.assetid: eca16922-1c46-4f68-aefe-e7a12283641f --- # Retrieving Resources in Desktop Apps -When you work with localized resources in .NET Framework desktop apps, you should ideally package the resources for the default or neutral culture with the main assembly and create a separate satellite assembly for each language or culture that your app supports. You can then use the class as described in the next section to access named resources. If you choose not to embed your resources in the main assembly and satellite assemblies, you can also access binary .resources files directly, as discussed in the section [Retrieving Resources from .resources files](#from_file) later in this article. To retrieve resources in Windows 8.x Store apps, see [Creating and retrieving resources in Windows Store apps](https://docs.microsoft.com/previous-versions/windows/apps/hh694557(v=vs.140)). +When you work with localized resources in .NET Framework desktop apps, you should ideally package the resources for the default or neutral culture with the main assembly and create a separate satellite assembly for each language or culture that your app supports. You can then use the class as described in the next section to access named resources. If you choose not to embed your resources in the main assembly and satellite assemblies, you can also access binary .resources files directly, as discussed in the section [Retrieving Resources from .resources files](#from_file) later in this article. To retrieve resources in Windows 8.x Store apps, see [Creating and retrieving resources in Windows Store apps](/previous-versions/windows/apps/hh694557(v=vs.140)). ## Retrieving Resources from Assemblies @@ -153,7 +153,7 @@ GetObject.exe After you have created your resources and placed them in the appropriate directory, you create a object to use the resources by calling the method. The first parameter specifies the root name of the app's default .resources file (this would be "strings" for the example in the previous section). The second parameter specifies the location of the resources ("Resources" for the previous example). The third parameter specifies the implementation to use. If the third parameter is `null`, the default runtime is used. > [!NOTE] -> Do not deploy ASP.NET apps using standalone .resources files. This can cause locking issues and breaks XCOPY deployment. We recommend that you deploy ASP.NET resources in satellite assemblies. For more information, see [ASP.NET Web Page Resources Overview](https://docs.microsoft.com/previous-versions/aspnet/ms227427(v=vs.100)). +> Do not deploy ASP.NET apps using standalone .resources files. This can cause locking issues and breaks XCOPY deployment. We recommend that you deploy ASP.NET resources in satellite assemblies. For more information, see [ASP.NET Web Page Resources Overview](/previous-versions/aspnet/ms227427(v=vs.100)). After you instantiate the object, you use the , , and methods as discussed earlier to retrieve the resources. However, the retrieval of resources directly from .resources files differs from the retrieval of embedded resources from assemblies. When you retrieve resources from .resources files, the , , and methods always retrieve the default culture's resources regardless of the current culture. To retrieve the resources of the either the app's current culture or a specific culture, you must call the , , or method and specify the culture whose resources are to be retrieved. To retrieve the resources of the current culture, specify the value of the property as the `culture` argument. If the resource manager cannot retrieve the resources of `culture`, it uses the standard resource fallback rules to retrieve the appropriate resources. @@ -201,4 +201,4 @@ csc Example.cs - [Resources in Desktop Apps](index.md) - [Packaging and Deploying Resources](packaging-and-deploying-resources-in-desktop-apps.md) - [How the Runtime Locates Assemblies](../deployment/how-the-runtime-locates-assemblies.md) -- [Creating and retrieving resources in Windows Store apps](https://docs.microsoft.com/previous-versions/windows/apps/hh694557(v=vs.140)) +- [Creating and retrieving resources in Windows Store apps](/previous-versions/windows/apps/hh694557(v=vs.140)) diff --git a/docs/framework/tools/caspol-exe-code-access-security-policy-tool.md b/docs/framework/tools/caspol-exe-code-access-security-policy-tool.md index 213e44e55b151..33a325cf44cdf 100644 --- a/docs/framework/tools/caspol-exe-code-access-security-policy-tool.md +++ b/docs/framework/tools/caspol-exe-code-access-security-policy-tool.md @@ -21,7 +21,7 @@ ms.assetid: d2bf6123-7b0c-4e60-87ad-a39a1c3eb2e0 The Code Access Security (CAS) Policy tool (Caspol.exe) enables users and administrators to modify security policy for the machine policy level, the user policy level, and the enterprise policy level. > [!IMPORTANT] -> Starting with the .NET Framework 4, Caspol.exe does not affect CAS policy unless the [\ element](../configure-apps/file-schema/runtime/netfx40-legacysecuritypolicy-element.md) is set to `true`. Any settings shown or modified by CasPol.exe will only affect applications that opt into using CAS policy. For more information, see [Security Changes](https://docs.microsoft.com/previous-versions/dotnet/framework/security/security-changes). +> Starting with the .NET Framework 4, Caspol.exe does not affect CAS policy unless the [\ element](../configure-apps/file-schema/runtime/netfx40-legacysecuritypolicy-element.md) is set to `true`. Any settings shown or modified by CasPol.exe will only affect applications that opt into using CAS policy. For more information, see [Security Changes](/previous-versions/dotnet/framework/security/security-changes). > [!NOTE] > 64-bit computers include both 64-bit and 32-bit versions of security policy. To ensure that your policy changes apply to both 32-bit and 64-bit applications, run both the 32-bit and 64-bit versions of Caspol.exe. @@ -49,7 +49,7 @@ caspol [options] |**-customall** *path*

or

**-ca** *path*|Indicates that all options following this one apply to the machine, enterprise, and the specified custom user policies. You must specify the location of the custom user's security configuration file with the *path* argument.| |**-cu**[**stomuser**] *path*|Allows the administration of a custom user policy that does not belong to the user on whose behalf Caspol.exe is currently running. You must specify the location of the custom user's security configuration file with the *path* argument.| |**-enterprise**

or

**-en**|Indicates that all options following this one apply to the enterprise level policy. Users who are not enterprise administrators do not have sufficient rights to modify the enterprise policy, although they can view it. In nonenterprise scenarios, this policy, by default, does not interfere with machine and user policy.| -|**-e**[**xecution**] {**on** | **off**}|Turns on or off the mechanism that checks for the permission to run before code starts to execute. **Note:** This switch is removed in the .NET Framework 4 and later versions. For more information, see [Security Changes](https://docs.microsoft.com/previous-versions/dotnet/framework/security/security-changes).| +|**-e**[**xecution**] {**on** | **off**}|Turns on or off the mechanism that checks for the permission to run before code starts to execute. **Note:** This switch is removed in the .NET Framework 4 and later versions. For more information, see [Security Changes](/previous-versions/dotnet/framework/security/security-changes).| |**-f**[**orce**]|Suppresses the tool's self-destruct test and changes the policy as specified by the user. Normally, Caspol.exe checks whether any policy changes would prevent Caspol.exe itself from running properly; if so, Caspol.exe does not save the policy change and prints an error message. To force Caspol.exe to change policy even if this prevents Caspol.exe itself from running, use the **–force** option.| |**-h**[**elp**]|Displays command syntax and options for Caspol.exe.| |**-l**[**ist**]|Lists the code group hierarchy and the permission sets for the specified machine, user, enterprise, or all policy levels. Caspol.exe displays the code group's label first, followed by the name, if it is not null.| @@ -68,7 +68,7 @@ caspol [options] |**-resetlockdown**

or

**-rsld**|Returns policy to a more restrictive version of the default state and persists it to disk; creates a backup of the previous machine policy and persists it to a file called `security.config.bac`. The locked down policy is similar to the default policy, except that the policy grants no permission to code from the `Local Intranet`, `Trusted Sites`, and `Internet` zones and the corresponding code groups have no child code groups.| |**-resolvegroup** *assembly_file*

or

**-rsg** *assembly_file*|Shows the code groups that a specific assembly (*assembly_file*) belongs to. By default, this option displays the machine, user, and enterprise policy levels to which the assembly belongs. To view only one policy level, use this option with either the **-machine**, **-user**, or **-enterprise** option.| |**-resolveperm** *assembly_file*

or

**-rsp** *assembly_file*|Displays all permissions that the specified (or default) level of security policy would grant the assembly if the assembly were allowed to run. The *assembly_file* argument specifies the assembly. If you specify the **-all** option, Caspol.exe calculates the permissions for the assembly based on user, machine, and enterprise policy; otherwise, default behavior rules apply.| -|**-s**[**ecurity**] {**on** | **off**}|Turns code access security on or off. Specifying the **-s off** option does not disable role-based security. **Note:** This switch is removed in the .NET Framework 4 and later versions. For more information, see [Security Changes](https://docs.microsoft.com/previous-versions/dotnet/framework/security/security-changes). **Caution:** When code access security is disabled, all code access demands succeed. Disabling code access security makes the system vulnerable to attacks by malicious code such as viruses and worms. Turning off security gains some extra performance but should only be done when other security measures have been taken to help make sure overall system security is not breached. Examples of other security precautions include disconnecting from public networks, physically securing computers, and so on.| +|**-s**[**ecurity**] {**on** | **off**}|Turns code access security on or off. Specifying the **-s off** option does not disable role-based security. **Note:** This switch is removed in the .NET Framework 4 and later versions. For more information, see [Security Changes](/previous-versions/dotnet/framework/security/security-changes). **Caution:** When code access security is disabled, all code access demands succeed. Disabling code access security makes the system vulnerable to attacks by malicious code such as viruses and worms. Turning off security gains some extra performance but should only be done when other security measures have been taken to help make sure overall system security is not breached. Examples of other security precautions include disconnecting from public networks, physically securing computers, and so on.| |**-u**[**ser**]|Indicates that all options following this one apply to the user level policy for the user on whose behalf Caspol.exe is running. For nonadministrative users, **-user** is the default.| |**-?**|Displays command syntax and options for Caspol.exe.| @@ -98,7 +98,7 @@ caspol [options] ## Remarks Security policy is expressed using three policy levels: machine policy, user policy, and enterprise policy. The set of permissions that an assembly receives is determined by the intersection of the permission sets allowed by these three policy levels. Each policy level is represented by a hierarchical structure of code groups. Every code group has a membership condition that determines which code is a member of that group. A named permission set is also associated with each code group. This permission set specifies the permissions the runtime allows code that satisfies the membership condition to have. A code group hierarchy, along with its associated named permission sets, defines and maintains each level of security policy. You can use the **–user**, **-customuser**, **–machine** and **-enterprise** options to set the level of security policy. - For more information about security policy and how the runtime determines which permissions to grant to code, see [Security Policy Management](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/c1k0eed6(v=vs.100)). + For more information about security policy and how the runtime determines which permissions to grant to code, see [Security Policy Management](/previous-versions/dotnet/netframework-4.0/c1k0eed6(v=vs.100)). ## Referencing Code Groups and Permission Sets To facilitate references to code groups in a hierarchy, the **-list** option displays an indented list of code groups along with their numerical labels (1, 1.1, 1.1.1, and so on). The other command-line operations that target code groups also use the numerical labels to refer to specific code groups. diff --git a/docs/framework/tools/index.md b/docs/framework/tools/index.md index ef4c82aec30a5..18604e96d4012 100644 --- a/docs/framework/tools/index.md +++ b/docs/framework/tools/index.md @@ -31,7 +31,7 @@ Generates a file that has an assembly manifest from modules or resource files. Converts type definitions in a COM type library for an ActiveX control into a Windows Forms control. - [Caspol.exe (Code Access Security Policy Tool)](caspol-exe-code-access-security-policy-tool.md) -Enables you to view and configure security policy for the machine policy level, the user policy level, and the enterprise policy level. In the .NET Framework 4 and later, this tool does not affect code access security (CAS) policy unless the [\ element](../configure-apps/file-schema/runtime/netfx40-legacysecuritypolicy-element.md) is set to `true`. For more information, see [Security Changes](https://docs.microsoft.com/previous-versions/dotnet/framework/security/security-changes). +Enables you to view and configure security policy for the machine policy level, the user policy level, and the enterprise policy level. In the .NET Framework 4 and later, this tool does not affect code access security (CAS) policy unless the [\ element](../configure-apps/file-schema/runtime/netfx40-legacysecuritypolicy-element.md) is set to `true`. For more information, see [Security Changes](/previous-versions/dotnet/framework/security/security-changes). - [Cert2spc.exe (Software Publisher Certificate Test Tool)](cert2spc-exe-software-publisher-certificate-test-tool.md) Creates a Software Publisher's Certificate (SPC) from one or more X.509 certificates. This tool is for testing purposes only. @@ -128,7 +128,7 @@ Helps you localize user interface (UI) resources (*.resx* or *.resources* files) ## Related sections -- [WPF Tools](https://docs.microsoft.com/previous-versions/ms742404(v=vs.110)) +- [WPF Tools](/previous-versions/ms742404(v=vs.110)) Includes tools such as the isXPS Conformance tool (isXPS.exe) and performance profiling tools. - [Windows Communication Foundation Tools](../wcf/tools.md) diff --git a/docs/framework/tools/mage-exe-manifest-generation-and-editing-tool.md b/docs/framework/tools/mage-exe-manifest-generation-and-editing-tool.md index 6bdd89d25590b..747dd4c403410 100644 --- a/docs/framework/tools/mage-exe-manifest-generation-and-editing-tool.md +++ b/docs/framework/tools/mage-exe-manifest-generation-and-editing-tool.md @@ -60,7 +60,7 @@ The following table shows the options supported by the `-New` and `-Update` comm |**-pu,** **-ProviderURL** `url`||Deployment manifests.|Specifies the URL which ClickOnce will examine for application updates.| |**-pub, -Publisher** `publisherName`||Application manifests.

Deployment manifests.|Adds the publisher name to the description element of either the deployment or application manifest. When used on an application manifest, **-UseManifestForTrust** must also be specified with a value of "true" or "t"; otherwise, this parameter will raise an error.| |**-s, -SupportURL** `url`||Application manifests.

Deployment manifests.|Specifies the link that appears in Add or Remove Programs for the ClickOnce application.| -|**-ti, -TimestampUri** `uri`||Application manifests.

Deployment manifests.|The URL of a digital timestamping service. Timestamping the manifests prevents you from having to re-sign the manifests should your digital certificate expire before you deploy the next version of your application. For more information, see [Windows root certificate program members](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/dn265983(v=ws.11)).| +|**-ti, -TimestampUri** `uri`||Application manifests.

Deployment manifests.|The URL of a digital timestamping service. Timestamping the manifests prevents you from having to re-sign the manifests should your digital certificate expire before you deploy the next version of your application. For more information, see [Windows root certificate program members](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/dn265983(v=ws.11)).| |**-t, -ToFile** `filePath`|- New:
- Deployment: deploy.application
- Application: application.exe.manifest
- Update:
- The input file.|All file types.|Specifies the output path of the file that has been created or modified.

If **-ToFile** is not supplied when you use **-New**, the output is written to the current working directory. If **-ToFile** is not supplied when you use **-Update**, *Mage.exe* will write the file back to the input file.| |**-tr, -TrustLevel** `level`|Based on the zone in which the application URL resides.|Application manifests.|The level of trust to grant the application on client computers. Values include "Internet", "Intranet", and "FullTrust".| |**-um, -UseManifestForTrust** `willUseForTrust`|False|Application manifests.|Specifies whether the digital signature of the application manifest will be used for making trust decisions when the application runs on the client. Specifying "true" or "t" indicates that the application manifest will be used for trust decisions. Specifying "false" or "f" indicates that the signature of the deployment manifest will be used.| diff --git a/docs/framework/tools/mageui-exe-manifest-generation-and-editing-tool-graphical-client.md b/docs/framework/tools/mageui-exe-manifest-generation-and-editing-tool-graphical-client.md index fa87aaf683298..f7a6d7ea60615 100644 --- a/docs/framework/tools/mageui-exe-manifest-generation-and-editing-tool-graphical-client.md +++ b/docs/framework/tools/mageui-exe-manifest-generation-and-editing-tool-graphical-client.md @@ -61,7 +61,7 @@ MageUI.exe supports the same functionality as the command-line tool Mage.exe, bu |**New**|Generates a new .pfx that is not verifiable through a Certificate Authority (CA). For more information about the types of certificates used for signing ClickOnce deployments, see [Trusted Application Deployment Overview](/visualstudio/deployment/trusted-application-deployment-overview).| |**Password**|Provides an area to type the password used for signing with this certificate. If not applicable, can be left blank.| |**Sign with stored certificate**|Displays a selectable list of digital certificates stored in your computer's certificate store.| -|**TimeStamping URI**|Displays the Uniform Resource Locator (URI) of a digital timestamping service. Timestamping the manifests prevents you from having to re-sign the manifests if your digital certificate expires before you deploy the next version of your application. For more information, see [Windows root certificate program members](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/dn265983(v=ws.11)) and [ClickOnce and Authenticode](/visualstudio/deployment/clickonce-and-authenticode).| +|**TimeStamping URI**|Displays the Uniform Resource Locator (URI) of a digital timestamping service. Timestamping the manifests prevents you from having to re-sign the manifests if your digital certificate expires before you deploy the next version of your application. For more information, see [Windows root certificate program members](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/dn265983(v=ws.11)) and [ClickOnce and Authenticode](/visualstudio/deployment/clickonce-and-authenticode).| |**Don't Sign**|Allows you to save the manifest without adding a signature from a digital certificate.| ## Tab and Panel Descriptions @@ -123,7 +123,7 @@ MageUI.exe supports the same functionality as the command-line tool Mage.exe, bu |UI Element|Description| |----------------|-----------------| -|**Permission set type**|The minimum permission set required by this application to run on the client. For a description of these permission sets and which permissions they do or do not demand, see [Named Permission Sets](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/4652tyx7(v=vs.100)).| +|**Permission set type**|The minimum permission set required by this application to run on the client. For a description of these permission sets and which permissions they do or do not demand, see [Named Permission Sets](/previous-versions/dotnet/netframework-4.0/4652tyx7(v=vs.100)).| |**Details**|The XML created for the application manifest to represent the permission set. Unless you have a good understanding of the application manifest XML format, you should not edit this XML manually. For more information, see [ClickOnce Application Manifest](/visualstudio/deployment/clickonce-application-manifest).| ### Deployment Manifest Tab diff --git a/docs/framework/tools/mpgo-exe-managed-profile-guided-optimization-tool.md b/docs/framework/tools/mpgo-exe-managed-profile-guided-optimization-tool.md index 45f4a1eb525be..3eb4399706923 100644 --- a/docs/framework/tools/mpgo-exe-managed-profile-guided-optimization-tool.md +++ b/docs/framework/tools/mpgo-exe-managed-profile-guided-optimization-tool.md @@ -124,4 +124,4 @@ mpgo.exe -import "C:\Optimized" -assemblylist "C:\MyApp\MyTax.dll" "C:\MyApp\MyT - [Ngen.exe (Native Image Generator)](ngen-exe-native-image-generator.md) - [Command Prompts](developer-command-prompt-for-vs.md) - [Improving Launch Performance for your Desktop Applications](https://devblogs.microsoft.com/dotnet/improving-launch-performance-for-your-desktop-applications/) -- [An Overview of Performance Improvements in .NET 4.5](https://docs.microsoft.com/archive/msdn-magazine/2012/april/clr-an-overview-of-performance-improvements-in-net-4-5) +- [An Overview of Performance Improvements in .NET 4.5](/archive/msdn-magazine/2012/april/clr-an-overview-of-performance-improvements-in-net-4-5) diff --git a/docs/framework/tools/ngen-exe-native-image-generator.md b/docs/framework/tools/ngen-exe-native-image-generator.md index d2cce5c9dcbd3..2fd45fb67c58d 100644 --- a/docs/framework/tools/ngen-exe-native-image-generator.md +++ b/docs/framework/tools/ngen-exe-native-image-generator.md @@ -50,7 +50,7 @@ On Windows 8, see [Native Image Task](#native-image-task). For additional information on using Ngen.exe and the native image service, see [Native Image Service](#native-image-service). > [!NOTE] -> Ngen.exe syntax for versions 1.0 and 1.1 of the .NET Framework can be found in [Native Image Generator (Ngen.exe) Legacy Syntax](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms165073(v=vs.100)). +> Ngen.exe syntax for versions 1.0 and 1.1 of the .NET Framework can be found in [Native Image Generator (Ngen.exe) Legacy Syntax](/previous-versions/dotnet/netframework-4.0/ms165073(v=vs.100)). This tool is automatically installed with Visual Studio. To run the tool, use the Developer Command Prompt for Visual Studio (or the Visual Studio Command Prompt in Windows 7). For more information, see [Command Prompts](developer-command-prompt-for-vs.md). diff --git a/docs/framework/tools/regsvcs-exe-net-services-installation-tool.md b/docs/framework/tools/regsvcs-exe-net-services-installation-tool.md index 4901e7f1c5848..bc4463a559ba7 100644 --- a/docs/framework/tools/regsvcs-exe-net-services-installation-tool.md +++ b/docs/framework/tools/regsvcs-exe-net-services-installation-tool.md @@ -60,7 +60,7 @@ The .NET Services Installation tool performs the following actions: ## Remarks Regsvcs.exe requires a source assembly file specified by *assemblyFile.dll*. This assembly must be signed with a strong name. For more information on strong name signing, see [Signing an Assembly with a Strong Name](../../standard/assembly/sign-strong-name.md). The names of the target application and the type library file are optional. The *applicationName* argument can be generated from the source assembly file and will be created by Regsvcs.exe, if it does not already exist. The *typelibraryfile* argument can specify a type library name. If you do not specify a type library name, Regsvcs.exe uses the assembly name as the default. - When Regsvcs.exe registers a component's methods, it is subject to the [demands](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/9kc0c6st(v=vs.100)) and [link demands](../misc/link-demands.md) on those methods. Because the tool executes in a fully-trusted environment, most demands for a permission succeed. However, Regsvcs.exe cannot register components with methods protected by a demand or link demand for the or the . + When Regsvcs.exe registers a component's methods, it is subject to the [demands](/previous-versions/dotnet/netframework-4.0/9kc0c6st(v=vs.100)) and [link demands](../misc/link-demands.md) on those methods. Because the tool executes in a fully-trusted environment, most demands for a permission succeed. However, Regsvcs.exe cannot register components with methods protected by a demand or link demand for the or the . You must have administrative privileges on the local computer to use Regsvcs.exe. diff --git a/docs/framework/tools/secannotate-exe-net-security-annotator-tool.md b/docs/framework/tools/secannotate-exe-net-security-annotator-tool.md index 1d07c2c853da4..94c9eea6c6f58 100644 --- a/docs/framework/tools/secannotate-exe-net-security-annotator-tool.md +++ b/docs/framework/tools/secannotate-exe-net-security-annotator-tool.md @@ -45,6 +45,6 @@ SecAnnotate.exe [parameters] [assemblies] ## Remarks Parameters and assemblies may also be provided in a response file that is specified on the command line and prefixed with an at sign (@). Each line in the response file should contain a single parameter or assembly name. - For more information about the .NET Security Annotator, see the entry [Using SecAnnotate to Analyze Your Assemblies for Transparency Violations](https://docs.microsoft.com/archive/blogs/shawnfa/using-secannotate-to-analyze-your-assemblies-for-transparency-violations-an-example) in the .NET Security blog. + For more information about the .NET Security Annotator, see the entry [Using SecAnnotate to Analyze Your Assemblies for Transparency Violations](/archive/blogs/shawnfa/using-secannotate-to-analyze-your-assemblies-for-transparency-violations-an-example) in the .NET Security blog. ## Examples diff --git a/docs/framework/tools/tlbexp-exe-type-library-exporter.md b/docs/framework/tools/tlbexp-exe-type-library-exporter.md index ce09936764f0d..a3fd95ca03b7f 100644 --- a/docs/framework/tools/tlbexp-exe-type-library-exporter.md +++ b/docs/framework/tools/tlbexp-exe-type-library-exporter.md @@ -83,7 +83,7 @@ HRESULT StructDispSafe([out, retval] SAFEARRAY(IDispatch*)* pRetVal); Note that Tlbexp.exe ignores the field. - Because type libraries cannot accommodate all the information found in assemblies, Tlbexp.exe might discard some data during the export process. For an explanation of the transformation process and identification of the source of each piece of information emitted to a type library, see the [Assembly to Type Library Conversion Summary](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/xk1120c3(v=vs.100)). + Because type libraries cannot accommodate all the information found in assemblies, Tlbexp.exe might discard some data during the export process. For an explanation of the transformation process and identification of the source of each piece of information emitted to a type library, see the [Assembly to Type Library Conversion Summary](/previous-versions/dotnet/netframework-4.0/xk1120c3(v=vs.100)). Note that the Type Library Exporter exports methods that have parameters as `VARIANT`, even though the object has no meaning in unmanaged code. When you export methods that have parameters, the Type Library Exporter will not generate a warning or error and unmanaged code that uses the resulting type library will not run properly. @@ -127,6 +127,6 @@ tlbexp Sample.dll - - [Tools](index.md) - [Regasm.exe (Assembly Registration Tool)](regasm-exe-assembly-registration-tool.md) -- [Assembly to Type Library Conversion Summary](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/xk1120c3(v=vs.100)) +- [Assembly to Type Library Conversion Summary](/previous-versions/dotnet/netframework-4.0/xk1120c3(v=vs.100)) - [Tlbimp.exe (Type Library Importer)](tlbimp-exe-type-library-importer.md) - [Command Prompts](developer-command-prompt-for-vs.md) diff --git a/docs/framework/tools/tlbimp-exe-type-library-importer.md b/docs/framework/tools/tlbimp-exe-type-library-importer.md index af03106f8e15d..c340e482a20a0 100644 --- a/docs/framework/tools/tlbimp-exe-type-library-importer.md +++ b/docs/framework/tools/tlbimp-exe-type-library-importer.md @@ -45,7 +45,7 @@ tlbimp tlbFile [options] |**/noclassmembers**|Prevents Tlbimp.exe from adding members to classes. This avoids a potential .| |**/nologo**|Suppresses the Microsoft startup banner display.| |**/out:** *filename*|Specifies the name of the output file, assembly, and namespace in which to write the metadata definitions. The **/out** option has no effect on the assembly's namespace if the type library specifies the Interface Definition Language (IDL) custom attribute that explicitly controls the assembly's namespace. If you do not specify this option, Tlbimp.exe writes the metadata to a file with the same name as the actual type library defined within the input file and assigns it a .dll extension. If the output file is the same name as the input file, the tool generates an error to prevent overwriting the type library.| -|**/primary**|Produces a primary interop assembly for the specified type library. Information is added to the assembly indicating that the publisher of the type library produced the assembly. By specifying a primary interop assembly, you differentiate a publisher's assembly from any other assemblies that are created from the type library using Tlbimp.exe. You should only use the **/primary** option if you are the publisher of the type library that you are importing with Tlbimp.exe. Note that you must sign a primary interop assembly with a [strong name](../../standard/assembly/strong-named.md). For more information, see [Primary Interop Assemblies](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/aax7sdch(v=vs.100)).| +|**/primary**|Produces a primary interop assembly for the specified type library. Information is added to the assembly indicating that the publisher of the type library produced the assembly. By specifying a primary interop assembly, you differentiate a publisher's assembly from any other assemblies that are created from the type library using Tlbimp.exe. You should only use the **/primary** option if you are the publisher of the type library that you are importing with Tlbimp.exe. Note that you must sign a primary interop assembly with a [strong name](../../standard/assembly/strong-named.md). For more information, see [Primary Interop Assemblies](/previous-versions/dotnet/netframework-4.0/aax7sdch(v=vs.100)).| |**/product:** `productinformation`|Adds product information to the output assembly. This information can be viewed in the **File Properties** dialog box for the assembly.| |**/productversion:** `productversioninformation`|Adds product version information to the output assembly. There are no format restrictions. This information can be viewed in the **File Properties** dialog box for the assembly.| |**/publickey:** *filename*|Specifies the file containing the public key to use to sign the resulting assembly. If you specify the **/keyfile:** or **/keycontainer:** option instead of **/publickey:**, Tlbimp.exe generates the public key from the public/private key pair supplied with **/keyfile:** or **/keycontainer:**. The **/publickey:** option supports test key and delay signing scenarios. The file is in the format generated by Sn.exe. For more information, see the **-p** option of Sn.exe in [Strong Name Tool (Sn.exe)](sn-exe-strong-name-tool.md).| @@ -125,9 +125,9 @@ void SomeMethod(out bool x); - [Tools](index.md) - [Tlbexp.exe (Type Library Exporter)](tlbexp-exe-type-library-exporter.md) - [Importing a Type Library as an Assembly](../interop/importing-a-type-library-as-an-assembly.md) -- [Type Library to Assembly Conversion Summary](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/k83zzh38(v=vs.100)) +- [Type Library to Assembly Conversion Summary](/previous-versions/dotnet/netframework-4.0/k83zzh38(v=vs.100)) - [Ildasm.exe (IL Disassembler)](ildasm-exe-il-disassembler.md) - [Sn.exe (Strong Name Tool)](sn-exe-strong-name-tool.md) - [Strong-Named Assemblies](../../standard/assembly/strong-named.md) -- [Attributes for Importing Type Libraries into Interop Assemblies](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/y6a7ak23(v=vs.100)) +- [Attributes for Importing Type Libraries into Interop Assemblies](/previous-versions/dotnet/netframework-4.0/y6a7ak23(v=vs.100)) - [Command Prompts](developer-command-prompt-for-vs.md) diff --git a/docs/framework/tools/winmdexp-exe-error-messages.md b/docs/framework/tools/winmdexp-exe-error-messages.md index 2f0690b2febf7..470dd0514e564 100644 --- a/docs/framework/tools/winmdexp-exe-error-messages.md +++ b/docs/framework/tools/winmdexp-exe-error-messages.md @@ -163,11 +163,11 @@ ms.assetid: 8271973c-deba-47a6-8e5e-04ce63f146ad The build process calls [Winmdexp.exe (Windows Runtime Metadata Export Tool)](winmdexp-exe-windows-runtime-metadata-export-tool.md) when you use the **Windows Runtime Component** template in Visual Studio 2012, so Winmdexp.exe error messages appear in the **Error List**. Winmdexp.exe operates on a module that is compiled with the `/target:winmdobj` option. Because it requires a compiled module as input, its error messages don't appear unless compilation succeeds. - The error messages are designed to contain all the information you need to address the error conditions they report. However, some problems require more information than will fit in the message. You can find additional information in [Diagnosing Windows Runtime component error conditions](https://docs.microsoft.com/previous-versions/hh977010(v=vs.110)). + The error messages are designed to contain all the information you need to address the error conditions they report. However, some problems require more information than will fit in the message. You can find additional information in [Diagnosing Windows Runtime component error conditions](/previous-versions/hh977010(v=vs.110)). If your error is not discussed in that article, and you feel that the message doesn't contain sufficient information to address the issue, use the feedback link in that article and include the error message. Alternatively, you can file a bug at the [Developer Community website](https://developercommunity.visualstudio.com/). You can also look for more information on the [Microsoft Forums](https://social.msdn.microsoft.com/Forums/). ## See also - [Winmdexp.exe (Windows Runtime Metadata Export Tool)](winmdexp-exe-windows-runtime-metadata-export-tool.md) -- [Diagnosing Windows Runtime component error conditions](https://docs.microsoft.com/previous-versions/hh977010(v=vs.110)) +- [Diagnosing Windows Runtime component error conditions](/previous-versions/hh977010(v=vs.110)) diff --git a/docs/framework/tools/winmdexp-exe-windows-runtime-metadata-export-tool.md b/docs/framework/tools/winmdexp-exe-windows-runtime-metadata-export-tool.md index 5137eb08ca43f..d4715964624e7 100644 --- a/docs/framework/tools/winmdexp-exe-windows-runtime-metadata-export-tool.md +++ b/docs/framework/tools/winmdexp-exe-windows-runtime-metadata-export-tool.md @@ -39,13 +39,13 @@ winmdexp [options] winmdmodule |**@** `responsefile`|Specifies a response (.rsp) file that contains options (and optionally `winmdmodule`). Each line in `responsefile` should contain a single argument or option.| ## Remarks - Winmdexp.exe is not designed to convert an arbitrary .NET Framework assembly to a .winmd file. It requires a module that is compiled with the `/target:winmdobj` option, and additional restrictions apply. The most important of these restrictions is that all types that are exposed in the API surface of the assembly must be Windows Runtime types. For more information, see the "Declaring types in Windows Runtime Components" section of the article [Creating Windows Runtime Components in C# and Visual Basic](https://docs.microsoft.com/previous-versions/br230301(v=vs.110)). + Winmdexp.exe is not designed to convert an arbitrary .NET Framework assembly to a .winmd file. It requires a module that is compiled with the `/target:winmdobj` option, and additional restrictions apply. The most important of these restrictions is that all types that are exposed in the API surface of the assembly must be Windows Runtime types. For more information, see the "Declaring types in Windows Runtime Components" section of the article [Creating Windows Runtime Components in C# and Visual Basic](/previous-versions/br230301(v=vs.110)). When you write a Windows 8.x Store app or a Windows Runtime component with C# or Visual Basic, the .NET Framework provides support to make programming with the Windows Runtime more natural. This is discussed in the article [.NET Framework Support for Windows Store Apps and Windows Runtime](../../standard/cross-platform/support-for-windows-store-apps-and-windows-runtime.md). In the process, some commonly used Windows Runtime types are mapped to .NET Framework types. Winmdexp.exe reverses this process and produces an API surface that uses the corresponding Windows Runtime types. For example, types that are constructed from the interface map to types that are constructed from the Windows Runtime interface. ## See also - [.NET Framework Support for Windows Store Apps and Windows Runtime](../../standard/cross-platform/support-for-windows-store-apps-and-windows-runtime.md) -- [Creating Windows Runtime Components in C# and Visual Basic](https://docs.microsoft.com/previous-versions/br230301(v=vs.110)) +- [Creating Windows Runtime Components in C# and Visual Basic](/previous-versions/br230301(v=vs.110)) - [Winmdexp.exe Error Messages](winmdexp-exe-error-messages.md) -- [Build, Deployment, and Configuration Tools (.NET Framework)](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/dd233108(v=vs.100)) +- [Build, Deployment, and Configuration Tools (.NET Framework)](/previous-versions/dotnet/netframework-4.0/dd233108(v=vs.100)) diff --git a/docs/framework/tools/winres-exe-windows-forms-resource-editor.md b/docs/framework/tools/winres-exe-windows-forms-resource-editor.md index e2572522a3ca7..3f7fa870809e0 100644 --- a/docs/framework/tools/winres-exe-windows-forms-resource-editor.md +++ b/docs/framework/tools/winres-exe-windows-forms-resource-editor.md @@ -46,7 +46,7 @@ The state of UI elements from a form in a Windows Forms project are typically st - A culture resource file can be saved as another culture resource file. For example, an English (U.S.) resource file could be saved as a Polish resource file. Typically the new file would subsequently be edited to be compatible with the new culture. -Also see [Hierarchical Organization of Resources for Localization](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2012/756hydy4(v=vs.110)) or [Hierarchical Organization of Resources for Localization](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2013/756hydy4(v=vs.120)). +Also see [Hierarchical Organization of Resources for Localization](/previous-versions/visualstudio/visual-studio-2012/756hydy4(v=vs.110)) or [Hierarchical Organization of Resources for Localization](/previous-versions/visualstudio/visual-studio-2013/756hydy4(v=vs.120)). Winres.exe cannot convert a .resx file into its corresponding .resources file; use the Resgen.exe tool instead. For more information about Resgen.exe, see [Resgen.exe (Resource File Generator)](resgen-exe-resource-file-generator.md). diff --git a/docs/framework/ui-automation/accessibility-best-practices.md b/docs/framework/ui-automation/accessibility-best-practices.md index af1150fd09fab..784d51dfb922e 100644 --- a/docs/framework/ui-automation/accessibility-best-practices.md +++ b/docs/framework/ui-automation/accessibility-best-practices.md @@ -129,5 +129,5 @@ ms.assetid: e6d5cd98-21a3-4b01-999c-fb953556d0e6 ## See also - -- [NumericUpDown Custom Control with Theme and UI Automation Support Sample](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms771573(v=vs.90)) -- [Guidelines for Keyboard User Interface Design](https://docs.microsoft.com/previous-versions/windows/desktop/dnacc/guidelines-for-keyboard-user-interface-design) +- [NumericUpDown Custom Control with Theme and UI Automation Support Sample](/previous-versions/dotnet/netframework-3.5/ms771573(v=vs.90)) +- [Guidelines for Keyboard User Interface Design](/previous-versions/windows/desktop/dnacc/guidelines-for-keyboard-user-interface-design) diff --git a/docs/framework/ui-automation/add-content-to-a-text-box-using-ui-automation.md b/docs/framework/ui-automation/add-content-to-a-text-box-using-ui-automation.md index 4500a8b93f2c9..ec9bf5ad8413c 100644 --- a/docs/framework/ui-automation/add-content-to-a-text-box-using-ui-automation.md +++ b/docs/framework/ui-automation/add-content-to-a-text-box-using-ui-automation.md @@ -25,4 +25,4 @@ ms.assetid: 8bdd1a73-1ecb-4a05-a891-a7827ebb767f ## See also -- [TextPattern Insert Text Sample](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms771478(v=vs.90)) +- [TextPattern Insert Text Sample](/previous-versions/dotnet/netframework-3.5/ms771478(v=vs.90)) diff --git a/docs/framework/ui-automation/caching-in-ui-automation-clients.md b/docs/framework/ui-automation/caching-in-ui-automation-clients.md index b3b20041728a6..13c2f81a5fd25 100644 --- a/docs/framework/ui-automation/caching-in-ui-automation-clients.md +++ b/docs/framework/ui-automation/caching-in-ui-automation-clients.md @@ -100,4 +100,4 @@ ms.assetid: 94c15031-4975-43cc-bcd5-c9439ed21c9c - [UI Automation Events for Clients](ui-automation-events-for-clients.md) - [Use Caching in UI Automation](use-caching-in-ui-automation.md) -- [FetchTimer Sample](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms771456(v=vs.90)) +- [FetchTimer Sample](/previous-versions/dotnet/netframework-3.5/ms771456(v=vs.90)) diff --git a/docs/framework/ui-automation/expose-the-content-of-a-table-using-ui-automation.md b/docs/framework/ui-automation/expose-the-content-of-a-table-using-ui-automation.md index 96b7d9926fbda..f7e0278bca58d 100644 --- a/docs/framework/ui-automation/expose-the-content-of-a-table-using-ui-automation.md +++ b/docs/framework/ui-automation/expose-the-content-of-a-table-using-ui-automation.md @@ -21,7 +21,7 @@ ms.assetid: ac3c5eaa-49c7-4653-b83e-532e2a2604a2 The following code example demonstrates how to obtain a that represents the content of a table cell; cell properties such as row and column indices, row and column spans, and row and column header information are also obtained. This example uses a focus change event handler to simulate keyboard traversal of a tabular control that implements [!INCLUDE[TLA2#tla_uiautomation](../../../includes/tla2sharptla-uiautomation-md.md)]. Information for each table item is exposed on a focus change event. > [!NOTE] -> Since focus changes are global desktop events, focus change events outside the table should be filtered. See the [TrackFocus Sample](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms771428(v=vs.90)) for a related implementation. +> Since focus changes are global desktop events, focus change events outside the table should be filtered. See the [TrackFocus Sample](/previous-versions/dotnet/netframework-3.5/ms771428(v=vs.90)) for a related implementation. [!code-csharp[UIATableItemPattern_snip#StartTarget](../../../samples/snippets/csharp/VS_Snippets_Wpf/UIATableItemPattern_snip/CSharp/UIATableItemPattern_snippets.cs#starttarget)] [!code-vb[UIATableItemPattern_snip#StartTarget](../../../samples/snippets/visualbasic/VS_Snippets_Wpf/UIATableItemPattern_snip/VisualBasic/UIATableItemPattern_snippets.vb#starttarget)] diff --git a/docs/framework/ui-automation/find-a-ui-automation-element-based-on-a-property-condition.md b/docs/framework/ui-automation/find-a-ui-automation-element-based-on-a-property-condition.md index 4068ef7323177..305a4a413aadf 100644 --- a/docs/framework/ui-automation/find-a-ui-automation-element-based-on-a-property-condition.md +++ b/docs/framework/ui-automation/find-a-ui-automation-element-based-on-a-property-condition.md @@ -27,6 +27,6 @@ ms.assetid: 3acaee5a-6ce8-4c3e-81c8-67e59eb74477 ## See also -- [InvokePattern and ExpandCollapsePattern Menu Item Sample](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms771636(v=vs.90)) +- [InvokePattern and ExpandCollapsePattern Menu Item Sample](/previous-versions/dotnet/netframework-3.5/ms771636(v=vs.90)) - [Obtaining UI Automation Elements](obtaining-ui-automation-elements.md) - [Use the AutomationID Property](use-the-automationid-property.md) diff --git a/docs/framework/ui-automation/implementing-the-ui-automation-selectionitem-control-pattern.md b/docs/framework/ui-automation/implementing-the-ui-automation-selectionitem-control-pattern.md index d0451a99a88c6..1ed6074bae814 100644 --- a/docs/framework/ui-automation/implementing-the-ui-automation-selectionitem-control-pattern.md +++ b/docs/framework/ui-automation/implementing-the-ui-automation-selectionitem-control-pattern.md @@ -51,4 +51,4 @@ ms.assetid: 76b0949a-5b23-4cfc-84cc-154f713e2e12 - [Implementing the UI Automation Selection Control Pattern](implementing-the-ui-automation-selection-control-pattern.md) - [UI Automation Tree Overview](ui-automation-tree-overview.md) - [Use Caching in UI Automation](use-caching-in-ui-automation.md) -- [Fragment Provider Sample](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms771502(v=vs.90)) +- [Fragment Provider Sample](/previous-versions/dotnet/netframework-3.5/ms771502(v=vs.90)) diff --git a/docs/framework/ui-automation/server-side-ui-automation-provider-implementation.md b/docs/framework/ui-automation/server-side-ui-automation-provider-implementation.md index a1f6e0d753018..1613f22879399 100644 --- a/docs/framework/ui-automation/server-side-ui-automation-provider-implementation.md +++ b/docs/framework/ui-automation/server-side-ui-automation-provider-implementation.md @@ -29,7 +29,7 @@ In particular, do not use fields from classes in UIAutomationClient.dll such as ## Provider Implementation by Windows Presentation Foundation Elements -For more information on this topic, please see [UI Automation of a WPF Custom Control](../wpf/controls/ui-automation-of-a-wpf-custom-control.md). +For more information on this topic, please see [UI Automation of a WPF Custom Control](/dotnet/desktop/wpf/controls/ui-automation-of-a-wpf-custom-control). diff --git a/docs/framework/unmanaged-api/debugging/icordebugfunction3-getactiverejitrequestilcode-method.md b/docs/framework/unmanaged-api/debugging/icordebugfunction3-getactiverejitrequestilcode-method.md index f4a1fe42e8a1c..86b0fb2d88cc5 100644 --- a/docs/framework/unmanaged-api/debugging/icordebugfunction3-getactiverejitrequestilcode-method.md +++ b/docs/framework/unmanaged-api/debugging/icordebugfunction3-getactiverejitrequestilcode-method.md @@ -48,4 +48,4 @@ HRESULT GetActiveReJitRequestILCode( - [ICorDebugFunction3 Interface](icordebugfunction3-interface.md) - [Debugging Interfaces](debugging-interfaces.md) -- [ReJIT: A How-To Guide](https://docs.microsoft.com/archive/blogs/davbr/rejit-a-how-to-guide) +- [ReJIT: A How-To Guide](/archive/blogs/davbr/rejit-a-how-to-guide) diff --git a/docs/framework/unmanaged-api/debugging/icordebugfunction3-interface.md b/docs/framework/unmanaged-api/debugging/icordebugfunction3-interface.md index cb4dec5be1b85..1b6023f42d9fa 100644 --- a/docs/framework/unmanaged-api/debugging/icordebugfunction3-interface.md +++ b/docs/framework/unmanaged-api/debugging/icordebugfunction3-interface.md @@ -37,4 +37,4 @@ topic_type: - [Debugging Interfaces](debugging-interfaces.md) - [Debugging](index.md) -- [ReJIT: A How-To Guide](https://docs.microsoft.com/archive/blogs/davbr/rejit-a-how-to-guide) +- [ReJIT: A How-To Guide](/archive/blogs/davbr/rejit-a-how-to-guide) diff --git a/docs/framework/unmanaged-api/debugging/icordebugilframe4-enumeratelocalvariablesex-method.md b/docs/framework/unmanaged-api/debugging/icordebugilframe4-enumeratelocalvariablesex-method.md index a76ea864e80d0..42b01b086a7cf 100644 --- a/docs/framework/unmanaged-api/debugging/icordebugilframe4-enumeratelocalvariablesex-method.md +++ b/docs/framework/unmanaged-api/debugging/icordebugilframe4-enumeratelocalvariablesex-method.md @@ -52,4 +52,4 @@ HRESULT EnumerateLocalVariablesEx( - [ICorDebugILFrame4 Interface](icordebugilframe4-interface.md) - [Debugging Interfaces](debugging-interfaces.md) -- [ReJIT: A How-To Guide](https://docs.microsoft.com/archive/blogs/davbr/rejit-a-how-to-guide) +- [ReJIT: A How-To Guide](/archive/blogs/davbr/rejit-a-how-to-guide) diff --git a/docs/framework/unmanaged-api/debugging/icordebugilframe4-getcodeex-method.md b/docs/framework/unmanaged-api/debugging/icordebugilframe4-getcodeex-method.md index 3ac1fc1956dcf..3e21fa4148edd 100644 --- a/docs/framework/unmanaged-api/debugging/icordebugilframe4-getcodeex-method.md +++ b/docs/framework/unmanaged-api/debugging/icordebugilframe4-getcodeex-method.md @@ -50,4 +50,4 @@ HRESULT GetCodeEx( - [ICorDebugILFrame4 Interface](icordebugilframe4-interface.md) - [Debugging Interfaces](debugging-interfaces.md) -- [ReJIT: A How-To Guide](https://docs.microsoft.com/archive/blogs/davbr/rejit-a-how-to-guide) +- [ReJIT: A How-To Guide](/archive/blogs/davbr/rejit-a-how-to-guide) diff --git a/docs/framework/unmanaged-api/debugging/icordebugilframe4-getlocalvariableex-method.md b/docs/framework/unmanaged-api/debugging/icordebugilframe4-getlocalvariableex-method.md index 40c6b7b9c369b..50255d4b99047 100644 --- a/docs/framework/unmanaged-api/debugging/icordebugilframe4-getlocalvariableex-method.md +++ b/docs/framework/unmanaged-api/debugging/icordebugilframe4-getlocalvariableex-method.md @@ -54,4 +54,4 @@ HRESULT GetLocalVariableEx( - [ICorDebugILFrame4 Interface](icordebugilframe4-interface.md) - [Debugging Interfaces](debugging-interfaces.md) -- [ReJIT: A How-To Guide](https://docs.microsoft.com/archive/blogs/davbr/rejit-a-how-to-guide) +- [ReJIT: A How-To Guide](/archive/blogs/davbr/rejit-a-how-to-guide) diff --git a/docs/framework/unmanaged-api/debugging/ilcodekind-enumeration.md b/docs/framework/unmanaged-api/debugging/ilcodekind-enumeration.md index 91ffeddb2895d..f23b229af5308 100644 --- a/docs/framework/unmanaged-api/debugging/ilcodekind-enumeration.md +++ b/docs/framework/unmanaged-api/debugging/ilcodekind-enumeration.md @@ -50,4 +50,4 @@ typedef enum ILCodeKind { - [Debugging Enumerations](debugging-enumerations.md) - [ICorDebugILFrame4 Interface](icordebugilframe4-interface.md) -- [ReJIT: A How-To Guide](https://docs.microsoft.com/archive/blogs/davbr/rejit-a-how-to-guide) +- [ReJIT: A How-To Guide](/archive/blogs/davbr/rejit-a-how-to-guide) diff --git a/docs/framework/unmanaged-api/diagnostics/ibindingdisplay-getcurrentdisplay-method.md b/docs/framework/unmanaged-api/diagnostics/ibindingdisplay-getcurrentdisplay-method.md index 84b8ead55667d..71a55e71971aa 100644 --- a/docs/framework/unmanaged-api/diagnostics/ibindingdisplay-getcurrentdisplay-method.md +++ b/docs/framework/unmanaged-api/diagnostics/ibindingdisplay-getcurrentdisplay-method.md @@ -34,7 +34,7 @@ HRESULT GetCurrentDisplay ( ## Remarks The [IBindingDisplay::InitializeForProcess](ibindingdisplay-initializeforprocess-method.md) method must have previously succeeded, and the program must be stopped by a debugger. - The caller must deallocate the returned `SAFEARRAY` memory by using [SafeArrayDestroy](https://docs.microsoft.com/previous-versions/windows/desktop/api/oleauto/nf-oleauto-safearraydestroy). + The caller must deallocate the returned `SAFEARRAY` memory by using [SafeArrayDestroy](/previous-versions/windows/desktop/api/oleauto/nf-oleauto-safearraydestroy). ## Requirements **Platforms:** See [System Requirements](../../get-started/system-requirements.md). diff --git a/docs/framework/unmanaged-api/hosting/corbindtocurrentruntime-function.md b/docs/framework/unmanaged-api/hosting/corbindtocurrentruntime-function.md index 833e2bb5bb325..7b4a2b15f2185 100644 --- a/docs/framework/unmanaged-api/hosting/corbindtocurrentruntime-function.md +++ b/docs/framework/unmanaged-api/hosting/corbindtocurrentruntime-function.md @@ -19,7 +19,7 @@ topic_type: # CorBindToCurrentRuntime Function Loads the common language runtime (CLR) into a process by using version information stored in an XML file. The format of the XML file is modeled after the standard application configuration file. For more information about configuration files, see [Configuration File Schema](../../configure-apps/file-schema/index.md). - This function has been deprecated in the .NET Framework 4. See [Loading the Common Language Runtime into a Process](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/01918c6x(v=vs.100)). + This function has been deprecated in the .NET Framework 4. See [Loading the Common Language Runtime into a Process](/previous-versions/dotnet/netframework-4.0/01918c6x(v=vs.100)). ## Syntax diff --git a/docs/framework/unmanaged-api/hosting/hosting-interfaces.md b/docs/framework/unmanaged-api/hosting/hosting-interfaces.md index b4481121b6083..86dbe8c48157c 100644 --- a/docs/framework/unmanaged-api/hosting/hosting-interfaces.md +++ b/docs/framework/unmanaged-api/hosting/hosting-interfaces.md @@ -37,4 +37,4 @@ This section describes the interfaces that unmanaged hosts can use to integrate [Hosting](index.md) - [Runtime Hosts](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/a51xd4ze(v=vs.100)) + [Runtime Hosts](/previous-versions/dotnet/netframework-4.0/a51xd4ze(v=vs.100)) diff --git a/docs/framework/unmanaged-api/hosting/iclrsyncmanager-interface.md b/docs/framework/unmanaged-api/hosting/iclrsyncmanager-interface.md index abafb6d9dada9..78e841e4ffa1a 100644 --- a/docs/framework/unmanaged-api/hosting/iclrsyncmanager-interface.md +++ b/docs/framework/unmanaged-api/hosting/iclrsyncmanager-interface.md @@ -40,5 +40,5 @@ Defines methods that allow the host to get information about requested tasks and - - [IHostSyncManager Interface](ihostsyncmanager-interface.md) -- [Managed and Unmanaged Threading](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/5s8ee185(v=vs.100)) +- [Managed and Unmanaged Threading](/previous-versions/dotnet/netframework-4.0/5s8ee185(v=vs.100)) - [Hosting Interfaces](hosting-interfaces.md) diff --git a/docs/framework/unmanaged-api/hosting/icorruntimehost-interface.md b/docs/framework/unmanaged-api/hosting/icorruntimehost-interface.md index 74ed7b906f77c..f07523d3a22d6 100644 --- a/docs/framework/unmanaged-api/hosting/icorruntimehost-interface.md +++ b/docs/framework/unmanaged-api/hosting/icorruntimehost-interface.md @@ -58,6 +58,6 @@ Provides methods that enable the host to start and stop the common language runt - - [Hosting](index.md) - [ICLRRuntimeHost Interface](iclrruntimehost-interface.md) -- [Runtime Hosts](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/a51xd4ze(v=vs.100)) +- [Runtime Hosts](/previous-versions/dotnet/netframework-4.0/a51xd4ze(v=vs.100)) - [Hosting Interfaces](hosting-interfaces.md) - [CorRuntimeHost Coclass](corruntimehost-coclass.md) diff --git a/docs/framework/unmanaged-api/hosting/ihosttaskmanager-enterruntime-method.md b/docs/framework/unmanaged-api/hosting/ihosttaskmanager-enterruntime-method.md index af7fa34aed71c..94a27f750a050 100644 --- a/docs/framework/unmanaged-api/hosting/ihosttaskmanager-enterruntime-method.md +++ b/docs/framework/unmanaged-api/hosting/ihosttaskmanager-enterruntime-method.md @@ -54,7 +54,7 @@ HRESULT EnterRuntime (); ## See also -- [Advanced COM Interoperability](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bd9cdfyx(v=vs.100)) +- [Advanced COM Interoperability](/previous-versions/dotnet/netframework-4.0/bd9cdfyx(v=vs.100)) - [How to: Call Native DLLs from Managed Code Using PInvoke](/cpp/dotnet/how-to-call-native-dlls-from-managed-code-using-pinvoke) - [ICLRTask Interface](iclrtask-interface.md) - [ICLRTaskManager Interface](iclrtaskmanager-interface.md) diff --git a/docs/framework/unmanaged-api/hosting/ihosttaskmanager-reverseleaveruntime-method.md b/docs/framework/unmanaged-api/hosting/ihosttaskmanager-reverseleaveruntime-method.md index fa1fc9a4789f0..ed26731193637 100644 --- a/docs/framework/unmanaged-api/hosting/ihosttaskmanager-reverseleaveruntime-method.md +++ b/docs/framework/unmanaged-api/hosting/ihosttaskmanager-reverseleaveruntime-method.md @@ -58,4 +58,4 @@ HRESULT ReverseLeaveRuntime (); - [IHostTask Interface](ihosttask-interface.md) - [IHostTaskManager Interface](ihosttaskmanager-interface.md) - [LeaveRuntime Method](ihosttaskmanager-leaveruntime-method.md) -- [A Closer Look at Platform Invoke](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/0h9e9t7d(v=vs.100)) +- [A Closer Look at Platform Invoke](/previous-versions/dotnet/netframework-4.0/0h9e9t7d(v=vs.100)) diff --git a/docs/framework/unmanaged-api/hosting/index.md b/docs/framework/unmanaged-api/hosting/index.md index c011161c06975..8e6f319df9428 100644 --- a/docs/framework/unmanaged-api/hosting/index.md +++ b/docs/framework/unmanaged-api/hosting/index.md @@ -27,5 +27,5 @@ The hosting API enables unmanaged hosts to integrate the common language runtime Describes the unmanaged structures that the hosting API uses. ## Related Sections - [Runtime Hosts](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/a51xd4ze(v=vs.100)) + [Runtime Hosts](/previous-versions/dotnet/netframework-4.0/a51xd4ze(v=vs.100)) Describes the runtime hosts included with the .NET Framework. diff --git a/docs/framework/unmanaged-api/index.md b/docs/framework/unmanaged-api/index.md index a6effe39e3477..8a1a12097539a 100644 --- a/docs/framework/unmanaged-api/index.md +++ b/docs/framework/unmanaged-api/index.md @@ -24,7 +24,7 @@ This section includes information on unmanaged APIs that can be used by managed- [Constants](constants-unmanaged-api-reference.md) Describes the constants that are defined in CorSym.idl. - [Custom Interface Attributes](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms231946(v=vs.100)) + [Custom Interface Attributes](/previous-versions/dotnet/netframework-4.0/ms231946(v=vs.100)) Describes component object model (COM) custom interface attributes. [Debugging](./debugging/index.md) @@ -55,4 +55,4 @@ This section includes information on unmanaged APIs that can be used by managed- Describes the two helper functions and interface used by the Type Library Exporter (Tlbexp.exe) during the assembly-to-type-library conversion process. ## Related Sections - [Development Guide](../development-guide.md) + [Development Guide](../development-guide.md) diff --git a/docs/framework/unmanaged-api/metadata/coropenflags-enumeration.md b/docs/framework/unmanaged-api/metadata/coropenflags-enumeration.md index 2ec1e4b188721..1e5cc06f063f2 100644 --- a/docs/framework/unmanaged-api/metadata/coropenflags-enumeration.md +++ b/docs/framework/unmanaged-api/metadata/coropenflags-enumeration.md @@ -53,7 +53,7 @@ typedef enum CorOpenFlags |`ofReadOnly`|Indicates that the file should be opened for reading, and that a call to `QueryInterface` for an [IMetaDataEmit](imetadataemit-interface.md) cannot be made.| |`ofTakeOwnership`|Indicates that the memory was allocated using a call to [CoTaskMemAlloc](/windows/desktop/api/combaseapi/nf-combaseapi-cotaskmemalloc) and will be freed by the metadata.| |`ofNoTypeLib`|Obsolete. This flag is ignored.| -|`ofNoTransform`|Indicates that automatic transforms of .winmd files should be disabled. In other words, the projection of a Windows Runtime type to a .NET Framework type should be disabled. For more information, see [Windows Runtime and the CLR - Underneath the Hood with .NET and the Windows Runtime](https://docs.microsoft.com/archive/msdn-magazine/2012/windows-8-special-issue/windows-runtime-and-the-clr-underneath-the-hood-with-net-and-the-windows-runtime).| +|`ofNoTransform`|Indicates that automatic transforms of .winmd files should be disabled. In other words, the projection of a Windows Runtime type to a .NET Framework type should be disabled. For more information, see [Windows Runtime and the CLR - Underneath the Hood with .NET and the Windows Runtime](/archive/msdn-magazine/2012/windows-8-special-issue/windows-runtime-and-the-clr-underneath-the-hood-with-net-and-the-windows-runtime).| |`ofReserved1`|Reserved for internal use.| |`ofReserved2`|Reserved for internal use.| |`ofReserved`|Reserved for internal use.| diff --git a/docs/framework/unmanaged-api/metadata/imetadatadispenserex-openscopeonitypeinfo-method.md b/docs/framework/unmanaged-api/metadata/imetadatadispenserex-openscopeonitypeinfo-method.md index 34772af80d61d..bfa8f63c2ffa2 100644 --- a/docs/framework/unmanaged-api/metadata/imetadatadispenserex-openscopeonitypeinfo-method.md +++ b/docs/framework/unmanaged-api/metadata/imetadatadispenserex-openscopeonitypeinfo-method.md @@ -32,7 +32,7 @@ HRESULT OpenScopeOnITypeInfo ( ## Parameters `pITI` - [in] Pointer to an [ITypeInfo](https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-itypeinfo) interface that provides the type information on which to open the scope. + [in] Pointer to an [ITypeInfo](/previous-versions/windows/desktop/api/oaidl/nn-oaidl-itypeinfo) interface that provides the type information on which to open the scope. `dwOpenFlags` [in] The open mode flags. diff --git a/docs/framework/unmanaged-api/profiling/clr-profilers-and-windows-store-apps.md b/docs/framework/unmanaged-api/profiling/clr-profilers-and-windows-store-apps.md index 3262b660b3b6c..5711c3463cd1f 100644 --- a/docs/framework/unmanaged-api/profiling/clr-profilers-and-windows-store-apps.md +++ b/docs/framework/unmanaged-api/profiling/clr-profilers-and-windows-store-apps.md @@ -71,7 +71,7 @@ Windows RT devices are quite locked down. Third-party profilers simply cannot be In a number of scenarios discussed in the following sections, your Profiler UI desktop application needs to consume some new Windows Runtime APIs. You’ll want to consult the documentation to understand which Windows Runtime APIs can be used from desktop applications, and whether their behavior is different when called from desktop applications and Windows Store apps. -If your Profiler UI is written in managed code, there will be a few steps you’ll need to do to make consuming those Windows Runtime APIs easy. For more information, see the [Managed desktop apps and Windows Runtime](https://docs.microsoft.com/previous-versions/windows/apps/jj856306(v=win.10)) article. +If your Profiler UI is written in managed code, there will be a few steps you’ll need to do to make consuming those Windows Runtime APIs easy. For more information, see the [Managed desktop apps and Windows Runtime](/previous-versions/windows/apps/jj856306(v=win.10)) article. ## Loading the Profiler DLL @@ -93,7 +93,7 @@ When Windows attempts to load your Profiler DLL, it verifies that your Profiler - Ensure that your Profiler DLL is signed. -- Tell your user that they must install a developer license on their Windows 8 machine before using your tool. This can be done automatically from Visual Studio or manually from a command prompt. For more information, see [Get a developer license](https://docs.microsoft.com/previous-versions/windows/apps/hh974578(v=win.10)). +- Tell your user that they must install a developer license on their Windows 8 machine before using your tool. This can be done automatically from Visual Studio or manually from a command prompt. For more information, see [Get a developer license](/previous-versions/windows/apps/hh974578(v=win.10)). **File system permissions** @@ -266,7 +266,7 @@ You might find that you absolutely cannot do without a particular API and cannot ### Reduced permissions -It’s outside the scope of this topic to list all the ways that Windows Store app permissions differ from desktop apps. But certainly the behavior will be different every time your Profiler DLL (when loaded into a Windows Store app as compared to a desktop app) tries to access any resources. The file system is the most common example. There are but a few places on disk that a given Windows Store app is allowed to access (see [File access and permissions (Windows Runtime apps](https://docs.microsoft.com/previous-versions/windows/apps/hh967755(v=win.10))), and your Profiler DLL will be under the same restrictions. Test your code thoroughly. +It’s outside the scope of this topic to list all the ways that Windows Store app permissions differ from desktop apps. But certainly the behavior will be different every time your Profiler DLL (when loaded into a Windows Store app as compared to a desktop app) tries to access any resources. The file system is the most common example. There are but a few places on disk that a given Windows Store app is allowed to access (see [File access and permissions (Windows Runtime apps](/previous-versions/windows/apps/hh967755(v=win.10))), and your Profiler DLL will be under the same restrictions. Test your code thoroughly. ### Inter-process communication @@ -373,11 +373,11 @@ The garbage collector and managed heap are not fundamentally different in a Wind When doing memory profiling, your Profiler DLL typically creates a separate thread from which to call the [ForceGC Method](icorprofilerinfo-forcegc-method.md) method. This is nothing new. But what might be surprising is that the act of doing a garbage collection inside a Windows Store app may transform your thread into a managed thread (for example, a Profiling API ThreadID will be created for that thread). -To understand the consequences of this, it’s important to understand the differences between synchronous and asynchronous calls as defined by the CLR Profiling API. Note that this is very different from the concept of asynchronous calls in Windows Store apps. See the blog post [Why we have CORPROF_E_UNSUPPORTED_CALL_SEQUENCE](https://docs.microsoft.com/archive/blogs/davbr/why-we-have-corprof_e_unsupported_call_sequence) for more information. +To understand the consequences of this, it’s important to understand the differences between synchronous and asynchronous calls as defined by the CLR Profiling API. Note that this is very different from the concept of asynchronous calls in Windows Store apps. See the blog post [Why we have CORPROF_E_UNSUPPORTED_CALL_SEQUENCE](/archive/blogs/davbr/why-we-have-corprof_e_unsupported_call_sequence) for more information. The relevant point is that calls made on threads created by your profiler are always considered synchronous, even if those calls are made from outside an implementation of one of your Profiler DLL’s [ICorProfilerCallback](icorprofilercallback-interface.md) methods. At least, that used to be the case. Now that the CLR has turned your profiler’s thread into a managed thread because of your call to [ForceGC Method](icorprofilerinfo-forcegc-method.md), that thread is no longer considered your profiler’s thread. As such, the CLR enforces a more stringent definition of what qualifies as synchronous for that thread—namely that a call must originate from inside one of your Profiler DLL’s [ICorProfilerCallback](icorprofilercallback-interface.md) methods to qualify as synchronous. -What does this mean in practice? Most [ICorProfilerInfo](icorprofilerinfo-interface.md) methods are only safe to be called synchronously, and will immediately fail otherwise. So if your Profiler DLL reuses your [ForceGC Method](icorprofilerinfo-forcegc-method.md) thread for other calls typically made on profiler-created threads (for example, to [RequestProfilerDetach](icorprofilerinfo3-requestprofilerdetach-method.md), [RequestReJIT](icorprofilerinfo4-requestrejit-method.md), or [RequestRevert](icorprofilerinfo4-requestrevert-method.md)), you’re going to have trouble. Even an asynchronous-safe function such as [DoStackSnapshot](icorprofilerinfo2-dostacksnapshot-method.md) has special rules when called from managed threads. (See the blog post [Profiler stack walking: Basics and beyond](https://docs.microsoft.com/archive/blogs/davbr/profiler-stack-walking-basics-and-beyond) for more information.) +What does this mean in practice? Most [ICorProfilerInfo](icorprofilerinfo-interface.md) methods are only safe to be called synchronously, and will immediately fail otherwise. So if your Profiler DLL reuses your [ForceGC Method](icorprofilerinfo-forcegc-method.md) thread for other calls typically made on profiler-created threads (for example, to [RequestProfilerDetach](icorprofilerinfo3-requestprofilerdetach-method.md), [RequestReJIT](icorprofilerinfo4-requestrejit-method.md), or [RequestRevert](icorprofilerinfo4-requestrevert-method.md)), you’re going to have trouble. Even an asynchronous-safe function such as [DoStackSnapshot](icorprofilerinfo2-dostacksnapshot-method.md) has special rules when called from managed threads. (See the blog post [Profiler stack walking: Basics and beyond](/archive/blogs/davbr/profiler-stack-walking-basics-and-beyond) for more information.) Therefore, we recommend that any thread your Profiler DLL creates to call [ForceGC Method](icorprofilerinfo-forcegc-method.md) should be used *only* for the purpose of triggering GCs and then responding to the GC callbacks. It should not call into the Profiling API to perform other tasks like stack sampling or detaching. @@ -405,8 +405,8 @@ It is possible to use the CLR Profiling API to analyze managed code running insi **Windows Store apps** -- [File access and permissions (Windows Runtime apps](https://docs.microsoft.com/previous-versions/windows/apps/hh967755%28v=win.10%29) +- [File access and permissions (Windows Runtime apps](/previous-versions/windows/apps/hh967755(v=win.10)) -- [Get a developer license](https://docs.microsoft.com/previous-versions/windows/apps/hh974578%28v=win.10%29) +- [Get a developer license](/previous-versions/windows/apps/hh974578(v=win.10)) - [IPackageDebugSettings Interface](/windows/desktop/api/shobjidl_core/nn-shobjidl_core-ipackagedebugsettings) diff --git a/docs/framework/unmanaged-api/profiling/cor-prf-rejit-flags-enumeration.md b/docs/framework/unmanaged-api/profiling/cor-prf-rejit-flags-enumeration.md index 9f0b338f62ca4..5a9ef5bac1b70 100644 --- a/docs/framework/unmanaged-api/profiling/cor-prf-rejit-flags-enumeration.md +++ b/docs/framework/unmanaged-api/profiling/cor-prf-rejit-flags-enumeration.md @@ -37,7 +37,7 @@ typedef enum |`COR_PRF_REJIT_INLINING_CALLBACKS`| Receive `GetFunctionParameters` callbacks for any methods that inline the methods requested to be ReJITted. | ## Requirements - **Platforms:** See [.NET Core supported operating systems](../../../core/install/dependencies.md?pivots=os-windows). + **Platforms:** See [.NET Core supported operating systems](../../../core/install/windows.md?pivots=os-windows). **Header:** CorProf.idl, CorProf.h diff --git a/docs/framework/unmanaged-api/profiling/corprof-e-unsupported-call-sequence-hresult.md b/docs/framework/unmanaged-api/profiling/corprof-e-unsupported-call-sequence-hresult.md index 4eaed44ebca8b..b07827d8b410f 100644 --- a/docs/framework/unmanaged-api/profiling/corprof-e-unsupported-call-sequence-hresult.md +++ b/docs/framework/unmanaged-api/profiling/corprof-e-unsupported-call-sequence-hresult.md @@ -63,7 +63,7 @@ These two scenarios are discussed in the following sections. - [DoStackSnapshot](icorprofilerinfo2-dostacksnapshot-method.md) - For more information, see the entry [Why we have CORPROF_E_UNSUPPORTED_CALL_SEQUENCE](https://docs.microsoft.com/archive/blogs/davbr/why-we-have-corprof_e_unsupported_call_sequence) in the CLR Profiling API blog. + For more information, see the entry [Why we have CORPROF_E_UNSUPPORTED_CALL_SEQUENCE](/archive/blogs/davbr/why-we-have-corprof_e_unsupported_call_sequence) in the CLR Profiling API blog. ## Triggering Garbage Collections This scenario involves a profiler that is running inside a callback method (for example, one of the `ICorProfilerCallback` methods) that forbids garbage collection. If the profiler tries to call an informational method (for example, a method on the `ICorProfilerInfo` interface) that might trigger a garbage collection, the informational method fails with a CORPROF_E_UNSUPPORTED_CALL_SEQUENCE HRESULT. diff --git a/docs/framework/unmanaged-api/profiling/icorprofilerinfo10-enumerateobjectreferences-method.md b/docs/framework/unmanaged-api/profiling/icorprofilerinfo10-enumerateobjectreferences-method.md index 340325f1da7cc..a167fb8479510 100644 --- a/docs/framework/unmanaged-api/profiling/icorprofilerinfo10-enumerateobjectreferences-method.md +++ b/docs/framework/unmanaged-api/profiling/icorprofilerinfo10-enumerateobjectreferences-method.md @@ -44,7 +44,7 @@ The `EnumerateObjectReferences` method is similar to [ObjectReferences](icorprof ## Requirements -**Platforms:** See [.NET Core supported operating systems](../../../core/install/dependencies.md?pivots=os-windows). +**Platforms:** See [.NET Core supported operating systems](../../../core/install/windows.md?pivots=os-windows). **Header:** CorProf.idl, CorProf.h diff --git a/docs/framework/unmanaged-api/profiling/icorprofilerinfo10-getlohobjectsizethreshold-method.md b/docs/framework/unmanaged-api/profiling/icorprofilerinfo10-getlohobjectsizethreshold-method.md index e57dd793fa4ef..03a5ab9be7b1e 100644 --- a/docs/framework/unmanaged-api/profiling/icorprofilerinfo10-getlohobjectsizethreshold-method.md +++ b/docs/framework/unmanaged-api/profiling/icorprofilerinfo10-getlohobjectsizethreshold-method.md @@ -34,7 +34,7 @@ Objects larger than the large object heap threshold will be allocated on the lar ## Requirements -**Platforms:** See [.NET Core supported operating systems](../../../core/install/dependencies.md?pivots=os-windows). +**Platforms:** See [.NET Core supported operating systems](../../../core/install/windows.md?pivots=os-windows). **Header:** CorProf.idl, CorProf.h diff --git a/docs/framework/unmanaged-api/profiling/icorprofilerinfo10-interface.md b/docs/framework/unmanaged-api/profiling/icorprofilerinfo10-interface.md index 773609d2d0507..13d66f6144e00 100644 --- a/docs/framework/unmanaged-api/profiling/icorprofilerinfo10-interface.md +++ b/docs/framework/unmanaged-api/profiling/icorprofilerinfo10-interface.md @@ -20,7 +20,7 @@ A subclass of [ICorProfilerInfo9](icorprofilerinfo9-interface.md) that provides |[ResumeRuntime Method](icorprofilerinfo10-resumeruntime-method.md)| Resumes the runtime without performing a GC. | ## Requirements -**Platforms:** See [.NET Core supported operating systems](../../../core/install/dependencies.md?pivots=os-windows). +**Platforms:** See [.NET Core supported operating systems](../../../core/install/windows.md?pivots=os-windows). **Header:** CorProf.idl, CorProf.h **.NET Versions:** [!INCLUDE[net_core_22](../../../../includes/net-core-30-md.md)] diff --git a/docs/framework/unmanaged-api/profiling/icorprofilerinfo10-isfrozenobject-method.md b/docs/framework/unmanaged-api/profiling/icorprofilerinfo10-isfrozenobject-method.md index 8e15756120f67..0749061124a91 100644 --- a/docs/framework/unmanaged-api/profiling/icorprofilerinfo10-isfrozenobject-method.md +++ b/docs/framework/unmanaged-api/profiling/icorprofilerinfo10-isfrozenobject-method.md @@ -35,7 +35,7 @@ HRESULT IsFrozenObject( [in] ObjectID objectId, ## Requirements -**Platforms:** See [.NET Core supported operating systems](../../../core/install/dependencies.md?pivots=os-windows). +**Platforms:** See [.NET Core supported operating systems](../../../core/install/windows.md?pivots=os-windows). **Header:** CorProf.idl, CorProf.h diff --git a/docs/framework/unmanaged-api/profiling/icorprofilerinfo10-requestrejitwithinliners-method.md b/docs/framework/unmanaged-api/profiling/icorprofilerinfo10-requestrejitwithinliners-method.md index 611848b6cff51..4dcb4cfbe061a 100644 --- a/docs/framework/unmanaged-api/profiling/icorprofilerinfo10-requestrejitwithinliners-method.md +++ b/docs/framework/unmanaged-api/profiling/icorprofilerinfo10-requestrejitwithinliners-method.md @@ -49,7 +49,7 @@ HRESULT RequestReJITWithInliners( [in] DWORD dwRejit ## Requirements -**Platforms:** See [.NET Core supported operating systems](../../../core/install/dependencies.md?pivots=os-windows). +**Platforms:** See [.NET Core supported operating systems](../../../core/install/windows.md?pivots=os-windows). **Header:** CorProf.idl, CorProf.h diff --git a/docs/framework/unmanaged-api/profiling/icorprofilerinfo10-resumeruntime-method.md b/docs/framework/unmanaged-api/profiling/icorprofilerinfo10-resumeruntime-method.md index e8909d70b4116..946871fb57a18 100644 --- a/docs/framework/unmanaged-api/profiling/icorprofilerinfo10-resumeruntime-method.md +++ b/docs/framework/unmanaged-api/profiling/icorprofilerinfo10-resumeruntime-method.md @@ -24,7 +24,7 @@ HRESULT ResumeRuntime(); ## Requirements -**Platforms:** See [.NET Core supported operating systems](../../../core/install/dependencies.md?pivots=os-windows). +**Platforms:** See [.NET Core supported operating systems](../../../core/install/windows.md?pivots=os-windows). **Header:** CorProf.idl, CorProf.h diff --git a/docs/framework/unmanaged-api/profiling/icorprofilerinfo10-suspendruntime-method.md b/docs/framework/unmanaged-api/profiling/icorprofilerinfo10-suspendruntime-method.md index 7761b9de9b2a6..d71d1b411d251 100644 --- a/docs/framework/unmanaged-api/profiling/icorprofilerinfo10-suspendruntime-method.md +++ b/docs/framework/unmanaged-api/profiling/icorprofilerinfo10-suspendruntime-method.md @@ -24,7 +24,7 @@ HRESULT SuspendRuntime(); ## Requirements -**Platforms:** See [.NET Core supported operating systems](../../../core/install/dependencies.md?pivots=os-windows). +**Platforms:** See [.NET Core supported operating systems](../../../core/install/windows.md?pivots=os-windows). **Header:** CorProf.idl, CorProf.h diff --git a/docs/framework/unmanaged-api/profiling/icorprofilerinfo2-dostacksnapshot-method.md b/docs/framework/unmanaged-api/profiling/icorprofilerinfo2-dostacksnapshot-method.md index cfaa5ac9fb6a7..c4cec3845518f 100644 --- a/docs/framework/unmanaged-api/profiling/icorprofilerinfo2-dostacksnapshot-method.md +++ b/docs/framework/unmanaged-api/profiling/icorprofilerinfo2-dostacksnapshot-method.md @@ -65,7 +65,7 @@ HRESULT DoStackSnapshot( The order in which the stack is walked is the reverse of how the frames were pushed onto the stack: leaf (last-pushed) frame first, main (first-pushed) frame last. - For more information about how to program the profiler to walk managed stacks, see [Profiler Stack Walking in the .NET Framework 2.0: Basics and Beyond](https://docs.microsoft.com/previous-versions/dotnet/articles/bb264782(v=msdn.10)). + For more information about how to program the profiler to walk managed stacks, see [Profiler Stack Walking in the .NET Framework 2.0: Basics and Beyond](/previous-versions/dotnet/articles/bb264782(v=msdn.10)). A stack walk can be synchronous or asynchronous, as explained in the following sections. diff --git a/docs/framework/unmanaged-api/profiling/icorprofilerinfo9-getcodeinfo4-method.md b/docs/framework/unmanaged-api/profiling/icorprofilerinfo9-getcodeinfo4-method.md index f84ced9385bab..5bc367a53c9bd 100644 --- a/docs/framework/unmanaged-api/profiling/icorprofilerinfo9-getcodeinfo4-method.md +++ b/docs/framework/unmanaged-api/profiling/icorprofilerinfo9-getcodeinfo4-method.md @@ -58,7 +58,7 @@ Alternatively, you can first call `GetCodeInfo4` with a zero-length `codeInfos` ## Requirements -**Platforms:** See [.NET Core supported operating systems](../../../core/install/dependencies.md?pivots=os-windows). +**Platforms:** See [.NET Core supported operating systems](../../../core/install/windows.md?pivots=os-windows). **Header:** CorProf.idl, CorProf.h diff --git a/docs/framework/unmanaged-api/profiling/icorprofilerinfo9-getiltonativemapping3-method.md b/docs/framework/unmanaged-api/profiling/icorprofilerinfo9-getiltonativemapping3-method.md index 5851cda50da37..ba18c5e4ca1a3 100644 --- a/docs/framework/unmanaged-api/profiling/icorprofilerinfo9-getiltonativemapping3-method.md +++ b/docs/framework/unmanaged-api/profiling/icorprofilerinfo9-getiltonativemapping3-method.md @@ -49,7 +49,7 @@ When tiered compilation is enabled, a method may have more than one native code ## Requirements -**Platforms:** See [.NET Core supported operating systems](../../../core/install/dependencies.md?pivots=os-windows). +**Platforms:** See [.NET Core supported operating systems](../../../core/install/windows.md?pivots=os-windows). **Header:** CorProf.idl, CorProf.h diff --git a/docs/framework/unmanaged-api/profiling/icorprofilerinfo9-getnativecodestartaddresses-method.md b/docs/framework/unmanaged-api/profiling/icorprofilerinfo9-getnativecodestartaddresses-method.md index 34ba369764c3f..ac0fc398a9715 100644 --- a/docs/framework/unmanaged-api/profiling/icorprofilerinfo9-getnativecodestartaddresses-method.md +++ b/docs/framework/unmanaged-api/profiling/icorprofilerinfo9-getnativecodestartaddresses-method.md @@ -54,7 +54,7 @@ When tiered compilation is enabled, a function may have more than one native cod ## Requirements -**Platforms:** See [.NET Core supported operating systems](../../../core/install/dependencies.md?pivots=os-windows). +**Platforms:** See [.NET Core supported operating systems](../../../core/install/windows.md?pivots=os-windows). **Header:** CorProf.idl, CorProf.h diff --git a/docs/framework/unmanaged-api/profiling/icorprofilerinfo9-interface.md b/docs/framework/unmanaged-api/profiling/icorprofilerinfo9-interface.md index fc25924525899..09274505f57e5 100644 --- a/docs/framework/unmanaged-api/profiling/icorprofilerinfo9-interface.md +++ b/docs/framework/unmanaged-api/profiling/icorprofilerinfo9-interface.md @@ -17,7 +17,7 @@ A subclass of [ICorProfilerInfo8](icorprofilerinfo8-interface.md) that provides |[GetCodeInfo4 Method](icorprofilerinfo9-getcodeinfo4-method.md)| Given the native code start address, returns the blocks of virtual memory that store this code. | ## Requirements -**Platforms:** See [.NET Core supported operating systems](../../../core/install/dependencies.md?pivots=os-windows). +**Platforms:** See [.NET Core supported operating systems](../../../core/install/windows.md?pivots=os-windows). **Header:** CorProf.idl, CorProf.h **.NET Versions:** [!INCLUDE[net_core](../../../../includes/net-core-22-md.md)] diff --git a/docs/framework/unmanaged-api/profiling/profiling-overview.md b/docs/framework/unmanaged-api/profiling/profiling-overview.md index 3561bf81c3eb1..67384a18367ae 100644 --- a/docs/framework/unmanaged-api/profiling/profiling-overview.md +++ b/docs/framework/unmanaged-api/profiling/profiling-overview.md @@ -167,7 +167,7 @@ The profiling API provides two ways to obtain call stacks: a stack snapshot meth A stack snapshot is a trace of the stack of a thread at an instant in time. The profiling API supports the tracing of managed functions on the stack, but it leaves the tracing of unmanaged functions to the profiler's own stack walker. -For more information about how to program the profiler to walk managed stacks, see the [ICorProfilerInfo2::DoStackSnapshot](icorprofilerinfo2-dostacksnapshot-method.md) method in this documentation set, and [Profiler Stack Walking in the .NET Framework 2.0: Basics and Beyond](https://docs.microsoft.com/previous-versions/dotnet/articles/bb264782(v=msdn.10)). +For more information about how to program the profiler to walk managed stacks, see the [ICorProfilerInfo2::DoStackSnapshot](icorprofilerinfo2-dostacksnapshot-method.md) method in this documentation set, and [Profiler Stack Walking in the .NET Framework 2.0: Basics and Beyond](/previous-versions/dotnet/articles/bb264782(v=msdn.10)). ### Shadow Stack diff --git a/docs/framework/unmanaged-api/tlbexp/gettypelibinfo-function.md b/docs/framework/unmanaged-api/tlbexp/gettypelibinfo-function.md index a59ea08733cd4..f12265e49c148 100644 --- a/docs/framework/unmanaged-api/tlbexp/gettypelibinfo-function.md +++ b/docs/framework/unmanaged-api/tlbexp/gettypelibinfo-function.md @@ -67,4 +67,4 @@ HRESULT GetTypeLibInfo( ## See also - [Tlbexp Helper Functions](index.md) -- [LoadTypeLibEx Function](https://docs.microsoft.com/previous-versions/windows/desktop/api/oleauto/nf-oleauto-loadtypelibex) +- [LoadTypeLibEx Function](/previous-versions/windows/desktop/api/oleauto/nf-oleauto-loadtypelibex) diff --git a/docs/framework/unmanaged-api/tlbexp/itypelibresolver-interface.md b/docs/framework/unmanaged-api/tlbexp/itypelibresolver-interface.md index 23357adb881ed..a98ada9fb8800 100644 --- a/docs/framework/unmanaged-api/tlbexp/itypelibresolver-interface.md +++ b/docs/framework/unmanaged-api/tlbexp/itypelibresolver-interface.md @@ -36,4 +36,4 @@ Provides the [ResolveTypeLib method](resolvetypelib-method.md), which resolves t ## See also - [Tlbexp Helper Functions](index.md) -- [LoadTypeLibEx function](https://docs.microsoft.com/previous-versions/windows/desktop/api/oleauto/nf-oleauto-loadtypelibex) +- [LoadTypeLibEx function](/previous-versions/windows/desktop/api/oleauto/nf-oleauto-loadtypelibex) diff --git a/docs/framework/unmanaged-api/tlbexp/loadtypelibwithresolver-function.md b/docs/framework/unmanaged-api/tlbexp/loadtypelibwithresolver-function.md index d7d9bbdc4e123..f6768d329de31 100644 --- a/docs/framework/unmanaged-api/tlbexp/loadtypelibwithresolver-function.md +++ b/docs/framework/unmanaged-api/tlbexp/loadtypelibwithresolver-function.md @@ -88,4 +88,4 @@ HRESULT LoadTypeLibWithResolver( ## See also - [Tlbexp Helper Functions](index.md) -- [LoadTypeLibEx Function](https://docs.microsoft.com/previous-versions/windows/desktop/api/oleauto/nf-oleauto-loadtypelibex) +- [LoadTypeLibEx Function](/previous-versions/windows/desktop/api/oleauto/nf-oleauto-loadtypelibex) diff --git a/docs/framework/unmanaged-api/tlbexp/resolvetypelib-method.md b/docs/framework/unmanaged-api/tlbexp/resolvetypelib-method.md index b792260d82281..4fd849eff4a3a 100644 --- a/docs/framework/unmanaged-api/tlbexp/resolvetypelib-method.md +++ b/docs/framework/unmanaged-api/tlbexp/resolvetypelib-method.md @@ -32,7 +32,7 @@ HRESULT ResolveTypeLib( ## Parameters `bstrSimpleName` - [in] A [BSTR](https://docs.microsoft.com/previous-versions/windows/desktop/automat/bstr) that contains the simple name of the type library. + [in] A [BSTR](/previous-versions/windows/desktop/automat/bstr) that contains the simple name of the type library. `tlbid` [in] The GUID assigned to the type library in the registry. @@ -50,12 +50,12 @@ HRESULT ResolveTypeLib( [in] A [SYSKIND](/windows/win32/api/oaidl/ne-oaidl-syskind) flag that identifies the operating environment. Common values are SYS_WIN32 and SYS_WIN64. `pbstrResolvedTlbName` - [out] A pointer to a [BSTR](https://docs.microsoft.com/previous-versions/windows/desktop/automat/bstr) that contains the full path of the type library named in the `bstrSimpleName` parameter. + [out] A pointer to a [BSTR](/previous-versions/windows/desktop/automat/bstr) that contains the full path of the type library named in the `bstrSimpleName` parameter. ## Remarks The `ResolveTypeLib` method is called by the [LoadTypeLibWithResolver function](loadtypelibwithresolver-function.md) during [Tlbexp.exe (Type Library Exporter)](../../tools/tlbexp-exe-type-library-exporter.md) processing. - Custom implementations of this interface must return a [BSTR](https://docs.microsoft.com/previous-versions/windows/desktop/automat/bstr) that contains the full path of the type library named in the `bstrSimpleName` parameter. + Custom implementations of this interface must return a [BSTR](/previous-versions/windows/desktop/automat/bstr) that contains the full path of the type library named in the `bstrSimpleName` parameter. ## Requirements **Platforms:** See [System Requirements](../../get-started/system-requirements.md). @@ -69,4 +69,4 @@ HRESULT ResolveTypeLib( ## See also - [Tlbexp Helper Functions](index.md) -- [LoadTypeLibEx](https://docs.microsoft.com/previous-versions/windows/desktop/api/oleauto/nf-oleauto-loadtypelibex) +- [LoadTypeLibEx](/previous-versions/windows/desktop/api/oleauto/nf-oleauto-loadtypelibex) diff --git a/docs/framework/unmanaged-api/wmi/formatfromrawvalue.md b/docs/framework/unmanaged-api/wmi/formatfromrawvalue.md index c4e2c07c9e2d0..dcf2c2a64b466 100644 --- a/docs/framework/unmanaged-api/wmi/formatfromrawvalue.md +++ b/docs/framework/unmanaged-api/wmi/formatfromrawvalue.md @@ -78,7 +78,7 @@ The following values are returned by this function: ## Remarks -This function wraps a call to the [FormatFromRawValue](https://docs.microsoft.com/previous-versions/ms231047(v=vs.85)) function. +This function wraps a call to the [FormatFromRawValue](/previous-versions/ms231047(v=vs.85)) function. ## Requirements diff --git a/docs/framework/unmanaged-api/wmi/get.md b/docs/framework/unmanaged-api/wmi/get.md index 9ed13459ba113..0d1e6aee04119 100644 --- a/docs/framework/unmanaged-api/wmi/get.md +++ b/docs/framework/unmanaged-api/wmi/get.md @@ -82,7 +82,7 @@ This function wraps a call to the [IWbemClassObject::Get](/windows/desktop/api/w The `Get` function can also return system properties. -The `pVal` argument is assigned the correct type and value for the qualifier and the COM [VariantInit](https://docs.microsoft.com/previous-versions/windows/desktop/api/oleauto/nf-oleauto-variantinit) function +The `pVal` argument is assigned the correct type and value for the qualifier and the COM [VariantInit](/previous-versions/windows/desktop/api/oleauto/nf-oleauto-variantinit) function ## Requirements diff --git a/docs/framework/unmanaged-api/wmi/geterrorinfo.md b/docs/framework/unmanaged-api/wmi/geterrorinfo.md index 4c9bf5b217a7b..a2a974954d2e6 100644 --- a/docs/framework/unmanaged-api/wmi/geterrorinfo.md +++ b/docs/framework/unmanaged-api/wmi/geterrorinfo.md @@ -28,7 +28,7 @@ IErrorInfo* GetErrorInfo(); ## Return value -An pointer to an [IErrorInfo](https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-ierrorinfo) object if the function call succeeds, or `null` if it fails. +An pointer to an [IErrorInfo](/previous-versions/windows/desktop/api/oaidl/nn-oaidl-ierrorinfo) object if the function call succeeds, or `null` if it fails. ## Remarks diff --git a/docs/framework/wcf/controlling-resource-consumption-and-improving-performance.md b/docs/framework/wcf/controlling-resource-consumption-and-improving-performance.md index 0ee4a6283cb02..2501459ec18eb 100644 --- a/docs/framework/wcf/controlling-resource-consumption-and-improving-performance.md +++ b/docs/framework/wcf/controlling-resource-consumption-and-improving-performance.md @@ -39,7 +39,7 @@ This topic describes various properties in different areas of the Windows Commun ## Performance Issues When Hosting WCF Services Under ASP.NET -When a WCF service is hosted under IIS and ASP.NET, the configuration settings of IIS and ASP.NET can affect the throughput and memory footprint of the WCF service. For more information about ASP.NET performance, see [Improving ASP.NET Performance](https://docs.microsoft.com/previous-versions/msp-n-p/ff647787(v=pandp.10)). One setting that might have unintended consequences is , which is a property of the . If your application has a fixed or small number of clients, setting to 2 might provide a throughput boost on a multiprocessor machine that has a CPU utilization close to 100%. This increase in performance comes with a cost: it will also cause an increase in memory usage, which could reduce scalability. +When a WCF service is hosted under IIS and ASP.NET, the configuration settings of IIS and ASP.NET can affect the throughput and memory footprint of the WCF service. For more information about ASP.NET performance, see [Improving ASP.NET Performance](/previous-versions/msp-n-p/ff647787(v=pandp.10)). One setting that might have unintended consequences is , which is a property of the . If your application has a fixed or small number of clients, setting to 2 might provide a throughput boost on a multiprocessor machine that has a CPU utilization close to 100%. This increase in performance comes with a cost: it will also cause an increase in memory usage, which could reduce scalability. ## See also diff --git a/docs/framework/wcf/creating-ws-i-basic-profile-1-1-interoperable-services.md b/docs/framework/wcf/creating-ws-i-basic-profile-1-1-interoperable-services.md index 215a9115989b7..5676681bd86ea 100644 --- a/docs/framework/wcf/creating-ws-i-basic-profile-1-1-interoperable-services.md +++ b/docs/framework/wcf/creating-ws-i-basic-profile-1-1-interoperable-services.md @@ -23,7 +23,7 @@ The following features of the class - Message security controlled by the value provides WS-Security support compliant with WS-I Basic Security Profile 1.0. Leave this property at its default value, which is to not use WS-Security. -To make the metadata for a WCF service available to ASP.NET, use the Web service client generation tools: [Web Services Description Language Tool (Wsdl.exe)](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/7h3ystb6%28v=vs.100%29), [Web Services Discovery Tool (Disco.exe)](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/cy2a3ybs%28v=vs.100%29), and the **Add Web Reference** feature in Visual Studio. Enable metadata publication. For more information, see [Publishing Metadata Endpoints](publishing-metadata-endpoints.md). +To make the metadata for a WCF service available to ASP.NET, use the Web service client generation tools: [Web Services Description Language Tool (Wsdl.exe)](/previous-versions/dotnet/netframework-4.0/7h3ystb6(v=vs.100)), [Web Services Discovery Tool (Disco.exe)](/previous-versions/dotnet/netframework-4.0/cy2a3ybs(v=vs.100)), and the **Add Web Reference** feature in Visual Studio. Enable metadata publication. For more information, see [Publishing Metadata Endpoints](publishing-metadata-endpoints.md). ## Example diff --git a/docs/framework/wcf/deploying-a-wcf-library-project.md b/docs/framework/wcf/deploying-a-wcf-library-project.md index bdba69a27a90b..1310346912342 100644 --- a/docs/framework/wcf/deploying-a-wcf-library-project.md +++ b/docs/framework/wcf/deploying-a-wcf-library-project.md @@ -7,7 +7,7 @@ ms.assetid: 9f9222fe-d358-443c-9a49-12c5498e35e7 This topic describes how you can deploy a Windows Communication Foundation (WCF) Service Library Project. ## Deploying a WCF Service Library - A WCF service library is a dynamic-link library (DLL). As such, it cannot be executed on its own. It needs to be deployed into a hosting environment. For more information about this process, see [Hosting and Consuming WCF Services](https://docs.microsoft.com/previous-versions/dotnet/articles/bb332338(v=msdn.10)). + A WCF service library is a dynamic-link library (DLL). As such, it cannot be executed on its own. It needs to be deployed into a hosting environment. For more information about this process, see [Hosting and Consuming WCF Services](/previous-versions/dotnet/articles/bb332338(v=msdn.10)). A WCF service library can be deployed like any other WCF service. However, be aware that .NET Framework does not support configuration for DLLs. supports one configuration file per app-domain. The WCF service library project alleviates this limitation by providing an App.config file for the library during development. However, the App.config file is not recognized after deployment. diff --git a/docs/framework/wcf/deploying-wcf-applications-with-clickonce.md b/docs/framework/wcf/deploying-wcf-applications-with-clickonce.md index 56f1a03605876..3dd2a9db73951 100644 --- a/docs/framework/wcf/deploying-wcf-applications-with-clickonce.md +++ b/docs/framework/wcf/deploying-wcf-applications-with-clickonce.md @@ -6,9 +6,9 @@ ms.assetid: 1a11feee-2a47-4d3e-a28a-ad69d5ff93e0 # Deploying WCF Applications with ClickOnce Client applications using Windows Communication Foundation (WCF) may be deployed using ClickOnce technology. This technology allows them to take advantage of the runtime security protections provided by Code Access Security, provided that they are digitally signed with a trusted certificate. The certificate used to sign the ClickOnce application must reside in the Trusted Publisher store, and the local security policy on the client machine must be configured to grant Full Trust permissions to applications signed with the publisher's certificate. - For information on configuring ClickOnce applications and trusted publishers, see [Configuring ClickOnce Trusted Publishers](https://docs.microsoft.com/previous-versions/dotnet/articles/ms996418(v=msdn.10)). + For information on configuring ClickOnce applications and trusted publishers, see [Configuring ClickOnce Trusted Publishers](/previous-versions/dotnet/articles/ms996418(v=msdn.10)). ## See also - [Trusted Application Deployment Overview](/visualstudio/deployment/trusted-application-deployment-overview) -- [ClickOnce Deployment for Windows Forms Applications](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/wh45kb66(v=vs.90)) +- [ClickOnce Deployment for Windows Forms Applications](/previous-versions/visualstudio/visual-studio-2008/wh45kb66(v=vs.90)) diff --git a/docs/framework/wcf/diagnostics/configuring-your-application.md b/docs/framework/wcf/diagnostics/configuring-your-application.md index 5df6b9bd33d62..d83e8686fe808 100644 --- a/docs/framework/wcf/diagnostics/configuring-your-application.md +++ b/docs/framework/wcf/diagnostics/configuring-your-application.md @@ -12,7 +12,7 @@ Windows Communication Foundation (WCF) uses the .NET configuration system and al - [\](../../configure-apps/file-schema/wcf/system-servicemodel.md) - Application-defined configurations settings are defined in the `` section group. For more information about application settings in .NET configuration files, see [\](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms228154(v=vs.100)). + Application-defined configurations settings are defined in the `` section group. For more information about application settings in .NET configuration files, see [\](/previous-versions/dotnet/netframework-4.0/ms228154(v=vs.100)). ## Using the Configuration Editor The WCF [Configuration Editor Tool (SvcConfigEditor.exe)](../configuration-editor-tool-svcconfigeditor-exe.md) allows administrators and developers to create and modify configuration settings for WCF services using a graphical user interface. With this tool, you can manage settings for WCF bindings, behaviors, services, and diagnostics without directly editing XML configuration files. diff --git a/docs/framework/wcf/diagnostics/etw/analytic-tracing-overview.md b/docs/framework/wcf/diagnostics/etw/analytic-tracing-overview.md index cf52f12cb043d..6e811c7735ced 100644 --- a/docs/framework/wcf/diagnostics/etw/analytic-tracing-overview.md +++ b/docs/framework/wcf/diagnostics/etw/analytic-tracing-overview.md @@ -9,7 +9,7 @@ ms.assetid: ae55e9cc-0809-442f-921f-d644290ebf15 Analytic tracing in [!INCLUDE[netfx_current_long](../../../../../includes/netfx-current-long-md.md)] is a high performance and low verbosity tracing feature set on top of Event Tracing for Windows (ETW). ETW runs at the kernel-level to greatly reduce the overhead of tracing operations. It efficiently buffers user- and kernel-mode events, and allows dynamic enabling of logging without requiring service restarts. The tracing data is available in the event logs after it has been emitted and received. -For more information about ETW, see [Improve Debugging and Performance Tuning with ETW](https://docs.microsoft.com/archive/msdn-magazine/2007/april/event-tracing-improve-debugging-and-performance-tuning-with-etw). +For more information about ETW, see [Improve Debugging and Performance Tuning with ETW](/archive/msdn-magazine/2007/april/event-tracing-improve-debugging-and-performance-tuning-with-etw). In addition to using the Windows System, Security, and Application event logs to analyze application, Windows Vista and Windows Server 2008 introduced additional logs under the Applications and Services Logs top-level node. The purpose of these new logs is to store events for a particular application or specific component instead of global events that have a system-wide impact (such as the type of events that the Security event log might record). [!INCLUDE[netfx_current_short](../../../../../includes/netfx-current-short-md.md)] unifies and correlates the logging of WCF Trace Events, WCF Message Logs, and [!INCLUDE[wf1](../../../../../includes/wf1-md.md)] Tracking records to the Applications and Services Logs. diff --git a/docs/framework/wcf/diagnostics/etw/dynamically-enabling-analytic-tracing.md b/docs/framework/wcf/diagnostics/etw/dynamically-enabling-analytic-tracing.md index 27940649d506a..dcadb980e6dc2 100644 --- a/docs/framework/wcf/diagnostics/etw/dynamically-enabling-analytic-tracing.md +++ b/docs/framework/wcf/diagnostics/etw/dynamically-enabling-analytic-tracing.md @@ -8,11 +8,11 @@ Using tools that ship with the Windows operating system, you can enable or disab WCF tracing options can be configured in a similar way. For example, you can change the severity level from **Error** to **Information** without disturbing the application. This can be done using the following tools: -- **Logman** – A command line tool for configuring, controlling, and querying tracing data. For more information, see [Logman Create Trace](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc788036(v=ws.10)) and [Logman Update Trace](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc788128(v=ws.10)). +- **Logman** – A command line tool for configuring, controlling, and querying tracing data. For more information, see [Logman Create Trace](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc788036(v=ws.10)) and [Logman Update Trace](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc788128(v=ws.10)). -- **EventViewer** - Windows graphical management tool for viewing the results of tracing. For more information, see [WCF Services and Event Tracing for Windows](../../samples/wcf-services-and-event-tracing-for-windows.md) and [Event Viewer](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc766042(v=ws.11)). +- **EventViewer** - Windows graphical management tool for viewing the results of tracing. For more information, see [WCF Services and Event Tracing for Windows](../../samples/wcf-services-and-event-tracing-for-windows.md) and [Event Viewer](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc766042(v=ws.11)). -- **Perfmon** – Windows graphical management tool that uses counters to monitor tracing counters and the effects of tracing on performance. For more information, see [Create a Data Collector Set Manually](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc766404(v=ws.11)). +- **Perfmon** – Windows graphical management tool that uses counters to monitor tracing counters and the effects of tracing on performance. For more information, see [Create a Data Collector Set Manually](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc766404(v=ws.11)). ### Keywords When using the class, .NET Framework trace messages are generally filtered by the severity level (for example, Error, Warning, and Information). ETW supports the severity level concept, but introduces a new, flexible filter mechanism using keywords. Keywords are arbitrary textual values that let tracing events provide additional context about what that event means. diff --git a/docs/framework/wcf/diagnostics/performance-counters/calls-duration.md b/docs/framework/wcf/diagnostics/performance-counters/calls-duration.md index 1bece1fee7d53..81e438c442aad 100644 --- a/docs/framework/wcf/diagnostics/performance-counters/calls-duration.md +++ b/docs/framework/wcf/diagnostics/performance-counters/calls-duration.md @@ -14,4 +14,4 @@ Counter Name: Calls Duration ## See also -- [PERF_AVERAGE_TIMER](https://docs.microsoft.com/previous-versions/windows/embedded/ms938538(v%3dmsdn.10)) +- [PERF_AVERAGE_TIMER](/previous-versions/windows/embedded/ms938538(v=msdn.10)) diff --git a/docs/framework/wcf/diagnostics/performance-counters/calls-failed-per-second.md b/docs/framework/wcf/diagnostics/performance-counters/calls-failed-per-second.md index 19d4ed3ea4412..764913c1a02ef 100644 --- a/docs/framework/wcf/diagnostics/performance-counters/calls-failed-per-second.md +++ b/docs/framework/wcf/diagnostics/performance-counters/calls-failed-per-second.md @@ -9,7 +9,7 @@ Counter Name: Calls Failed Per Second ## Description Number of calls with unhandled exceptions in this operation in a second. - This counter is of performance counter type [PERF_COUNTER_COUNTER](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. + This counter is of performance counter type [PERF_COUNTER_COUNTER](/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. (N 1 - N 0 ) / ( (D 1 -D 0 ) / F) diff --git a/docs/framework/wcf/diagnostics/performance-counters/calls-faulted-per-second.md b/docs/framework/wcf/diagnostics/performance-counters/calls-faulted-per-second.md index ffefa97bfb91c..0f9c6d627e11c 100644 --- a/docs/framework/wcf/diagnostics/performance-counters/calls-faulted-per-second.md +++ b/docs/framework/wcf/diagnostics/performance-counters/calls-faulted-per-second.md @@ -9,7 +9,7 @@ Counter Name: Calls Faulted Per Second ## Description Number of calls that returned faults to this operation in a second. - This counter is of performance counter type [PERF_COUNTER_COUNTER](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. + This counter is of performance counter type [PERF_COUNTER_COUNTER](/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. (N 1 - N 0 ) / ( (D 1 -D 0 ) / F) diff --git a/docs/framework/wcf/diagnostics/performance-counters/calls-per-second.md b/docs/framework/wcf/diagnostics/performance-counters/calls-per-second.md index 1cb9db06da1c0..3d5b19c42f291 100644 --- a/docs/framework/wcf/diagnostics/performance-counters/calls-per-second.md +++ b/docs/framework/wcf/diagnostics/performance-counters/calls-per-second.md @@ -9,6 +9,6 @@ Counter Name: Calls Per Second ## Description Number of calls to this operation in a second. - This counter is of performance counter type [PERF_COUNTER_COUNTER](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. + This counter is of performance counter type [PERF_COUNTER_COUNTER](/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. (N 1 - N 0 ) / ( (D 1 -D 0 ) / F) diff --git a/docs/framework/wcf/diagnostics/performance-counters/endpoint-calls-duration.md b/docs/framework/wcf/diagnostics/performance-counters/endpoint-calls-duration.md index 73ed66f986fb2..131044d9b6444 100644 --- a/docs/framework/wcf/diagnostics/performance-counters/endpoint-calls-duration.md +++ b/docs/framework/wcf/diagnostics/performance-counters/endpoint-calls-duration.md @@ -8,4 +8,4 @@ The average duration of calls to this endpoint. The average duration is calcula ## See also -- [PERF_COUNTER_TYPE](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)) +- [PERF_COUNTER_TYPE](/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)) diff --git a/docs/framework/wcf/diagnostics/performance-counters/endpoint-calls-failed-per-second.md b/docs/framework/wcf/diagnostics/performance-counters/endpoint-calls-failed-per-second.md index 60b1d1c4e4898..9c9b1f89d3666 100644 --- a/docs/framework/wcf/diagnostics/performance-counters/endpoint-calls-failed-per-second.md +++ b/docs/framework/wcf/diagnostics/performance-counters/endpoint-calls-failed-per-second.md @@ -9,7 +9,7 @@ Counter Name: Calls Failed Per Second. ## Description Number of calls that have unhandled exceptions and are received by this endpoint in a second. - This counter is of performance counter type [PERF_COUNTER_COUNTER](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. + This counter is of performance counter type [PERF_COUNTER_COUNTER](/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. (N 1 - N 0 ) / ( (D 1 -D 0 ) / F) diff --git a/docs/framework/wcf/diagnostics/performance-counters/endpoint-calls-faulted-per-second.md b/docs/framework/wcf/diagnostics/performance-counters/endpoint-calls-faulted-per-second.md index dac47367a4da2..337bb8ce8bff8 100644 --- a/docs/framework/wcf/diagnostics/performance-counters/endpoint-calls-faulted-per-second.md +++ b/docs/framework/wcf/diagnostics/performance-counters/endpoint-calls-faulted-per-second.md @@ -9,7 +9,7 @@ Counter Name: Calls Faulted Per Second. ## Description Number of calls that have returned faults to this endpoint in a second. - This counter is of performance counter type [PERF_COUNTER_COUNTER](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. + This counter is of performance counter type [PERF_COUNTER_COUNTER](/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. (N 1 - N 0 ) / ( (D 1 -D 0 ) / F) diff --git a/docs/framework/wcf/diagnostics/performance-counters/endpoint-calls-per-second.md b/docs/framework/wcf/diagnostics/performance-counters/endpoint-calls-per-second.md index 5e2ccadb55f1d..778fa7aa97c44 100644 --- a/docs/framework/wcf/diagnostics/performance-counters/endpoint-calls-per-second.md +++ b/docs/framework/wcf/diagnostics/performance-counters/endpoint-calls-per-second.md @@ -9,6 +9,6 @@ Counter Name: Calls Per Second. ## Description Number of calls to this endpoint in a second. - This counter is of performance counter type [PERF_COUNTER_COUNTER](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. + This counter is of performance counter type [PERF_COUNTER_COUNTER](/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. (N 1 - N 0 ) / ( (D 1 -D 0 ) / F) diff --git a/docs/framework/wcf/diagnostics/performance-counters/endpoint-reliable-messaging-messages-dropped-per-second.md b/docs/framework/wcf/diagnostics/performance-counters/endpoint-reliable-messaging-messages-dropped-per-second.md index 7bdb5d93b3833..bef7a28a9e31c 100644 --- a/docs/framework/wcf/diagnostics/performance-counters/endpoint-reliable-messaging-messages-dropped-per-second.md +++ b/docs/framework/wcf/diagnostics/performance-counters/endpoint-reliable-messaging-messages-dropped-per-second.md @@ -9,6 +9,6 @@ Counter Name: Reliable Messaging Sessions Dropped Per Second. ## Description Total number of reliable messaging messages that have been dropped at this endpoint in a second. - This counter is of performance counter type [PERF_COUNTER_COUNTER](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. + This counter is of performance counter type [PERF_COUNTER_COUNTER](/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. (N 1 - N 0 ) / ( (D 1 -D 0 ) / F) diff --git a/docs/framework/wcf/diagnostics/performance-counters/endpoint-reliable-messaging-sessions-faulted-per-second.md b/docs/framework/wcf/diagnostics/performance-counters/endpoint-reliable-messaging-sessions-faulted-per-second.md index c29535057a825..168381ab6f5b6 100644 --- a/docs/framework/wcf/diagnostics/performance-counters/endpoint-reliable-messaging-sessions-faulted-per-second.md +++ b/docs/framework/wcf/diagnostics/performance-counters/endpoint-reliable-messaging-sessions-faulted-per-second.md @@ -9,6 +9,6 @@ Counter Name: Reliable Messaging Sessions Faulted Per Second. ## Description Number of reliable messaging sessions that are faulted at this endpoint in a second. - This counter is of performance counter type [PERF_COUNTER_COUNTER](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. + This counter is of performance counter type [PERF_COUNTER_COUNTER](/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. (N 1 - N 0 ) / ( (D 1 -D 0 ) / F) diff --git a/docs/framework/wcf/diagnostics/performance-counters/endpoint-security-calls-not-authorized-per-second.md b/docs/framework/wcf/diagnostics/performance-counters/endpoint-security-calls-not-authorized-per-second.md index 6f2d07ce3c62d..963ac4c50014a 100644 --- a/docs/framework/wcf/diagnostics/performance-counters/endpoint-security-calls-not-authorized-per-second.md +++ b/docs/framework/wcf/diagnostics/performance-counters/endpoint-security-calls-not-authorized-per-second.md @@ -11,6 +11,6 @@ Counter Name: Security Calls Not Authorized Per Second. This counter is incremented when the method returns `false`. - This counter is of performance counter type [PERF_COUNTER_COUNTER](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. + This counter is of performance counter type [PERF_COUNTER_COUNTER](/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. (N 1 - N 0 ) / ( (D 1 -D 0 ) / F) diff --git a/docs/framework/wcf/diagnostics/performance-counters/endpoint-security-validation-and-authentication-failures-per-second.md b/docs/framework/wcf/diagnostics/performance-counters/endpoint-security-validation-and-authentication-failures-per-second.md index aba5ec51bd80d..8d7fb16a8687e 100644 --- a/docs/framework/wcf/diagnostics/performance-counters/endpoint-security-validation-and-authentication-failures-per-second.md +++ b/docs/framework/wcf/diagnostics/performance-counters/endpoint-security-validation-and-authentication-failures-per-second.md @@ -23,6 +23,6 @@ Counter name: Security Validation and Authentication Failures Per Second - Errors have occurred during TLSNEGO/SPNEGO handshake. - This counter is of performance counter type [PERF_COUNTER_COUNTER](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula: + This counter is of performance counter type [PERF_COUNTER_COUNTER](/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula: (N1-N0)/((D1-D0)/F) diff --git a/docs/framework/wcf/diagnostics/performance-counters/endpoint-transactions-flowed-per-second.md b/docs/framework/wcf/diagnostics/performance-counters/endpoint-transactions-flowed-per-second.md index bd313dd063d08..eb4b0f09221f1 100644 --- a/docs/framework/wcf/diagnostics/performance-counters/endpoint-transactions-flowed-per-second.md +++ b/docs/framework/wcf/diagnostics/performance-counters/endpoint-transactions-flowed-per-second.md @@ -9,6 +9,6 @@ Counter Name: Transactions Flowed Per Second. ## Description Number of transactions flowed to operations at this endpoint in a second. This counter is incremented any time a transaction ID is present in a message sent to the endpoint. - This counter is of performance counter type [PERF_COUNTER_COUNTER](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. + This counter is of performance counter type [PERF_COUNTER_COUNTER](/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. (N 1 - N 0 ) / ( (D 1 -D 0 ) / F) diff --git a/docs/framework/wcf/diagnostics/performance-counters/index.md b/docs/framework/wcf/diagnostics/performance-counters/index.md index ce4bfbebe4203..4864fe0a9a3f8 100644 --- a/docs/framework/wcf/diagnostics/performance-counters/index.md +++ b/docs/framework/wcf/diagnostics/performance-counters/index.md @@ -121,7 +121,7 @@ Several files are installed in the SDK install folder so that you can access the - *\_SMSvcHostPerfCounters.vrg* - *\_TransactionBridgePerfCounters.vrg* -For more information on how to access the counters programmatically, see [Performance Counter Programming Architecture](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/5f9bkxzf(v=vs.90)). +For more information on how to access the counters programmatically, see [Performance Counter Programming Architecture](/previous-versions/visualstudio/visual-studio-2008/5f9bkxzf(v=vs.90)). ## See also diff --git a/docs/framework/wcf/diagnostics/performance-counters/instances-per-second.md b/docs/framework/wcf/diagnostics/performance-counters/instances-per-second.md index c3331b619ba6c..482f1df6ff833 100644 --- a/docs/framework/wcf/diagnostics/performance-counters/instances-per-second.md +++ b/docs/framework/wcf/diagnostics/performance-counters/instances-per-second.md @@ -9,6 +9,6 @@ Counter Name: Instances Created Per Second. ## Description Total number of service instances created in a second. - This counter is of performance counter type [PERF_COUNTER_COUNTER](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. + This counter is of performance counter type [PERF_COUNTER_COUNTER](/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. (N 1 - N 0 ) / ( (D 1 -D 0 ) / F) diff --git a/docs/framework/wcf/diagnostics/performance-counters/queue-dropped-messages-per-second.md b/docs/framework/wcf/diagnostics/performance-counters/queue-dropped-messages-per-second.md index f4620e986156a..e0283062a6fc4 100644 --- a/docs/framework/wcf/diagnostics/performance-counters/queue-dropped-messages-per-second.md +++ b/docs/framework/wcf/diagnostics/performance-counters/queue-dropped-messages-per-second.md @@ -9,6 +9,6 @@ Counter Name: Queued Messages Dropped Per Second. ## Description Number of messages that are dropped by the queued transport at this service in a second. - This counter is of performance counter type [PERF_COUNTER_COUNTER](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. + This counter is of performance counter type [PERF_COUNTER_COUNTER](/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. (N 1 - N 0 ) / ( (D 1 -D 0 ) / F) diff --git a/docs/framework/wcf/diagnostics/performance-counters/queued-poison-messages-per-second.md b/docs/framework/wcf/diagnostics/performance-counters/queued-poison-messages-per-second.md index 62d03ac570885..ab2b22b59ac82 100644 --- a/docs/framework/wcf/diagnostics/performance-counters/queued-poison-messages-per-second.md +++ b/docs/framework/wcf/diagnostics/performance-counters/queued-poison-messages-per-second.md @@ -9,6 +9,6 @@ Counter Name: Queued Poison Messages Per Second. ## Description Number of messages that are marked poisoned by the queued transport at this service in a second. - This counter is of performance counter type [PERF_COUNTER_COUNTER](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. + This counter is of performance counter type [PERF_COUNTER_COUNTER](/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. (N 1 - N 0 ) / ( (D 1 -D 0 ) / F) diff --git a/docs/framework/wcf/diagnostics/performance-counters/queued-rejected-messages-per-second.md b/docs/framework/wcf/diagnostics/performance-counters/queued-rejected-messages-per-second.md index 93859c349e4b7..3cde7d5e073e4 100644 --- a/docs/framework/wcf/diagnostics/performance-counters/queued-rejected-messages-per-second.md +++ b/docs/framework/wcf/diagnostics/performance-counters/queued-rejected-messages-per-second.md @@ -9,6 +9,6 @@ Counter Name: Queued Messages Rejected Per Second. ## Description Number of messages that are rejected by the queued transport at this service in a second. - This counter is of performance counter type [PERF_COUNTER_COUNTER](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. + This counter is of performance counter type [PERF_COUNTER_COUNTER](/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. (N 1 - N 0 ) / ( (D 1 -D 0 ) / F) diff --git a/docs/framework/wcf/diagnostics/performance-counters/reliable-messaging-messages-dropped-per-second.md b/docs/framework/wcf/diagnostics/performance-counters/reliable-messaging-messages-dropped-per-second.md index 7cbf0d3a2ff51..3a6ab227513c2 100644 --- a/docs/framework/wcf/diagnostics/performance-counters/reliable-messaging-messages-dropped-per-second.md +++ b/docs/framework/wcf/diagnostics/performance-counters/reliable-messaging-messages-dropped-per-second.md @@ -9,6 +9,6 @@ Counter Name: Reliable Messaging Sessions Dropped Per Second. ## Description Total number of reliable messaging messages that have been dropped in this service in a second. - This counter is of performance counter type [PERF_COUNTER_COUNTER](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. + This counter is of performance counter type [PERF_COUNTER_COUNTER](/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. (N 1 - N 0 ) / ( (D 1 -D 0 ) / F) diff --git a/docs/framework/wcf/diagnostics/performance-counters/reliable-messaging-sessions-faulted-per-second.md b/docs/framework/wcf/diagnostics/performance-counters/reliable-messaging-sessions-faulted-per-second.md index 319b2e9fd3040..6977f1c1a82e3 100644 --- a/docs/framework/wcf/diagnostics/performance-counters/reliable-messaging-sessions-faulted-per-second.md +++ b/docs/framework/wcf/diagnostics/performance-counters/reliable-messaging-sessions-faulted-per-second.md @@ -9,6 +9,6 @@ Counter Name: Reliable Messaging Sessions Faulted Per Second. ## Description Number of reliable messaging sessions that are faulted in this service in a second. - This counter is of performance counter type [PERF_COUNTER_COUNTER](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. + This counter is of performance counter type [PERF_COUNTER_COUNTER](/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. (N 1 - N 0 ) / ( (D 1 -D 0 ) / F) diff --git a/docs/framework/wcf/diagnostics/performance-counters/security-calls-not-authorized-per-second.md b/docs/framework/wcf/diagnostics/performance-counters/security-calls-not-authorized-per-second.md index 9954dae2ecae5..36dc09e888e65 100644 --- a/docs/framework/wcf/diagnostics/performance-counters/security-calls-not-authorized-per-second.md +++ b/docs/framework/wcf/diagnostics/performance-counters/security-calls-not-authorized-per-second.md @@ -11,6 +11,6 @@ Counter Name: Security Calls Not Authorized Per Second. This counter is incremented when the method returns `false`. It indicates that the incoming message is from a valid user and protected properly, but the user is not authorized to do specific tasks. - This counter is of performance counter type [PERF_COUNTER_COUNTER](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. + This counter is of performance counter type [PERF_COUNTER_COUNTER](/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. (N 1 - N 0 ) / ( (D 1 -D 0 ) / F) diff --git a/docs/framework/wcf/diagnostics/performance-counters/security-validation-and-authentication-failures-per-second.md b/docs/framework/wcf/diagnostics/performance-counters/security-validation-and-authentication-failures-per-second.md index 425403fd15a3a..e6d60f5b59ce3 100644 --- a/docs/framework/wcf/diagnostics/performance-counters/security-validation-and-authentication-failures-per-second.md +++ b/docs/framework/wcf/diagnostics/performance-counters/security-validation-and-authentication-failures-per-second.md @@ -23,6 +23,6 @@ Counter name: Security Validation and Authentication Failures Per Second. - Errors have occurred during TLSNEGO/SPNEGO handshake. - This counter is of performance counter type [PERF_COUNTER_COUNTER](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula: + This counter is of performance counter type [PERF_COUNTER_COUNTER](/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula: (N1-N0)/((D1-D0)/F) diff --git a/docs/framework/wcf/diagnostics/performance-counters/service-calls-duration.md b/docs/framework/wcf/diagnostics/performance-counters/service-calls-duration.md index 74bf68d41bc4a..2f7491f5ecf7f 100644 --- a/docs/framework/wcf/diagnostics/performance-counters/service-calls-duration.md +++ b/docs/framework/wcf/diagnostics/performance-counters/service-calls-duration.md @@ -11,4 +11,4 @@ Counter Name: Calls Duration ## See also -- [PERF_AVERAGE_TIMER](https://docs.microsoft.com/previous-versions/windows/embedded/ms938538(v%3dmsdn.10)) +- [PERF_AVERAGE_TIMER](/previous-versions/windows/embedded/ms938538(v=msdn.10)) diff --git a/docs/framework/wcf/diagnostics/performance-counters/service-calls-failed-per-second.md b/docs/framework/wcf/diagnostics/performance-counters/service-calls-failed-per-second.md index 83542355221bd..6eaf6ce8def0b 100644 --- a/docs/framework/wcf/diagnostics/performance-counters/service-calls-failed-per-second.md +++ b/docs/framework/wcf/diagnostics/performance-counters/service-calls-failed-per-second.md @@ -9,7 +9,7 @@ Counter Name: Calls Failed Per Second. ## Description Number of calls that have unhandled exceptions, and are received by this service in a second. - This counter is of performance counter type [PERF_COUNTER_COUNTER](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. + This counter is of performance counter type [PERF_COUNTER_COUNTER](/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. (N 1 - N 0 ) / ( (D 1 -D 0 ) / F) diff --git a/docs/framework/wcf/diagnostics/performance-counters/service-calls-faulted-per-second.md b/docs/framework/wcf/diagnostics/performance-counters/service-calls-faulted-per-second.md index a5f9148e4921b..a6f6a7e661f30 100644 --- a/docs/framework/wcf/diagnostics/performance-counters/service-calls-faulted-per-second.md +++ b/docs/framework/wcf/diagnostics/performance-counters/service-calls-faulted-per-second.md @@ -9,7 +9,7 @@ Counter Name: Calls Faulted Per Second. ## Description Number of calls that have returned faults to this service in a second. - This counter is of performance counter type [PERF_COUNTER_COUNTER](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. + This counter is of performance counter type [PERF_COUNTER_COUNTER](/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. (N 1 - N 0 ) / ( (D 1 -D 0 ) / F) diff --git a/docs/framework/wcf/diagnostics/performance-counters/service-calls-per-second.md b/docs/framework/wcf/diagnostics/performance-counters/service-calls-per-second.md index 274e934003bf0..ba9dbfa91dcd5 100644 --- a/docs/framework/wcf/diagnostics/performance-counters/service-calls-per-second.md +++ b/docs/framework/wcf/diagnostics/performance-counters/service-calls-per-second.md @@ -9,6 +9,6 @@ Counter Name: Calls Per Second. ## Description Number of calls to this service in a second. - This counter is of performance counter type [PERF_COUNTER_COUNTER](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. + This counter is of performance counter type [PERF_COUNTER_COUNTER](/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. (N 1 - N 0 ) / ( (D 1 -D 0 ) / F) where the numerator (N) represents the number of operations performed during the last sample interval, the denominator (D) represents the number of ticks elapsed during the last sample interval, and F is the frequency of the ticks. diff --git a/docs/framework/wcf/diagnostics/performance-counters/service-security-calls-not-authorized-per-second.md b/docs/framework/wcf/diagnostics/performance-counters/service-security-calls-not-authorized-per-second.md index cf02015ab1022..8db773d3b2148 100644 --- a/docs/framework/wcf/diagnostics/performance-counters/service-security-calls-not-authorized-per-second.md +++ b/docs/framework/wcf/diagnostics/performance-counters/service-security-calls-not-authorized-per-second.md @@ -11,6 +11,6 @@ Counter name: Security Calls Not Authorized Per Second This counter is incremented when the method returns `false`. - This counter is of performance counter type [PERF_COUNTER_COUNTER](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. + This counter is of performance counter type [PERF_COUNTER_COUNTER](/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. (N 1 - N 0 ) / ( (D 1 -D 0 ) / F) diff --git a/docs/framework/wcf/diagnostics/performance-counters/service-security-validation-and-authentication-failures-per-second.md b/docs/framework/wcf/diagnostics/performance-counters/service-security-validation-and-authentication-failures-per-second.md index 1adbc4aedd55e..33198919053d2 100644 --- a/docs/framework/wcf/diagnostics/performance-counters/service-security-validation-and-authentication-failures-per-second.md +++ b/docs/framework/wcf/diagnostics/performance-counters/service-security-validation-and-authentication-failures-per-second.md @@ -23,6 +23,6 @@ Counter name: Security Validation and Authentication Failures Per Second. - Errors have occurred during TLSNEGO/SPNEGO handshake. - This counter is of performance counter type [PERF_COUNTER_COUNTER](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula, + This counter is of performance counter type [PERF_COUNTER_COUNTER](/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula, (N 1 - N 0 ) / ( (D 1 -D 0 ) / F) diff --git a/docs/framework/wcf/diagnostics/performance-counters/service-transactions-flowed-per-second.md b/docs/framework/wcf/diagnostics/performance-counters/service-transactions-flowed-per-second.md index ffc333135c5a4..0592d5f514c63 100644 --- a/docs/framework/wcf/diagnostics/performance-counters/service-transactions-flowed-per-second.md +++ b/docs/framework/wcf/diagnostics/performance-counters/service-transactions-flowed-per-second.md @@ -9,6 +9,6 @@ Counter Name: Transactions Flowed Per Second. ## Description Number of transactions flowed to operations in this service in a second. - This counter is of performance counter type [PERF_COUNTER_COUNTER](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. + This counter is of performance counter type [PERF_COUNTER_COUNTER](/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. (N 1 - N 0 ) / ( (D 1 -D 0 ) / F) diff --git a/docs/framework/wcf/diagnostics/performance-counters/transacted-operations-aborted-per-second.md b/docs/framework/wcf/diagnostics/performance-counters/transacted-operations-aborted-per-second.md index a2ce8c3a16f1e..60d8c332582ac 100644 --- a/docs/framework/wcf/diagnostics/performance-counters/transacted-operations-aborted-per-second.md +++ b/docs/framework/wcf/diagnostics/performance-counters/transacted-operations-aborted-per-second.md @@ -9,6 +9,6 @@ Counter Name: Transacted Operations Aborted Per Second. ## Description Number of transactional operations that have been aborted in this service in a second. - This counter is of performance counter type [PERF_COUNTER_COUNTER](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. + This counter is of performance counter type [PERF_COUNTER_COUNTER](/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. (N 1 - N 0 ) / ( (D 1 -D 0 ) / F) diff --git a/docs/framework/wcf/diagnostics/performance-counters/transacted-operations-committed-per-second.md b/docs/framework/wcf/diagnostics/performance-counters/transacted-operations-committed-per-second.md index 0c5eeefc8cedb..ef9d4e9c231ba 100644 --- a/docs/framework/wcf/diagnostics/performance-counters/transacted-operations-committed-per-second.md +++ b/docs/framework/wcf/diagnostics/performance-counters/transacted-operations-committed-per-second.md @@ -9,6 +9,6 @@ Counter Name: Transacted Operations Committed Per Second. ## Description Number of transactional operations that have been committed in this service in a second. - This counter is of performance counter type [PERF_COUNTER_COUNTER](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. + This counter is of performance counter type [PERF_COUNTER_COUNTER](/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. (N 1 - N 0 ) / ( (D 1 -D 0 ) / F) diff --git a/docs/framework/wcf/diagnostics/performance-counters/transacted-operations-in-doubt-per-second.md b/docs/framework/wcf/diagnostics/performance-counters/transacted-operations-in-doubt-per-second.md index 63e8afceade4e..3862646b4a595 100644 --- a/docs/framework/wcf/diagnostics/performance-counters/transacted-operations-in-doubt-per-second.md +++ b/docs/framework/wcf/diagnostics/performance-counters/transacted-operations-in-doubt-per-second.md @@ -9,6 +9,6 @@ Counter Name: Transacted Operations In Doubt Per Second. ## Description Number of transactional operations with an in-doubt outcome in this service in a second. - This counter is of performance counter type [PERF_COUNTER_COUNTER](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. + This counter is of performance counter type [PERF_COUNTER_COUNTER](/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. (N 1 - N 0 ) / ( (D 1 -D 0 ) / F) diff --git a/docs/framework/wcf/diagnostics/performance-counters/transactions-flowed-per-second.md b/docs/framework/wcf/diagnostics/performance-counters/transactions-flowed-per-second.md index a4945d3cc9f28..45ffb6c057cdc 100644 --- a/docs/framework/wcf/diagnostics/performance-counters/transactions-flowed-per-second.md +++ b/docs/framework/wcf/diagnostics/performance-counters/transactions-flowed-per-second.md @@ -9,6 +9,6 @@ Counter Name: Transactions Flowed Per Second ## Description Number of transactions flowed to this operation in a second. This counter is incremented any time a transaction ID is present in a message that is sent to the operation. - This counter is of performance counter type [PERF_COUNTER_COUNTER](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. + This counter is of performance counter type [PERF_COUNTER_COUNTER](/previous-versions/windows/it-pro/windows-server-2003/cc740048(v=ws.10)), whose value is calculated using the following formula. (N 1 - N 0 ) / ( (D 1 -D 0 ) / F) diff --git a/docs/framework/wcf/diagnostics/security-concerns-for-message-logging.md b/docs/framework/wcf/diagnostics/security-concerns-for-message-logging.md index 01311c44e54ff..bb7ebcf9afcaf 100644 --- a/docs/framework/wcf/diagnostics/security-concerns-for-message-logging.md +++ b/docs/framework/wcf/diagnostics/security-concerns-for-message-logging.md @@ -82,7 +82,7 @@ This topic describes how you can protect sensitive data from being exposed in me The changes are effective only when the application starts or restarts. An event is logged at startup when both attributes are set to `true`. An event is also logged if `logKnownPii` is set to `true` but `enableLoggingKnownPii` is `false`. - The machine administrator and application deployer should exercise extreme caution when using these two switches. If PII logging is enabled, security keys and PII are logged. If it is disabled, sensitive and application-specific data is still logged in message headers and bodies. For a more thorough discussion about privacy and protecting PII from being exposed, see [User Privacy](https://docs.microsoft.com/previous-versions/dotnet/articles/aa480490(v=msdn.10)). + The machine administrator and application deployer should exercise extreme caution when using these two switches. If PII logging is enabled, security keys and PII are logged. If it is disabled, sensitive and application-specific data is still logged in message headers and bodies. For a more thorough discussion about privacy and protecting PII from being exposed, see [User Privacy](/previous-versions/dotnet/articles/aa480490(v=msdn.10)). > [!CAUTION] > PII is not hidden in malformed messages. Such messaged are logged as-is without any modification. Attributes mentioned previously have no effect on this. diff --git a/docs/framework/wcf/diagnostics/tracing/configuring-tracing.md b/docs/framework/wcf/diagnostics/tracing/configuring-tracing.md index 5d991887b6201..0934e8857783f 100644 --- a/docs/framework/wcf/diagnostics/tracing/configuring-tracing.md +++ b/docs/framework/wcf/diagnostics/tracing/configuring-tracing.md @@ -137,7 +137,7 @@ This topic describes how you can enable tracing, configure trace sources to emit You can configure a custom trace listener to send traces on the wire, for example, to a remote database. As an application deployer, you should enforce proper access control on the trace logs in the remote machine. - You can also configure a trace listener programmatically. For more information, see [How to: Create and Initialize Trace Listeners](../../../debug-trace-profile/how-to-create-and-initialize-trace-listeners.md) and [Creating a Custom TraceListener](https://docs.microsoft.com/archive/msdn-magazine/2006/april/clr-inside-out-extending-system-diagnostics). + You can also configure a trace listener programmatically. For more information, see [How to: Create and Initialize Trace Listeners](../../../debug-trace-profile/how-to-create-and-initialize-trace-listeners.md) and [Creating a Custom TraceListener](/archive/msdn-magazine/2006/april/clr-inside-out-extending-system-diagnostics). > [!CAUTION] > Because `System.Diagnostics.XmlWriterTraceListener` is not thread-safe, the trace source may lock resources exclusively when outputting traces. When many threads output traces to a trace source configured to use this listener, resource contention may occur, which results in a significant performance issue. To resolve this problem, you should implement a custom listener that is thread-safe. @@ -180,4 +180,4 @@ This topic describes how you can enable tracing, configure trace sources to emit - [Tracing](index.md) - [Administration and Diagnostics](../index.md) - [How to: Create and Initialize Trace Listeners](../../../debug-trace-profile/how-to-create-and-initialize-trace-listeners.md) -- [Creating a Custom TraceListener](https://docs.microsoft.com/archive/msdn-magazine/2006/april/clr-inside-out-extending-system-diagnostics) +- [Creating a Custom TraceListener](/archive/msdn-magazine/2006/april/clr-inside-out-extending-system-diagnostics) diff --git a/docs/framework/wcf/diagnostics/tracing/security-concerns-and-useful-tips-for-tracing.md b/docs/framework/wcf/diagnostics/tracing/security-concerns-and-useful-tips-for-tracing.md index ff8f76d02ec58..d4214478aee18 100644 --- a/docs/framework/wcf/diagnostics/tracing/security-concerns-and-useful-tips-for-tracing.md +++ b/docs/framework/wcf/diagnostics/tracing/security-concerns-and-useful-tips-for-tracing.md @@ -80,7 +80,7 @@ This topic describes how you can protect sensitive information from being expose For more information on PII logging, see [PII Security Lockdown](../../samples/pii-security-lockdown.md) sample. - The machine administrator and application deployer should exercise extreme caution when using these two switches. If PII logging is enabled, security keys and PII are logged. If it is disabled, sensitive and application-specific data is still logged in message headers and bodies. For a more thorough discussion on privacy and protecting PII from being exposed, see [User Privacy](https://docs.microsoft.com/previous-versions/dotnet/articles/aa480490(v=msdn.10)). + The machine administrator and application deployer should exercise extreme caution when using these two switches. If PII logging is enabled, security keys and PII are logged. If it is disabled, sensitive and application-specific data is still logged in message headers and bodies. For a more thorough discussion on privacy and protecting PII from being exposed, see [User Privacy](/previous-versions/dotnet/articles/aa480490(v=msdn.10)). In addition, the IP address of the message sender is logged once per connection for connection-oriented transports, and once per message sent otherwise. This is done without the consent of the sender. However, this logging only occurs at the Information or Verbose tracing levels, which are not the default or recommended tracing levels in production, except for live debugging. diff --git a/docs/framework/wcf/diagnostics/tracing/system-servicemodel-channels-msmqmessagerejected.md b/docs/framework/wcf/diagnostics/tracing/system-servicemodel-channels-msmqmessagerejected.md index b30d1f0fb93c1..5ebe937f089d8 100644 --- a/docs/framework/wcf/diagnostics/tracing/system-servicemodel-channels-msmqmessagerejected.md +++ b/docs/framework/wcf/diagnostics/tracing/system-servicemodel-channels-msmqmessagerejected.md @@ -9,11 +9,11 @@ MSMQ rejected the message. ## Description This trace indicates that an MSMQ message was rejected. - MSMQ messages can be rejected when Windows Communication Foundation (WCF) (used with either the NetMsmqBinding or MsmqIntegrationBinding) is unable to process them. Such messages are referred to as poison messages. A poison message is rejected when the `ReceiveErrorHandling` property on the NetMsmqBinding or MsmqIntegrationBinding is set to `Reject`. A rejected message is delivered back to the sender’s [Dead-Letter Queue](https://docs.microsoft.com/dotnet/framework/wcf/feature-details/using-dead-letter-queues-to-handle-message-transfer-failures). + MSMQ messages can be rejected when Windows Communication Foundation (WCF) (used with either the NetMsmqBinding or MsmqIntegrationBinding) is unable to process them. Such messages are referred to as poison messages. A poison message is rejected when the `ReceiveErrorHandling` property on the NetMsmqBinding or MsmqIntegrationBinding is set to `Reject`. A rejected message is delivered back to the sender’s [Dead-Letter Queue](../../feature-details/using-dead-letter-queues-to-handle-message-transfer-failures.md). For more information on when messages become poison and how to configure your service to handle them appropriately, see [Poison-Message Handling](../../feature-details/poison-message-handling.md). - For more information on what a rejected message means in MSMQ, see [MQMarkMessageRejected](https://docs.microsoft.com/previous-versions/windows/desktop/msmq/ms707071(v%3dvs.85)). + For more information on what a rejected message means in MSMQ, see [MQMarkMessageRejected](/previous-versions/windows/desktop/msmq/ms707071(v=vs.85)). ## See also @@ -21,4 +21,4 @@ MSMQ rejected the message. - [Using Tracing to Troubleshoot Your Application](using-tracing-to-troubleshoot-your-application.md) - [Administration and Diagnostics](../index.md) - [Poison-Message Handling](../../feature-details/poison-message-handling.md) -- [MQMarkMessageRejected](https://docs.microsoft.com/previous-versions/windows/desktop/msmq/ms707071(v%3dvs.85)) +- [MQMarkMessageRejected](/previous-versions/windows/desktop/msmq/ms707071(v=vs.85)) diff --git a/docs/framework/wcf/diagnostics/tracing/system-servicemodel-channels-msmqpoisonmessagerejected.md b/docs/framework/wcf/diagnostics/tracing/system-servicemodel-channels-msmqpoisonmessagerejected.md index 45a47a54dcf25..4f6d939cc43ec 100644 --- a/docs/framework/wcf/diagnostics/tracing/system-servicemodel-channels-msmqpoisonmessagerejected.md +++ b/docs/framework/wcf/diagnostics/tracing/system-servicemodel-channels-msmqpoisonmessagerejected.md @@ -10,7 +10,7 @@ Poison message rejected. The trace indicates that a poison message was encountered and subsequently rejected. This occurs when the `ReceiveErrorHandling` property on the NetMsmqBinding or MsmqIntegrationBinding is set to `Reject`. A rejected message is delivered back to the sender’s [Dead-Letter Queue](../../feature-details/using-dead-letter-queues-to-handle-message-transfer-failures.md). - For more information on when messages become poison and how to configure your service to handle them appropriately, see [Poison-Message Handling](../../feature-details/poison-message-handling.md). For more information on what a rejected message means in MSMQ, see [MQMarkMessageRejected](https://docs.microsoft.com/previous-versions/windows/desktop/msmq/ms707071(v%3dvs.85)). + For more information on when messages become poison and how to configure your service to handle them appropriately, see [Poison-Message Handling](../../feature-details/poison-message-handling.md). For more information on what a rejected message means in MSMQ, see [MQMarkMessageRejected](/previous-versions/windows/desktop/msmq/ms707071(v=vs.85)). ## See also @@ -18,4 +18,4 @@ Poison message rejected. - [Using Tracing to Troubleshoot Your Application](using-tracing-to-troubleshoot-your-application.md) - [Administration and Diagnostics](../index.md) - [Poison-Message Handling](../../feature-details/poison-message-handling.md) -- [MQMarkMessageRejected](https://docs.microsoft.com/previous-versions/windows/desktop/msmq/ms707071(v%3dvs.85)) +- [MQMarkMessageRejected](/previous-versions/windows/desktop/msmq/ms707071(v=vs.85)) diff --git a/docs/framework/wcf/extending/custom-bindings.md b/docs/framework/wcf/extending/custom-bindings.md index e6a00408eb06d..c6f64c99d2614 100644 --- a/docs/framework/wcf/extending/custom-bindings.md +++ b/docs/framework/wcf/extending/custom-bindings.md @@ -8,7 +8,7 @@ ms.assetid: 58532b6d-4eea-4a4f-854f-a1c8c842564d --- # Custom Bindings -You can use the class when one of the system-provided bindings does not meet the requirements of your service. All bindings are constructed from an ordered set of binding elements. Custom bindings can be built from a set of system-provided binding elements or can include user-defined custom binding elements. You can use custom binding elements, for example, to enable the use of new transports or encoders at a service endpoint. For working examples, see [Custom Binding Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751479(v=vs.90)). For more information, see [\](../../configure-apps/file-schema/wcf/custombinding.md). +You can use the class when one of the system-provided bindings does not meet the requirements of your service. All bindings are constructed from an ordered set of binding elements. Custom bindings can be built from a set of system-provided binding elements or can include user-defined custom binding elements. You can use custom binding elements, for example, to enable the use of new transports or encoders at a service endpoint. For working examples, see [Custom Binding Samples](/previous-versions/dotnet/netframework-3.5/ms751479(v=vs.90)). For more information, see [\](../../configure-apps/file-schema/wcf/custombinding.md). ## Construction of a Custom Binding diff --git a/docs/framework/wcf/extending/how-to-lock-down-endpoints-in-the-enterprise.md b/docs/framework/wcf/extending/how-to-lock-down-endpoints-in-the-enterprise.md index 574eb768d72f4..b0d165f49b767 100644 --- a/docs/framework/wcf/extending/how-to-lock-down-endpoints-in-the-enterprise.md +++ b/docs/framework/wcf/extending/how-to-lock-down-endpoints-in-the-enterprise.md @@ -62,5 +62,5 @@ You may also want to encrypt the configuration file elements. For more informati ## See also -- [Encrypting configuration file elements using DPAPI](https://docs.microsoft.com/previous-versions/msp-n-p/ff647398(v=pandp.10)) -- [Encrypting configuration file elements using RSA](https://docs.microsoft.com/previous-versions/msp-n-p/ff650304(v=pandp.10)) +- [Encrypting configuration file elements using DPAPI](/previous-versions/msp-n-p/ff647398(v=pandp.10)) +- [Encrypting configuration file elements using RSA](/previous-versions/msp-n-p/ff650304(v=pandp.10)) diff --git a/docs/framework/wcf/extending/overriding-the-identity-of-a-service-for-authentication.md b/docs/framework/wcf/extending/overriding-the-identity-of-a-service-for-authentication.md index 033a91106b07a..f0188257e294d 100644 --- a/docs/framework/wcf/extending/overriding-the-identity-of-a-service-for-authentication.md +++ b/docs/framework/wcf/extending/overriding-the-identity-of-a-service-for-authentication.md @@ -17,7 +17,7 @@ Typically, you do not have to set the identity on a service because the selectio ## Kerberos Authentication and Identity By default, when a service is configured to use a Windows credential, an [\](../../configure-apps/file-schema/wcf/identity.md) element that contains a [\](../../configure-apps/file-schema/wcf/userprincipalname.md) or [\](../../configure-apps/file-schema/wcf/serviceprincipalname.md) element is generated in the WSDL. If the service is running under the `LocalSystem`, `LocalService`, or `NetworkService` account, a service principal name (SPN) is generated by default in the form of `host/`\<*hostname*> because those accounts have access to the computer's SPN data. If the service is running under a different account, Windows Communication Foundation (WCF) generates a UPN in the form of \<*username*>@<*domainName*`>`. This occurs because Kerberos authentication requires that a UPN or SPN be supplied to the client to authenticate the service. - You can also use the [Setspn](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731241(v=ws.10)?redirectedfrom=MSDN) tool to register an additional SPN with a service's account in a domain. You can then use the SPN as the identity of the service. For more information about the tool, see [Setspn Overview](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc773257(v=ws.10)). + You can also use the [Setspn](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731241(v=ws.10)) tool to register an additional SPN with a service's account in a domain. You can then use the SPN as the identity of the service. For more information about the tool, see [Setspn Overview](/previous-versions/windows/it-pro/windows-server-2003/cc773257(v=ws.10)). > [!NOTE] > To use the Windows credential type without negotiation, the service's user account must have access to the SPN that is registered with the Active Directory domain. You can do this in the following ways: @@ -26,7 +26,7 @@ Typically, you do not have to set the identity on a service because the selectio - Use an arbitrary Active Directory domain account to run your service. In this case, establish an SPN for that domain account, which you can do by using the Setspn.exe utility tool. Once you create the SPN for the service's account, configure WCF to publish that SPN to the service's clients through its metadata (WSDL). This is done by setting the endpoint identity for the exposed endpoint, either through an application configuration file or code. - For more information about SPNs, the Kerberos protocol, and Active Directory, see [Kerberos Technical Supplement for Windows](https://docs.microsoft.com/previous-versions/msp-n-p/ff649429(v=pandp.10)). + For more information about SPNs, the Kerberos protocol, and Active Directory, see [Kerberos Technical Supplement for Windows](/previous-versions/msp-n-p/ff649429(v=pandp.10)). ### When SPN or UPN Equals the Empty String If you set the SPN or UPN equal to an empty string, a number of different things happen, depending on the security level and authentication mode being used: diff --git a/docs/framework/wcf/feature-details/access-control-mechanisms.md b/docs/framework/wcf/feature-details/access-control-mechanisms.md index c43ac74bd9d16..ddf0f2d2636bd 100644 --- a/docs/framework/wcf/feature-details/access-control-mechanisms.md +++ b/docs/framework/wcf/feature-details/access-control-mechanisms.md @@ -40,7 +40,7 @@ You can control access in several way with Windows Communication Foundation (WCF You can also use AzMan and the ASP.NET role provider if you already have access to an existing AzMan installation and want to authorize your service users using the features of the AzMan/role provider combination. - For more information about AzMan and the ASP.NET role provider, see [How To: Use Authorization Manager (AzMan) with ASP.NET 2.0](https://docs.microsoft.com/previous-versions/msp-n-p/ff649313(v=pandp.10)). For more information about using AzMan and the role provider for WCF services, see [How to: Use the ASP.NET Authorization Manager Role Provider with a Service](how-to-use-the-aspnet-authorization-manager-role-provider-with-a-service.md). + For more information about AzMan and the ASP.NET role provider, see [How To: Use Authorization Manager (AzMan) with ASP.NET 2.0](/previous-versions/msp-n-p/ff649313(v=pandp.10)). For more information about using AzMan and the role provider for WCF services, see [How to: Use the ASP.NET Authorization Manager Role Provider with a Service](how-to-use-the-aspnet-authorization-manager-role-provider-with-a-service.md). ## Identity Model The Identity Model is a set of APIs that enable you to manage claims and policies to authorize clients. With the Identity Model, you can examine every claim contained in credentials that the caller used to authenticate itself to the service, compare the claims to the set of policies for the service, and grant or deny access based on the comparison. diff --git a/docs/framework/wcf/feature-details/accessing-wcf-services-with-a-windows-store-client-app.md b/docs/framework/wcf/feature-details/accessing-wcf-services-with-a-windows-store-client-app.md index 7264e58461612..d4fa5ee2fb5ec 100644 --- a/docs/framework/wcf/feature-details/accessing-wcf-services-with-a-windows-store-client-app.md +++ b/docs/framework/wcf/feature-details/accessing-wcf-services-with-a-windows-store-client-app.md @@ -50,7 +50,7 @@ Windows 8 introduces a new type of application called Windows Store applications Both Text and Binary encodings are supported. All WCF transfer modes are supported. For more information see, [Streaming Message Transfer](streaming-message-transfer.md). ### Add Service Reference - To call a WCF service from a Windows Store application, use the Add Service Reference feature of Visual Studio 2012. You will notice a few changes in the functionality of Add Service Reference when done within a Windows Store application. First no configuration file is generated. Windows Store applications do not use configuration files, so they must be configured in code. This configuration code can be found in the References.cs file generated by Add Service Reference. To see this file, make sure to select "Show All Files" in the solution explorer. The file will be located under the Service References and then Reference.svcmap nodes within the project. All operations generated for WCF services within a Windows Store application will be asynchronous using the Task-based asynchronous pattern. For more information, see [Async Tasks - Simplify Asynchronous Programming with Tasks](https://docs.microsoft.com/archive/msdn-magazine/2010/september/async-tasks-simplify-asynchronous-programming-with-tasks). + To call a WCF service from a Windows Store application, use the Add Service Reference feature of Visual Studio 2012. You will notice a few changes in the functionality of Add Service Reference when done within a Windows Store application. First no configuration file is generated. Windows Store applications do not use configuration files, so they must be configured in code. This configuration code can be found in the References.cs file generated by Add Service Reference. To see this file, make sure to select "Show All Files" in the solution explorer. The file will be located under the Service References and then Reference.svcmap nodes within the project. All operations generated for WCF services within a Windows Store application will be asynchronous using the Task-based asynchronous pattern. For more information, see [Async Tasks - Simplify Asynchronous Programming with Tasks](/archive/msdn-magazine/2010/september/async-tasks-simplify-asynchronous-programming-with-tasks). Because configuration is now generated in code, any changes made in the Reference.cs file would be overwritten every time the service reference is updated. To remedy this situation the configuration code is generated within a partial method, which you can implement in your client proxy class. The partial method is declared as follows: diff --git a/docs/framework/wcf/feature-details/adding-a-service-reference-in-a-workflow-solution.md b/docs/framework/wcf/feature-details/adding-a-service-reference-in-a-workflow-solution.md index abd51580f3beb..581d0907c8cb6 100644 --- a/docs/framework/wcf/feature-details/adding-a-service-reference-in-a-workflow-solution.md +++ b/docs/framework/wcf/feature-details/adding-a-service-reference-in-a-workflow-solution.md @@ -5,11 +5,11 @@ ms.assetid: 83574cf3-9803-49bc-837f-432936dc9c76 --- # Add a Service Reference in a Workflow Solution -Adding a service reference in a workflow application works a little differently than a regular WCF application. When you select **Add** > **Service Reference** and specify the URL to the service, the metadata is downloaded and custom activities are generated that allow you to call that WCF service or WCF workflow service. After adding a service reference, rebuild the solution so the generated activities are built. They will then appear in the workflow designer toolbox. This will only work if you are adding a service reference within a workflow solution. The following web cast shows how to add a service reference in other types of projects: [Calling a WCF Service from a Workflow in a Web Project](https://docs.microsoft.com/archive/blogs/endpoint/how-to-consume-a-wcf-service-from-a-wf4-workflow). +Adding a service reference in a workflow application works a little differently than a regular WCF application. When you select **Add** > **Service Reference** and specify the URL to the service, the metadata is downloaded and custom activities are generated that allow you to call that WCF service or WCF workflow service. After adding a service reference, rebuild the solution so the generated activities are built. They will then appear in the workflow designer toolbox. This will only work if you are adding a service reference within a workflow solution. The following web cast shows how to add a service reference in other types of projects: [Calling a WCF Service from a Workflow in a Web Project](/archive/blogs/endpoint/how-to-consume-a-wcf-service-from-a-wf4-workflow). Adding two or more service references to services that contain the same operation name will cause a problem. The generated activities will call only the first service operation. To work around this issue, rename the service operations so they are different, or change the endpoint configuration name within each generated activity. ## See also - [Workflow Services](workflow-services.md) -- [Calling a WCF Service from a Workflow in a Web Project](https://docs.microsoft.com/archive/blogs/endpoint/how-to-consume-a-wcf-service-from-a-wf4-workflow) +- [Calling a WCF Service from a Workflow in a Web Project](/archive/blogs/endpoint/how-to-consume-a-wcf-service-from-a-wf4-workflow) diff --git a/docs/framework/wcf/feature-details/adopting-wcf.md b/docs/framework/wcf/feature-details/adopting-wcf.md index 836fda23176c1..8f00a1428f174 100644 --- a/docs/framework/wcf/feature-details/adopting-wcf.md +++ b/docs/framework/wcf/feature-details/adopting-wcf.md @@ -7,7 +7,7 @@ ms.assetid: 49ba71e2-9468-4082-84c5-cf8daf95e34a You can choose to use Windows Communication Foundation (WCF) for new development while continuing to maintain existing applications developed using ASP.NET. Because WCF is intended to be the most suitable choice for facilitating communication with applications built with the .NET Framework in any scenario, it can serve as a standard tool for solving a wide variety of software communications problems in a way that ASP.NET cannot. -New WCF applications can be deployed on the same machines as existing ASP.NET Web services. If the existing ASP.NET Web services use a version of the .NET Framework prior to version 2.0, then you can use the ASP.NET IIS Registration Tool to selectively deploy the .NET Framework 2.0 to IIS applications in which new WCF applications are to be hosted. That tool is documented at [ASP.NET IIS Registration Tool (Aspnet_regiis.exe)](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/k6h9cz8h(v=vs.90)), and has a user interface built into the IIS 6.0 management console. +New WCF applications can be deployed on the same machines as existing ASP.NET Web services. If the existing ASP.NET Web services use a version of the .NET Framework prior to version 2.0, then you can use the ASP.NET IIS Registration Tool to selectively deploy the .NET Framework 2.0 to IIS applications in which new WCF applications are to be hosted. That tool is documented at [ASP.NET IIS Registration Tool (Aspnet_regiis.exe)](/previous-versions/dotnet/netframework-3.5/k6h9cz8h(v=vs.90)), and has a user interface built into the IIS 6.0 management console. WCF can be used to add new features to existing ASP.NET Web services by adding WCF services configured to run in ASP.NET compatibility mode to existing ASP.NET Web service applications in IIS. Because of ASP.NET compatibility mode, the code for the new WCF services can access and update the same application state information as the pre-existing ASP.NET code, by using the class. The applications can also share the same class libraries. diff --git a/docs/framework/wcf/feature-details/ajax-integration-and-json-support.md b/docs/framework/wcf/feature-details/ajax-integration-and-json-support.md index 0bf8292dbafdd..84166569f91a6 100644 --- a/docs/framework/wcf/feature-details/ajax-integration-and-json-support.md +++ b/docs/framework/wcf/feature-details/ajax-integration-and-json-support.md @@ -8,7 +8,7 @@ ms.assetid: 3851a8fc-d861-4ac1-873c-96af0343d3a7 # AJAX Integration and JSON Support The Windows Communication Foundation (WCF) support for ASP.NET Asynchronous JavaScript and XML (AJAX) and the JavaScript Object Notation (JSON) data format allow WCF services to expose operations to AJAX clients. AJAX clients are Web pages running JavaScript code and accessing these WCF services using HTTP requests. The topics in this section provide information about this support and about how to implement it. - For more information about ASP.NET AJAX and its integration with ASP.NET 2.0, see [ASP.NET AJAX Overview](https://docs.microsoft.com/previous-versions/aspnet/bb398874(v=vs.100)). + For more information about ASP.NET AJAX and its integration with ASP.NET 2.0, see [ASP.NET AJAX Overview](/previous-versions/aspnet/bb398874(v=vs.100)). ## In This Section [Creating WCF Services for ASP.NET AJAX](creating-wcf-services-for-aspnet-ajax.md) diff --git a/docs/framework/wcf/feature-details/auditing-security-events.md b/docs/framework/wcf/feature-details/auditing-security-events.md index aa75da0512027..d79fc64e49f28 100644 --- a/docs/framework/wcf/feature-details/auditing-security-events.md +++ b/docs/framework/wcf/feature-details/auditing-security-events.md @@ -101,4 +101,4 @@ Applications created with Windows Communication Foundation (WCF) can log securit - [How to: Audit Security Events](how-to-audit-wcf-security-events.md) - [\](../../configure-apps/file-schema/wcf/servicesecurityaudit.md) - [\](../../configure-apps/file-schema/wcf/behaviors.md) -- [Security Model for Windows Server App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677202(v=azure.10)) +- [Security Model for Windows Server App Fabric](/previous-versions/appfabric/ee677202(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/authentication-in-wcf.md b/docs/framework/wcf/feature-details/authentication-in-wcf.md index 54a56452a6457..32ddb98e1dcc4 100644 --- a/docs/framework/wcf/feature-details/authentication-in-wcf.md +++ b/docs/framework/wcf/feature-details/authentication-in-wcf.md @@ -35,4 +35,4 @@ The following topics show a number of different mechanisms in Windows Communicat ## See also - [Security Overview](security-overview.md) -- [Security Model for Windows Server App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677202(v=azure.10)) +- [Security Model for Windows Server App Fabric](/previous-versions/appfabric/ee677202(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/authorization-in-wcf.md b/docs/framework/wcf/feature-details/authorization-in-wcf.md index 7b9c9c0de57da..8bdf77e3f731a 100644 --- a/docs/framework/wcf/feature-details/authorization-in-wcf.md +++ b/docs/framework/wcf/feature-details/authorization-in-wcf.md @@ -43,4 +43,4 @@ Authorization is the process of controlling access and rights to resources, such ## See also - [Security Overview](security-overview.md) -- [Security Model for Windows Server App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677202(v=azure.10)) +- [Security Model for Windows Server App Fabric](/previous-versions/appfabric/ee677202(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/bindings-and-security.md b/docs/framework/wcf/feature-details/bindings-and-security.md index 0be938d9f301b..595a34f09b486 100644 --- a/docs/framework/wcf/feature-details/bindings-and-security.md +++ b/docs/framework/wcf/feature-details/bindings-and-security.md @@ -239,4 +239,4 @@ The following table lists the client credential types available when using a bin - [Selecting a Credential Type](selecting-a-credential-type.md) - [Security Capabilities with Custom Bindings](security-capabilities-with-custom-bindings.md) - [Security Behaviors](security-behaviors-in-wcf.md) -- [Security Model for Windows Server App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677202(v=azure.10)) +- [Security Model for Windows Server App Fabric](/previous-versions/appfabric/ee677202(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/caching-support-for-wcf-web-http-services.md b/docs/framework/wcf/feature-details/caching-support-for-wcf-web-http-services.md index c94340a542cd7..a3303a92a88b2 100644 --- a/docs/framework/wcf/feature-details/caching-support-for-wcf-web-http-services.md +++ b/docs/framework/wcf/feature-details/caching-support-for-wcf-web-http-services.md @@ -5,7 +5,7 @@ ms.assetid: 7f8078e0-00d9-415c-b8ba-c1b6d5c31799 --- # Caching Support for WCF Web HTTP Services -[!INCLUDE[netfx_current_long](../../../../includes/netfx-current-long-md.md)] enables you to use the declarative caching mechanism already available in ASP.NET in your WCF Web HTTP services. This allows you to cache responses from your WCF Web HTTP service operations. When a user sends an HTTP GET to your service that is configured for caching, ASP.NET sends back the cached response and the service method is not called. When the cache expires, the next time a user sends an HTTP GET, your service method is called and the response is once again cached. For more information about ASP.NET caching, see [ASP.NET Caching Overview](https://docs.microsoft.com/previous-versions/aspnet/ms178597(v=vs.100)). +[!INCLUDE[netfx_current_long](../../../../includes/netfx-current-long-md.md)] enables you to use the declarative caching mechanism already available in ASP.NET in your WCF Web HTTP services. This allows you to cache responses from your WCF Web HTTP service operations. When a user sends an HTTP GET to your service that is configured for caching, ASP.NET sends back the cached response and the service method is not called. When the cache expires, the next time a user sends an HTTP GET, your service method is called and the response is once again cached. For more information about ASP.NET caching, see [ASP.NET Caching Overview](/previous-versions/aspnet/ms178597(v=vs.100)). ## Basic Web HTTP Service Caching @@ -119,7 +119,7 @@ Also turn on ASP.NET compatibility mode in the Web.config file as shown in the f Here the cache duration is set to 60 seconds, `varyByParam` is set to none, and `sqlDependency` is set to a semicolon-delimited list of database name/table pairs separated by colons. When data in `MyTable` is changed the cached response for the service operation is removed and when the operation is invoked a new response is generated (by calling the service operation), cached, and returned to the client. > [!IMPORTANT] -> For ASP.NET to access a SQL database, you must use the [ASP.NET SQL Server Registration Tool](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms229862(v=vs.90)). In addition you must allow the appropriate user account access to the database and table. For more information, see [Accessing SQL Server from a Web Application](https://docs.microsoft.com/previous-versions/aspnet/ht43wsex(v=vs.100)). +> For ASP.NET to access a SQL database, you must use the [ASP.NET SQL Server Registration Tool](/previous-versions/dotnet/netframework-3.5/ms229862(v=vs.90)). In addition you must allow the appropriate user account access to the database and table. For more information, see [Accessing SQL Server from a Web Application](/previous-versions/aspnet/ht43wsex(v=vs.100)). ## Conditional HTTP GET Based Caching diff --git a/docs/framework/wcf/feature-details/choosing-a-filter.md b/docs/framework/wcf/feature-details/choosing-a-filter.md index a84a99604a416..a865e9136a3b9 100644 --- a/docs/framework/wcf/feature-details/choosing-a-filter.md +++ b/docs/framework/wcf/feature-details/choosing-a-filter.md @@ -136,7 +136,7 @@ This filter is useful if you know that the messages you are receiving contain a Because XPath queries often contain unique namespaces, which are often lengthy or complex string values, the XPath filter allows you to use the namespace table to define unique prefixes for your namespaces. For more information about the namespace table, see [Message Filters](message-filters.md). -For more information about designing XPath queries, see [XPath Syntax](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms256471(v=vs.100)). +For more information about designing XPath queries, see [XPath Syntax](/previous-versions/dotnet/netframework-4.0/ms256471(v=vs.100)). ## See also diff --git a/docs/framework/wcf/feature-details/choosing-a-message-encoder.md b/docs/framework/wcf/feature-details/choosing-a-message-encoder.md index ddb99d84cdbc3..4bbb9164f8493 100644 --- a/docs/framework/wcf/feature-details/choosing-a-message-encoder.md +++ b/docs/framework/wcf/feature-details/choosing-a-message-encoder.md @@ -27,7 +27,7 @@ This article discusses criteria for choosing among the message encoders that are |Factor|Description|Encoders that support this factor| |------------|-----------------|---------------------------------------| -|Supported Character Sets| and support only the UTF8 and UTF16 Unicode (*big-endian* and *little-endian*) encodings. If other encodings are required, such as UTF7 or ASCII, a custom encoder must be used. For a sample custom encoder, see [Custom Message Encoder](https://docs.microsoft.com/dotnet/framework/wcf/samples/custom-message-encoder-custom-text-encoder).|Text| +|Supported Character Sets| and support only the UTF8 and UTF16 Unicode (*big-endian* and *little-endian*) encodings. If other encodings are required, such as UTF7 or ASCII, a custom encoder must be used. For a sample custom encoder, see [Custom Message Encoder](../samples/custom-message-encoder-custom-text-encoder.md).|Text| |Inspection|Inspection is the ability to examine messages during transmission. Text encodings, either with or without the use of SOAP, allow messages to be inspected and analyzed by many applications without the use of specialized tools. The use of transfer security, at either the message or transport level, affects your ability to inspect messages. Confidentiality protects a message from being examined and integrity protects a message from being modified.|Text| |Reliability|Reliability is the resiliency of an encoder to transmission errors. Reliability can also be provided at the message, transport, or application layer. All of the standard WCF encoders assume that another layer is providing reliability. The encoder has little ability to recover from a transmission error.|None| |Simplicity|Simplicity represents the ease with which you can create encoders and decoders for an encoding specification. Text encodings are particularly advantageous for simplicity, and the POX text encoding has the additional advantage of not requiring support for processing SOAP.|Text (POX)| diff --git a/docs/framework/wcf/feature-details/common-security-scenarios.md b/docs/framework/wcf/feature-details/common-security-scenarios.md index 460764b15a898..155d1f4357520 100644 --- a/docs/framework/wcf/feature-details/common-security-scenarios.md +++ b/docs/framework/wcf/feature-details/common-security-scenarios.md @@ -76,4 +76,4 @@ The topics in this section catalog a number of possible client and service secur ## See also - [Security Guidance and Best Practices](security-guidance-and-best-practices.md) -- [Security Model for Windows Server App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677202(v=azure.10)) +- [Security Model for Windows Server App Fabric](/previous-versions/appfabric/ee677202(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/comparing-aspnet-web-services-to-wcf-based-on-purpose-and-standards-used.md b/docs/framework/wcf/feature-details/comparing-aspnet-web-services-to-wcf-based-on-purpose-and-standards-used.md index 3b7caf8d59d19..2078e193e8249 100644 --- a/docs/framework/wcf/feature-details/comparing-aspnet-web-services-to-wcf-based-on-purpose-and-standards-used.md +++ b/docs/framework/wcf/feature-details/comparing-aspnet-web-services-to-wcf-based-on-purpose-and-standards-used.md @@ -8,7 +8,7 @@ ASP.NET Web services was developed for building applications that send and recei WCF is for enabling .NET Framework applications to exchange messages with other software entities. SOAP is used by default, but the messages can be in any format, and conveyed by using any transport protocol. The structure of the messages can be defined using an XML Schema, and there are various options for serializing the messages to and from .NET Framework objects. WCF can automatically generate metadata to describe applications built using the technology in WSDL, and it also provides a tool for generating clients for those applications from the WSDL. - The standards supported by ASP.NET Web services are documented in [Benefits of XML Web Services Created Using ASP.NET](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/0859ebft(v=vs.100)). The more extensive list of standards supported by WCF are listed at [Web Services Protocols Supported by System-Provided Interoperability Bindings](web-services-protocols-supported-by-system-provided-interoperability-bindings.md). + The standards supported by ASP.NET Web services are documented in [Benefits of XML Web Services Created Using ASP.NET](/previous-versions/dotnet/netframework-4.0/0859ebft(v=vs.100)). The more extensive list of standards supported by WCF are listed at [Web Services Protocols Supported by System-Provided Interoperability Bindings](web-services-protocols-supported-by-system-provided-interoperability-bindings.md). ## See also diff --git a/docs/framework/wcf/feature-details/config-wcf-service-with-aspnet-web-service.md b/docs/framework/wcf/feature-details/config-wcf-service-with-aspnet-web-service.md index b93598eddb1ce..1ef5eee8af46a 100644 --- a/docs/framework/wcf/feature-details/config-wcf-service-with-aspnet-web-service.md +++ b/docs/framework/wcf/feature-details/config-wcf-service-with-aspnet-web-service.md @@ -12,7 +12,7 @@ To configure a Windows Communication Foundation (WCF) service endpoint to be int You can optionally enable support for HTTPS and transport-level client authentication on the binding. ASP.NET Web service clients do not support MTOM message encoding, so the property should be left as its default value, which is . ASP.NET Web Service clients do not support WS-Security, so the should be set to . - To make the metadata for a WCF service available to ASP.NET Web service proxy generation tools (that is, [Web Services Description Language Tool (Wsdl.exe)](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/7h3ystb6(v%3dvs.100)), [Web Services Discovery Tool (Disco.exe)](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/cy2a3ybs(v=vs.100)), and the **Add Web Reference** feature in Visual Studio), you should expose an HTTP/GET metadata endpoint. + To make the metadata for a WCF service available to ASP.NET Web service proxy generation tools (that is, [Web Services Description Language Tool (Wsdl.exe)](/previous-versions/dotnet/netframework-4.0/7h3ystb6(v=vs.100)), [Web Services Discovery Tool (Disco.exe)](/previous-versions/dotnet/netframework-4.0/cy2a3ybs(v=vs.100)), and the **Add Web Reference** feature in Visual Studio), you should expose an HTTP/GET metadata endpoint. ## Add an endpoint in code diff --git a/docs/framework/wcf/feature-details/configuration-based-activation-in-iis-and-was.md b/docs/framework/wcf/feature-details/configuration-based-activation-in-iis-and-was.md index d274223ff9a0c..cdd9351a5c922 100644 --- a/docs/framework/wcf/feature-details/configuration-based-activation-in-iis-and-was.md +++ b/docs/framework/wcf/feature-details/configuration-based-activation-in-iis-and-was.md @@ -40,4 +40,4 @@ Configuration-based activation takes the metadata that used to be placed in the - [Hosting Services](../hosting-services.md) - [Hosting Workflow Services Overview](hosting-workflow-services-overview.md) - [\](../../configure-apps/file-schema/wcf/servicehostingenvironment.md) -- [Windows Server App Fabric Hosting Features](https://docs.microsoft.com/previous-versions/appfabric/ee677189(v=azure.10)) +- [Windows Server App Fabric Hosting Features](/previous-versions/appfabric/ee677189(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/configuring-iis-for-wcf.md b/docs/framework/wcf/feature-details/configuring-iis-for-wcf.md index 8776786219e11..b838fee126d3e 100644 --- a/docs/framework/wcf/feature-details/configuring-iis-for-wcf.md +++ b/docs/framework/wcf/feature-details/configuring-iis-for-wcf.md @@ -65,4 +65,4 @@ Internet Information Services (IIS) 7.0 has a modular design that allows you to - [WAS Activation Architecture](was-activation-architecture.md) - [Configuring WAS for Use with WCF](configuring-the-wpa--service-for-use-with-wcf.md) - [How to: Install and Configure WCF Activation Components](how-to-install-and-configure-wcf-activation-components.md) -- [Windows Server App Fabric Hosting Features](https://docs.microsoft.com/previous-versions/appfabric/ee677189(v=azure.10)) +- [Windows Server App Fabric Hosting Features](/previous-versions/appfabric/ee677189(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/configuring-the-wpa--service-for-use-with-wcf.md b/docs/framework/wcf/feature-details/configuring-the-wpa--service-for-use-with-wcf.md index 5738d45bc6171..a0d8680418a71 100644 --- a/docs/framework/wcf/feature-details/configuring-the-wpa--service-for-use-with-wcf.md +++ b/docs/framework/wcf/feature-details/configuring-the-wpa--service-for-use-with-wcf.md @@ -93,4 +93,4 @@ appcmd.exe set app "Default Web Site/appOne" /enabledProtocols:net.tcp ## See also - [Hosting in Windows Process Activation Service](hosting-in-windows-process-activation-service.md) -- [Windows Server App Fabric Hosting Features](https://docs.microsoft.com/previous-versions/appfabric/ee677189(v=azure.10)) +- [Windows Server App Fabric Hosting Features](/previous-versions/appfabric/ee677189(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/configuring-ws-atomic-transaction-support.md b/docs/framework/wcf/feature-details/configuring-ws-atomic-transaction-support.md index 1b84e649d81ac..302945b13ff31 100644 --- a/docs/framework/wcf/feature-details/configuring-ws-atomic-transaction-support.md +++ b/docs/framework/wcf/feature-details/configuring-ws-atomic-transaction-support.md @@ -53,7 +53,7 @@ In the following example outlines the steps to establish trust between two machi This procedure requires the MMC Certificates snap-in. The snap-in can be accessed by opening the Start/Run menu, typing "mmc" in the input box and pressing OK. Then, in the **Console1** window, navigate to **the File/Add-Remove** Snap-in, click Add, and choose **Certificates** from the **Available Standalone Snapins** list. Finally, select **Computer Account** to manage and click **OK**. The **Certificates** node appears in the snap-in console. -You must already possess the required certificates to establish trust. To learn how to create and install new certificates prior to the following steps, see [How to: Create and Install Temporary Client Certificates in WCF During Development](https://docs.microsoft.com/previous-versions/msp-n-p/ff650751(v=pandp.10)). +You must already possess the required certificates to establish trust. To learn how to create and install new certificates prior to the following steps, see [How to: Create and Install Temporary Client Certificates in WCF During Development](/previous-versions/msp-n-p/ff650751(v=pandp.10)). 1. On machine A, using the MMC Certificates snap-in, import the existing certificate (certA) into the LocalMachine\MY (Personal Node) and LocalMachine\ROOT store (trusted root certification authority node). To import a certificate to a specific node, right-click the node and choose **All Tasks/Import**. diff --git a/docs/framework/wcf/feature-details/correlation-overview.md b/docs/framework/wcf/feature-details/correlation-overview.md index c64485e554c8c..58cd742e10fc7 100644 --- a/docs/framework/wcf/feature-details/correlation-overview.md +++ b/docs/framework/wcf/feature-details/correlation-overview.md @@ -13,9 +13,9 @@ Correlation is the mechanism for relating workflow service messages to each othe ## Protocol-Based Correlation -Protocol-based correlation uses the transport mechanism to relate messages to each other and the appropriate instance. Some system-provided protocol correlations include request-reply correlation and context-based correlation. A request-reply correlation is used to correlate a single pair of messaging activities to form a two-way operation, such as a paired with a , or a paired with a . The Visual Studio Workflow Designer also provides a set of activity templates to quickly implement this pattern. A context-based correlation is based on the context exchange mechanism described in the [.NET Context Exchange Protocol Specification](https://docs.microsoft.com/openspecs/windows_protocols/mc-netcex/a7f26280-491f-465b-9914-c5eb5322dbb4). To use context-based correlation, a context-based binding such as , or must be used on the endpoint. +Protocol-based correlation uses the transport mechanism to relate messages to each other and the appropriate instance. Some system-provided protocol correlations include request-reply correlation and context-based correlation. A request-reply correlation is used to correlate a single pair of messaging activities to form a two-way operation, such as a paired with a , or a paired with a . The Visual Studio Workflow Designer also provides a set of activity templates to quickly implement this pattern. A context-based correlation is based on the context exchange mechanism described in the [.NET Context Exchange Protocol Specification](/openspecs/windows_protocols/mc-netcex/a7f26280-491f-465b-9914-c5eb5322dbb4). To use context-based correlation, a context-based binding such as , or must be used on the endpoint. -For more information about protocol correlation, see [Durable Duplex](durable-duplex-correlation.md) and [Request-Reply](request-reply-correlation.md). For more information about using the Visual Studio Workflow Designer activity templates, see [Messaging Activities](messaging-activities.md). For sample code, see the [NetContextExchangeCorrelation](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ee662963%28v%3dvs.100%29) sample. +For more information about protocol correlation, see [Durable Duplex](durable-duplex-correlation.md) and [Request-Reply](request-reply-correlation.md). For more information about using the Visual Studio Workflow Designer activity templates, see [Messaging Activities](messaging-activities.md). For sample code, see the [NetContextExchangeCorrelation](/previous-versions/dotnet/netframework-4.0/ee662963(v=vs.100)) sample. ## Content-Based Correlation @@ -23,4 +23,4 @@ Content-based correlation uses some piece of information in the message to assoc ## See also -- [NetContextExchangeCorrelation](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ee662963%28v%3dvs.100%29) +- [NetContextExchangeCorrelation](/previous-versions/dotnet/netframework-4.0/ee662963(v=vs.100)) diff --git a/docs/framework/wcf/feature-details/debugging-windows-authentication-errors.md b/docs/framework/wcf/feature-details/debugging-windows-authentication-errors.md index b6e2ee07a60a0..0607828cdb5dc 100644 --- a/docs/framework/wcf/feature-details/debugging-windows-authentication-errors.md +++ b/docs/framework/wcf/feature-details/debugging-windows-authentication-errors.md @@ -13,7 +13,7 @@ ms.assetid: 181be4bd-79b1-4a66-aee2-931887a6d7cc When using Windows authentication as a security mechanism, the Security Support Provider Interface (SSPI) handles security processes. When security errors occur at the SSPI layer, they are surfaced by Windows Communication Foundation (WCF). This topic provides a framework and set of questions to help diagnose the errors. - For an overview of the Kerberos protocol, see [Kerberos Explained](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-2000-server/bb742516(v=technet.10)); for an overview of SSPI, see [SSPI](/windows/win32/secauthn/sspi). + For an overview of the Kerberos protocol, see [Kerberos Explained](/previous-versions/windows/it-pro/windows-2000-server/bb742516(v=technet.10)); for an overview of SSPI, see [SSPI](/windows/win32/secauthn/sspi). For Windows authentication, WCF typically uses the *Negotiate* Security Support Provider (SSP), which performs Kerberos mutual authentication between the client and service. If the Kerberos protocol is not available, by default WCF falls back to NT LAN Manager (NTLM). However, you can configure WCF to use only the Kerberos protocol (and to throw an exception if Kerberos is not available). You can also configure WCF to use restricted forms of the Kerberos protocol. @@ -61,7 +61,7 @@ When using Windows authentication as a security mechanism, the Security Support In load-balancing scenarios, such as Web farms or Web gardens, a common practice is to define a unique account for each application, assign an SPN to that account, and ensure that all of the application's services run in that account. - To obtain an SPN for your service's account, you need to be an Active Directory domain administrator. For more information, see [Kerberos Technical Supplement for Windows](https://docs.microsoft.com/previous-versions/msp-n-p/ff649429(v=pandp.10)). + To obtain an SPN for your service's account, you need to be an Active Directory domain administrator. For more information, see [Kerberos Technical Supplement for Windows](/previous-versions/msp-n-p/ff649429(v=pandp.10)). #### Kerberos Protocol Direct Requires the Service to Run Under a Domain Machine Account This occurs when the `ClientCredentialType` property is set to `Windows` and the property is set to `false`, as shown in the following code. diff --git a/docs/framework/wcf/feature-details/delegation-and-impersonation-with-wcf.md b/docs/framework/wcf/feature-details/delegation-and-impersonation-with-wcf.md index 33838bca1aebe..0663087e343e4 100644 --- a/docs/framework/wcf/feature-details/delegation-and-impersonation-with-wcf.md +++ b/docs/framework/wcf/feature-details/delegation-and-impersonation-with-wcf.md @@ -165,7 +165,7 @@ sh.Credentials.ClientCertificate.Authentication.MapClientCertificateToWindowsAcc ``` ## Delegation - To delegate to a back-end service, a service must perform Kerberos multi-leg (SSPI without NTLM fallback) or Kerberos direct authentication to the back-end service using the client’s Windows identity. To delegate to a back-end service, create a and a channel, and then communicate through the channel while impersonating the client. With this form of delegation, the distance at which the back-end service can be located from the front-end service depends on the impersonation level achieved by the front-end service. When the impersonation level is , the front-end and back-end services must be running on the same machine. When the impersonation level is , the front-end and back-end services can be on separate machines or on the same machine. Enabling delegation-level impersonation requires that Windows domain policy be configured to permit delegation. For more information about configuring Active Directory for delegation support, see [Enabling Delegated Authentication](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc780217(v=ws.10)). + To delegate to a back-end service, a service must perform Kerberos multi-leg (SSPI without NTLM fallback) or Kerberos direct authentication to the back-end service using the client’s Windows identity. To delegate to a back-end service, create a and a channel, and then communicate through the channel while impersonating the client. With this form of delegation, the distance at which the back-end service can be located from the front-end service depends on the impersonation level achieved by the front-end service. When the impersonation level is , the front-end and back-end services must be running on the same machine. When the impersonation level is , the front-end and back-end services can be on separate machines or on the same machine. Enabling delegation-level impersonation requires that Windows domain policy be configured to permit delegation. For more information about configuring Active Directory for delegation support, see [Enabling Delegated Authentication](/previous-versions/windows/it-pro/windows-server-2003/cc780217(v=ws.10)). > [!NOTE] > When a client authenticates to the front-end service using a user name and password that correspond to a Windows account on the back-end service, the front-end service can authenticate to the back-end service by reusing the client’s user name and password. This is a particularly powerful form of identity flow, because passing user name and password to the back-end service enables the back-end service to perform impersonation, but it does not constitute delegation because Kerberos is not used. Active Directory controls on delegation do not apply to user name and password authentication. @@ -184,7 +184,7 @@ sh.Credentials.ClientCertificate.Authentication.MapClientCertificateToWindowsAcc [!code-vb[c_delegation#1](../../../../samples/snippets/visualbasic/VS_Snippets_CFX/c_delegation/vb/source.vb#1)] ### How to Configure an Application to Use Constrained Delegation - Before you can use constrained delegation, the sender, receiver, and the domain controller must be configured to do so. The following procedure lists the steps that enable constrained delegation. For details about the differences between delegation and constrained delegation, see the portion of [Windows Server 2003 Kerberos Extensions](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc738207(v=ws.10)) that discusses constrained discussion. + Before you can use constrained delegation, the sender, receiver, and the domain controller must be configured to do so. The following procedure lists the steps that enable constrained delegation. For details about the differences between delegation and constrained delegation, see the portion of [Windows Server 2003 Kerberos Extensions](/previous-versions/windows/it-pro/windows-server-2003/cc738207(v=ws.10)) that discusses constrained discussion. 1. On the domain controller, clear the **Account is sensitive and cannot be delegated** check box for the account under which the client application is running. @@ -194,7 +194,7 @@ sh.Credentials.ClientCertificate.Authentication.MapClientCertificateToWindowsAcc 4. On the domain controller, configure the middle tier computer to use constrained delegation, by clicking the **Trust this computer for delegation to specified services only** option. - For more detailed instructions about configuring constrained delegation, see [Kerberos Protocol Transition and Constrained Delegation](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc739587(v=ws.10)). + For more detailed instructions about configuring constrained delegation, see [Kerberos Protocol Transition and Constrained Delegation](/previous-versions/windows/it-pro/windows-server-2003/cc739587(v=ws.10)). ## See also diff --git a/docs/framework/wcf/feature-details/denial-of-service.md b/docs/framework/wcf/feature-details/denial-of-service.md index dbc1553a940a9..29aed6fe488d1 100644 --- a/docs/framework/wcf/feature-details/denial-of-service.md +++ b/docs/framework/wcf/feature-details/denial-of-service.md @@ -38,7 +38,7 @@ Denial of service occurs when a system is overwhelmed in such a way that message ## Auditing Event Log Can Be Filled If a malicious user understands that auditing is enabled, that attacker can send invalid messages that cause audit entries to be written. If the audit log is filled in this manner, the auditing system fails. - To mitigate this, set the property to `true` and use the properties of the Event Viewer to control the auditing behavior. For more information about using the Event Viewer to view and manage event logs, see [Event Viewer](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc766042(v=ws.11)). For more information, see [Auditing](auditing-security-events.md). + To mitigate this, set the property to `true` and use the properties of the Event Viewer to control the auditing behavior. For more information about using the Event Viewer to view and manage event logs, see [Event Viewer](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc766042(v=ws.11)). For more information, see [Auditing](auditing-security-events.md). ## Invalid Implementations of IAuthorizationPolicy Can Cause Service to Become Unresponsive Calling the method on a faulty implementation of the interface can cause the service to become unresponsive. @@ -55,7 +55,7 @@ Denial of service occurs when a system is overwhelmed in such a way that message To mitigate this, reference the exact certificate to use by using a more precise search criterion on the [\](../../configure-apps/file-schema/wcf/servicecredentials.md). For example, use the option, and specify the certificate by its unique thumbprint (hash). - For more information about the autoenrollment feature, see [Certificate Autoenrollment in Windows Server 2003](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc778954(v%3dws.10)). + For more information about the autoenrollment feature, see [Certificate Autoenrollment in Windows Server 2003](/previous-versions/windows/it-pro/windows-server-2003/cc778954(v=ws.10)). ## Last of Multiple Alternative Subject Names Used for Authorization In the rare case when an X.509 certificate contains multiple alternative subject names, and you authorize using the alternative subject name, authorization may fail. diff --git a/docs/framework/wcf/feature-details/deploying-an-internet-information-services-hosted-wcf-service.md b/docs/framework/wcf/feature-details/deploying-an-internet-information-services-hosted-wcf-service.md index c679fbe883ef6..105f78309f6fe 100644 --- a/docs/framework/wcf/feature-details/deploying-an-internet-information-services-hosted-wcf-service.md +++ b/docs/framework/wcf/feature-details/deploying-an-internet-information-services-hosted-wcf-service.md @@ -32,13 +32,13 @@ The installation process for .NET Framework automatically registers WCF with IIS - Windows 7 and Windows Server 2003: Use the [ServiceModel Registration Tool (ServiceModelReg.exe)](../servicemodelreg-exe.md) tool to register WCF with IIS. To use this tool, type **ServiceModelReg.exe /i /x** in the [Developer Command Prompt for Visual Studio](../../tools/developer-command-prompt-for-vs.md). -- Windows 7: Finally, you must verify that ASP.NET is configured to use the .NET Framework version 4 or later. You do this by running the ASPNET_Regiis tool with the `–i` option. For more information, see [ASP.NET IIS Registration Tool](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/k6h9cz8h(v=vs.90)). +- Windows 7: Finally, you must verify that ASP.NET is configured to use the .NET Framework version 4 or later. You do this by running the ASPNET_Regiis tool with the `–i` option. For more information, see [ASP.NET IIS Registration Tool](/previous-versions/dotnet/netframework-3.5/k6h9cz8h(v=vs.90)). ## Create a New IIS Application or Reuse an Existing ASP.NET Application IIS-hosted WCF services must reside inside of an IIS application. You can create a new IIS application to host WCF services exclusively. Alternatively, you can deploy an WCF service into an existing application that is already hosting ASP.NET 2.0 content (such as .aspx pages and ASP.NET Web services [ASMX]). For more information about these options, see the "Hosting WCF Side-by-Side with ASP.NET" and "Hosting WCF Services in ASP.NET Compatibility Mode" sections in [WCF Services and ASP.NET](wcf-services-and-aspnet.md). -Note that IIS 6.0 and later versions periodically restart an isolated object-oriented programming application. The default value is 1740 minutes. The maximum value supported is 71,582 minutes. This restart can be disabled. For more information about this property, see the [PeriodicRestartTime](https://docs.microsoft.com/previous-versions/iis/6.0-sdk/ms525914(v=vs.90)). +Note that IIS 6.0 and later versions periodically restart an isolated object-oriented programming application. The default value is 1740 minutes. The maximum value supported is 71,582 minutes. This restart can be disabled. For more information about this property, see the [PeriodicRestartTime](/previous-versions/iis/6.0-sdk/ms525914(v=vs.90)). ## Create an .svc File for the WCF Service @@ -66,7 +66,7 @@ WCF services hosted in IIS use the same dynamic compilation model as ASP.NET 2.0 - As uncompiled code placed directly in the .svc file. Implementation code can also be located inline in the service’s .svc file, after the \@ServiceHost directive. Any changes to inline code cause the application to be recycled and recompiled when the next request is received. -For more information about the ASP.NET 2.0 compilation model, see [ASP.NET Compilation Overview](https://docs.microsoft.com/previous-versions/aspnet/ms178466(v=vs.100)). +For more information about the ASP.NET 2.0 compilation model, see [ASP.NET Compilation Overview](/previous-versions/aspnet/ms178466(v=vs.100)). ## Configure the WCF Service @@ -108,4 +108,4 @@ For example, a WCF endpoint configured to use HTTP digest authentication must re - [Hosting in Internet Information Services](hosting-in-internet-information-services.md) - [Internet Information Services Hosting Best Practices](internet-information-services-hosting-best-practices.md) -- [Windows Server App Fabric Hosting Features](https://docs.microsoft.com/previous-versions/appfabric/ee677189(v=azure.10)) +- [Windows Server App Fabric Hosting Features](/previous-versions/appfabric/ee677189(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/distributed-application-security.md b/docs/framework/wcf/feature-details/distributed-application-security.md index 3395519fcf2a5..aca39ccd71f3a 100644 --- a/docs/framework/wcf/feature-details/distributed-application-security.md +++ b/docs/framework/wcf/feature-details/distributed-application-security.md @@ -93,4 +93,4 @@ Windows Communication Foundation (WCF) security is broken into three major funct - [Endpoint Creation Overview](../endpoint-creation-overview.md) - [System-Provided Bindings](../system-provided-bindings.md) - [Security Overview](security-overview.md) -- [Security Model for Windows Server App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677202(v=azure.10)) +- [Security Model for Windows Server App Fabric](/previous-versions/appfabric/ee677202(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/error-handling.md b/docs/framework/wcf/feature-details/error-handling.md index 92a102f2b1520..8cebd8be1cdba 100644 --- a/docs/framework/wcf/feature-details/error-handling.md +++ b/docs/framework/wcf/feature-details/error-handling.md @@ -17,7 +17,7 @@ This Library includes out-of-the-box a Fault Contract Exception Handler. This ex Application blocks aim to incorporate commonly used best practices and provide a common approach for exception handling throughout your application. On the other hand, custom error handlers and fault contracts developed on one’s own can also be very useful. For instance, custom error handlers provide an excellent opportunity to automatically promote all exceptions to FaultExceptions and also to add logging capabilities to your application. -For more information, please see [Microsoft Enterprise Library](https://docs.microsoft.com/previous-versions/msp-n-p/ff632023(v=pandp.10)). +For more information, please see [Microsoft Enterprise Library](/previous-versions/msp-n-p/ff632023(v=pandp.10)). ## Dealing with expected exceptions diff --git a/docs/framework/wcf/feature-details/extended-protection-for-authentication-overview.md b/docs/framework/wcf/feature-details/extended-protection-for-authentication-overview.md index fc8f6663c0bbd..4dda2f952b828 100644 --- a/docs/framework/wcf/feature-details/extended-protection-for-authentication-overview.md +++ b/docs/framework/wcf/feature-details/extended-protection-for-authentication-overview.md @@ -28,4 +28,4 @@ Extended Protection for Authentication helps protect against man-in-the-middle ( ## See also -- [Security Model for Windows Server App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677202(v=azure.10)) +- [Security Model for Windows Server App Fabric](/previous-versions/appfabric/ee677202(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/federation-and-issued-tokens.md b/docs/framework/wcf/feature-details/federation-and-issued-tokens.md index 39e64a1d1c566..224ac31df09d0 100644 --- a/docs/framework/wcf/feature-details/federation-and-issued-tokens.md +++ b/docs/framework/wcf/feature-details/federation-and-issued-tokens.md @@ -59,4 +59,4 @@ With Windows Communication Foundation (WCF), you can create clients that communi - [Authorization](authorization-in-wcf.md) - [Custom Tokens](../extending/custom-tokens.md) -- [Security Model for Windows Server App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677202(v=azure.10)) +- [Security Model for Windows Server App Fabric](/previous-versions/appfabric/ee677202(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/hosting-in-a-windows-service-application.md b/docs/framework/wcf/feature-details/hosting-in-a-windows-service-application.md index 7f18d1b3487f5..9b8abd31001a2 100644 --- a/docs/framework/wcf/feature-details/hosting-in-a-windows-service-application.md +++ b/docs/framework/wcf/feature-details/hosting-in-a-windows-service-application.md @@ -37,4 +37,4 @@ Windows services (formerly known as Windows NT services) provide a process model - [How to: Host a WCF Service in a Managed Windows Service](how-to-host-a-wcf-service-in-a-managed-windows-service.md) - [Windows Service Host](../samples/windows-service-host.md) - [Service Application Programming Architecture](https://go.microsoft.com/fwlink/?LinkId=94876) -- [Windows Server App Fabric Hosting Features](https://docs.microsoft.com/previous-versions/appfabric/ee677189(v=azure.10)) +- [Windows Server App Fabric Hosting Features](/previous-versions/appfabric/ee677189(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/hosting-in-internet-information-services.md b/docs/framework/wcf/feature-details/hosting-in-internet-information-services.md index 5cab403e582da..7c7f752d1df27 100644 --- a/docs/framework/wcf/feature-details/hosting-in-internet-information-services.md +++ b/docs/framework/wcf/feature-details/hosting-in-internet-information-services.md @@ -19,7 +19,7 @@ WCF can be hosted on the following versions of IIS on the following operating sy - IIS 7.0 on Windows Vista and Windows Server 2008. IIS 7.0 provides the same advanced process model as IIS 6.0, but uses the Windows Process Activation Service (WAS) to allow activation and network communication over protocols other than HTTP. This environment is suitable for the development of WCF services that communicate over any network protocol supported by WCF (including HTTP, net.tcp, net.pipe, and net.msmq). For more information about WAS, see [Hosting in Windows Process Activation Service](hosting-in-windows-process-activation-service.md). -- [Windows Server AppFabric](https://docs.microsoft.com/previous-versions/appfabric/ff384253(v=azure.10)) works with IIS 7.0 and Windows Process Activation Service (WAS) to provide a rich application hosting environment for NET4 WCF and WF services. These benefits include process life-cycle management, process recycling, shared hosting, rapid failure protection, process orphaning, on-demand activation, and health monitoring. For detailed information, see [AppFabric Hosting Features](https://docs.microsoft.com/previous-versions/appfabric/ee677189(v=azure.10)) and [AppFabric Hosting Concepts](https://docs.microsoft.com/previous-versions/appfabric/ee677371(v=azure.10)). +- [Windows Server AppFabric](/previous-versions/appfabric/ff384253(v=azure.10)) works with IIS 7.0 and Windows Process Activation Service (WAS) to provide a rich application hosting environment for NET4 WCF and WF services. These benefits include process life-cycle management, process recycling, shared hosting, rapid failure protection, process orphaning, on-demand activation, and health monitoring. For detailed information, see [AppFabric Hosting Features](/previous-versions/appfabric/ee677189(v=azure.10)) and [AppFabric Hosting Concepts](/previous-versions/appfabric/ee677371(v=azure.10)). ## Benefits of IIS hosting @@ -62,4 +62,4 @@ WCF services can be hosted either side-by-side with ASP.NET or in ASP.NET Compat - [WCF Services and ASP.NET](wcf-services-and-aspnet.md) - [Internet Information Services Hosting Best Practices](internet-information-services-hosting-best-practices.md) - [Configuring Internet Information Services 7.0 for Windows Communication Foundation](configuring-iis-for-wcf.md) -- [Windows Server App Fabric Hosting Features](https://docs.microsoft.com/previous-versions/appfabric/ee677189(v=azure.10)) +- [Windows Server App Fabric Hosting Features](/previous-versions/appfabric/ee677189(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/hosting-in-windows-process-activation-service.md b/docs/framework/wcf/feature-details/hosting-in-windows-process-activation-service.md index 13a1f99c57c39..08bfcc83c974f 100644 --- a/docs/framework/wcf/feature-details/hosting-in-windows-process-activation-service.md +++ b/docs/framework/wcf/feature-details/hosting-in-windows-process-activation-service.md @@ -20,7 +20,7 @@ The Windows Process Activation Service (WAS) manages the activation and lifetime - Centralized application configuration and management. - Allows applications to take advantage of the IIS process model without requiring the deployment footprint of a full IIS installation. -[Windows Server AppFabric](https://docs.microsoft.com/previous-versions/appfabric/ff384253(v=azure.10)) works with IIS 7.0 and Windows Process Activation Service (WAS) to provide a rich application hosting environment for NET4 WCF and WF services. These benefits include process life-cycle management, process recycling, shared hosting, rapid failure protection, process orphaning, on-demand activation, and health monitoring. For detailed information, see [AppFabric Hosting Features](https://docs.microsoft.com/previous-versions/appfabric/ee677189(v=azure.10)) and [AppFabric Hosting Concepts](https://docs.microsoft.com/previous-versions/appfabric/ee677371(v=azure.10)). +[Windows Server AppFabric](/previous-versions/appfabric/ff384253(v=azure.10)) works with IIS 7.0 and Windows Process Activation Service (WAS) to provide a rich application hosting environment for NET4 WCF and WF services. These benefits include process life-cycle management, process recycling, shared hosting, rapid failure protection, process orphaning, on-demand activation, and health monitoring. For detailed information, see [AppFabric Hosting Features](/previous-versions/appfabric/ee677189(v=azure.10)) and [AppFabric Hosting Concepts](/previous-versions/appfabric/ee677371(v=azure.10)). ## Elements of the WAS Addressing Model Applications have Uniform Resource Identifier (URI) addresses, which are the code units whose lifetime and execution environment are managed by the server. A single WAS server instance can be home to many different applications. Servers organize applications into groups called *sites*. Within a site, applications are arranged in a hierarchical manner that reflects the structure of the URIs that serve as their external addresses. @@ -49,4 +49,4 @@ The Windows Process Activation Service (WAS) manages the activation and lifetime - [Configuring WAS for Use with WCF](configuring-the-wpa--service-for-use-with-wcf.md) - [How to: Install and Configure WCF Activation Components](how-to-install-and-configure-wcf-activation-components.md) - [How to: Host a WCF Service in WAS](how-to-host-a-wcf-service-in-was.md) -- [Windows Server App Fabric Hosting Features](https://docs.microsoft.com/previous-versions/appfabric/ee677189(v=azure.10)) +- [Windows Server App Fabric Hosting Features](/previous-versions/appfabric/ee677189(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/hosting-workflow-services.md b/docs/framework/wcf/feature-details/hosting-workflow-services.md index 89a27658e7e4a..90e9fed65d866 100644 --- a/docs/framework/wcf/feature-details/hosting-workflow-services.md +++ b/docs/framework/wcf/feature-details/hosting-workflow-services.md @@ -5,7 +5,7 @@ ms.assetid: 2d55217e-8697-4113-94ce-10b60863342e --- # Hosting Workflow Services -A workflow service must be hosted for it to respond to incoming messages. Workflow services use the WCF messaging infrastructure and are therefore hosted in similar ways. Like WCF services, workflow services can be hosted in any managed application, under Internet Information Services (IIS), or under Windows Process Activation Services (WAS). In addition, workflow services can be hosted under Windows Server App Fabric. For more information about Windows Server App Fabric see [Windows Server App Fabric documentation](https://docs.microsoft.com/previous-versions/appfabric/ff384253(v=azure.10)), [AppFabric Hosting Features](https://docs.microsoft.com/previous-versions/appfabric/ee677189(v=azure.10)), and [AppFabric Hosting Concepts](https://docs.microsoft.com/previous-versions/appfabric/ee677371(v=azure.10)). For more information about the various ways to host WCF services see [Hosting Services](../hosting-services.md). +A workflow service must be hosted for it to respond to incoming messages. Workflow services use the WCF messaging infrastructure and are therefore hosted in similar ways. Like WCF services, workflow services can be hosted in any managed application, under Internet Information Services (IIS), or under Windows Process Activation Services (WAS). In addition, workflow services can be hosted under Windows Server App Fabric. For more information about Windows Server App Fabric see [Windows Server App Fabric documentation](/previous-versions/appfabric/ff384253(v=azure.10)), [AppFabric Hosting Features](/previous-versions/appfabric/ee677189(v=azure.10)), and [AppFabric Hosting Concepts](/previous-versions/appfabric/ee677371(v=azure.10)). For more information about the various ways to host WCF services see [Hosting Services](../hosting-services.md). ## Hosting in a managed application To host a workflow service in a managed application, use the class. The constructor allows you to specify a singleton workflow service instance, a workflow service definition, or an activity that uses the workflow messaging activities. Calling causes the service to start listening for incoming messages. diff --git a/docs/framework/wcf/feature-details/hosting.md b/docs/framework/wcf/feature-details/hosting.md index e72e5359dce59..40786c36c51a9 100644 --- a/docs/framework/wcf/feature-details/hosting.md +++ b/docs/framework/wcf/feature-details/hosting.md @@ -10,7 +10,7 @@ The topics in the section describe service hosting. A service can be hosted by I ## In This Section [Hosting in Internet Information Services](hosting-in-internet-information-services.md) - Describes how a Windows Communication Foundation (WCF) service is hosted in Internet Information Services or [Windows Server AppFabric](https://docs.microsoft.com/previous-versions/appfabric/ff384253(v=azure.10)). + Describes how a Windows Communication Foundation (WCF) service is hosted in Internet Information Services or [Windows Server AppFabric](/previous-versions/appfabric/ff384253(v=azure.10)). [Hosting in Windows Process Activation Service](hosting-in-windows-process-activation-service.md) Describes how a WCF service is hosted by Windows Process Activation Service. @@ -30,4 +30,4 @@ The topics in the section describe service hosting. A service can be hosted by I ## See also - [Hosting Services](../hosting-services.md) -- [Windows Server App Fabric Hosting Features](https://docs.microsoft.com/previous-versions/appfabric/ee677189(v=azure.10)) +- [Windows Server App Fabric Hosting Features](/previous-versions/appfabric/ee677189(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/how-to-access-a-service-from-a-workflow-application.md b/docs/framework/wcf/feature-details/how-to-access-a-service-from-a-workflow-application.md index 0dcef650c9d68..6cabe8fb8610f 100644 --- a/docs/framework/wcf/feature-details/how-to-access-a-service-from-a-workflow-application.md +++ b/docs/framework/wcf/feature-details/how-to-access-a-service-from-a-workflow-application.md @@ -60,4 +60,4 @@ This topic describes how to call a workflow service from a workflow console appl - [Workflow Services](workflow-services.md) - [How to: Create a Workflow Service with Messaging Activities](how-to-create-a-workflow-service-with-messaging-activities.md) -- [Consuming a WCF Service from a Workflow in a Web Project](https://docs.microsoft.com/archive/blogs/endpoint/how-to-consume-a-wcf-service-from-a-wf4-workflow) +- [Consuming a WCF Service from a Workflow in a Web Project](/archive/blogs/endpoint/how-to-consume-a-wcf-service-from-a-wf4-workflow) diff --git a/docs/framework/wcf/feature-details/how-to-access-a-wse-3-0-service-with-a-wcf-client.md b/docs/framework/wcf/feature-details/how-to-access-a-wse-3-0-service-with-a-wcf-client.md index a86f943164bcb..273922ae9e9d7 100644 --- a/docs/framework/wcf/feature-details/how-to-access-a-wse-3-0-service-with-a-wcf-client.md +++ b/docs/framework/wcf/feature-details/how-to-access-a-wse-3-0-service-with-a-wcf-client.md @@ -21,7 +21,7 @@ Windows Communication Foundation (WCF) clients are wire-level compatible with We 2. Create a class that represents a binding that can communicate with WSE 3.0 Web services. - The following class is part of the [Interoperating with WSE](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms752257%28v=vs.90%29) sample: + The following class is part of the [Interoperating with WSE](/previous-versions/dotnet/netframework-3.5/ms752257(v=vs.90)) sample: 1. Create a class that derives from the class. @@ -57,4 +57,4 @@ Windows Communication Foundation (WCF) clients are wire-level compatible with We ## See also - -- [Interoperating with WSE](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms752257%28v=vs.90%29) +- [Interoperating with WSE](/previous-versions/dotnet/netframework-3.5/ms752257(v=vs.90)) diff --git a/docs/framework/wcf/feature-details/how-to-configure-a-port-with-an-ssl-certificate.md b/docs/framework/wcf/feature-details/how-to-configure-a-port-with-an-ssl-certificate.md index 7bbb35c3d76db..056fe35ac96cc 100644 --- a/docs/framework/wcf/feature-details/how-to-configure-a-port-with-an-ssl-certificate.md +++ b/docs/framework/wcf/feature-details/how-to-configure-a-port-with-an-ssl-certificate.md @@ -17,7 +17,7 @@ When creating a self-hosted Windows Communication Foundation (WCF) service with To configure a port, the tool you use depends on the operating system that is running on your machine. - If you are running Windows Server 2003, use the HttpCfg.exe tool. On Windows Server 2003, this tool is installed. For more information, see [Httpcfg Overview](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc787508(v=ws.10)). The [Windows Support Tools documentation](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc781601(v=ws.10)) explains the syntax for the Httpcfg.exe tool. + If you are running Windows Server 2003, use the HttpCfg.exe tool. On Windows Server 2003, this tool is installed. For more information, see [Httpcfg Overview](/previous-versions/windows/it-pro/windows-server-2003/cc787508(v=ws.10)). The [Windows Support Tools documentation](/previous-versions/windows/it-pro/windows-server-2003/cc781601(v=ws.10)) explains the syntax for the Httpcfg.exe tool. If you are running Windows Vista, use the Netsh.exe tool that is already installed. diff --git a/docs/framework/wcf/feature-details/how-to-configure-a-wcf-client-to-interoperate-with-wse3-0-services.md b/docs/framework/wcf/feature-details/how-to-configure-a-wcf-client-to-interoperate-with-wse3-0-services.md index 3df0fcc0dbca0..21d67b4ee1658 100644 --- a/docs/framework/wcf/feature-details/how-to-configure-a-wcf-client-to-interoperate-with-wse3-0-services.md +++ b/docs/framework/wcf/feature-details/how-to-configure-a-wcf-client-to-interoperate-with-wse3-0-services.md @@ -19,7 +19,7 @@ Windows Communication Foundation (WCF) clients are wire-level compatible with We 2. Create a class that represents a binding that can communicate with WSE 3.0 Web services. - The following class is part of the [Interoperating with WSE](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms752257%28v=vs.90%29) sample. + The following class is part of the [Interoperating with WSE](/previous-versions/dotnet/netframework-3.5/ms752257(v=vs.90)) sample. 1. Create a class that derives from the class. @@ -58,4 +58,4 @@ Windows Communication Foundation (WCF) clients are wire-level compatible with We ## See also - -- [Interoperating with WSE](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms752257%28v=vs.90%29) +- [Interoperating with WSE](/previous-versions/dotnet/netframework-3.5/ms752257(v=vs.90)) diff --git a/docs/framework/wcf/feature-details/how-to-configure-persistence-with-workflowservicehost.md b/docs/framework/wcf/feature-details/how-to-configure-persistence-with-workflowservicehost.md index 8a55372780b47..d016b239a59ec 100644 --- a/docs/framework/wcf/feature-details/how-to-configure-persistence-with-workflowservicehost.md +++ b/docs/framework/wcf/feature-details/how-to-configure-persistence-with-workflowservicehost.md @@ -25,7 +25,7 @@ This topic describes how to configure the SQL Workflow Instance Store feature to ``` - For more information about how to configure the SQL workflow instance store, see [How to: Enable SQL Persistence for Workflows and Workflow Services](../../windows-workflow-foundation/how-to-enable-sql-persistence-for-workflows-and-workflow-services.md). For more information about the individual settings for the <`sqlWorkflowInstanceStore`> behavior element, see [SQL Workflow Instance Store](../../windows-workflow-foundation/sql-workflow-instance-store.md). Windows Server App Fabric provides its own persistence store. For more information, see [Windows Server App Fabric Persistence](https://docs.microsoft.com/previous-versions/appfabric/ee677272(v=azure.10)). + For more information about how to configure the SQL workflow instance store, see [How to: Enable SQL Persistence for Workflows and Workflow Services](../../windows-workflow-foundation/how-to-enable-sql-persistence-for-workflows-and-workflow-services.md). For more information about the individual settings for the <`sqlWorkflowInstanceStore`> behavior element, see [SQL Workflow Instance Store](../../windows-workflow-foundation/sql-workflow-instance-store.md). Windows Server App Fabric provides its own persistence store. For more information, see [Windows Server App Fabric Persistence](/previous-versions/appfabric/ee677272(v=azure.10)). > [!NOTE] > The preceding configuration example uses simplified configuration. For more information, see [Simplified Configuration](../simplified-configuration.md) @@ -46,7 +46,7 @@ This topic describes how to configure the SQL Workflow Instance Store feature to }); ``` - For more information about how to configure the SQL workflow instance store, see [How to: Enable SQL Persistence for Workflows and Workflow Services](../../windows-workflow-foundation/how-to-enable-sql-persistence-for-workflows-and-workflow-services.md). For more information about the individual settings for the behavior element, see [SQL Workflow Instance Store](../../windows-workflow-foundation/sql-workflow-instance-store.md). Windows Server App Fabric provides its own persistence store. For more information, see [Windows Server App Fabric Persistence](https://docs.microsoft.com/previous-versions/appfabric/ee677272(v=azure.10)). + For more information about how to configure the SQL workflow instance store, see [How to: Enable SQL Persistence for Workflows and Workflow Services](../../windows-workflow-foundation/how-to-enable-sql-persistence-for-workflows-and-workflow-services.md). For more information about the individual settings for the behavior element, see [SQL Workflow Instance Store](../../windows-workflow-foundation/sql-workflow-instance-store.md). Windows Server App Fabric provides its own persistence store. For more information, see [Windows Server App Fabric Persistence](/previous-versions/appfabric/ee677272(v=azure.10)). > [!NOTE] > The preceding configuration example uses simplified configuration. For more information, see [Simplified Configuration](../simplified-configuration.md) @@ -57,4 +57,4 @@ This topic describes how to configure the SQL Workflow Instance Store feature to - [Workflow Services](workflow-services.md) - [Workflow Persistence](../../windows-workflow-foundation/workflow-persistence.md) -- [Windows Server App Fabric Persistence](https://docs.microsoft.com/previous-versions/appfabric/ee677272(v=azure.10)) +- [Windows Server App Fabric Persistence](/previous-versions/appfabric/ee677272(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/how-to-create-a-supporting-credential.md b/docs/framework/wcf/feature-details/how-to-create-a-supporting-credential.md index f06197c4d2a37..1d70242164762 100644 --- a/docs/framework/wcf/feature-details/how-to-create-a-supporting-credential.md +++ b/docs/framework/wcf/feature-details/how-to-create-a-supporting-credential.md @@ -7,7 +7,7 @@ ms.assetid: d0952919-8bb4-4978-926c-9cc108f89806 It is possible to have a custom security scheme that requires more than one credential. For example, a service may demand from the client not just a user name and password, but also a credential that proves the client is over the age of 18. The second credential is a *supporting credential*. This topic explains how to implement such credentials in an Windows Communication Foundation (WCF) client. > [!NOTE] -> The specification for supporting credentials is part of the WS-SecurityPolicy specification. For more information, see [Web Services Security Specifications](https://docs.microsoft.com/previous-versions/dotnet/articles/ms951273(v=msdn.10)). +> The specification for supporting credentials is part of the WS-SecurityPolicy specification. For more information, see [Web Services Security Specifications](/previous-versions/dotnet/articles/ms951273(v=msdn.10)). ## Supporting Tokens In brief, when you use message security, a *primary credential* is always used to secure the message (for example, an X.509 certificate or a Kerberos ticket). diff --git a/docs/framework/wcf/feature-details/how-to-create-temporary-certificates-for-use-during-development.md b/docs/framework/wcf/feature-details/how-to-create-temporary-certificates-for-use-during-development.md index d425800123627..490b1accaa9ca 100644 --- a/docs/framework/wcf/feature-details/how-to-create-temporary-certificates-for-use-during-development.md +++ b/docs/framework/wcf/feature-details/how-to-create-temporary-certificates-for-use-during-development.md @@ -16,7 +16,7 @@ When developing a secure service or client using Windows Communication Foundatio > > By default, the [New-SelfSignedCertificate](/powershell/module/pkiclient/new-selfsignedcertificate) cmdlet creates certificates that are self-signed and these certificates are insecure. Placing the self-signed certificates in the Trusted Root Certification Authorities store enables you to create a development environment that more closely simulates your deployment environment. - For more information about creating and using certificates, see [Working with Certificates](working-with-certificates.md). For more information about using a certificate as a credential, see [Securing Services and Clients](securing-services-and-clients.md). For a tutorial about using Microsoft Authenticode technology, see [Authenticode Overviews and Tutorials](https://docs.microsoft.com/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms537360(v=vs.85)). + For more information about creating and using certificates, see [Working with Certificates](working-with-certificates.md). For more information about using a certificate as a credential, see [Securing Services and Clients](securing-services-and-clients.md). For a tutorial about using Microsoft Authenticode technology, see [Authenticode Overviews and Tutorials](/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms537360(v=vs.85)). ## To create a self-signed root authority certificate and export the private key diff --git a/docs/framework/wcf/feature-details/how-to-enable-message-replay-detection.md b/docs/framework/wcf/feature-details/how-to-enable-message-replay-detection.md index b7e7529f121b1..763ec877bce7a 100644 --- a/docs/framework/wcf/feature-details/how-to-enable-message-replay-detection.md +++ b/docs/framework/wcf/feature-details/how-to-enable-message-replay-detection.md @@ -14,7 +14,7 @@ ms.assetid: 8b847e91-69a3-49e1-9e5f-0c455e50d804 # How to: Enable Message Replay Detection A replay attack occurs when an attacker copies a stream of messages between two parties and replays the stream to one or more of the parties. Unless mitigated, the computers subject to the attack will process the stream as legitimate messages, resulting in a range of bad consequences, such as redundant orders of an item. - For more information about message replay detection, see [Message Replay Detection](https://docs.microsoft.com/previous-versions/msp-n-p/ff649371(v=pandp.10)). + For more information about message replay detection, see [Message Replay Detection](/previous-versions/msp-n-p/ff649371(v=pandp.10)). The following procedure demonstrates various properties that you can use to control replay detection using Windows Communication Foundation (WCF). diff --git a/docs/framework/wcf/feature-details/how-to-exchange-messages-within-a-reliable-session.md b/docs/framework/wcf/feature-details/how-to-exchange-messages-within-a-reliable-session.md index cf7b1b13f3da2..80b5831272517 100644 --- a/docs/framework/wcf/feature-details/how-to-exchange-messages-within-a-reliable-session.md +++ b/docs/framework/wcf/feature-details/how-to-exchange-messages-within-a-reliable-session.md @@ -8,7 +8,7 @@ ms.assetid: 87cd0e75-dd2c-44c1-8da0-7b494bbdeaea This topic outlines the steps required to enable a reliable session using one of the system-provided bindings that support such a session, but not by default. You enable a reliable session imperatively using code or declaratively in your configuration file. This procedure uses the client and service configuration files to enable the reliable session and to stipulate that the messages arrive in the same order in which they were sent. -The key part of this procedure is that the endpoint configuration element contain a `bindingConfiguration` attribute that references a binding configuration named `Binding1`. The [**\**](../../configure-apps/file-schema/wcf/bindings.md) configuration element references this name to enable reliable sessions by setting the `enabled` attribute of the [**\**](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms731302(v=vs.100)) element to `true`. You specify the ordered delivery assurances for the reliable session by setting the `ordered` attribute to `true`. +The key part of this procedure is that the endpoint configuration element contain a `bindingConfiguration` attribute that references a binding configuration named `Binding1`. The [**\**](../../configure-apps/file-schema/wcf/bindings.md) configuration element references this name to enable reliable sessions by setting the `enabled` attribute of the [**\**](/previous-versions/dotnet/netframework-4.0/ms731302(v=vs.100)) element to `true`. You specify the ordered delivery assurances for the reliable session by setting the `ordered` attribute to `true`. For the source copy of this example, see [WS Reliable Session](../samples/ws-reliable-session.md). diff --git a/docs/framework/wcf/feature-details/how-to-host-a-wcf-service-in-a-managed-windows-service.md b/docs/framework/wcf/feature-details/how-to-host-a-wcf-service-in-a-managed-windows-service.md index 25de99e73119f..be47bc31da258 100644 --- a/docs/framework/wcf/feature-details/how-to-host-a-wcf-service-in-a-managed-windows-service.md +++ b/docs/framework/wcf/feature-details/how-to-host-a-wcf-service-in-a-managed-windows-service.md @@ -133,4 +133,4 @@ Like the "Self-Hosting" option, the Windows service hosting environment requires - [Simplified Configuration](../simplified-configuration.md) - [Hosting in a Managed Application](hosting-in-a-managed-application.md) - [Hosting Services](../hosting-services.md) -- [Windows Server App Fabric Hosting Features](https://docs.microsoft.com/previous-versions/appfabric/ee677189(v=azure.10)) +- [Windows Server App Fabric Hosting Features](/previous-versions/appfabric/ee677189(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/how-to-host-a-wcf-service-in-iis.md b/docs/framework/wcf/feature-details/how-to-host-a-wcf-service-in-iis.md index 70943b64f1e41..d0d79e155eef9 100644 --- a/docs/framework/wcf/feature-details/how-to-host-a-wcf-service-in-iis.md +++ b/docs/framework/wcf/feature-details/how-to-host-a-wcf-service-in-iis.md @@ -16,7 +16,7 @@ This topic outlines the basic steps required to create a Windows Communication F ### To create a service hosted by IIS -1. Confirm that IIS is installed and running on your computer. For more information about installing and configuring IIS see [Installing and Configuring IIS 7.0](https://docs.microsoft.com/iis/install/installing-iis-7/installing-necessary-iis-components-on-windows-vista) +1. Confirm that IIS is installed and running on your computer. For more information about installing and configuring IIS see [Installing and Configuring IIS 7.0](/iis/install/installing-iis-7/installing-necessary-iis-components-on-windows-vista) 2. Create a new folder for your application files called "IISHostedCalcService", ensure that ASP.NET has access to the contents of the folder, and use the IIS management tool to create a new IIS application that is physically located in this application directory. When creating an alias for the application directory use "IISHostedCalc". @@ -76,4 +76,4 @@ This topic outlines the basic steps required to create a Windows Communication F - [Hosting Services](../hosting-services.md) - [WCF Services and ASP.NET](wcf-services-and-aspnet.md) - [Security](security.md) -- [Windows Server App Fabric Hosting Features](https://docs.microsoft.com/previous-versions/appfabric/ee677189(v=azure.10)) +- [Windows Server App Fabric Hosting Features](/previous-versions/appfabric/ee677189(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/how-to-host-a-wcf-service-in-was.md b/docs/framework/wcf/feature-details/how-to-host-a-wcf-service-in-was.md index 9e173f7f5c0a2..57a15a07a9f57 100644 --- a/docs/framework/wcf/feature-details/how-to-host-a-wcf-service-in-was.md +++ b/docs/framework/wcf/feature-details/how-to-host-a-wcf-service-in-was.md @@ -95,4 +95,4 @@ This topic outlines the basic steps required to create a Windows Process Activat ## See also - [TCP Activation](../samples/tcp-activation.md) -- [Windows Server App Fabric Hosting Features](https://docs.microsoft.com/previous-versions/appfabric/ee677189(v=azure.10)) +- [Windows Server App Fabric Hosting Features](/previous-versions/appfabric/ee677189(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/how-to-host-a-workflow-service-with-windows-server-app-fabric.md b/docs/framework/wcf/feature-details/how-to-host-a-workflow-service-with-windows-server-app-fabric.md index 451982f43e951..68e2b0450e3d7 100644 --- a/docs/framework/wcf/feature-details/how-to-host-a-workflow-service-with-windows-server-app-fabric.md +++ b/docs/framework/wcf/feature-details/how-to-host-a-workflow-service-with-windows-server-app-fabric.md @@ -5,7 +5,7 @@ ms.assetid: 83b62cce-5fc2-4c6d-b27c-5742ba3bac73 --- # How to: Host a Workflow Service with Windows Server App Fabric -Hosting workflow services in App Fabric is similar to hosting under IIS/WAS. The only difference is the tools App Fabric provides for deploying, monitoring, and managing workflow services. This topic uses the workflow service created in the [Creating a Long-running Workflow Service](creating-a-long-running-workflow-service.md). That topic will walk you through creating a workflow service. This topic will explain how to host the workflow service using App Fabric. For more information about Windows Server App Fabric, see [Windows Server App Fabric Documentation](https://docs.microsoft.com/previous-versions/appfabric/ff384253(v=azure.10)). Before completing the steps below make sure you have Windows Server App Fabric installed. To do this open up Internet Information Services (inetmgr.exe), click your server name in the **Connections** view, click Sites, and click **Default Web Site**. In the right-hand side of the screen you should see a section called **App Fabric**. If you don’t see this section (it will be on the top of the right-hand pane) you do not have App Fabric installed. For more information about installing Windows Server App Fabric see [Installing Windows Server App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee790960(v=azure.10)). +Hosting workflow services in App Fabric is similar to hosting under IIS/WAS. The only difference is the tools App Fabric provides for deploying, monitoring, and managing workflow services. This topic uses the workflow service created in the [Creating a Long-running Workflow Service](creating-a-long-running-workflow-service.md). That topic will walk you through creating a workflow service. This topic will explain how to host the workflow service using App Fabric. For more information about Windows Server App Fabric, see [Windows Server App Fabric Documentation](/previous-versions/appfabric/ff384253(v=azure.10)). Before completing the steps below make sure you have Windows Server App Fabric installed. To do this open up Internet Information Services (inetmgr.exe), click your server name in the **Connections** view, click Sites, and click **Default Web Site**. In the right-hand side of the screen you should see a section called **App Fabric**. If you don’t see this section (it will be on the top of the right-hand pane) you do not have App Fabric installed. For more information about installing Windows Server App Fabric see [Installing Windows Server App Fabric](/previous-versions/appfabric/ee790960(v=azure.10)). ### Creating a Simple Workflow Service @@ -35,37 +35,37 @@ Hosting workflow services in App Fabric is similar to hosting under IIS/WAS. The ![App Fabric Configuration Monitoring tab](media/appfabricconfiguration-monitoring.gif "AppFabricConfiguration-Monitoring") - For more information about configuring workflow service monitoring in App Fabric see [Configuring monitoring with App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677384(v=azure.10)). + For more information about configuring workflow service monitoring in App Fabric see [Configuring monitoring with App Fabric](/previous-versions/appfabric/ee677384(v=azure.10)). 6. Select the **Workflow Persistence** tab. This allows you to configure your application to use App Fabric’s default persistence provider as shown in the following screenshot. ![App Fabric Configuration - Persistence](media/appfabricconfiguration-persistence.gif "AppFabricConfiguration-Persistence") - For more information about configuring workflow persistence in Windows Server App Fabric see [Configuring Workflow Persistence in App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677353(v=azure.10)). + For more information about configuring workflow persistence in Windows Server App Fabric see [Configuring Workflow Persistence in App Fabric](/previous-versions/appfabric/ee677353(v=azure.10)). 7. Select the **Workflow Host Management** tab. This allows you to specify when idle workflow service instances should be unloaded and persisted as shown in the following screenshot. ![App Fabric Configuration Workflow Host Management](media/appfabricconfiguration-management.gif "AppFabricConfiguration-Management") - For more information about workflow host management configuration see [Configuring Workflow Host Management in App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ff383424(v=azure.10)). + For more information about workflow host management configuration see [Configuring Workflow Host Management in App Fabric](/previous-versions/appfabric/ff383424(v=azure.10)). 8. Select the **Auto-Start** tab. This allows you to specify auto-start settings for the workflow services in the application as shown in the following screenshot. ![Screenshot that shows App Fabric Auto-start configuration.](./media/how-to-host-a-workflow-service-with-windows-server-app-fabric/app-fabric-auto-start-configuration.gif) - For more information about configuring Auto-Start see [Configuring Auto-Start with App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677261(v=azure.10)). + For more information about configuring Auto-Start see [Configuring Auto-Start with App Fabric](/previous-versions/appfabric/ee677261(v=azure.10)). 9. Select the **Throttling** tab. This allows you to configure throttling settings for the workflow service as shown in the following screenshot. ![Screenshot that shows App Fabric throttling configuration.](./media/how-to-host-a-workflow-service-with-windows-server-app-fabric/app-fabric-throttling-configuration.gif) - For more information about configuring throttling see [Configuring Throttling with App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677261(v=azure.10)). + For more information about configuring throttling see [Configuring Throttling with App Fabric](/previous-versions/appfabric/ee677261(v=azure.10)). 10. Select the **Security** tab. This allows you to configure security settings for the application as shown in the following screenshot. ![App Fabric Security Configuration](media/appfabricconfiguration-security.gif "AppFabricConfiguration-Security") - For more information about configuring security with Windows Server App Fabric see [Configuring Security with App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677278(v=azure.10)). + For more information about configuring security with Windows Server App Fabric see [Configuring Security with App Fabric](/previous-versions/appfabric/ee677278(v=azure.10)). ### Using Windows Server App Fabric @@ -83,11 +83,11 @@ Hosting workflow services in App Fabric is similar to hosting under IIS/WAS. The ![Screenshot that shows Persisted Workflow Instance Details.](./media/how-to-host-a-workflow-service-with-windows-server-app-fabric/persisted-workflow-instance-detail.gif) - For more information about Windows Server App Fabric features and how to use them see [Windows Server App Fabric Hosting Features](https://docs.microsoft.com/previous-versions/appfabric/ee677189(v=azure.10)) + For more information about Windows Server App Fabric features and how to use them see [Windows Server App Fabric Hosting Features](/previous-versions/appfabric/ee677189(v=azure.10)) ## See also - [Creating a Long-running Workflow Service](creating-a-long-running-workflow-service.md) -- [Windows Server App Fabric Hosting Features](https://docs.microsoft.com/previous-versions/appfabric/ee677189(v=azure.10)) -- [Installing Windows Server App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee790960(v=azure.10)) -- [Windows Server App Fabric Documentation](https://docs.microsoft.com/previous-versions/appfabric/ff384253(v=azure.10)) +- [Windows Server App Fabric Hosting Features](/previous-versions/appfabric/ee677189(v=azure.10)) +- [Installing Windows Server App Fabric](/previous-versions/appfabric/ee790960(v=azure.10)) +- [Windows Server App Fabric Documentation](/previous-versions/appfabric/ff384253(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/how-to-install-and-configure-wcf-activation-components.md b/docs/framework/wcf/feature-details/how-to-install-and-configure-wcf-activation-components.md index cf0615134de76..0bfad08b6ec3a 100644 --- a/docs/framework/wcf/feature-details/how-to-install-and-configure-wcf-activation-components.md +++ b/docs/framework/wcf/feature-details/how-to-install-and-configure-wcf-activation-components.md @@ -101,4 +101,4 @@ After installing and configuring WAS, see [How to: Host a WCF Service in WAS](ho - [TCP Activation](../samples/tcp-activation.md) - [MSMQ Activation](../samples/msmq-activation.md) - [NamedPipe Activation](../samples/namedpipe-activation.md) -- [Windows Server App Fabric Hosting Features](https://docs.microsoft.com/previous-versions/appfabric/ee677189(v=azure.10)) +- [Windows Server App Fabric Hosting Features](/previous-versions/appfabric/ee677189(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/how-to-obtain-a-certificate-wcf.md b/docs/framework/wcf/feature-details/how-to-obtain-a-certificate-wcf.md index eeb2a4df5a560..126834821c67b 100644 --- a/docs/framework/wcf/feature-details/how-to-obtain-a-certificate-wcf.md +++ b/docs/framework/wcf/feature-details/how-to-obtain-a-certificate-wcf.md @@ -14,7 +14,7 @@ To use any of the Windows Communication Foundation (WCF) features of that use X. - Purchase a certificate from a certification authority, such as VeriSign, Inc. - - Set up your own certificate service and have a certification authority sign the certificates. Windows Server 2003, Windows 2000 Server, Windows 2000 Server Datacenter, and Windows 2000 Datacenter Server all include certificate services that support public key infrastructure (PKI). In Windows Server 2008, use the [Active Directory Certificate Services](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731564(v=ws.10)) role to manage a certification authority. + - Set up your own certificate service and have a certification authority sign the certificates. Windows Server 2003, Windows 2000 Server, Windows 2000 Server Datacenter, and Windows 2000 Datacenter Server all include certificate services that support public key infrastructure (PKI). In Windows Server 2008, use the [Active Directory Certificate Services](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731564(v=ws.10)) role to manage a certification authority. - Set up your own certificate service and do not have the certificates signed. diff --git a/docs/framework/wcf/feature-details/how-to-programmatically-add-discoverability-to-a-wcf-service-and-client.md b/docs/framework/wcf/feature-details/how-to-programmatically-add-discoverability-to-a-wcf-service-and-client.md index 7a4cca4a3cfd1..ebaac5d227ba4 100644 --- a/docs/framework/wcf/feature-details/how-to-programmatically-add-discoverability-to-a-wcf-service-and-client.md +++ b/docs/framework/wcf/feature-details/how-to-programmatically-add-discoverability-to-a-wcf-service-and-client.md @@ -4,7 +4,7 @@ ms.date: "03/30/2017" ms.assetid: 4f7ae7ab-6fc8-4769-9730-c14d43f7b9b1 --- # How to: Programmatically Add Discoverability to a WCF Service and Client -This topic explains how to make a Windows Communication Foundation (WCF) service discoverable. It is based on the [Self-Host](https://docs.microsoft.com/dotnet/framework/wcf/samples/self-host) sample. +This topic explains how to make a Windows Communication Foundation (WCF) service discoverable. It is based on the [Self-Host](../samples/self-host.md) sample. ### To configure the existing Self-Host service sample for Discovery @@ -118,7 +118,7 @@ This topic explains how to make a Windows Communication Foundation (WCF) service This method uses the endpoint address returned from `FindCalculatorServiceAddress` to call the calculator service. -11. Inside the `InvokeCalculatorService` method, create an instance of the `CalculatorServiceClient` class. This class is defined by the [Self-Host](https://docs.microsoft.com/dotnet/framework/wcf/samples/self-host) sample. It was generated using Svcutil.exe. +11. Inside the `InvokeCalculatorService` method, create an instance of the `CalculatorServiceClient` class. This class is defined by the [Self-Host](../samples/self-host.md) sample. It was generated using Svcutil.exe. ```csharp // Create a client @@ -214,7 +214,7 @@ This topic explains how to make a Windows Communication Foundation (WCF) service ``` ## Example - The following is a listing of the code for this sample. Because this code is based on the [Self-Host](https://docs.microsoft.com/dotnet/framework/wcf/samples/self-host) sample, only those files that are changed are listed. For more information about the Self-Host sample, see [Setup Instructions](https://docs.microsoft.com/dotnet/framework/wcf/samples/set-up-instructions). + The following is a listing of the code for this sample. Because this code is based on the [Self-Host](../samples/self-host.md) sample, only those files that are changed are listed. For more information about the Self-Host sample, see [Setup Instructions](../samples/set-up-instructions.md). ```csharp // Service.cs diff --git a/docs/framework/wcf/feature-details/how-to-secure-messages-within-reliable-sessions.md b/docs/framework/wcf/feature-details/how-to-secure-messages-within-reliable-sessions.md index f165c7996a085..940926b0b173b 100644 --- a/docs/framework/wcf/feature-details/how-to-secure-messages-within-reliable-sessions.md +++ b/docs/framework/wcf/feature-details/how-to-secure-messages-within-reliable-sessions.md @@ -16,7 +16,7 @@ This procedure consists of the following three key tasks: 1. Specify the client credential type that the client must use to be authenticated with the service. -It's important in the first task that the endpoint configuration element contain a `bindingConfiguration` attribute that references a binding configuration named (in this example) `MessageSecurity`. The [**\**](../../configure-apps/file-schema/wcf/bindings.md) configuration element then references this name to enable reliable sessions by setting the `enabled` attribute of the [**\**](https://docs.microsoft.com/previous-versions/ms731375(v=vs.90)) element to `true`. You can require that the ordered delivery assurances are available within a reliable session by setting the `ordered` attribute to `true`. +It's important in the first task that the endpoint configuration element contain a `bindingConfiguration` attribute that references a binding configuration named (in this example) `MessageSecurity`. The [**\**](../../configure-apps/file-schema/wcf/bindings.md) configuration element then references this name to enable reliable sessions by setting the `enabled` attribute of the [**\**](/previous-versions/ms731375(v=vs.90)) element to `true`. You can require that the ordered delivery assurances are available within a reliable session by setting the `ordered` attribute to `true`. For the source copy of the example on which this configuration procedure is based, see the [WS Reliable Session](../samples/ws-reliable-session.md). diff --git a/docs/framework/wcf/feature-details/how-to-use-svcutil-exe-to-download-metadata-documents.md b/docs/framework/wcf/feature-details/how-to-use-svcutil-exe-to-download-metadata-documents.md index b2d753ae70143..f211b835ae471 100644 --- a/docs/framework/wcf/feature-details/how-to-use-svcutil-exe-to-download-metadata-documents.md +++ b/docs/framework/wcf/feature-details/how-to-use-svcutil-exe-to-download-metadata-documents.md @@ -5,7 +5,7 @@ ms.date: "03/30/2017" ms.assetid: 15524274-3167-4627-b722-d6cedb9fa8c6 --- # How to: Use Svcutil.exe to Download Metadata Documents -You can use Svcutil.exe to download metadata from running services and to save the metadata to local files. For HTTP and HTTPS URL schemes, Svcutil.exe attempts to retrieve metadata using WS-MetadataExchange and [XML Web Service Discovery](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/fxx6cfx2(v=vs.100)). For all other URL schemes, Svcutil.exe uses only WS-MetadataExchange. +You can use Svcutil.exe to download metadata from running services and to save the metadata to local files. For HTTP and HTTPS URL schemes, Svcutil.exe attempts to retrieve metadata using WS-MetadataExchange and [XML Web Service Discovery](/previous-versions/dotnet/netframework-4.0/fxx6cfx2(v=vs.100)). For all other URL schemes, Svcutil.exe uses only WS-MetadataExchange. By default, Svcutil.exe uses the bindings defined in the class. To configure the binding used for WS-MetadataExchange, you must define a client endpoint in the configuration file for Svcutil.exe (svcutil.exe.config) that uses the `IMetadataExchange` contract and that has the same name as the Uniform Resource Identifier (URI) scheme of the metadata endpoint address. diff --git a/docs/framework/wcf/feature-details/how-to-use-the-aspnet-authorization-manager-role-provider-with-a-service.md b/docs/framework/wcf/feature-details/how-to-use-the-aspnet-authorization-manager-role-provider-with-a-service.md index 7133affe03ff7..137c4d2e80089 100644 --- a/docs/framework/wcf/feature-details/how-to-use-the-aspnet-authorization-manager-role-provider-with-a-service.md +++ b/docs/framework/wcf/feature-details/how-to-use-the-aspnet-authorization-manager-role-provider-with-a-service.md @@ -23,7 +23,7 @@ When ASP.NET hosts a Web service, you can integrate Authorization Manager into t ``` - For more information about integrating an ASP.NET role provider with a WCF application, see [How to: Use the ASP.NET Role Provider with a Service](how-to-use-the-aspnet-role-provider-with-a-service.md). For more information about using Authorization Manager with ASP.NET, see [How to: Use Authorization Manager (AzMan) with ASP.NET 2.0](https://docs.microsoft.com/previous-versions/msp-n-p/ff649313(v=pandp.10)). + For more information about integrating an ASP.NET role provider with a WCF application, see [How to: Use the ASP.NET Role Provider with a Service](how-to-use-the-aspnet-role-provider-with-a-service.md). For more information about using Authorization Manager with ASP.NET, see [How to: Use Authorization Manager (AzMan) with ASP.NET 2.0](/previous-versions/msp-n-p/ff649313(v=pandp.10)). ## See also diff --git a/docs/framework/wcf/feature-details/http-transport-security.md b/docs/framework/wcf/feature-details/http-transport-security.md index c90460a294673..acb95b1b18609 100644 --- a/docs/framework/wcf/feature-details/http-transport-security.md +++ b/docs/framework/wcf/feature-details/http-transport-security.md @@ -32,14 +32,14 @@ When using HTTP as the transport, security is provided by a Secure Sockets Layer ### Using IIS for Transport Security #### IIS 7.0 - To set up IIS 7.0 as a secure host (using SSL), see [Configuring Secure Sockets Layer in IIS 7.0](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc771438(v=ws.10)). + To set up IIS 7.0 as a secure host (using SSL), see [Configuring Secure Sockets Layer in IIS 7.0](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc771438(v=ws.10)). -To configure certificates for use with IIS 7.0, see [Configuring Server Certificates in IIS 7.0](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc732230(v=ws.10)). +To configure certificates for use with IIS 7.0, see [Configuring Server Certificates in IIS 7.0](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc732230(v=ws.10)). #### IIS 6.0 - To set up IIS 6.0 as a secure host (using SSL), see [Configuring Secure Sockets Layer](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc736992(v=ws.10)). + To set up IIS 6.0 as a secure host (using SSL), see [Configuring Secure Sockets Layer](/previous-versions/windows/it-pro/windows-server-2003/cc736992(v=ws.10)). - To configure certificates for use with IIS 6.0, see [Certificates_IIS_SP1_Ops](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc757474(v=ws.10)). + To configure certificates for use with IIS 6.0, see [Certificates_IIS_SP1_Ops](/previous-versions/windows/it-pro/windows-server-2003/cc757474(v=ws.10)). ### Using HttpCfg for SSL diff --git a/docs/framework/wcf/feature-details/integrating-enterprise-services-transactional-components.md b/docs/framework/wcf/feature-details/integrating-enterprise-services-transactional-components.md index 3f36655af5f94..e9c5ea5572c54 100644 --- a/docs/framework/wcf/feature-details/integrating-enterprise-services-transactional-components.md +++ b/docs/framework/wcf/feature-details/integrating-enterprise-services-transactional-components.md @@ -5,7 +5,7 @@ ms.assetid: 05dab277-b8b2-48cf-b40c-826be128b175 --- # Integrating Enterprise Services Transactional Components -Windows Communication Foundation (WCF) provides an automatic mechanism for integrating with Enterprise Services (see [Integrating with COM+ Applications](integrating-with-com-plus-applications.md)). However, you may want the flexibility to develop services that internally use transactional components hosted within Enterprise Services. Because the WCF Transactions feature is built on the infrastructure, the process for integrating Enterprise Services with WCF is identical to that for specifying interoperability between and Enterprise Services, as outlined in [Interoperability with Enterprise Services and COM+ Transactions](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.0/ms229974(v=vs.85)). +Windows Communication Foundation (WCF) provides an automatic mechanism for integrating with Enterprise Services (see [Integrating with COM+ Applications](integrating-with-com-plus-applications.md)). However, you may want the flexibility to develop services that internally use transactional components hosted within Enterprise Services. Because the WCF Transactions feature is built on the infrastructure, the process for integrating Enterprise Services with WCF is identical to that for specifying interoperability between and Enterprise Services, as outlined in [Interoperability with Enterprise Services and COM+ Transactions](/previous-versions/dotnet/netframework-3.0/ms229974(v=vs.85)). To provide the desired level of interoperability between the incoming flowed transaction and the COM+ context transaction, the service implementation must create a instance and use the appropriate value from the enumeration. diff --git a/docs/framework/wcf/feature-details/internet-information-services-hosting-best-practices.md b/docs/framework/wcf/feature-details/internet-information-services-hosting-best-practices.md index b67d074e37b08..f3bd601ee91ca 100644 --- a/docs/framework/wcf/feature-details/internet-information-services-hosting-best-practices.md +++ b/docs/framework/wcf/feature-details/internet-information-services-hosting-best-practices.md @@ -78,4 +78,4 @@ This topic outlines some best practices for hosting Windows Communication Founda ## See also - [Service Hosting Samples](../samples/hosting.md) -- [Windows Server App Fabric Hosting Features](https://docs.microsoft.com/previous-versions/appfabric/ee677189(v=azure.10)) +- [Windows Server App Fabric Hosting Features](/previous-versions/appfabric/ee677189(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/internet-unsecured-client-and-service.md b/docs/framework/wcf/feature-details/internet-unsecured-client-and-service.md index 25a7989338ee3..a4876887a3353 100644 --- a/docs/framework/wcf/feature-details/internet-unsecured-client-and-service.md +++ b/docs/framework/wcf/feature-details/internet-unsecured-client-and-service.md @@ -107,4 +107,4 @@ The following illustration shows an example of a public, unsecured Windows Commu - [Common Security Scenarios](common-security-scenarios.md) - [Security Overview](security-overview.md) -- [Security Model for Windows Server App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677202(v=azure.10)) +- [Security Model for Windows Server App Fabric](/previous-versions/appfabric/ee677202(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/intranet-unsecured-client-and-service.md b/docs/framework/wcf/feature-details/intranet-unsecured-client-and-service.md index efb78fa7576ae..566105ce775ea 100644 --- a/docs/framework/wcf/feature-details/intranet-unsecured-client-and-service.md +++ b/docs/framework/wcf/feature-details/intranet-unsecured-client-and-service.md @@ -110,4 +110,4 @@ The following illustration depicts a simple Windows Communication Foundation (WC - - [Security Overview](security-overview.md) -- [Security Model for Windows Server App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677202(v=azure.10)) +- [Security Model for Windows Server App Fabric](/previous-versions/appfabric/ee677202(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/large-data-and-streaming.md b/docs/framework/wcf/feature-details/large-data-and-streaming.md index fbccbf580bc90..c90116d899dba 100644 --- a/docs/framework/wcf/feature-details/large-data-and-streaming.md +++ b/docs/framework/wcf/feature-details/large-data-and-streaming.md @@ -52,7 +52,7 @@ Windows Communication Foundation (WCF) is an XML-based communications infrastruc For data that does not have these constraints, it is typically better to send sequences of messages within the scope of a session than one large message. For more information, see the "Streaming Data" section later in this topic. - When sending large amounts of data you will need to set the `maxAllowedContentLength` IIS setting (for more information see [Configuring IIS Request Limits](https://docs.microsoft.com/iis/configuration/system.webServer/security/requestFiltering/requestLimits/)) and the `maxReceivedMessageSize` binding setting (for example [System.ServiceModel.BasicHttpBinding.MaxReceivedMessageSize](xref:System.ServiceModel.HttpBindingBase.MaxReceivedMessageSize%2A) or ). The `maxAllowedContentLength` property defaults to 28.6 MB and the `maxReceivedMessageSize` property defaults to 64KB. + When sending large amounts of data you will need to set the `maxAllowedContentLength` IIS setting (for more information see [Configuring IIS Request Limits](/iis/configuration/system.webServer/security/requestFiltering/requestLimits/)) and the `maxReceivedMessageSize` binding setting (for example [System.ServiceModel.BasicHttpBinding.MaxReceivedMessageSize](xref:System.ServiceModel.HttpBindingBase.MaxReceivedMessageSize%2A) or ). The `maxAllowedContentLength` property defaults to 28.6 MB and the `maxReceivedMessageSize` property defaults to 64KB. ## Encodings An *encoding* defines a set of rules about how to present messages on the wire. An *encoder* implements such an encoding and is responsible, on the sender side, for turning an in-memory into a byte stream or byte buffer that can be sent across the network. On the receiver side, the encoder turns a sequence of bytes into an in-memory message. diff --git a/docs/framework/wcf/feature-details/limiting-message-distribution.md b/docs/framework/wcf/feature-details/limiting-message-distribution.md index 52819043a30b2..664bc2f3a2c9d 100644 --- a/docs/framework/wcf/feature-details/limiting-message-distribution.md +++ b/docs/framework/wcf/feature-details/limiting-message-distribution.md @@ -13,7 +13,7 @@ The concept of `PeerHopCount` is similar to TTL (Time-To-Live) used in IP protoc Hop count may be added to a message by adding `PeerHopCount` as an attribute to the applicable property or field in the implementation of the message class. You can set this to a specific value before sending the message to the mesh. In this manner, you can use hop count to limit distribution of messages throughout the mesh when necessary, potentially avoiding unnecessary message duplication. This is useful in cases where the mesh contains a high amount of redundant data, or for sending a message to immediate neighbors, or neighbors within a few hops. -- For code snippets and related information, see the [The PeerHopCount Attribute: Controlling Message Distribution](https://docs.microsoft.com/archive/blogs/peerchan/the-peerhopcount-attribute-controlling-message-distribution) post on the Peer Channel blog. +- For code snippets and related information, see the [The PeerHopCount Attribute: Controlling Message Distribution](/archive/blogs/peerchan/the-peerhopcount-attribute-controlling-message-distribution) post on the Peer Channel blog. ## Message Propagation Filter @@ -21,7 +21,7 @@ Hop count may be added to a message by adding `PeerHopCount` as an attribute to is a base abstract class with a single function, . The first argument of the method call passes in a full copy of the message. Any changes made to the message do not affect the actual message. The last argument of the method call identifies the origin of the message (`PeerMessageOrigination.Local` or `PeerMessageOrigination.Remote`). Concrete implementations of this method must return a constant from the enumeration indicating that the message is to be forwarded to the local application (`Local`), forwarded to remote clients (`Remote`), both (`LocalAndRemote`), or neither (`None`). This filter can be applied by accessing the corresponding `PeerNode` object and specifying an instance of the derived propagation filter class in the `PeerNode.MessagePropagationFilter` property. Ensure that the propagation filter is attached before opening the Peer Channel. -- For code snippets and related information, see the [Peer Channel and MessagePropagationFilter](https://docs.microsoft.com/archive/blogs/peerchan/peer-channel-and-messagepropagationfilter) post on the Peer Channel blog. +- For code snippets and related information, see the [Peer Channel and MessagePropagationFilter](/archive/blogs/peerchan/peer-channel-and-messagepropagationfilter) post on the Peer Channel blog. ## Contacting an Individual Node in the Mesh diff --git a/docs/framework/wcf/feature-details/message-security-in-wcf.md b/docs/framework/wcf/feature-details/message-security-in-wcf.md index 806b88bf515e2..e9fd95e355e33 100644 --- a/docs/framework/wcf/feature-details/message-security-in-wcf.md +++ b/docs/framework/wcf/feature-details/message-security-in-wcf.md @@ -64,4 +64,4 @@ Message security has the following disadvantages: - [Securing Services and Clients](securing-services-and-clients.md) - [Transport Security](transport-security.md) - [How to: Use Transport Security and Message Credentials](how-to-use-transport-security-and-message-credentials.md) -- [Microsoft Patterns and Practices, Chapter 3: Implementing Transport and Message Layer Security](https://docs.microsoft.com/previous-versions/msp-n-p/ff647370(v=pandp.10)) +- [Microsoft Patterns and Practices, Chapter 3: Implementing Transport and Message Layer Security](/previous-versions/msp-n-p/ff647370(v=pandp.10)) diff --git a/docs/framework/wcf/feature-details/message-security-with-a-certificate-client.md b/docs/framework/wcf/feature-details/message-security-with-a-certificate-client.md index 039651dbad48b..f8814480f5e53 100644 --- a/docs/framework/wcf/feature-details/message-security-with-a-certificate-client.md +++ b/docs/framework/wcf/feature-details/message-security-with-a-certificate-client.md @@ -142,4 +142,4 @@ The following scenario shows a Windows Communication Foundation (WCF) client and - [Security Overview](security-overview.md) - [Service Identity and Authentication](service-identity-and-authentication.md) - [Working with Certificates](working-with-certificates.md) -- [Security Model for Windows Server App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677202(v=azure.10)) +- [Security Model for Windows Server App Fabric](/previous-versions/appfabric/ee677202(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/message-security-with-a-user-name-client.md b/docs/framework/wcf/feature-details/message-security-with-a-user-name-client.md index 22fa6998eba09..df7533ec0bf7b 100644 --- a/docs/framework/wcf/feature-details/message-security-with-a-user-name-client.md +++ b/docs/framework/wcf/feature-details/message-security-with-a-user-name-client.md @@ -125,4 +125,4 @@ The following illustration shows an Windows Communication Foundation (WCF) servi - [Message Security User Name](../samples/message-security-user-name.md) - [Service Identity and Authentication](service-identity-and-authentication.md) - [\](../../configure-apps/file-schema/wcf/identity.md) -- [Security Model for Windows Server App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677202(v=azure.10)) +- [Security Model for Windows Server App Fabric](/previous-versions/appfabric/ee677202(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/message-security-with-a-windows-client-without-credential-negotiation.md b/docs/framework/wcf/feature-details/message-security-with-a-windows-client-without-credential-negotiation.md index 200ef374e04db..d8dc74345be77 100644 --- a/docs/framework/wcf/feature-details/message-security-with-a-windows-client-without-credential-negotiation.md +++ b/docs/framework/wcf/feature-details/message-security-with-a-windows-client-without-credential-negotiation.md @@ -47,7 +47,7 @@ The following code creates a service endpoint that uses message security. The co 2. Use an arbitrary Active Directory domain account to run your service. In this case, you need to establish an SPN for that domain account. One way of doing this is to use the Setspn.exe utility tool. Once the SPN is created for the service's account, configure WCF to publish that SPN to the service's clients through its metadata (WSDL). This is done by setting the endpoint identity for the exposed endpoint, either though an application configuration file or code. The following example publishes the identity programmatically. -For more information about SPNs, the Kerberos protocol, and Active Directory, see [Kerberos Technical Supplement for Windows](https://docs.microsoft.com/previous-versions/msp-n-p/ff649429(v=pandp.10)). For more information about endpoint identities, see [SecurityBindingElement Authentication Modes](securitybindingelement-authentication-modes.md). +For more information about SPNs, the Kerberos protocol, and Active Directory, see [Kerberos Technical Supplement for Windows](/previous-versions/msp-n-p/ff649429(v=pandp.10)). For more information about endpoint identities, see [SecurityBindingElement Authentication Modes](securitybindingelement-authentication-modes.md). [!code-csharp[C_SecurityScenarios#12](../../../../samples/snippets/csharp/VS_Snippets_CFX/c_securityscenarios/cs/source.cs#12)] [!code-vb[C_SecurityScenarios#12](../../../../samples/snippets/visualbasic/VS_Snippets_CFX/c_securityscenarios/vb/source.vb#12)] @@ -108,7 +108,7 @@ The following code configures the client. The security mode is set to Message, a > [!NOTE] > To use Windows credential type without negotiation, the client must be configured with the service's account SPN prior to commencing the communication with the service. The client uses the SPN to get the Kerberos token to authenticate and secure the communication with the service. The following sample shows how to configure the client with the service's SPN. If you are using the [ServiceModel Metadata Utility Tool (Svcutil.exe)](../servicemodel-metadata-utility-tool-svcutil-exe.md) to generate the client, the service's SPN will be automatically propagated to the client from the service's metadata (WSDL), if the service's metadata contains that information. For more information about how to configure the service to include its SPN in the service's metadata, see the "Service" section later in this topic . > -> For more information about SPNs, Kerberos, and Active Directory, see [Kerberos Technical Supplement for Windows](https://docs.microsoft.com/previous-versions/msp-n-p/ff649429(v=pandp.10)). For more information about endpoint identities, see [SecurityBindingElement Authentication Modes](securitybindingelement-authentication-modes.md) topic. +> For more information about SPNs, Kerberos, and Active Directory, see [Kerberos Technical Supplement for Windows](/previous-versions/msp-n-p/ff649429(v=pandp.10)). For more information about endpoint identities, see [SecurityBindingElement Authentication Modes](securitybindingelement-authentication-modes.md) topic. [!code-csharp[C_SecurityScenarios#19](../../../../samples/snippets/csharp/VS_Snippets_CFX/c_securityscenarios/cs/source.cs#19)] [!code-vb[C_SecurityScenarios#19](../../../../samples/snippets/visualbasic/VS_Snippets_CFX/c_securityscenarios/vb/source.vb#19)] @@ -151,4 +151,4 @@ The following code configures the client. Note that the [\ - [Security Overview](security-overview.md) - [Service Identity and Authentication](service-identity-and-authentication.md) -- [Security Model for Windows Server App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677202(v=azure.10)) +- [Security Model for Windows Server App Fabric](/previous-versions/appfabric/ee677202(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/message-security-with-a-windows-client.md b/docs/framework/wcf/feature-details/message-security-with-a-windows-client.md index 72177e8d5598c..a42d42e2b32d9 100644 --- a/docs/framework/wcf/feature-details/message-security-with-a-windows-client.md +++ b/docs/framework/wcf/feature-details/message-security-with-a-windows-client.md @@ -113,4 +113,4 @@ This scenario shows a Windows Communication Foundation (WCF) client and server s ## See also - [Security Overview](security-overview.md) -- [Security Model for Windows Server App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677202(v=azure.10)) +- [Security Model for Windows Server App Fabric](/previous-versions/appfabric/ee677202(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/message-security-with-an-anonymous-client.md b/docs/framework/wcf/feature-details/message-security-with-an-anonymous-client.md index bd0df21398960..d2daeb68f81fb 100644 --- a/docs/framework/wcf/feature-details/message-security-with-an-anonymous-client.md +++ b/docs/framework/wcf/feature-details/message-security-with-an-anonymous-client.md @@ -139,4 +139,4 @@ The following code configures the client. - [Distributed Application Security](distributed-application-security.md) - [Message Security Anonymous](../samples/message-security-anonymous.md) - [Service Identity and Authentication](service-identity-and-authentication.md) -- [Security Model for Windows Server App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677202(v=azure.10)) +- [Security Model for Windows Server App Fabric](/previous-versions/appfabric/ee677202(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/message-security-with-issued-tokens.md b/docs/framework/wcf/feature-details/message-security-with-issued-tokens.md index 12701687fd1b4..1bac2e4e09177 100644 --- a/docs/framework/wcf/feature-details/message-security-with-issued-tokens.md +++ b/docs/framework/wcf/feature-details/message-security-with-issued-tokens.md @@ -13,4 +13,4 @@ The issued token client enables the federated security scenario in Windows Commu ## See also - [Federation and Issued Tokens](federation-and-issued-tokens.md) -- [Security Model for Windows Server App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677202(v=azure.10)) +- [Security Model for Windows Server App Fabric](/previous-versions/appfabric/ee677202(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/message-security-with-mutual-certificates.md b/docs/framework/wcf/feature-details/message-security-with-mutual-certificates.md index 76dc77841da27..17fb73764e899 100644 --- a/docs/framework/wcf/feature-details/message-security-with-mutual-certificates.md +++ b/docs/framework/wcf/feature-details/message-security-with-mutual-certificates.md @@ -155,5 +155,5 @@ The following scenario shows a Windows Communication Foundation (WCF) service an ## See also - [Security Overview](security-overview.md) -- [Security Model for Windows Server App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677202(v=azure.10)) -- [How to: Create and Install Temporary Certificates in WCF for Transport Security During Development](https://docs.microsoft.com/previous-versions/msp-n-p/ff648498(v=pandp.10)) +- [Security Model for Windows Server App Fabric](/previous-versions/appfabric/ee677202(v=azure.10)) +- [How to: Create and Install Temporary Certificates in WCF for Transport Security During Development](/previous-versions/msp-n-p/ff648498(v=pandp.10)) diff --git a/docs/framework/wcf/feature-details/migrating-net-remoting-applications-to-wcf.md b/docs/framework/wcf/feature-details/migrating-net-remoting-applications-to-wcf.md index f408a92973423..41a818ea1b947 100644 --- a/docs/framework/wcf/feature-details/migrating-net-remoting-applications-to-wcf.md +++ b/docs/framework/wcf/feature-details/migrating-net-remoting-applications-to-wcf.md @@ -8,7 +8,7 @@ ms.assetid: 24793465-65ae-4308-8c12-dce4fd12a583 # Migrating .NET Remoting Applications to WCF **This topic is specific to a legacy technology that is retained for backward compatibility with existing applications and is not recommended for new development. Distributed applications should now be developed using WCF.** - There are two ways to take advantage of WCF with existing .NET Remoting applications: integration and migration. Integration allows you to have .NET Remoting 2.0 and WCF running side by side, letting you expose the same business objects over both technologies simultaneously without having to modify your existing .NET Remoting 2.0 code. Integration requires that you are running on .NET Framework 2.0 or greater. If you want to take advantage of WCF features and do not need wire compatibility with Remoting 2.0 systems, you can migrate your entire service to WCF. Migration from .NET Remoting 2.0 to WCF requires changes to the remote object's interface and its configuration settings. Both of these topics are covered in [From Remoting to the Windows Communication Foundation](https://docs.microsoft.com/previous-versions/aa730857(v=vs.80)). + There are two ways to take advantage of WCF with existing .NET Remoting applications: integration and migration. Integration allows you to have .NET Remoting 2.0 and WCF running side by side, letting you expose the same business objects over both technologies simultaneously without having to modify your existing .NET Remoting 2.0 code. Integration requires that you are running on .NET Framework 2.0 or greater. If you want to take advantage of WCF features and do not need wire compatibility with Remoting 2.0 systems, you can migrate your entire service to WCF. Migration from .NET Remoting 2.0 to WCF requires changes to the remote object's interface and its configuration settings. Both of these topics are covered in [From Remoting to the Windows Communication Foundation](/previous-versions/aa730857(v=vs.80)). ## See also diff --git a/docs/framework/wcf/feature-details/migrating-wse-3-0-web-services-to-wcf.md b/docs/framework/wcf/feature-details/migrating-wse-3-0-web-services-to-wcf.md index e00e782124b8a..cfb11a8e80f2f 100644 --- a/docs/framework/wcf/feature-details/migrating-wse-3-0-web-services-to-wcf.md +++ b/docs/framework/wcf/feature-details/migrating-wse-3-0-web-services-to-wcf.md @@ -60,7 +60,7 @@ The benefits of migrating WSE 3.0 Web services to Windows Communication Foundati For more information about creating custom bindings in WCF, see [Custom Bindings](../extending/custom-bindings.md). ### WSE 3.0 Web services that are secured using application code - Whether WSE 3.0 or WCF is used, the security requirements can be specified in application code instead of in configuration. In WSE 3.0, this is accomplished by creating a class that derives from the `Policy` class and then by adding the requirements by calling the `Add` method. For more details about specifying the security requirements in code, see [How to: Secure a Web Service Without Using a Policy File](https://docs.microsoft.com/previous-versions/dotnet/netframework-2.0/aa528763(v=msdn.10)). In WCF, to specify security requirements in code, create an instance of the class and add an instance of a to the . The security assertion requirements are set using the static authentication mode helper methods of the class. For more details about specifying security requirements in code using WCF, see [How to: Create a Custom Binding Using the SecurityBindingElement](how-to-create-a-custom-binding-using-the-securitybindingelement.md) and [How to: Create a SecurityBindingElement for a Specified Authentication Mode](how-to-create-a-securitybindingelement-for-a-specified-authentication-mode.md). + Whether WSE 3.0 or WCF is used, the security requirements can be specified in application code instead of in configuration. In WSE 3.0, this is accomplished by creating a class that derives from the `Policy` class and then by adding the requirements by calling the `Add` method. For more details about specifying the security requirements in code, see [How to: Secure a Web Service Without Using a Policy File](/previous-versions/dotnet/netframework-2.0/aa528763(v=msdn.10)). In WCF, to specify security requirements in code, create an instance of the class and add an instance of a to the . The security assertion requirements are set using the static authentication mode helper methods of the class. For more details about specifying security requirements in code using WCF, see [How to: Create a Custom Binding Using the SecurityBindingElement](how-to-create-a-custom-binding-using-the-securitybindingelement.md) and [How to: Create a SecurityBindingElement for a Specified Authentication Mode](how-to-create-a-securitybindingelement-for-a-specified-authentication-mode.md). ### WSE 3.0 Custom Policy Assertion In WSE 3.0 there are two types of custom policy assertions: those that secure a SOAP message and those that do not secure a SOAP message. Policy assertions that secure SOAP messages derive from WSE 3.0 `SecurityPolicyAssertion` class and the conceptual equivalent in WCF is the class. @@ -72,7 +72,7 @@ The benefits of migrating WSE 3.0 Web services to Windows Communication Foundati To convert a custom policy assertion that does not secure a SOAP message, see [Filtering](filtering.md) and the sample [Custom Message Interceptor](../samples/custom-message-interceptor.md). ### WSE 3.0 Custom Security Token - The WCF programming model for creating a custom token is different than WSE 3.0. For details about creating a custom token in WSE, see [Creating Custom Security Tokens](https://docs.microsoft.com/previous-versions/dotnet/netframework-2.0/aa529304(v=msdn.10)). For details about creating a custom token in WCF, see [How to: Create a Custom Token](../extending/how-to-create-a-custom-token.md). + The WCF programming model for creating a custom token is different than WSE 3.0. For details about creating a custom token in WSE, see [Creating Custom Security Tokens](/previous-versions/dotnet/netframework-2.0/aa529304(v=msdn.10)). For details about creating a custom token in WCF, see [How to: Create a Custom Token](../extending/how-to-create-a-custom-token.md). ### WSE 3.0 Custom Token Manager The programming model for creating a custom token manager is different in WCF than WSE 3.0. For details about how to create a custom token manager and the other components that are required for a custom security token, see [How to: Create a Custom Token](../extending/how-to-create-a-custom-token.md). @@ -105,7 +105,7 @@ The benefits of migrating WSE 3.0 Web services to Windows Communication Foundati ### WSE 3.0 Applications that use the WSE Messaging API - When the WSE Messaging API is used to gain direct access to the XML that is communicated between the client and Web service, the application can be converted to use "Plain Old XML" (POX). For more details about POX, see [Interoperability with POX Applications](interoperability-with-pox-applications.md). For more details about the WSE Messaging API, see [Sending and Receiving SOAP Messages Using WSE Messaging API](https://docs.microsoft.com/previous-versions/dotnet/netframework-2.0/aa529293(v=msdn.10)). + When the WSE Messaging API is used to gain direct access to the XML that is communicated between the client and Web service, the application can be converted to use "Plain Old XML" (POX). For more details about POX, see [Interoperability with POX Applications](interoperability-with-pox-applications.md). For more details about the WSE Messaging API, see [Sending and Receiving SOAP Messages Using WSE Messaging API](/previous-versions/dotnet/netframework-2.0/aa529293(v=msdn.10)). ## Transports diff --git a/docs/framework/wcf/feature-details/partial-trust-feature-compatibility.md b/docs/framework/wcf/feature-details/partial-trust-feature-compatibility.md index 9ec840e2c7ad3..1a7c3d71476fe 100644 --- a/docs/framework/wcf/feature-details/partial-trust-feature-compatibility.md +++ b/docs/framework/wcf/feature-details/partial-trust-feature-compatibility.md @@ -121,7 +121,7 @@ Windows Communication Foundation (WCF) supports a limited subset of functionalit - -- [System.ServiceModel.Internal.TransactionBridge](https://docs.microsoft.com/previous-versions/aa346556(v=vs.110))] +- [System.ServiceModel.Internal.TransactionBridge](/previous-versions/aa346556(v=vs.110))] The following members of the enumeration should not be specified: @@ -139,7 +139,7 @@ Windows Communication Foundation (WCF) supports a limited subset of functionalit ## Other Limitations - WCF is generally limited to the security considerations imposed upon it by the hosting application. For example, if WCF is hosted in a XAML Browser Application (XBAP), it is subject to XBAP limitations, as described in [Windows Presentation Foundation Partial Trust Security](../../wpf/wpf-partial-trust-security.md). + WCF is generally limited to the security considerations imposed upon it by the hosting application. For example, if WCF is hosted in a XAML Browser Application (XBAP), it is subject to XBAP limitations, as described in [Windows Presentation Foundation Partial Trust Security](/dotnet/desktop/wpf/wpf-partial-trust-security). The following additional features are not enabled when running indigo2 in a partial trust environment: diff --git a/docs/framework/wcf/feature-details/peer-resolvers.md b/docs/framework/wcf/feature-details/peer-resolvers.md index b29f595f061ba..b727d2490784b 100644 --- a/docs/framework/wcf/feature-details/peer-resolvers.md +++ b/docs/framework/wcf/feature-details/peer-resolvers.md @@ -26,7 +26,7 @@ In order to connect to a mesh, a peer node requires the IP addresses of other no > [!NOTE] > When using local and impromptu networks with a custom resolver, it is strongly advised that applications using or supporting link-local or impromptu networks include logic that selects a single link-local address to use when connecting. This prevents any confusion potentially caused by computers with multiple link-local addresses. In accordance with this, Peer Channel only supports using a single link-local address at any one time. You may specify this address with the `ListenIpAddress` property on the . - For a demonstration of how to implement a custom resolver, see [Peer Channel Custom Peer Resolver](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751466(v=vs.90)). + For a demonstration of how to implement a custom resolver, see [Peer Channel Custom Peer Resolver](/previous-versions/dotnet/netframework-3.5/ms751466(v=vs.90)). ## In This Section [Inside the CustomPeerResolverService: Client Registrations](inside-the-custompeerresolverservice-client-registrations.md) diff --git a/docs/framework/wcf/feature-details/peer-to-peer-networking.md b/docs/framework/wcf/feature-details/peer-to-peer-networking.md index b4f1d2ee33332..e24bbc42f8057 100644 --- a/docs/framework/wcf/feature-details/peer-to-peer-networking.md +++ b/docs/framework/wcf/feature-details/peer-to-peer-networking.md @@ -18,7 +18,7 @@ Peer Channel is a multiparty, peer-to-peer (P2P) communication technology in Win [Building a Peer Channel Application](building-a-peer-channel-application.md): Provides guidance on developing Peer Channel applications. ## Peer Channel Code Examples - [Peer Channel Custom Peer Resolver](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751466(v=vs.90)) + [Peer Channel Custom Peer Resolver](/previous-versions/dotnet/netframework-3.5/ms751466(v=vs.90)) ## Peer Channel Team blog - [Peer Channel Team Blog](https://docs.microsoft.com/archive/blogs/peerchan/) + [Peer Channel Team Blog](/archive/blogs/peerchan/) diff --git a/docs/framework/wcf/feature-details/programming-wcf-security.md b/docs/framework/wcf/feature-details/programming-wcf-security.md index 9b071a2660641..17ae3e95ad31a 100644 --- a/docs/framework/wcf/feature-details/programming-wcf-security.md +++ b/docs/framework/wcf/feature-details/programming-wcf-security.md @@ -13,7 +13,7 @@ ms.assetid: 739ec222-4eda-4cc9-a470-67e64a7a3f10 This topic describes the fundamental programming tasks used to create a secure Windows Communication Foundation (WCF) application. This topic covers only authentication, confidentiality, and integrity, collectively known as *transfer security*. This topic does not cover authorization (the control of access to resources or services); for information on authorization, see [Authorization](authorization-in-wcf.md). > [!NOTE] -> For a valuable introduction to security concepts, especially in regard to WCF, see the set of patterns and practices tutorials on MSDN at [Scenarios, Patterns, and Implementation Guidance for Web Services Enhancements (WSE) 3.0](https://docs.microsoft.com/previous-versions/msp-n-p/ff648183(v=pandp.10)). +> For a valuable introduction to security concepts, especially in regard to WCF, see the set of patterns and practices tutorials on MSDN at [Scenarios, Patterns, and Implementation Guidance for Web Services Enhancements (WSE) 3.0](/previous-versions/msp-n-p/ff648183(v=pandp.10)). Programming WCF security is based on three steps setting the following: the security mode, a client credential type, and the credential values. You can perform these steps either through code or configuration. diff --git a/docs/framework/wcf/feature-details/securing-messages-using-message-security.md b/docs/framework/wcf/feature-details/securing-messages-using-message-security.md index a4a311559ec0f..3bf8f717b3de1 100644 --- a/docs/framework/wcf/feature-details/securing-messages-using-message-security.md +++ b/docs/framework/wcf/feature-details/securing-messages-using-message-security.md @@ -35,7 +35,7 @@ This section discusses WCF message security when using - This feature must be enabled with Active Directory on Windows and Internet Information Services (IIS). For more information, see [Digest Authentication in IIS 6.0](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc782661(v=ws.10)). + This feature must be enabled with Active Directory on Windows and Internet Information Services (IIS). For more information, see [Digest Authentication in IIS 6.0](/previous-versions/windows/it-pro/windows-server-2003/cc782661(v=ws.10)). #### \ Element The [\](../../configure-apps/file-schema/wcf/issuedtoken.md) contains the elements used to configure a local issuer of tokens, or behaviors used with an security token service. For instructions on configuring a client to use a local issuer, see [How to: Configure a Local Issuer](how-to-configure-a-local-issuer.md). @@ -218,4 +218,4 @@ In Windows Communication Foundation (WCF), behaviors modify run-time behavior at ## See also - [Auditing](auditing-security-events.md) -- [Security Model for Windows Server App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677202(v=azure.10)) +- [Security Model for Windows Server App Fabric](/previous-versions/appfabric/ee677202(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/security-concepts-used-in-wcf.md b/docs/framework/wcf/feature-details/security-concepts-used-in-wcf.md index ccf3fc71841e3..220c08823b68c 100644 --- a/docs/framework/wcf/feature-details/security-concepts-used-in-wcf.md +++ b/docs/framework/wcf/feature-details/security-concepts-used-in-wcf.md @@ -22,7 +22,7 @@ Public Key Infrastructure (PKI) is a system of digital certificates, certificati The *Kerberos protocol* is a specification for creating a security mechanism that authenticates users on a Windows domain. It allows a user to establish a secure context with other entities within a domain. Windows 2000 and later platforms use the Kerberos protocol by default. Understanding the mechanisms of the system is useful when creating a service that will interact with intranet clients. In addition, since the *Web Services Security Kerberos Binding* is widely published, you can use the Kerberos protocol to communicate with Internet clients (that is, the Kerberos protocol is interoperable). For more information about how the Kerberos protocol is implemented in Windows, see [Microsoft Kerberos](/windows/win32/secauthn/microsoft-kerberos). ### X.509 Certificates - X.509 certificates are a primary credential form used in security applications. For more information on X.509 certificates see [X.509 Public Key Certificates](/windows/win32/seccertenroll/about-x-509-public-key-certificates). X.509 certificates are stored within a certificate store. A computer running Windows has several kinds of certificate stores, each with a different purpose. For more information about the different stores, see [Certificate Stores](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc757138(v=ws.10)). + X.509 certificates are a primary credential form used in security applications. For more information on X.509 certificates see [X.509 Public Key Certificates](/windows/win32/seccertenroll/about-x-509-public-key-certificates). X.509 certificates are stored within a certificate store. A computer running Windows has several kinds of certificate stores, each with a different purpose. For more information about the different stores, see [Certificate Stores](/previous-versions/windows/it-pro/windows-server-2003/cc757138(v=ws.10)). ## Web Services Security Specifications The system-defined bindings support many commonly used web services security specifications. For a complete list of system-provided bindings and the web services specifications they support see: [Web Services Protocols Supported by System-Provided Interoperability Bindings](web-services-protocols-supported-by-system-provided-interoperability-bindings.md) @@ -45,4 +45,4 @@ Public Key Infrastructure (PKI) is a system of digital certificates, certificati ## See also - [Security Overview](security-overview.md) -- [Security Model for Windows Server App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677202(v=azure.10)) +- [Security Model for Windows Server App Fabric](/previous-versions/appfabric/ee677202(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/security-concepts.md b/docs/framework/wcf/feature-details/security-concepts.md index 9bd78dbb1dadd..d8611ad2d2b60 100644 --- a/docs/framework/wcf/feature-details/security-concepts.md +++ b/docs/framework/wcf/feature-details/security-concepts.md @@ -34,4 +34,4 @@ This section briefly explains the concepts associated with Windows Communication - [Security](security.md) - [Security Overview](security-overview.md) -- [Security Model for Windows Server App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677202(v=azure.10)) +- [Security Model for Windows Server App Fabric](/previous-versions/appfabric/ee677202(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/security-guidance-and-best-practices.md b/docs/framework/wcf/feature-details/security-guidance-and-best-practices.md index b6d15dfc9143b..efa620543acb7 100644 --- a/docs/framework/wcf/feature-details/security-guidance-and-best-practices.md +++ b/docs/framework/wcf/feature-details/security-guidance-and-best-practices.md @@ -7,7 +7,7 @@ ms.assetid: 79e4e6f7-0c00-4045-b0f0-e6a7c37c7788 --- # Security Guidance and Best Practices -The articles in this section present guidance for and items to consider when creating secure Windows Communication Foundation (WCF) applications. For more information about Windows Server AppFabric and security, see [Security Model for Windows Server App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677202(v=azure.10)) +The articles in this section present guidance for and items to consider when creating secure Windows Communication Foundation (WCF) applications. For more information about Windows Server AppFabric and security, see [Security Model for Windows Server App Fabric](/previous-versions/appfabric/ee677202(v=azure.10)) ## In this Section [Best Practices for Security](best-practices-for-security-in-wcf.md) @@ -22,4 +22,4 @@ The articles in this section present guidance for and items to consider when cre ## See also - [Basic WCF Programming](../basic-wcf-programming.md) -- [Security Model for Windows Server App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677202(v=azure.10)) +- [Security Model for Windows Server App Fabric](/previous-versions/appfabric/ee677202(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/security-overview.md b/docs/framework/wcf/feature-details/security-overview.md index db9864eae5c24..84a857e073a82 100644 --- a/docs/framework/wcf/feature-details/security-overview.md +++ b/docs/framework/wcf/feature-details/security-overview.md @@ -108,4 +108,4 @@ Windows Communication Foundation (WCF) is a SOAP message-based distributed progr - [System-Provided Bindings](../system-provided-bindings.md) - [Endpoint Creation Overview](../endpoint-creation-overview.md) - [Extending Security](../extending/extending-security.md) -- [Security Model for Windows Server App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677202(v=azure.10)) +- [Security Model for Windows Server App Fabric](/previous-versions/appfabric/ee677202(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/security.md b/docs/framework/wcf/feature-details/security.md index ca22db51ff55c..1c2d5048a6e90 100644 --- a/docs/framework/wcf/feature-details/security.md +++ b/docs/framework/wcf/feature-details/security.md @@ -10,7 +10,7 @@ ms.assetid: 7ea87fcb-dcfb-4a4a-8b03-6b954575d45b # Windows Communication Foundation Security The topics in this section describe Windows Communication Foundation (WCF) security features and how to use them to help secure messages. - For more information about Windows Server AppFabric and security, see [Security Model for Windows Server AppFabric](https://docs.microsoft.com/previous-versions/appfabric/ee677202(v=azure.10)) + For more information about Windows Server AppFabric and security, see [Security Model for Windows Server AppFabric](/previous-versions/appfabric/ee677202(v=azure.10)) ## In This Section [Security Overview](security-overview.md) diff --git a/docs/framework/wcf/feature-details/serializing-in-json-with-message-level-programming.md b/docs/framework/wcf/feature-details/serializing-in-json-with-message-level-programming.md index 618a928ccc101..f09afc3426789 100644 --- a/docs/framework/wcf/feature-details/serializing-in-json-with-message-level-programming.md +++ b/docs/framework/wcf/feature-details/serializing-in-json-with-message-level-programming.md @@ -7,10 +7,10 @@ ms.assetid: 5f940ba2-57ee-4c49-a779-957c5e7e71fa WCF supports serializing data in JSON format. This topic describes how to tell WCF to serialize your types using the . ## Typed Message Programming - The is used when the or the is applied to a service operation. Both of these attributes allow you to specify the `RequestFormat` and `ResponseFormat`. To use JSON for requests and responses. set both of these to `WebMessageFormat.Json`. In order to use JSON, you must use the , which automatically configures the . For more information about WCF serialization, see [Serialization and Deserialization](serialization-and-deserialization.md). For more information about JSON and WCF, see [Service Station - An Introduction To RESTful Services With WCF](https://docs.microsoft.com/archive/msdn-magazine/2009/january/service-station-an-introduction-to-restful-services-with-wcf). + The is used when the or the is applied to a service operation. Both of these attributes allow you to specify the `RequestFormat` and `ResponseFormat`. To use JSON for requests and responses. set both of these to `WebMessageFormat.Json`. In order to use JSON, you must use the , which automatically configures the . For more information about WCF serialization, see [Serialization and Deserialization](serialization-and-deserialization.md). For more information about JSON and WCF, see [Service Station - An Introduction To RESTful Services With WCF](/archive/msdn-magazine/2009/january/service-station-an-introduction-to-restful-services-with-wcf). > [!IMPORTANT] -> Using JSON requires use of and which do not support SOAP communication. Services that communicate with the do not support exposing service metadata so you will not be able to use Visual Studio’s Add Service Reference functionality or the svcutil command-line tool to generate a client-side proxy. For more information how you can programmatically call services that use , see [How to Consume REST Services with WCF](https://docs.microsoft.com/archive/blogs/pedram/how-to-consume-rest-services-with-wcf). +> Using JSON requires use of and which do not support SOAP communication. Services that communicate with the do not support exposing service metadata so you will not be able to use Visual Studio’s Add Service Reference functionality or the svcutil command-line tool to generate a client-side proxy. For more information how you can programmatically call services that use , see [How to Consume REST Services with WCF](/archive/blogs/pedram/how-to-consume-rest-services-with-wcf). ## Untyped Message Programming When working directly with untyped Message objects, you must explicitly set the properties on the untyped message to serialize it as JSON. The following code snippet shows how to do this. diff --git a/docs/framework/wcf/feature-details/service-endpoints-and-queue-addressing.md b/docs/framework/wcf/feature-details/service-endpoints-and-queue-addressing.md index efa1bbd58e4ce..ba2c4ca0c5fc2 100644 --- a/docs/framework/wcf/feature-details/service-endpoints-and-queue-addressing.md +++ b/docs/framework/wcf/feature-details/service-endpoints-and-queue-addressing.md @@ -15,7 +15,7 @@ This topic discusses how clients address services that read from queues and how Path names are mapped to "FormatNames" to determine additional aspects of the address, including routing and queue manager transfer protocol. The Queue Manager supports two transfer protocols: native MSMQ protocol and SOAP Reliable Messaging Protocol (SRMP). - For more information about MSMQ path and format names, see [About Message Queuing](https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms706032(v=vs.85)). + For more information about MSMQ path and format names, see [About Message Queuing](/previous-versions/windows/desktop/legacy/ms706032(v=vs.85)). ## NetMsmqBinding and Service Addressing When addressing a message to a service, the scheme in the URI is chosen based on the transport used for communication. Each transport in WCF has a unique scheme. The scheme must reflect the nature of transport used for communication. For example, net.tcp, net.pipe, HTTP, and so on. @@ -90,7 +90,7 @@ This topic discusses how clients address services that read from queues and how msmq.formatname:\<*MSMQ-format-name*>> - The MSMQ-format-name is of the form specified by MSMQ in [About Message Queuing](https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms706032(v=vs.85)). + The MSMQ-format-name is of the form specified by MSMQ in [About Message Queuing](/previous-versions/windows/desktop/legacy/ms706032(v=vs.85)). Note that you can only use direct format names, and public and private format names (requires Active Directory integration) when receiving messages from a queue using `MsmqIntegrationBinding`. However, it is advised that you use direct format names. For example, on Windows Vista, using any other format name causes an error because the system attempts to open a subqueue, which can only be opened with direct format names. diff --git a/docs/framework/wcf/feature-details/supported-deployment-scenarios.md b/docs/framework/wcf/feature-details/supported-deployment-scenarios.md index cab5e7d2425ac..f7a9ae388f694 100644 --- a/docs/framework/wcf/feature-details/supported-deployment-scenarios.md +++ b/docs/framework/wcf/feature-details/supported-deployment-scenarios.md @@ -29,7 +29,7 @@ In addition to SOAP messaging using one of the supported SOAP bindings, WCF supp Workflow Services require Full Trust permissions and cannot be used in partially trusted applications. -For more information, see [How to: Use Medium Trust in ASP.NET 2.0](https://docs.microsoft.com/previous-versions/msp-n-p/ff648344(v=pandp.10)). +For more information, see [How to: Use Medium Trust in ASP.NET 2.0](/previous-versions/msp-n-p/ff648344(v=pandp.10)). ## Partial trust on the client @@ -40,6 +40,6 @@ WCF can be used to communicate with remote servers from within partially trusted ## See also - [Code Access Security](../../misc/code-access-security.md) -- [Windows Presentation Foundation Browser-Hosted Applications Overview](../../wpf/app-development/wpf-xaml-browser-applications-overview.md) +- [Windows Presentation Foundation Browser-Hosted Applications Overview](/dotnet/desktop/wpf/app-development/wpf-xaml-browser-applications-overview) - [Partial Trust](partial-trust.md) -- [ASP.NET Trust Levels and Policy Files](https://docs.microsoft.com/previous-versions/wyts434y(v=vs.140)) +- [ASP.NET Trust Levels and Policy Files](/previous-versions/wyts434y(v=vs.140)) diff --git a/docs/framework/wcf/feature-details/supporting-multiple-iis-site-bindings.md b/docs/framework/wcf/feature-details/supporting-multiple-iis-site-bindings.md index fe8ec54c48478..7cb7395b2f0d6 100644 --- a/docs/framework/wcf/feature-details/supporting-multiple-iis-site-bindings.md +++ b/docs/framework/wcf/feature-details/supporting-multiple-iis-site-bindings.md @@ -17,7 +17,7 @@ When hosting a Windows Communication Foundation (WCF) service under Internet Inf ``` - When hosting a WCF service under IIS, IIS creates one base address for you based on the URI to the virtual directory that contains the application. You can add additional base addresses that use the same protocol by using Internet Information Services Manager to add one or more bindings to your Web site. For each binding specify a protocol (HTTP or HTTPS), an IP address, a port, and a host name. For more information about using Internet Information Services Manager, see [IIS Manager (IIS 7)](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc753842(v=ws.10)). For more information about adding bindings to a site, see [Create a Web Site (IIS 7)](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc772350(v=ws.10)) + When hosting a WCF service under IIS, IIS creates one base address for you based on the URI to the virtual directory that contains the application. You can add additional base addresses that use the same protocol by using Internet Information Services Manager to add one or more bindings to your Web site. For each binding specify a protocol (HTTP or HTTPS), an IP address, a port, and a host name. For more information about using Internet Information Services Manager, see [IIS Manager (IIS 7)](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc753842(v=ws.10)). For more information about adding bindings to a site, see [Create a Web Site (IIS 7)](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc772350(v=ws.10)) Specifying multiple base addresses for the same site affects the content of the WCF Help page, importing schema, and the WSDL/MEX information generated by the service. The WCF Help page displays the command line to use to generate a WCF client that can communicate with the service. This command line contains only the first address specified in the IIS binding for the Web site. Similarly when importing schema, only the first base address specified in the IIS binding is used. WSDL and MEX data contain all the base addresses specified in the IIS bindings. diff --git a/docs/framework/wcf/feature-details/system-web-routing-integration.md b/docs/framework/wcf/feature-details/system-web-routing-integration.md index 77b292bc98d4f..f9b5d45a7e263 100644 --- a/docs/framework/wcf/feature-details/system-web-routing-integration.md +++ b/docs/framework/wcf/feature-details/system-web-routing-integration.md @@ -4,7 +4,7 @@ ms.date: "03/30/2017" ms.assetid: 31fe2a4f-5c47-4e5d-8ee1-84c524609d41 --- # System.Web.Routing Integration -When hosting a Windows Communication Foundation (WCF) service in Internet Information Service (IIS) you place a .svc file in the virtual directory. This .svc file specifies the service host factory to use as well as the class that implements the service. When making requests to the service you specify the .svc file in the URI, for example: `http://contoso.com/EmployeeServce.svc`. For programmers writing REST services, this type of URI is not optimal. URIs for REST services specify a specific resource and normally do not have any extensions. The integration feature allows you to host a WCF REST service that responds to URIs without an extension. For more information about routing see [ASP.NET Routing](https://docs.microsoft.com/previous-versions/aspnet/cc668201(v=vs.100)). +When hosting a Windows Communication Foundation (WCF) service in Internet Information Service (IIS) you place a .svc file in the virtual directory. This .svc file specifies the service host factory to use as well as the class that implements the service. When making requests to the service you specify the .svc file in the URI, for example: `http://contoso.com/EmployeeServce.svc`. For programmers writing REST services, this type of URI is not optimal. URIs for REST services specify a specific resource and normally do not have any extensions. The integration feature allows you to host a WCF REST service that responds to URIs without an extension. For more information about routing see [ASP.NET Routing](/previous-versions/aspnet/cc668201(v=vs.100)). ## Using System.Web.Routing Integration To use the integration feature, you use the class to create one or more routes and add them to the in a Global.asax file. These routes specify the relative URIs that the service responds to. The following example shows how to do this. @@ -66,4 +66,4 @@ When hosting a Windows Communication Foundation (WCF) service in Internet Inform ## See also - [WCF Web HTTP Programming Model](wcf-web-http-programming-model.md) -- [ASP.NET Routing](https://docs.microsoft.com/previous-versions/aspnet/cc668201(v=vs.100)) +- [ASP.NET Routing](/previous-versions/aspnet/cc668201(v=vs.100)) diff --git a/docs/framework/wcf/feature-details/transaction-models.md b/docs/framework/wcf/feature-details/transaction-models.md index 9284f664490f5..2cec36e9fcd2b 100644 --- a/docs/framework/wcf/feature-details/transaction-models.md +++ b/docs/framework/wcf/feature-details/transaction-models.md @@ -25,6 +25,6 @@ This topic describes the relationship between the transaction programming models ## MSDTC Transactions The Microsoft Distributed Transaction Coordinator (MSDTC) is a transaction manager that provides support for distributed transactions. - For more information, see the [DTC Programmer's Reference](https://docs.microsoft.com/previous-versions/windows/desktop/ms686108(v=vs.85)). + For more information, see the [DTC Programmer's Reference](/previous-versions/windows/desktop/ms686108(v=vs.85)). In a WCF service or application, MSDTC provides the infrastructure for the coordination of transactions created within a client or service. diff --git a/docs/framework/wcf/feature-details/transport-security-overview.md b/docs/framework/wcf/feature-details/transport-security-overview.md index abd733c2d57a2..968bead158758 100644 --- a/docs/framework/wcf/feature-details/transport-security-overview.md +++ b/docs/framework/wcf/feature-details/transport-security-overview.md @@ -42,19 +42,19 @@ Transport security mechanisms in Windows Communication Foundation (WCF) depend o The following sections discuss other client credential types. #### Basic - This corresponds to the Basic authentication method in IIS. When using this mode, the IIS server must be configured with Windows user accounts and appropriate NTFS file system permissions. For more information about IIS 6.0, see [Enabling Basic Authentication and Configuring the Realm Name](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc785293(v=ws.10)). For more information about IIS 7.0, see [Configure Basic Authentication (IIS 7)](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc772009(v=ws.10)). + This corresponds to the Basic authentication method in IIS. When using this mode, the IIS server must be configured with Windows user accounts and appropriate NTFS file system permissions. For more information about IIS 6.0, see [Enabling Basic Authentication and Configuring the Realm Name](/previous-versions/windows/it-pro/windows-server-2003/cc785293(v=ws.10)). For more information about IIS 7.0, see [Configure Basic Authentication (IIS 7)](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc772009(v=ws.10)). #### Certificate - IIS has an option to require clients to log on with a certificate. The feature also enables IIS to map a client certificate to a Windows account. For more information about IIS 6.0, see [Enabling Client Certificates in IIS 6.0](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc727994(v=ws.10)). For more information about IIS 7.0, see [Configuring Server Certificates in IIS 7](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc732230(v=ws.10)). + IIS has an option to require clients to log on with a certificate. The feature also enables IIS to map a client certificate to a Windows account. For more information about IIS 6.0, see [Enabling Client Certificates in IIS 6.0](/previous-versions/windows/it-pro/windows-server-2003/cc727994(v=ws.10)). For more information about IIS 7.0, see [Configuring Server Certificates in IIS 7](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc732230(v=ws.10)). #### Digest - Digest authentication is similar to Basic authentication, but offers the advantage of sending the credentials as a hash, instead of in clear text. For more information about IIS 6.0, see [Digest Authentication in IIS 6.0](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc782661(v=ws.10)). For more information about IIS 7.0, see [Configure Digest Authentication (IIS 7)](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc754104(v=ws.10)). + Digest authentication is similar to Basic authentication, but offers the advantage of sending the credentials as a hash, instead of in clear text. For more information about IIS 6.0, see [Digest Authentication in IIS 6.0](/previous-versions/windows/it-pro/windows-server-2003/cc782661(v=ws.10)). For more information about IIS 7.0, see [Configure Digest Authentication (IIS 7)](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc754104(v=ws.10)). #### Windows - This corresponds to integrated Windows authentication in IIS. When set to this value, the server is also expected to exist on a Windows domain that uses the Kerberos protocol as its domain controller. If the server is not on a Kerberos-backed domain, or if the Kerberos system fails, you can use the NT LAN Manager (NTLM) value described in the next section. For more information about IIS 6.0, see [Integrated Windows Authentication in IIS 6.0](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc738016(v=ws.10)). For more information about IIS 7.0, see [Configuring Server Certificates in IIS 7](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc732230(v=ws.10)). + This corresponds to integrated Windows authentication in IIS. When set to this value, the server is also expected to exist on a Windows domain that uses the Kerberos protocol as its domain controller. If the server is not on a Kerberos-backed domain, or if the Kerberos system fails, you can use the NT LAN Manager (NTLM) value described in the next section. For more information about IIS 6.0, see [Integrated Windows Authentication in IIS 6.0](/previous-versions/windows/it-pro/windows-server-2003/cc738016(v=ws.10)). For more information about IIS 7.0, see [Configuring Server Certificates in IIS 7](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc732230(v=ws.10)). #### NTLM - This enables the server to use NTLM for authentication if the Kerberos protocol fails. For more information about configuring IIS in IIS 6.0, see [Forcing NTLM Authentication](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc786486(v=ws.10)). For IIS 7.0, the Windows authentication includes NTLM authentication. For more information, see [Configuring Server Certificates in IIS 7](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc732230(v=ws.10)). + This enables the server to use NTLM for authentication if the Kerberos protocol fails. For more information about configuring IIS in IIS 6.0, see [Forcing NTLM Authentication](/previous-versions/windows/it-pro/windows-server-2003/cc786486(v=ws.10)). For IIS 7.0, the Windows authentication includes NTLM authentication. For more information, see [Configuring Server Certificates in IIS 7](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc732230(v=ws.10)). ## WsHttpBinding The class is designed for interoperation with services that implement WS-* specifications. The transport security for this binding is Secure Sockets Layer (SSL) over HTTP, or HTTPS. To create an WCF application that uses SSL, use IIS to host the application. Alternatively, if you are creating a self-hosted application, use the HttpCfg.exe tool to bind an X.509 certificate to a specific port on a computer. The port number is specified as part of the WCF application as an endpoint address. When using transport mode, the endpoint address must include the HTTPS protocol or an exception will be thrown at run time. For more information, see [HTTP Transport Security](http-transport-security.md). diff --git a/docs/framework/wcf/feature-details/transport-security-with-an-anonymous-client.md b/docs/framework/wcf/feature-details/transport-security-with-an-anonymous-client.md index a645f6cd79cd5..9d577582f5280 100644 --- a/docs/framework/wcf/feature-details/transport-security-with-an-anonymous-client.md +++ b/docs/framework/wcf/feature-details/transport-security-with-an-anonymous-client.md @@ -121,4 +121,4 @@ The following configuration can be used instead of the code to set up the servic - [Security Overview](security-overview.md) - [WS Transport Security](../samples/ws-transport-security.md) - [Transport Security Overview](transport-security-overview.md) -- [Security Model for Windows Server App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677202(v=azure.10)) +- [Security Model for Windows Server App Fabric](/previous-versions/appfabric/ee677202(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/transport-security-with-basic-authentication.md b/docs/framework/wcf/feature-details/transport-security-with-basic-authentication.md index 5876887912cd4..bd3e10ada5bd8 100644 --- a/docs/framework/wcf/feature-details/transport-security-with-basic-authentication.md +++ b/docs/framework/wcf/feature-details/transport-security-with-basic-authentication.md @@ -113,4 +113,4 @@ The following illustration shows a Windows Communication Foundation (WCF) servic - [How to: Configure a Port with an SSL Certificate](how-to-configure-a-port-with-an-ssl-certificate.md) - [Security Overview](security-overview.md) - [\](../../configure-apps/file-schema/wcf/clientcredentials.md) -- [Security Model for Windows Server App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677202(v=azure.10)) +- [Security Model for Windows Server App Fabric](/previous-versions/appfabric/ee677202(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/transport-security-with-certificate-authentication.md b/docs/framework/wcf/feature-details/transport-security-with-certificate-authentication.md index c22f70dada97c..940a36ba9b548 100644 --- a/docs/framework/wcf/feature-details/transport-security-with-certificate-authentication.md +++ b/docs/framework/wcf/feature-details/transport-security-with-certificate-authentication.md @@ -136,4 +136,4 @@ cc.Close(); ## See also - [Security Overview](security-overview.md) -- [Security Model for Windows Server App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677202(v=azure.10)) +- [Security Model for Windows Server App Fabric](/previous-versions/appfabric/ee677202(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/transport-security-with-windows-authentication.md b/docs/framework/wcf/feature-details/transport-security-with-windows-authentication.md index 578959721129d..740ccdea4d65f 100644 --- a/docs/framework/wcf/feature-details/transport-security-with-windows-authentication.md +++ b/docs/framework/wcf/feature-details/transport-security-with-windows-authentication.md @@ -116,4 +116,4 @@ The following scenario shows a Windows Communication Foundation (WCF) client and - [Security Overview](security-overview.md) - [How to: Secure a Service with Windows Credentials](../how-to-secure-a-service-with-windows-credentials.md) -- [Security Model for Windows Server App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677202(v=azure.10)) +- [Security Model for Windows Server App Fabric](/previous-versions/appfabric/ee677202(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/trusted-subsystem.md b/docs/framework/wcf/feature-details/trusted-subsystem.md index 60d8e3110fb8a..d9d057fc65450 100644 --- a/docs/framework/wcf/feature-details/trusted-subsystem.md +++ b/docs/framework/wcf/feature-details/trusted-subsystem.md @@ -207,4 +207,4 @@ A client accesses one or more Web services that are distributed across a network ## See also - [Security Overview](security-overview.md) -- [Security Model for Windows Server App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677202(v=azure.10)) +- [Security Model for Windows Server App Fabric](/previous-versions/appfabric/ee677202(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/unsupported-scenarios.md b/docs/framework/wcf/feature-details/unsupported-scenarios.md index 4946efcb27151..5fcfbfcd98e3a 100644 --- a/docs/framework/wcf/feature-details/unsupported-scenarios.md +++ b/docs/framework/wcf/feature-details/unsupported-scenarios.md @@ -74,7 +74,7 @@ FIPS-compliant AES encryption does not work in duplex callbacks under identifica - Do a `p/invoke` of `CertGetCertificateContextProperty`, and inspect `dwProvType` on the returned `CertGetCertificateContextProperty`. -- Use the `certutil` command from the command line for querying certificates. For more information, see [Certutil tasks for troubleshooting certificates](https://docs.microsoft.com/previous-versions/orphan-topics/ws.10/cc772619(v=ws.10)). +- Use the `certutil` command from the command line for querying certificates. For more information, see [Certutil tasks for troubleshooting certificates](/previous-versions/orphan-topics/ws.10/cc772619(v=ws.10)). ## Message security fails if using ASP.NET impersonation and ASP.NET compatibility is required diff --git a/docs/framework/wcf/feature-details/was-activation-architecture.md b/docs/framework/wcf/feature-details/was-activation-architecture.md index 9929d4bd6b3fe..3dff6ecfbbfde 100644 --- a/docs/framework/wcf/feature-details/was-activation-architecture.md +++ b/docs/framework/wcf/feature-details/was-activation-architecture.md @@ -82,4 +82,4 @@ This topic itemizes and discusses the components of the Windows Process Activati ## See also - [Configuring WAS for Use with WCF](configuring-the-wpa--service-for-use-with-wcf.md) -- [Windows Server App Fabric Hosting Features](https://docs.microsoft.com/previous-versions/appfabric/ee677189(v=azure.10)) +- [Windows Server App Fabric Hosting Features](/previous-versions/appfabric/ee677189(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/wcf-discovery-overview.md b/docs/framework/wcf/feature-details/wcf-discovery-overview.md index 4610dc1f3bfe8..676492a8280f0 100644 --- a/docs/framework/wcf/feature-details/wcf-discovery-overview.md +++ b/docs/framework/wcf/feature-details/wcf-discovery-overview.md @@ -147,7 +147,7 @@ class Client 2. Use a discovery proxy to communicate on behalf of the service - Windows Server AppFabric has an Auto-Start feature that will allow a service to be started before receiving any messages. With this Auto-Start set, an IIS/WAS hosted service can be configured to be discoverable. For more information about the Auto-Start feature see, [Windows Server AppFabric Auto-Start Feature](https://docs.microsoft.com/previous-versions/appfabric/ee677260(v=azure.10)). Along with turning on the Auto-Start feature, you must configure the service for discovery. For more information, see [How to: Programmatically Add Discoverability to a WCF Service and Client](how-to-programmatically-add-discoverability-to-a-wcf-service-and-client.md)[Configuring Discovery in a Configuration File](configuring-discovery-in-a-configuration-file.md). + Windows Server AppFabric has an Auto-Start feature that will allow a service to be started before receiving any messages. With this Auto-Start set, an IIS/WAS hosted service can be configured to be discoverable. For more information about the Auto-Start feature see, [Windows Server AppFabric Auto-Start Feature](/previous-versions/appfabric/ee677260(v=azure.10)). Along with turning on the Auto-Start feature, you must configure the service for discovery. For more information, see [How to: Programmatically Add Discoverability to a WCF Service and Client](how-to-programmatically-add-discoverability-to-a-wcf-service-and-client.md)[Configuring Discovery in a Configuration File](configuring-discovery-in-a-configuration-file.md). A discovery proxy can be used to communicate on behalf of the WCF service when the service is not running. The proxy can listen for probe or resolve messages and respond to the client. The client can then send messages directly to the service. When the client sends a message to the service it will be instantiated to respond to the message. For more information about implementing a discovery proxy see, [Implementing a Discovery Proxy](implementing-a-discovery-proxy.md). diff --git a/docs/framework/wcf/feature-details/wcf-security-terminology.md b/docs/framework/wcf/feature-details/wcf-security-terminology.md index 0a6cff95dd0f0..99f35eb251ab9 100644 --- a/docs/framework/wcf/feature-details/wcf-security-terminology.md +++ b/docs/framework/wcf/feature-details/wcf-security-terminology.md @@ -179,4 +179,4 @@ Some of the terminology used when discussing security may be unfamiliar. This to - [Fundamental Windows Communication Foundation Concepts](../fundamental-concepts.md) - [Security Concepts](security-concepts.md) -- [Security Model for Windows Server App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677202(v=azure.10)) +- [Security Model for Windows Server App Fabric](/previous-versions/appfabric/ee677202(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/wcf-services-and-aspnet.md b/docs/framework/wcf/feature-details/wcf-services-and-aspnet.md index ef7507e1a8765..00ea0f46123b3 100644 --- a/docs/framework/wcf/feature-details/wcf-services-and-aspnet.md +++ b/docs/framework/wcf/feature-details/wcf-services-and-aspnet.md @@ -101,4 +101,4 @@ For more information about enabling ASP.NET compatibility mode for WCF services, ## See also - -- [Windows Server App Fabric Hosting Features](https://docs.microsoft.com/previous-versions/appfabric/ee677189(v=azure.10)) +- [Windows Server App Fabric Hosting Features](/previous-versions/appfabric/ee677189(v=azure.10)) diff --git a/docs/framework/wcf/feature-details/web-services-protocols-interoperability-guide.md b/docs/framework/wcf/feature-details/web-services-protocols-interoperability-guide.md index e29f7ef37124a..21bf46e011ff3 100644 --- a/docs/framework/wcf/feature-details/web-services-protocols-interoperability-guide.md +++ b/docs/framework/wcf/feature-details/web-services-protocols-interoperability-guide.md @@ -67,7 +67,7 @@ Infrastructure protocols interoperability is provided by the WS-* specifications |Specification/Document|Link| |-----------------------------|----------| -|WS-Coordination|[Web Services Coordination](https://docs.microsoft.com/previous-versions/ms951231(v=msdn.10))| +|WS-Coordination|[Web Services Coordination](/previous-versions/ms951231(v=msdn.10))| |WS-AtomicTransaction|[Web Services Atomic Transaction](https://specs.xmlsoap.org/ws/2004/10/wsat/wsat.pdf)| The , , , , and classes provide support for the following metadata specifications: diff --git a/docs/framework/wcf/feature-details/web-services-protocols-supported-by-system-provided-interoperability-bindings.md b/docs/framework/wcf/feature-details/web-services-protocols-supported-by-system-provided-interoperability-bindings.md index c9a07c11ec1de..a4ede6857f81f 100644 --- a/docs/framework/wcf/feature-details/web-services-protocols-supported-by-system-provided-interoperability-bindings.md +++ b/docs/framework/wcf/feature-details/web-services-protocols-supported-by-system-provided-interoperability-bindings.md @@ -52,7 +52,7 @@ Windows Communication Foundation (WCF) is built to interoperate with Web service |Security|WS-Trust|[WS-Trust](http://specs.xmlsoap.org/ws/2005/02/trust/ws-trust.pdf)

Used by WS-SecureConversation (see above).| |Reliable Messaging|WS-ReliableMessaging|[WS-ReliableMessaging](http://specs.xmlsoap.org/ws/2005/02/rm/ws-reliablemessaging.pdf)

Use when the binding is configured to use `reliableSession`.

` `| |Transactions|WS-AtomicTransaction|[WS-AtomicTransaction](http://specs.xmlsoap.org/ws/2004/10/wsat/wsat.pdf)

Use for communication between transaction managers. WCF clients and services always use local transaction managers.| -|Transactions|WS-Coordination|[WS-Coordination](https://docs.microsoft.com/previous-versions/ms951231(v=msdn.10))

Use to flow the transaction context when the `flowTransactions` attribute is set to "Allowed" or "Required".

` `| +|Transactions|WS-Coordination|[WS-Coordination](/previous-versions/ms951231(v=msdn.10))

Use to flow the transaction context when the `flowTransactions` attribute is set to "Allowed" or "Required".

` `| ## wsFederationHttpBinding and ws2007FederationHttpBinding The [\](../../configure-apps/file-schema/wcf/wsfederationhttpbinding.md) and [\](../../configure-apps/file-schema/wcf/ws2007federationhttpbinding.md) elements are introduced to provide support for federated scenarios, where a third party issues a token used to authenticate a client. In addition to the protocols used by `wsHttpBinding`, `wsFederationHttpBinding` leverages: diff --git a/docs/framework/wcf/feature-details/working-with-certificates.md b/docs/framework/wcf/feature-details/working-with-certificates.md index 3286051e2810c..a9160a6847635 100644 --- a/docs/framework/wcf/feature-details/working-with-certificates.md +++ b/docs/framework/wcf/feature-details/working-with-certificates.md @@ -13,7 +13,7 @@ ms.assetid: 6ffb8682-8f07-4a45-afbb-8d2487e9dbc3 To program Windows Communication Foundation (WCF) security, X.509 digital certificates are commonly used to authenticate clients and servers, encrypt, and digitally sign messages. This topic briefly explains X.509 digital certificate features and how to use them in WCF, and includes links to topics that explain these concepts further or that show how to accomplish common tasks using WCF and certificates. -In brief, a digital certificate is a part of a *public key infrastructure* (PKI), which is a system of digital certificates, certificate authorities, and other registration authorities that verify and authenticate the validity of each party involved in an electronic transaction through the use of public key cryptography. A certification authority issues certificates and each certificate has a set of fields that contain data, such as *subject* (the entity to which the certificate is issued), validity dates (when the certificate is valid), issuer (the entity that issued the certificate), and a public key. In WCF, each of these properties is processed as a , and each claim is further divided into two types: identity and right. For more information about X.509 certificates see [X.509 Public Key Certificates](/windows/desktop/SecCertEnroll/about-x-509-public-key-certificates). For more information about Claims and Authorization in WCF see [Managing Claims and Authorization with the Identity Model](managing-claims-and-authorization-with-the-identity-model.md). For more information about implementing a PKI, see [Enterprise PKI with Windows Server 2012 R2 Active Directory Certificate Services](https://docs.microsoft.com/archive/blogs/yungchou/enterprise-pki-with-windows-server-2012-r2-active-directory-certificate-services-part-1-of-2). +In brief, a digital certificate is a part of a *public key infrastructure* (PKI), which is a system of digital certificates, certificate authorities, and other registration authorities that verify and authenticate the validity of each party involved in an electronic transaction through the use of public key cryptography. A certification authority issues certificates and each certificate has a set of fields that contain data, such as *subject* (the entity to which the certificate is issued), validity dates (when the certificate is valid), issuer (the entity that issued the certificate), and a public key. In WCF, each of these properties is processed as a , and each claim is further divided into two types: identity and right. For more information about X.509 certificates see [X.509 Public Key Certificates](/windows/desktop/SecCertEnroll/about-x-509-public-key-certificates). For more information about Claims and Authorization in WCF see [Managing Claims and Authorization with the Identity Model](managing-claims-and-authorization-with-the-identity-model.md). For more information about implementing a PKI, see [Enterprise PKI with Windows Server 2012 R2 Active Directory Certificate Services](/archive/blogs/yungchou/enterprise-pki-with-windows-server-2012-r2-active-directory-certificate-services-part-1-of-2). The primary function of a certificate is to authenticate the identity of the owner of the certificate to others. A certificate contains the *public key* of the owner, while the owner retains the private key. The public key can be used to encrypt messages sent to the owner of the certificate. Only the owner has access to the private key, so only the owner can decrypt those messages. @@ -159,9 +159,9 @@ You can also set certificates by using configuration. If you are creating a serv ## Mapping a Certificate to a User Account -A feature of IIS and Active Directory is the ability to map a certificate to a Windows user account. For more information about the feature, see [Map certificates to user accounts](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc736706(v=ws.10)). +A feature of IIS and Active Directory is the ability to map a certificate to a Windows user account. For more information about the feature, see [Map certificates to user accounts](/previous-versions/windows/it-pro/windows-server-2003/cc736706(v=ws.10)). -For more information about using Active Directory mapping, see [Mapping Client Certificates with Directory Service Mapping](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc758484(v=ws.10)). +For more information about using Active Directory mapping, see [Mapping Client Certificates with Directory Service Mapping](/previous-versions/windows/it-pro/windows-server-2003/cc758484(v=ws.10)). With this capability enabled, you can set the property of the class to `true`. In configuration, you can set the `mapClientCertificateToWindowsAccount` attribute of the [\](../../configure-apps/file-schema/wcf/authentication-of-servicecertificate-element.md) element to `true`, as shown in the following code. diff --git a/docs/framework/wcf/feature-details/working-with-nats-and-firewalls.md b/docs/framework/wcf/feature-details/working-with-nats-and-firewalls.md index b3e51823c9395..3626bce422e51 100644 --- a/docs/framework/wcf/feature-details/working-with-nats-and-firewalls.md +++ b/docs/framework/wcf/feature-details/working-with-nats-and-firewalls.md @@ -27,7 +27,7 @@ The client and server of a network connection frequently do not have a direct an ## Using Teredo - Teredo is an IPv6 transition technology that enables the direct addressability of machines behind a NAT. Teredo relies on the use of a server that can be publicly and globally routed to advertise potential connections. The Teredo server gives the application client and server a common meeting point at which they can exchange connection information. The machines then request a temporary Teredo address, and packets are tunneled through the existing network. Teredo support in WCF requires enabling IPv6 and Teredo support in the operating system. Windows XP and later operating systems support Teredo. Windows Vista and later operating systems support IPv6 by default and only require the user to enable Teredo. Windows XP SP2 and Windows Server 2003 require the user to enable both IPv6 and Teredo. For more information, see the [Teredo Overview](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-xp/bb457011(v%3dtechnet.10)). + Teredo is an IPv6 transition technology that enables the direct addressability of machines behind a NAT. Teredo relies on the use of a server that can be publicly and globally routed to advertise potential connections. The Teredo server gives the application client and server a common meeting point at which they can exchange connection information. The machines then request a temporary Teredo address, and packets are tunneled through the existing network. Teredo support in WCF requires enabling IPv6 and Teredo support in the operating system. Windows XP and later operating systems support Teredo. Windows Vista and later operating systems support IPv6 by default and only require the user to enable Teredo. Windows XP SP2 and Windows Server 2003 require the user to enable both IPv6 and Teredo. For more information, see the [Teredo Overview](/previous-versions/windows/it-pro/windows-xp/bb457011(v=technet.10)). ## Choosing a Transport and Message Exchange Pattern Selecting a transport and MEP is a three-step process: diff --git a/docs/framework/wcf/how-to-implement-an-asynchronous-service-operation.md b/docs/framework/wcf/how-to-implement-an-asynchronous-service-operation.md index 0c269d4a254c2..ec4db7158817d 100644 --- a/docs/framework/wcf/how-to-implement-an-asynchronous-service-operation.md +++ b/docs/framework/wcf/how-to-implement-an-asynchronous-service-operation.md @@ -8,7 +8,7 @@ dev_langs: ms.assetid: 4e5d2ea5-d8f8-4712-bd18-ea3c5461702c --- # How to: Implement an Asynchronous Service Operation -In Windows Communication Foundation (WCF) applications, a service operation can be implemented asynchronously or synchronously without dictating to the client how to call it. For example, asynchronous service operations can be called synchronously, and synchronous service operations can be called asynchronously. For an example that shows how to call an operation asynchronously in a client application, see [How to: Call Service Operations Asynchronously](./feature-details/how-to-call-wcf-service-operations-asynchronously.md). For more information about synchronous and asynchronous operations, see [Designing Service Contracts](designing-service-contracts.md) and [Synchronous and Asynchronous Operations](synchronous-and-asynchronous-operations.md). This topic describes the basic structure of an asynchronous service operation, the code is not complete. For a complete example of both the service and client sides, see [Asynchronous](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms751505(v=vs.100)). +In Windows Communication Foundation (WCF) applications, a service operation can be implemented asynchronously or synchronously without dictating to the client how to call it. For example, asynchronous service operations can be called synchronously, and synchronous service operations can be called asynchronously. For an example that shows how to call an operation asynchronously in a client application, see [How to: Call Service Operations Asynchronously](./feature-details/how-to-call-wcf-service-operations-asynchronously.md). For more information about synchronous and asynchronous operations, see [Designing Service Contracts](designing-service-contracts.md) and [Synchronous and Asynchronous Operations](synchronous-and-asynchronous-operations.md). This topic describes the basic structure of an asynchronous service operation, the code is not complete. For a complete example of both the service and client sides, see [Asynchronous](/previous-versions/dotnet/netframework-4.0/ms751505(v=vs.100)). ### Implement a service operation asynchronously diff --git a/docs/framework/wcf/migrating-from-net-remoting-to-wcf.md b/docs/framework/wcf/migrating-from-net-remoting-to-wcf.md index 2a306710c54c2..5e1f367787827 100644 --- a/docs/framework/wcf/migrating-from-net-remoting-to-wcf.md +++ b/docs/framework/wcf/migrating-from-net-remoting-to-wcf.md @@ -279,7 +279,7 @@ catch (FaultException fault) ### Why Migrate from Remoting to WCF? -- **.NET Remoting is a legacy product.** As described in [.NET Remoting](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/72x4h507%28v=vs.100%29), it is considered a legacy product and is not recommended for new development. WCF or ASP.NET Web API are recommended for new and existing applications. +- **.NET Remoting is a legacy product.** As described in [.NET Remoting](/previous-versions/dotnet/netframework-4.0/72x4h507(v=vs.100)), it is considered a legacy product and is not recommended for new development. WCF or ASP.NET Web API are recommended for new and existing applications. - **WCF uses cross-platform standards.** WCF was designed with cross-platform interoperability in mind and supports many industry standards (SOAP, WS-Security, WS-Trust, etc.). A WCF service can interoperate with clients running on operating systems other than Windows. Remoting was designed primarily for environments where both the server and client applications run using .NET Framework on a Windows operating system. diff --git a/docs/framework/wcf/samples/aspnet-compatibility.md b/docs/framework/wcf/samples/aspnet-compatibility.md index afdc8792dffca..7bd9eb3442a64 100644 --- a/docs/framework/wcf/samples/aspnet-compatibility.md +++ b/docs/framework/wcf/samples/aspnet-compatibility.md @@ -124,4 +124,4 @@ Press to terminate client. ## See also -- [AppFabric Hosting and Persistence Samples](https://docs.microsoft.com/previous-versions/appfabric/ff383418(v=azure.10)) +- [AppFabric Hosting and Persistence Samples](/previous-versions/appfabric/ff383418(v=azure.10)) diff --git a/docs/framework/wcf/samples/authorization-policy.md b/docs/framework/wcf/samples/authorization-policy.md index 72475a3657e16..406327016de46 100644 --- a/docs/framework/wcf/samples/authorization-policy.md +++ b/docs/framework/wcf/samples/authorization-policy.md @@ -454,7 +454,7 @@ The following provides a brief overview of the different sections of the batch f 1. Launch Client.exe from *\client\bin*. Client activity is displayed on the client console application. -If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). ### To run the sample across computers @@ -494,7 +494,7 @@ If the client and service are not able to communicate, see [Troubleshooting Tips 14. On the client computer, launch Client.exe from a command prompt window. - If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). + If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). ### Clean up after the sample diff --git a/docs/framework/wcf/samples/circular-tracing.md b/docs/framework/wcf/samples/circular-tracing.md index 339b1c9b07501..aea7432e92c1f 100644 --- a/docs/framework/wcf/samples/circular-tracing.md +++ b/docs/framework/wcf/samples/circular-tracing.md @@ -58,4 +58,4 @@ A service can be configured to use the Circular Buffer Trace Listener by adding ## See also -- [AppFabric Monitoring Samples](https://docs.microsoft.com/previous-versions/appfabric/ff383407(v=azure.10)) +- [AppFabric Monitoring Samples](/previous-versions/appfabric/ff383407(v=azure.10)) diff --git a/docs/framework/wcf/samples/client-validation.md b/docs/framework/wcf/samples/client-validation.md index 2b8aad0bbcaa8..302840f0ff7eb 100644 --- a/docs/framework/wcf/samples/client-validation.md +++ b/docs/framework/wcf/samples/client-validation.md @@ -22,7 +22,7 @@ Services frequently publish metadata to enable automatic generation and configur 3. Run the client application from \client\bin\Debug. Client activity is displayed on the client console application. -4. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +4. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). 5. Remove the certificates by running Cleanup.bat when you have finished with the sample. Other security samples use the same certificates. @@ -48,7 +48,7 @@ Services frequently publish metadata to enable automatic generation and configur 10. On the client computer, run client.exe. - 1. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). + 1. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). ### To clean up after the sample diff --git a/docs/framework/wcf/samples/custom-binding-security.md b/docs/framework/wcf/samples/custom-binding-security.md index d616590ea83b8..11c858a946cd1 100644 --- a/docs/framework/wcf/samples/custom-binding-security.md +++ b/docs/framework/wcf/samples/custom-binding-security.md @@ -117,7 +117,7 @@ The following provides a brief overview of the different sections of the batch f 3. Launch Client.exe from \client\bin. Client activity is displayed on the client console application. -4. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +4. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). ### To run the sample across computers diff --git a/docs/framework/wcf/samples/custom-secure-metadata-endpoint.md b/docs/framework/wcf/samples/custom-secure-metadata-endpoint.md index f148b389b2bf2..c27a464086380 100644 --- a/docs/framework/wcf/samples/custom-secure-metadata-endpoint.md +++ b/docs/framework/wcf/samples/custom-secure-metadata-endpoint.md @@ -136,7 +136,7 @@ ChannelFactory cf = new ChannelFactory(endpoint.Bindin 2. Run the client application from \MetadataResolverClient\bin or \SvcutilClient\bin. Client activity is displayed on the client console application. -3. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +3. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). 4. Remove the certificates by running Cleanup.bat when you have finished with the sample. Other security samples use the same certificates. @@ -162,7 +162,7 @@ ChannelFactory cf = new ChannelFactory(endpoint.Bindin 10. On the client machine, run the MetadataResolverClient or the SvcutilClient from VS. - 1. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). + 1. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). #### To clean up after the sample @@ -178,4 +178,4 @@ ChannelFactory cf = new ChannelFactory(endpoint.Bindin > > If this directory does not exist, go to [Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4](https://www.microsoft.com/download/details.aspx?id=21459) to download all Windows Communication Foundation (WCF) and [!INCLUDE[wf1](../../../../includes/wf1-md.md)] samples. This sample is located in the following directory. > -> `:\WF_WCF_Samples\WCF\Extensibility\Metadata\CustomMexEndpoint` +> `:\WF_WCF_Samples\WCF\Extensibility\Metadata\CustomMexEndpoint` diff --git a/docs/framework/wcf/samples/custom-token.md b/docs/framework/wcf/samples/custom-token.md index 0492db5827396..15b2fb20a303b 100644 --- a/docs/framework/wcf/samples/custom-token.md +++ b/docs/framework/wcf/samples/custom-token.md @@ -603,7 +603,7 @@ string GetCallerCreditCardNumber() 1. Launch Client.exe from client\bin directory. Client activity is displayed on the client console application. -2. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +2. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). #### To run the sample across computer @@ -625,8 +625,8 @@ string GetCallerCreditCardNumber() 9. On the client computer, launch Client.exe from a command prompt window. -10. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +10. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). #### To clean up after the sample -1. Run Cleanup.bat in the samples folder once you have finished running the sample. +1. Run Cleanup.bat in the samples folder once you have finished running the sample. diff --git a/docs/framework/wcf/samples/design-patterns-list-based-publish-subscribe.md b/docs/framework/wcf/samples/design-patterns-list-based-publish-subscribe.md index 6bdc571db4a65..a6ef246356b61 100644 --- a/docs/framework/wcf/samples/design-patterns-list-based-publish-subscribe.md +++ b/docs/framework/wcf/samples/design-patterns-list-based-publish-subscribe.md @@ -9,7 +9,7 @@ This sample illustrates the List-based Publish-Subscribe pattern implemented as > [!NOTE] > The setup procedure and build instructions for this sample are located at the end of this topic. - The List-based Publish-Subscribe design pattern is described in the Microsoft Patterns & Practices publication, [Integration Patterns](https://docs.microsoft.com/previous-versions/msp-n-p/ff647309(v=pandp.10)). The Publish-Subscribe pattern passes information to a collection of recipients who have subscribed to an information topic. List-based publish-subscribe maintains a list of subscribers. When there is information to share, a copy is sent to each subscriber on the list. This sample demonstrates a dynamic list-based publish-subscribe pattern, where clients can subscribe or unsubscribe as often as required. + The List-based Publish-Subscribe design pattern is described in the Microsoft Patterns & Practices publication, [Integration Patterns](/previous-versions/msp-n-p/ff647309(v=pandp.10)). The Publish-Subscribe pattern passes information to a collection of recipients who have subscribed to an information topic. List-based publish-subscribe maintains a list of subscribers. When there is information to share, a copy is sent to each subscriber on the list. This sample demonstrates a dynamic list-based publish-subscribe pattern, where clients can subscribe or unsubscribe as often as required. The List-based Publish-Subscribe sample consists of a client, a service, and a data source program. There can be more than one client and more than one data source program running. Clients subscribe to the service, receive notifications, and unsubscribe. Data source programs send information to the service to be shared with all current subscribers. @@ -118,7 +118,7 @@ public class PriceChangeEventArgs : EventArgs 3. Run Datasource.exe from \datasource\bin\\, from under the language-specific folder. Data source activity is displayed on the console window. Once the data source sends information to the service, it should be passed on to each client. -4. If the client, data source, and service programs are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +4. If the client, data source, and service programs are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). ### To run the sample across machines @@ -153,4 +153,4 @@ public class PriceChangeEventArgs : EventArgs > > If this directory does not exist, go to [Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4](https://www.microsoft.com/download/details.aspx?id=21459) to download all Windows Communication Foundation (WCF) and [!INCLUDE[wf1](../../../../includes/wf1-md.md)] samples. This sample is located in the following directory. > -> `:\WF_WCF_Samples\WCF\Scenario\DesignPatterns/ListBasedPublishSubscribe` +> `:\WF_WCF_Samples\WCF\Scenario\DesignPatterns/ListBasedPublishSubscribe` diff --git a/docs/framework/wcf/samples/etw-tracing.md b/docs/framework/wcf/samples/etw-tracing.md index 5f46a559f135f..f793e83927d03 100644 --- a/docs/framework/wcf/samples/etw-tracing.md +++ b/docs/framework/wcf/samples/etw-tracing.md @@ -103,4 +103,4 @@ logman stop Wcf ## See also -- [AppFabric Monitoring Samples](https://docs.microsoft.com/previous-versions/appfabric/ff383407(v=azure.10)) +- [AppFabric Monitoring Samples](/previous-versions/appfabric/ff383407(v=azure.10)) diff --git a/docs/framework/wcf/samples/extending-tracing.md b/docs/framework/wcf/samples/extending-tracing.md index 7894747702568..2f3c4e126cbd3 100644 --- a/docs/framework/wcf/samples/extending-tracing.md +++ b/docs/framework/wcf/samples/extending-tracing.md @@ -93,4 +93,4 @@ This sample demonstrates how to extend the Windows Communication Foundation (WCF ## See also -- [AppFabric Monitoring Samples](https://docs.microsoft.com/previous-versions/appfabric/ff383407(v=azure.10)) +- [AppFabric Monitoring Samples](/previous-versions/appfabric/ff383407(v=azure.10)) diff --git a/docs/framework/wcf/samples/hello-world-with-the-routing-service.md b/docs/framework/wcf/samples/hello-world-with-the-routing-service.md index c3d1132481060..db8e018b968fc 100644 --- a/docs/framework/wcf/samples/hello-world-with-the-routing-service.md +++ b/docs/framework/wcf/samples/hello-world-with-the-routing-service.md @@ -53,4 +53,4 @@ This sample demonstrates the Windows Communication Foundation (WCF) Routing Serv ## See also -- [AppFabric Hosting and Persistence Samples](https://docs.microsoft.com/previous-versions/appfabric/ff383418(v=azure.10)) +- [AppFabric Hosting and Persistence Samples](/previous-versions/appfabric/ff383418(v=azure.10)) diff --git a/docs/framework/wcf/samples/iis-hosting-using-inline-code.md b/docs/framework/wcf/samples/iis-hosting-using-inline-code.md index d67e784f31e49..eb06899a446a7 100644 --- a/docs/framework/wcf/samples/iis-hosting-using-inline-code.md +++ b/docs/framework/wcf/samples/iis-hosting-using-inline-code.md @@ -90,4 +90,4 @@ Press to terminate client. ## See also -- [AppFabric Hosting and Persistence Samples](https://docs.microsoft.com/previous-versions/appfabric/ff383418(v=azure.10)) +- [AppFabric Hosting and Persistence Samples](/previous-versions/appfabric/ff383418(v=azure.10)) diff --git a/docs/framework/wcf/samples/index.md b/docs/framework/wcf/samples/index.md index c0ef7147229c2..7597f497801c2 100644 --- a/docs/framework/wcf/samples/index.md +++ b/docs/framework/wcf/samples/index.md @@ -9,7 +9,7 @@ ms.assetid: 89d4efce-7832-4dd5-82a8-0e574b3302f9 You can download [Windows Communication Foundation (WCF) samples for .NET Framework 4](https://www.microsoft.com/download/details.aspx?id=21459). The samples provide instruction on various aspects of Windows Communication Foundation (WCF). > [!TIP] -> The articles in this section describe some of the samples in the download package. For a complete documentation set that covers all of the samples, check the [.NET Framework 4 documentation for WCF samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/dd483346(v%3dvs.100)). +> The articles in this section describe some of the samples in the download package. For a complete documentation set that covers all of the samples, check the [.NET Framework 4 documentation for WCF samples](/previous-versions/dotnet/netframework-4.0/dd483346(v=vs.100)). The Windows Workflow Foundation (WF) [application](../../windows-workflow-foundation/samples/application.md) samples also demonstrate several WCF features. diff --git a/docs/framework/wcf/samples/knownassemblyattribute.md b/docs/framework/wcf/samples/knownassemblyattribute.md index 63b472898bdb3..07d08a1c824a3 100644 --- a/docs/framework/wcf/samples/knownassemblyattribute.md +++ b/docs/framework/wcf/samples/knownassemblyattribute.md @@ -350,11 +350,11 @@ Lists combined: 5. If the application does not run properly, follow these steps to make sure your environment has been properly set up: -6. Ensure that you have performed the [One-Time Set Up Procedure for the Windows Communication Foundation Samples](https://docs.microsoft.com/dotnet/framework/wcf/samples/one-time-setup-procedure-for-the-wcf-samples). +6. Ensure that you have performed the [One-Time Set Up Procedure for the Windows Communication Foundation Samples](./one-time-setup-procedure-for-the-wcf-samples.md). -7. To build the solution, follow the instructions in [Building the Windows Communication Foundation Sample](https://docs.microsoft.com/dotnet/framework/wcf/samples/building-the-samples). +7. To build the solution, follow the instructions in [Building the Windows Communication Foundation Sample](./building-the-samples.md). -8. To run the sample in a single- or cross-machine configuration, follow the instructions in [Running the Windows Communication Foundation Samples](https://docs.microsoft.com/dotnet/framework/wcf/samples/running-the-samples). +8. To run the sample in a single- or cross-machine configuration, follow the instructions in [Running the Windows Communication Foundation Samples](./running-the-samples.md). > [!IMPORTANT] > The samples may already be installed on your machine. Check for the following (default) directory before continuing. @@ -363,4 +363,4 @@ Lists combined: > > If this directory does not exist, go to [Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4](https://www.microsoft.com/download/details.aspx?id=21459) to download all Windows Communication Foundation (WCF) and [!INCLUDE[wf1](../../../../includes/wf1-md.md)] samples. This sample is located in the following directory. > -> `:\WF_WCF_Samples\WCF\Basic\Contract\Data\KnownAssemblyAttribute` +> `:\WF_WCF_Samples\WCF\Basic\Contract\Data\KnownAssemblyAttribute` diff --git a/docs/framework/wcf/samples/membership-and-role-provider.md b/docs/framework/wcf/samples/membership-and-role-provider.md index b14765df50285..bceb96e989302 100644 --- a/docs/framework/wcf/samples/membership-and-role-provider.md +++ b/docs/framework/wcf/samples/membership-and-role-provider.md @@ -132,7 +132,7 @@ The Membership and Role Provider sample demonstrates how a service can use the A 3. Launch Client.exe from \client\bin. Client activity is displayed on the client console application. -4. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +4. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). ### To run the sample across computers @@ -154,7 +154,7 @@ The Membership and Role Provider sample demonstrates how a service can use the A 9. On the client, open a Developer Command Prompt for Visual Studio with administrative privileges and run ImportServiceCert.bat. This imports the service certificate from the Service.cer file into the CurrentUser - TrustedPeople store. -10. On the client computer, launch Client.exe from a command prompt. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +10. On the client computer, launch Client.exe from a command prompt. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). ### To clean up after the sample @@ -190,4 +190,4 @@ The Membership and Role Provider sample demonstrates how a service can use the A ```bat certmgr.exe -add -r LocalMachine -s My -c -n %SERVER_NAME% -r CurrentUser -s TrustedPeople - ``` + ``` diff --git a/docs/framework/wcf/samples/message-correlation.md b/docs/framework/wcf/samples/message-correlation.md index 0cf4382c07fd4..8973758e161c9 100644 --- a/docs/framework/wcf/samples/message-correlation.md +++ b/docs/framework/wcf/samples/message-correlation.md @@ -310,4 +310,4 @@ static void DisplayOrderStatus() ## See also - [Queuing in WCF](../feature-details/queuing-in-wcf.md) -- [Message Queuing](https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms711472(v=vs.85)) +- [Message Queuing](/previous-versions/windows/desktop/legacy/ms711472(v=vs.85)) diff --git a/docs/framework/wcf/samples/message-queuing-to-wcf.md b/docs/framework/wcf/samples/message-queuing-to-wcf.md index b9d4948c7212e..ccba9f7ae599b 100644 --- a/docs/framework/wcf/samples/message-queuing-to-wcf.md +++ b/docs/framework/wcf/samples/message-queuing-to-wcf.md @@ -152,4 +152,4 @@ Console.ReadLine(); - [Queues in WCF](../feature-details/queues-in-wcf.md) - [How to: Exchange Messages with WCF Endpoints and Message Queuing Applications](../feature-details/how-to-exchange-messages-with-wcf-endpoints-and-message-queuing-applications.md) -- [Message Queuing](https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms711472(v=vs.85)) +- [Message Queuing](/previous-versions/windows/desktop/legacy/ms711472(v=vs.85)) diff --git a/docs/framework/wcf/samples/message-security-anonymous.md b/docs/framework/wcf/samples/message-security-anonymous.md index c2bfcf09e69d7..25fa06427ffd9 100644 --- a/docs/framework/wcf/samples/message-security-anonymous.md +++ b/docs/framework/wcf/samples/message-security-anonymous.md @@ -202,7 +202,7 @@ Press to terminate client. 4. Launch Client.exe from \client\bin. Client activity is displayed on the client console application. -5. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +5. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). ### To run the sample across computers @@ -224,7 +224,7 @@ Press to terminate client. 9. On the client, run ImportServiceCert.bat in a Developer Command Prompt for Visual Studio opened with administrator privileges. This imports the service certificate from the Service.cer file into the CurrentUser - TrustedPeople store. -10. On the client computer, launch Client.exe from a command prompt. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +10. On the client computer, launch Client.exe from a command prompt. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). ### To clean up after the sample diff --git a/docs/framework/wcf/samples/message-security-certificate.md b/docs/framework/wcf/samples/message-security-certificate.md index c46dcc79484db..9c17b411f00c7 100644 --- a/docs/framework/wcf/samples/message-security-certificate.md +++ b/docs/framework/wcf/samples/message-security-certificate.md @@ -291,7 +291,7 @@ Press to terminate client. 3. Launch Client.exe from \client\bin. Client activity is displayed on the client console application. -4. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +4. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). ### To run the sample across computers @@ -319,11 +319,11 @@ Press to terminate client. 12. On the server, run ImportClientCert.bat in a Developer Command Prompt for Visual Studio with administrative privileges. This imports the client certificate from the Client.cer file into the LocalMachine - TrustedPeople store. -13. On the client computer, launch Client.exe from a command prompt window. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +13. On the client computer, launch Client.exe from a command prompt window. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). ### To clean up after the sample - Run Cleanup.bat in the samples folder after you have finished running the sample. > [!NOTE] - > This script does not remove service certificates on a client when running this sample across computers. If you have run Windows Communication Foundation (WCF) samples that use certificates across computers, be sure to clear the service certificates that have been installed in the CurrentUser - TrustedPeople store. To do this, use the following command: `certmgr -del -r CurrentUser -s TrustedPeople -c -n ` For example: `certmgr -del -r CurrentUser -s TrustedPeople -c -n server1.contoso.com`. + > This script does not remove service certificates on a client when running this sample across computers. If you have run Windows Communication Foundation (WCF) samples that use certificates across computers, be sure to clear the service certificates that have been installed in the CurrentUser - TrustedPeople store. To do this, use the following command: `certmgr -del -r CurrentUser -s TrustedPeople -c -n ` For example: `certmgr -del -r CurrentUser -s TrustedPeople -c -n server1.contoso.com`. diff --git a/docs/framework/wcf/samples/message-security-over-message-queuing.md b/docs/framework/wcf/samples/message-security-over-message-queuing.md index 374ee8274c7de..c75dcef1e1f6a 100644 --- a/docs/framework/wcf/samples/message-security-over-message-queuing.md +++ b/docs/framework/wcf/samples/message-security-over-message-queuing.md @@ -39,7 +39,7 @@ This sample demonstrates how to implement an application that uses WS-Security w 4. Launch Client.exe from \client\bin. Client activity is displayed on the client console application. -5. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +5. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). ### To run the sample across computers @@ -67,7 +67,7 @@ This sample demonstrates how to implement an application that uses WS-Security w 12. On the service computer, launch Service.exe from the command prompt. -13. On the client computer, launch Client.exe from the command prompt. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +13. On the client computer, launch Client.exe from the command prompt. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). ### To clean up after the sample @@ -337,4 +337,4 @@ Processing Purchase Order: 6536e097-da96-4773-9da3-77bab4345b5d > > If this directory does not exist, go to [Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4](https://www.microsoft.com/download/details.aspx?id=21459) to download all Windows Communication Foundation (WCF) and [!INCLUDE[wf1](../../../../includes/wf1-md.md)] samples. This sample is located in the following directory. > -> `:\WF_WCF_Samples\WCF\Basic\Binding\Net\MSMQ\MessageSecurity` +> `:\WF_WCF_Samples\WCF\Basic\Binding\Net\MSMQ\MessageSecurity` diff --git a/docs/framework/wcf/samples/message-security-sample.md b/docs/framework/wcf/samples/message-security-sample.md index 13f4265a3f3e1..7881a38f8049a 100644 --- a/docs/framework/wcf/samples/message-security-sample.md +++ b/docs/framework/wcf/samples/message-security-sample.md @@ -121,7 +121,7 @@ Press to terminate client. 3. Run the client application from \client\bin. Client activity is displayed on the client console application. -4. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +4. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). 5. Remove the certificates by running Cleanup.bat when you have finished with the sample. Other security samples use the same certificates. @@ -155,7 +155,7 @@ Press to terminate client. 14. On the client machine, launch Client.exe from a command prompt window. - 1. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). + 1. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). ### To clean up after the sample @@ -171,4 +171,4 @@ Press to terminate client. > > If this directory does not exist, go to [Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4](https://www.microsoft.com/download/details.aspx?id=21459) to download all Windows Communication Foundation (WCF) and [!INCLUDE[wf1](../../../../includes/wf1-md.md)] samples. This sample is located in the following directory. > -> `:\WF_WCF_Samples\WCF\Basic\Binding\Basic\MessageSecurity` +> `:\WF_WCF_Samples\WCF\Basic\Binding\Basic\MessageSecurity` diff --git a/docs/framework/wcf/samples/message-security-user-name.md b/docs/framework/wcf/samples/message-security-user-name.md index 65250e6c5c136..370e3124aeca1 100644 --- a/docs/framework/wcf/samples/message-security-user-name.md +++ b/docs/framework/wcf/samples/message-security-user-name.md @@ -202,7 +202,7 @@ Press to terminate client. 4. Launch Client.exe from \client\bin. Client activity is displayed on the client console application. -5. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +5. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). ### To run the sample across computers @@ -224,11 +224,11 @@ Press to terminate client. 9. On the client, run ImportServiceCert.bat in a Developer Command Prompt for Visual Studio opened with administrator privileges. This imports the service certificate from the Service.cer file into the CurrentUser - TrustedPeople store. -10. On the client computer, launch Client.exe from a command prompt. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +10. On the client computer, launch Client.exe from a command prompt. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). ### To clean up after the sample - Run Cleanup.bat in the samples folder after you have finished running the sample. > [!NOTE] - > This script does not remove service certificates on a client when running this sample across computers. If you have run Windows Communication Foundation (WCF) samples that use certificates across computers, be sure to clear the service certificates that have been installed in the CurrentUser - TrustedPeople store. To do this, use the following command: `certmgr -del -r CurrentUser -s TrustedPeople -c -n ` For example: `certmgr -del -r CurrentUser -s TrustedPeople -c -n server1.contoso.com`. + > This script does not remove service certificates on a client when running this sample across computers. If you have run Windows Communication Foundation (WCF) samples that use certificates across computers, be sure to clear the service certificates that have been installed in the CurrentUser - TrustedPeople store. To do this, use the following command: `certmgr -del -r CurrentUser -s TrustedPeople -c -n ` For example: `certmgr -del -r CurrentUser -s TrustedPeople -c -n server1.contoso.com`. diff --git a/docs/framework/wcf/samples/msmq-activation.md b/docs/framework/wcf/samples/msmq-activation.md index e81d1fe4cfec9..e81b1cc1cad8f 100644 --- a/docs/framework/wcf/samples/msmq-activation.md +++ b/docs/framework/wcf/samples/msmq-activation.md @@ -343,4 +343,4 @@ By default with the `netMsmqBinding` binding transport, security is enabled. Two ## See also -- [AppFabric Hosting and Persistence Samples](https://docs.microsoft.com/previous-versions/appfabric/ff383418(v=azure.10)) +- [AppFabric Hosting and Persistence Samples](/previous-versions/appfabric/ff383418(v=azure.10)) diff --git a/docs/framework/wcf/samples/namedpipe-activation.md b/docs/framework/wcf/samples/namedpipe-activation.md index d441e860950db..b9805b8970549 100644 --- a/docs/framework/wcf/samples/namedpipe-activation.md +++ b/docs/framework/wcf/samples/namedpipe-activation.md @@ -221,4 +221,4 @@ Press to terminate client. ## See also -- [AppFabric Hosting and Persistence Samples](https://docs.microsoft.com/previous-versions/appfabric/ff383418(v=azure.10)) +- [AppFabric Hosting and Persistence Samples](/previous-versions/appfabric/ff383418(v=azure.10)) diff --git a/docs/framework/wcf/samples/one-time-setup-procedure-for-the-wcf-samples.md b/docs/framework/wcf/samples/one-time-setup-procedure-for-the-wcf-samples.md index 2b838879ad66a..bea1ed520ccd3 100644 --- a/docs/framework/wcf/samples/one-time-setup-procedure-for-the-wcf-samples.md +++ b/docs/framework/wcf/samples/one-time-setup-procedure-for-the-wcf-samples.md @@ -20,7 +20,7 @@ The **ServiceModelSamples** virtual directory is used for building and running a 3. Ensure you have Visual Studio 2012 or later installed, or your operating system is Windows Server 2008 SP2 or later. -4. Run the following commands. For more information about why these commands must be run, see [IIS Hosted Service Fails](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms752252(v=vs.90)). +4. Run the following commands. For more information about why these commands must be run, see [IIS Hosted Service Fails](/previous-versions/dotnet/netframework-3.5/ms752252(v=vs.90)). > [!WARNING] > If IIS is reinstalled, the following commands will need to be run again. diff --git a/docs/framework/wcf/samples/pii-security-lockdown.md b/docs/framework/wcf/samples/pii-security-lockdown.md index e750256e8bb24..c7c3e8a6a7275 100644 --- a/docs/framework/wcf/samples/pii-security-lockdown.md +++ b/docs/framework/wcf/samples/pii-security-lockdown.md @@ -41,7 +41,7 @@ This sample demonstrates how to control several security-related features of a W 3. Encrypt the appSettings configuration settings in the Web.config folder by issuing the following command: `aspnet_regiis -pe "appSettings" -app "/servicemodelsamples" -prov "DataProtectionConfigurationProvider"`. - More information about encrypting sections of configuration files can be found by reading a how-to on DPAPI in ASP.NET configuration ([Building Secure ASP.NET Applications: Authentication, Authorization, and Secure Communication](https://docs.microsoft.com/previous-versions/msp-n-p/ff649248(v=pandp.10))) and a how-to on RSA in ASP.NET configuration ([How To: Encrypt Configuration Sections in ASP.NET 2.0 Using RSA](https://docs.microsoft.com/previous-versions/msp-n-p/ff650304(v=pandp.10))). + More information about encrypting sections of configuration files can be found by reading a how-to on DPAPI in ASP.NET configuration ([Building Secure ASP.NET Applications: Authentication, Authorization, and Secure Communication](/previous-versions/msp-n-p/ff649248(v=pandp.10))) and a how-to on RSA in ASP.NET configuration ([How To: Encrypt Configuration Sections in ASP.NET 2.0 Using RSA](/previous-versions/msp-n-p/ff650304(v=pandp.10))). ## Locking configuration file elements In Web-hosted scenarios, it is possible to have services in subdirectories of services. In these situations, configuration values for the service in the subdirectory are calculated by examining values in Machine.config and successively merging with any Web.config files in parent directories moving down the directory tree and finally merging the Web.config file in the directory that contains the service. The default behavior for most configuration elements is to allow configuration files in subdirectories to override the values set in parent directories. In certain situations it may be desirable to prevent configuration files in subdirectories from overriding values set in parent directory configuration. @@ -118,9 +118,9 @@ This sample demonstrates how to control several security-related features of a W It is also possible to encrypt configuration file elements using DPAPI and RSA. For more information, see the following links: -- [Building Secure ASP.NET Applications: Authentication, Authorization, and Secure Communication](https://docs.microsoft.com/previous-versions/msp-n-p/ff649248(v=pandp.10)) +- [Building Secure ASP.NET Applications: Authentication, Authorization, and Secure Communication](/previous-versions/msp-n-p/ff649248(v=pandp.10)) -- [How To: Encrypt Configuration Sections in ASP.NET 2.0 Using RSA](https://docs.microsoft.com/previous-versions/msp-n-p/ff650304(v=pandp.10)) +- [How To: Encrypt Configuration Sections in ASP.NET 2.0 Using RSA](/previous-versions/msp-n-p/ff650304(v=pandp.10)) #### To set up, build and run the sample @@ -138,4 +138,4 @@ This sample demonstrates how to control several security-related features of a W ## See also -- [AppFabric Monitoring Samples](https://docs.microsoft.com/previous-versions/appfabric/ff383407(v=azure.10)) +- [AppFabric Monitoring Samples](/previous-versions/appfabric/ff383407(v=azure.10)) diff --git a/docs/framework/wcf/samples/running-the-samples.md b/docs/framework/wcf/samples/running-the-samples.md index 5fe2b9c03c66f..327f019dd2248 100644 --- a/docs/framework/wcf/samples/running-the-samples.md +++ b/docs/framework/wcf/samples/running-the-samples.md @@ -13,13 +13,13 @@ The Windows Communication Foundation (WCF) samples can be run in a single-machin ### To run the sample on the same machine -1. If the service is hosted by IIS, ensure that you can access the service using a browser by entering the following address: `http://localhost/servicemodelsamples/service.svc`. A confirmation page should be displayed in response. If the confirmation page is not displayed, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +1. If the service is hosted by IIS, ensure that you can access the service using a browser by entering the following address: `http://localhost/servicemodelsamples/service.svc`. A confirmation page should be displayed in response. If the confirmation page is not displayed, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). 2. If the service is self-hosted, run Service.exe from \service\bin, from under the language-specific folder. Service activity is displayed on the service console window. 3. Run Client.exe from \client\bin\\, from under the language-specific folder. Client activity is displayed on the client console window. -4. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +4. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). ### To run the sample across machines @@ -76,4 +76,4 @@ The Windows Communication Foundation (WCF) samples can be run in a single-machin ## See also - [Building the Windows Communication Foundation Samples](building-the-samples.md) -- [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)) +- [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)) diff --git a/docs/framework/wcf/samples/saml-token-provider.md b/docs/framework/wcf/samples/saml-token-provider.md index 343522ef10395..cd65220645120 100644 --- a/docs/framework/wcf/samples/saml-token-provider.md +++ b/docs/framework/wcf/samples/saml-token-provider.md @@ -364,7 +364,7 @@ This sample demonstrates how to implement a custom client SAML token provider. A 3. Launch Client.exe from \client\bin. Client activity is displayed on the client console application. -4. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +4. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). #### To run the sample across computers @@ -386,8 +386,8 @@ This sample demonstrates how to implement a custom client SAML token provider. A 9. On the client computer, launch `Client.exe` from a command prompt window. -10. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +10. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). #### To clean up after the sample -1. Run Cleanup.bat in the samples folder once you have finished running the sample. +1. Run Cleanup.bat in the samples folder once you have finished running the sample. diff --git a/docs/framework/wcf/samples/security-validation.md b/docs/framework/wcf/samples/security-validation.md index 1fb0018f5372f..ce5641daaf1ad 100644 --- a/docs/framework/wcf/samples/security-validation.md +++ b/docs/framework/wcf/samples/security-validation.md @@ -103,4 +103,4 @@ public void Validate(ServiceDescription serviceDescription, ## See also -- [AppFabric Monitoring Samples](https://docs.microsoft.com/previous-versions/appfabric/ff383407(v=azure.10)) +- [AppFabric Monitoring Samples](/previous-versions/appfabric/ff383407(v=azure.10)) diff --git a/docs/framework/wcf/samples/self-host.md b/docs/framework/wcf/samples/self-host.md index 3d101922e007b..f93ebb2bd157d 100644 --- a/docs/framework/wcf/samples/self-host.md +++ b/docs/framework/wcf/samples/self-host.md @@ -71,4 +71,4 @@ public static void Main() ## See also -- [AppFabric Hosting and Persistence Samples](https://docs.microsoft.com/previous-versions/appfabric/ff383418(v=azure.10)) +- [AppFabric Hosting and Persistence Samples](/previous-versions/appfabric/ff383418(v=azure.10)) diff --git a/docs/framework/wcf/samples/service-identity-sample.md b/docs/framework/wcf/samples/service-identity-sample.md index 1f03ee05d5d92..d2cbaa76cc2f5 100644 --- a/docs/framework/wcf/samples/service-identity-sample.md +++ b/docs/framework/wcf/samples/service-identity-sample.md @@ -120,7 +120,7 @@ class CustomIdentityVerifier : IdentityVerifier 4. Launch Client.exe from \client\bin directory or by pressing F5 in Visual Studio to build and run. Client activity is displayed on the client console application. -5. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +5. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). ### To run the sample across computers @@ -144,7 +144,7 @@ class CustomIdentityVerifier : IdentityVerifier 10. On the service computer, launch the Service.exe from the command prompt. -11. On the client computer, launch Client.exe from a command prompt. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +11. On the client computer, launch Client.exe from a command prompt. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). ### To clean up after the sample diff --git a/docs/framework/wcf/samples/set-up-instructions.md b/docs/framework/wcf/samples/set-up-instructions.md index 7275b142a4549..f7dc92412e73d 100644 --- a/docs/framework/wcf/samples/set-up-instructions.md +++ b/docs/framework/wcf/samples/set-up-instructions.md @@ -35,4 +35,4 @@ This set of topics describes how to set up services that are required to run a W Outlines the steps to install Message Queuing. ## Related Sections - [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)) + [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)) diff --git a/docs/framework/wcf/samples/simplified-configuration-for-wcf-services.md b/docs/framework/wcf/samples/simplified-configuration-for-wcf-services.md index 84611e4008c2f..a082b4ea1dea4 100644 --- a/docs/framework/wcf/samples/simplified-configuration-for-wcf-services.md +++ b/docs/framework/wcf/samples/simplified-configuration-for-wcf-services.md @@ -75,5 +75,5 @@ This sample demonstrates how to implement and configure a typical service and cl ## See also -- [AppFabric Management Samples](https://docs.microsoft.com/previous-versions/appfabric/ff383405(v=azure.10)) +- [AppFabric Management Samples](/previous-versions/appfabric/ff383405(v=azure.10)) - [Simplified Configuration](../simplified-configuration.md) diff --git a/docs/framework/wcf/samples/supporting-tokens.md b/docs/framework/wcf/samples/supporting-tokens.md index 638d3a3b0257c..8c824ac250831 100644 --- a/docs/framework/wcf/samples/supporting-tokens.md +++ b/docs/framework/wcf/samples/supporting-tokens.md @@ -423,7 +423,7 @@ iisreset 2. Launch Client.exe from \client\bin. Client activity is displayed on the client console application. -3. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +3. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). ##### To run the sample across machines @@ -451,7 +451,7 @@ iisreset 12. On the server, run ImportClientCert.bat, This imports the client certificate from the Client.cer file into the LocalMachine - TrustedPeople store. -13. On the client machine, launch Client.exe from a command prompt window. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +13. On the client machine, launch Client.exe from a command prompt window. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). ##### To clean up after the sample diff --git a/docs/framework/wcf/samples/systemwebrouting-integration-sample.md b/docs/framework/wcf/samples/systemwebrouting-integration-sample.md index 51a1c3c2be992..aa641b1fa7317 100644 --- a/docs/framework/wcf/samples/systemwebrouting-integration-sample.md +++ b/docs/framework/wcf/samples/systemwebrouting-integration-sample.md @@ -79,4 +79,4 @@ This sample may already be installed on your computer. Check for the following ( ## See also -- [AppFabric Hosting and Persistence Samples](https://docs.microsoft.com/previous-versions/appfabric/ff383418(v=azure.10)) +- [AppFabric Hosting and Persistence Samples](/previous-versions/appfabric/ff383418(v=azure.10)) diff --git a/docs/framework/wcf/samples/tcp-activation.md b/docs/framework/wcf/samples/tcp-activation.md index ebc0f59f8a9c4..12aa478ae266c 100644 --- a/docs/framework/wcf/samples/tcp-activation.md +++ b/docs/framework/wcf/samples/tcp-activation.md @@ -203,4 +203,4 @@ Press to terminate client. ## See also -- [AppFabric Hosting and Persistence Samples](https://docs.microsoft.com/previous-versions/appfabric/ff383418(v=azure.10)) +- [AppFabric Hosting and Persistence Samples](/previous-versions/appfabric/ff383418(v=azure.10)) diff --git a/docs/framework/wcf/samples/token-authenticator.md b/docs/framework/wcf/samples/token-authenticator.md index 31e8f9c1da515..512cffc97c1c9 100644 --- a/docs/framework/wcf/samples/token-authenticator.md +++ b/docs/framework/wcf/samples/token-authenticator.md @@ -333,7 +333,7 @@ static void DisplayIdentityInformation() 3. Launch client.exe from \client\bin. Client activity is displayed on the client console application. -4. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +4. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). #### To run the sample across computers @@ -355,8 +355,8 @@ static void DisplayIdentityInformation() 9. On the client computer, launch Client.exe from a command prompt. -10. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +10. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). #### To clean up after the sample -1. Run Cleanup.bat in the samples folder once you have finished running the sample. +1. Run Cleanup.bat in the samples folder once you have finished running the sample. diff --git a/docs/framework/wcf/samples/token-provider.md b/docs/framework/wcf/samples/token-provider.md index 3d645d8f33366..5bcdde7395fdc 100644 --- a/docs/framework/wcf/samples/token-provider.md +++ b/docs/framework/wcf/samples/token-provider.md @@ -259,7 +259,7 @@ static void DisplayIdentityInformation() 5. At the password prompt, use the same string that was typed for the username prompt. -6. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +6. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). #### To run the sample across computers @@ -281,8 +281,8 @@ static void DisplayIdentityInformation() 9. On the client computer, launch `Client.exe` from a command prompt window. -10. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +10. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). #### To clean up after the sample -1. Run Cleanup.bat in the samples folder once you have finished running the sample. +1. Run Cleanup.bat in the samples folder once you have finished running the sample. diff --git a/docs/framework/wcf/samples/tracing-and-message-logging.md b/docs/framework/wcf/samples/tracing-and-message-logging.md index 7ba5572d671a4..a5a7996557c27 100644 --- a/docs/framework/wcf/samples/tracing-and-message-logging.md +++ b/docs/framework/wcf/samples/tracing-and-message-logging.md @@ -130,4 +130,4 @@ This sample demonstrates how to enable tracing and message logging. The resultin ## See also - [Tracing](../diagnostics/tracing/index.md) -- [AppFabric Monitoring Samples](https://docs.microsoft.com/previous-versions/appfabric/ff383407(v=azure.10)) +- [AppFabric Monitoring Samples](/previous-versions/appfabric/ff383407(v=azure.10)) diff --git a/docs/framework/wcf/samples/transport-udp.md b/docs/framework/wcf/samples/transport-udp.md index 3a18fee7905bd..760453deb9acc 100644 --- a/docs/framework/wcf/samples/transport-udp.md +++ b/docs/framework/wcf/samples/transport-udp.md @@ -388,7 +388,7 @@ protected override void OnApplyConfiguration(string configurationName) ``` ## The UDP Test Service and Client - Test code for using this sample transport is available in the UdpTestService and UdpTestClient directories. The service code consists of two tests—one test sets up bindings and endpoints from code and the other does it through configuration. Both tests use two endpoints. One endpoint uses the `SampleUdpProfileBinding` with [\](https://docs.microsoft.com/previous-versions/ms731375(v=vs.90)) set to `true`. The other endpoint uses a custom binding with `UdpTransportBindingElement`. This is equivalent to using `SampleUdpProfileBinding` with [\](https://docs.microsoft.com/previous-versions/ms731375(v=vs.90)) set to `false`. Both tests create a service, add an endpoint for each binding, open the service and then wait for the user to hit ENTER before closing the service. + Test code for using this sample transport is available in the UdpTestService and UdpTestClient directories. The service code consists of two tests—one test sets up bindings and endpoints from code and the other does it through configuration. Both tests use two endpoints. One endpoint uses the `SampleUdpProfileBinding` with [\](/previous-versions/ms731375(v=vs.90)) set to `true`. The other endpoint uses a custom binding with `UdpTransportBindingElement`. This is equivalent to using `SampleUdpProfileBinding` with [\](/previous-versions/ms731375(v=vs.90)) set to `false`. Both tests create a service, add an endpoint for each binding, open the service and then wait for the user to hit ENTER before closing the service. When you start the service test application you should see the following output. diff --git a/docs/framework/wcf/samples/transport-wse-3-0-tcp-interoperability.md b/docs/framework/wcf/samples/transport-wse-3-0-tcp-interoperability.md index 32929791fabfe..f06d9897709d9 100644 --- a/docs/framework/wcf/samples/transport-wse-3-0-tcp-interoperability.md +++ b/docs/framework/wcf/samples/transport-wse-3-0-tcp-interoperability.md @@ -31,7 +31,7 @@ The WSE 3.0 TCP Interoperability Transport sample demonstrates how to implement `return encoder.WriteMessage(message, maxBufferSize, bufferManager);` - Once the is encoded into bytes, it must be transmitted on the wire. This requires a system for defining message boundaries. WSE 3.0 uses a version of [DIME](https://docs.microsoft.com/archive/msdn-magazine/2002/december/sending-files-attachments-and-soap-messages-via-dime) as its framing protocol. `WriteData` encapsulates the framing logic to wrap a byte[] into a set of DIME records. + Once the is encoded into bytes, it must be transmitted on the wire. This requires a system for defining message boundaries. WSE 3.0 uses a version of [DIME](/archive/msdn-magazine/2002/december/sending-files-attachments-and-soap-messages-via-dime) as its framing protocol. `WriteData` encapsulates the framing logic to wrap a byte[] into a set of DIME records. The logic for receiving messages is similar. The main complexity is handling the fact that a socket read can return fewer bytes than were requested. To receive a message, `WseTcpDuplexSessionChannel` reads bytes off the wire, decodes the DIME framing, and then uses the for turning the byte[] into a . @@ -187,4 +187,4 @@ Symbols: 7. Press F5 to start the TCP transport sample. - 8. The TCP transport test client starts in a new console. The client requests stock quotes from the service and then displays the results in its console window. + 8. The TCP transport test client starts in a new console. The client requests stock quotes from the service and then displays the results in its console window. diff --git a/docs/framework/wcf/samples/trusted-facade-service.md b/docs/framework/wcf/samples/trusted-facade-service.md index 4e2ad310b75be..a7c0a2f041c5e 100644 --- a/docs/framework/wcf/samples/trusted-facade-service.md +++ b/docs/framework/wcf/samples/trusted-facade-service.md @@ -270,7 +270,7 @@ Press to terminate client. 5. Launch Client.exe from \client\bin. Client activity is displayed on the client console application. -6. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +6. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). #### To clean up after the sample @@ -283,4 +283,4 @@ Press to terminate client. > > If this directory does not exist, go to [Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4](https://www.microsoft.com/download/details.aspx?id=21459) to download all Windows Communication Foundation (WCF) and [!INCLUDE[wf1](../../../../includes/wf1-md.md)] samples. This sample is located in the following directory. > -> `:\WF_WCF_Samples\WCF\Scenario\TrustedFacade` +> `:\WF_WCF_Samples\WCF\Scenario\TrustedFacade` diff --git a/docs/framework/wcf/samples/user-name-password-validator.md b/docs/framework/wcf/samples/user-name-password-validator.md index 80ca4450ace18..a9d48e71306db 100644 --- a/docs/framework/wcf/samples/user-name-password-validator.md +++ b/docs/framework/wcf/samples/user-name-password-validator.md @@ -288,7 +288,7 @@ serviceHost.Credentials. UserNameAuthentication.CustomUserNamePasswordValidator 3. Launch Client.exe from \client\bin. Client activity is displayed on the client console application. -4. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +4. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). #### To run the sample across machines @@ -310,8 +310,8 @@ serviceHost.Credentials. UserNameAuthentication.CustomUserNamePasswordValidator 9. On the client machine, launch Client.exe from a command prompt window. -10. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +10. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). #### To clean up after the sample -1. Run Cleanup.bat in the samples folder once you have finished running the sample. This removes the server certificate from the certificate store. +1. Run Cleanup.bat in the samples folder once you have finished running the sample. This removes the server certificate from the certificate store. diff --git a/docs/framework/wcf/samples/using-performance-counters.md b/docs/framework/wcf/samples/using-performance-counters.md index ce94dcbf226f5..af80475c0b46f 100644 --- a/docs/framework/wcf/samples/using-performance-counters.md +++ b/docs/framework/wcf/samples/using-performance-counters.md @@ -72,4 +72,4 @@ This sample demonstrates how to access Windows Communication Foundation (WCF) pe ## See also -- [AppFabric Monitoring Samples](https://docs.microsoft.com/previous-versions/appfabric/ff383407(v=azure.10)) +- [AppFabric Monitoring Samples](/previous-versions/appfabric/ff383407(v=azure.10)) diff --git a/docs/framework/wcf/samples/using-the-wcf-moniker-with-com-clients.md b/docs/framework/wcf/samples/using-the-wcf-moniker-with-com-clients.md index 34f0a1e5d2c5b..7b1df14b1b039 100644 --- a/docs/framework/wcf/samples/using-the-wcf-moniker-with-com-clients.md +++ b/docs/framework/wcf/samples/using-the-wcf-moniker-with-com-clients.md @@ -199,7 +199,7 @@ WScript.Echo "MEX service moniker: 9 * 81.25 = " & mexServiceMoniker.Multiply(9, 2. Run ComCalcClient.vbs from \client, from under the language-specific folder. Client activity is displayed in message box windows. -3. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). +3. If the client and service are not able to communicate, see [Troubleshooting Tips for WCF Samples](/previous-versions/dotnet/netframework-3.5/ms751511(v=vs.90)). #### To run the sample across computers @@ -229,4 +229,4 @@ WScript.Echo "MEX service moniker: 9 * 81.25 = " & mexServiceMoniker.Multiply(9, #### To clean up after the sample -- For security purposes, remove the virtual directory definition and permissions granted in the setup steps when you are finished with the samples. +- For security purposes, remove the virtual directory definition and permissions granted in the setup steps when you are finished with the samples. diff --git a/docs/framework/wcf/samples/wcf-analytic-tracing.md b/docs/framework/wcf/samples/wcf-analytic-tracing.md index 0a82c9ebabcfd..464725e8e39bf 100644 --- a/docs/framework/wcf/samples/wcf-analytic-tracing.md +++ b/docs/framework/wcf/samples/wcf-analytic-tracing.md @@ -8,10 +8,10 @@ This sample demonstrates how to add your own tracing events into the stream of a For more information about the APIs, see . - To learn more about event tracing in Windows, see [Improve Debugging and Performance Tuning with ETW](https://docs.microsoft.com/archive/msdn-magazine/2007/april/event-tracing-improve-debugging-and-performance-tuning-with-etw). + To learn more about event tracing in Windows, see [Improve Debugging and Performance Tuning with ETW](/archive/msdn-magazine/2007/april/event-tracing-improve-debugging-and-performance-tuning-with-etw). ## Disposing EventProvider - This sample uses the class, which implements . When implementing tracing for a WCF service, it is likely that you may use the ’s resources for the lifetime of the service. For this reason, and for readability, this sample never disposes of the wrapped . If for some reason your service has different requirements for tracing and you must dispose of this resource, then you should modify this sample in accordance with the best practices for disposing of unmanaged resources. For more information about disposing unmanaged resources, see [Implementing a Dispose Method](https://docs.microsoft.com/dotnet/standard/garbage-collection/implementing-dispose). + This sample uses the class, which implements . When implementing tracing for a WCF service, it is likely that you may use the ’s resources for the lifetime of the service. For this reason, and for readability, this sample never disposes of the wrapped . If for some reason your service has different requirements for tracing and you must dispose of this resource, then you should modify this sample in accordance with the best practices for disposing of unmanaged resources. For more information about disposing unmanaged resources, see [Implementing a Dispose Method](../../../standard/garbage-collection/implementing-dispose.md). ## Self-Hosting vs. Web Hosting For Web-hosted services, WCF’s analytic traces provide a field, called "HostReference", which is used to identify the service that is emitting the traces. The extensible user traces can participate in this model and this sample demonstrates best practices for doing so. The format of a Web host reference when the pipe ‘|’ character actually appears in the resulting string can be any one of the following: @@ -113,4 +113,4 @@ This sample demonstrates how to add your own tracing events into the stream of a ## See also -- [AppFabric Monitoring Samples](https://docs.microsoft.com/previous-versions/appfabric/ff383407(v=azure.10)) +- [AppFabric Monitoring Samples](/previous-versions/appfabric/ff383407(v=azure.10)) diff --git a/docs/framework/wcf/samples/wcf-services-and-event-tracing-for-windows.md b/docs/framework/wcf/samples/wcf-services-and-event-tracing-for-windows.md index c8a9992ff8625..589d00436f8b9 100644 --- a/docs/framework/wcf/samples/wcf-services-and-event-tracing-for-windows.md +++ b/docs/framework/wcf/samples/wcf-services-and-event-tracing-for-windows.md @@ -83,4 +83,4 @@ This sample demonstrates how to use the analytic tracing in Windows Communicatio ## See also -- [AppFabric Monitoring Samples](https://docs.microsoft.com/previous-versions/appfabric/ff383407(v=azure.10)) +- [AppFabric Monitoring Samples](/previous-versions/appfabric/ff383407(v=azure.10)) diff --git a/docs/framework/wcf/samples/wcf-to-message-queuing.md b/docs/framework/wcf/samples/wcf-to-message-queuing.md index d62fe4940aed2..9257ab1177125 100644 --- a/docs/framework/wcf/samples/wcf-to-message-queuing.md +++ b/docs/framework/wcf/samples/wcf-to-message-queuing.md @@ -125,7 +125,7 @@ public partial class OrderProcessorClient : System.ServiceModel.ClientBase [!NOTE] -> This sample requires the installation of Message Queuing. See the installation instructions in [Message Queuing](https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms711472(v=vs.85)). +> This sample requires the installation of Message Queuing. See the installation instructions in [Message Queuing](/previous-versions/windows/desktop/legacy/ms711472(v=vs.85)). ## Set up, build, and run the sample @@ -171,4 +171,4 @@ public partial class OrderProcessorClient : System.ServiceModel.ClientBase\ ``` - For more information about Netsh.exe, see [How to Use the Netsh.exe Tool and Command-Line Switches](https://docs.microsoft.com/previous-versions/tn-archive/bb490939(v=technet.10)). + For more information about Netsh.exe, see [How to Use the Netsh.exe Tool and Command-Line Switches](/previous-versions/tn-archive/bb490939(v=technet.10)). ## See also diff --git a/docs/framework/wcf/wcf-service-host-wcfsvchost-exe.md b/docs/framework/wcf/wcf-service-host-wcfsvchost-exe.md index 57701982c9bf5..dfed91d363b2e 100644 --- a/docs/framework/wcf/wcf-service-host-wcfsvchost-exe.md +++ b/docs/framework/wcf/wcf-service-host-wcfsvchost-exe.md @@ -114,7 +114,7 @@ You can modify access using the netsh.exe tool in Windows Vista under the elevat netsh http add urlacl url=http://+:8001/MyService user=\ ``` -For more information on netsh.exe, see "[How to Use the Netsh.exe Tool and Command-Line Switches](https://docs.microsoft.com/previous-versions/tn-archive/bb490939(v=technet.10))". +For more information on netsh.exe, see "[How to Use the Netsh.exe Tool and Command-Line Switches](/previous-versions/tn-archive/bb490939(v=technet.10))". ## See also diff --git a/docs/framework/wcf/wcf-service-publishing.md b/docs/framework/wcf/wcf-service-publishing.md index 448ae349817b3..8719728133361 100644 --- a/docs/framework/wcf/wcf-service-publishing.md +++ b/docs/framework/wcf/wcf-service-publishing.md @@ -16,7 +16,7 @@ WCF Service Publishing supports publishing WCF services created from the set of - Syndication Service Library. -You can find these service templates by choosing **File** > **New Project** > [**Visual Basic** or **Visual C#**] > **WCF**. For other WCF templates in this location (including WCF Workflow Service Application and WCF Service Application), you can publish using [One-Click publishing for web applications](https://docs.microsoft.com/previous-versions/aspnet/dd465337(v=vs.110)). +You can find these service templates by choosing **File** > **New Project** > [**Visual Basic** or **Visual C#**] > **WCF**. For other WCF templates in this location (including WCF Workflow Service Application and WCF Service Application), you can publish using [One-Click publishing for web applications](/previous-versions/aspnet/dd465337(v=vs.110)). The service can be published to the following target locations. diff --git a/docs/framework/wcf/wcf-simplification-features.md b/docs/framework/wcf/wcf-simplification-features.md index 05e3be52887a6..ad8a14b6c188d 100644 --- a/docs/framework/wcf/wcf-simplification-features.md +++ b/docs/framework/wcf/wcf-simplification-features.md @@ -83,7 +83,7 @@ WCF provides ASP.NET compatibility mode to grant developers full access to the f - New support for asynchronous streaming has been added to WCF. To enable asynchronous streaming, add the endpoint behavior to the service host and set its property to `true`. This can benefit scalability when a service is sending streamed messages to multiple clients which are reading slowly. WCF does not block one thread per client anymore and will free up the thread to service another client. -- Removed limitations around buffering of messages when a service is IIS hosted. In previous versions of WCF when receiving a message for an IIS-hosted service that used streaming message transfer, ASP.NET would buffer the entire message before sending it to WCF. This would cause large memory consumption. This buffering has been removed in .NET 4.5 and now IIS-hosted WCF services can start processing the incoming stream before the entire message has been received, thereby enabling true streaming. This allows WCF to respond immediately to messages and allows improved performance. In addition, you no longer have to specify a value for `maxRequestLength`, the ASP.NET size limit on incoming requests. If this property is set, it is ignored. For more information about `maxRequestLength` see [\ configuration element](https://docs.microsoft.com/previous-versions/dotnet/netframework-1.1/e1f13641(v=vs.71)). You will still need to configure the maxAllowedContentLength, For more information, see [IIS Request Limits](https://docs.microsoft.com/previous-versions/iis/settings-schema/ms689462(v=vs.90)). +- Removed limitations around buffering of messages when a service is IIS hosted. In previous versions of WCF when receiving a message for an IIS-hosted service that used streaming message transfer, ASP.NET would buffer the entire message before sending it to WCF. This would cause large memory consumption. This buffering has been removed in .NET 4.5 and now IIS-hosted WCF services can start processing the incoming stream before the entire message has been received, thereby enabling true streaming. This allows WCF to respond immediately to messages and allows improved performance. In addition, you no longer have to specify a value for `maxRequestLength`, the ASP.NET size limit on incoming requests. If this property is set, it is ignored. For more information about `maxRequestLength` see [\ configuration element](/previous-versions/dotnet/netframework-1.1/e1f13641(v=vs.71)). You will still need to configure the maxAllowedContentLength, For more information, see [IIS Request Limits](/previous-versions/iis/settings-schema/ms689462(v=vs.90)). ## New Transport Default Values diff --git a/docs/framework/wcf/wcf-troubleshooting-quickstart.md b/docs/framework/wcf/wcf-troubleshooting-quickstart.md index 323ce5b3f07f0..33dfbd9e057c6 100644 --- a/docs/framework/wcf/wcf-troubleshooting-quickstart.md +++ b/docs/framework/wcf/wcf-troubleshooting-quickstart.md @@ -130,9 +130,9 @@ public class MyServiceHost : ServiceHost - [Debugging Windows Authentication Errors](./feature-details/debugging-windows-authentication-errors.md) -- [Registering Kerberos Service Principal Names by Using Http.sys](https://docs.microsoft.com/previous-versions/sql/sql-server-2008-r2/ms178119(v=sql.105)) +- [Registering Kerberos Service Principal Names by Using Http.sys](/previous-versions/sql/sql-server-2008-r2/ms178119(v=sql.105)) -- [Kerberos Explained](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-2000-server/bb742516(v%3dtechnet.10)) +- [Kerberos Explained](/previous-versions/windows/it-pro/windows-2000-server/bb742516(v=technet.10)) ## When I throw a FaultException\ where the type is an exception, I always receive a general FaultException type on the client and not the generic type. What’s happening? diff --git a/docs/framework/wcf/whats-wcf.md b/docs/framework/wcf/whats-wcf.md index 795edc7f6787e..ce8ec014ac03d 100644 --- a/docs/framework/wcf/whats-wcf.md +++ b/docs/framework/wcf/whats-wcf.md @@ -98,4 +98,4 @@ The hosting features of Windows Server AppFabric application server are specific - [Getting Started Tutorial](getting-started-tutorial.md) - [Guide to the Documentation](guide-to-the-documentation.md) - [Basic WCF Programming](basic-wcf-programming.md) -- [Windows Communication Foundation Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms751514%28v=vs.90%29) +- [Windows Communication Foundation Samples](/previous-versions/dotnet/netframework-3.5/ms751514(v=vs.90)) diff --git a/docs/framework/whats-new/index.md b/docs/framework/whats-new/index.md index b67bf16275e40..a64e84327a7ea 100644 --- a/docs/framework/whats-new/index.md +++ b/docs/framework/whats-new/index.md @@ -383,9 +383,9 @@ Public GetOrAdd(Of TArg)(key As TKey, valueFactory As Func(Of TKey, TArg, TValue [Dependency injection (DI)](/aspnet/core/fundamentals/dependency-injection#overview-of-dependency-injection) decouples objects and their dependencies so that an object's code no longer needs to be changed just because a dependency has changed. When developing ASP.NET applications that target .NET Framework 4.7.2, you can: -- Use setter-based, interface-based, and constructor-based injection in [handlers and modules](https://docs.microsoft.com/previous-versions/aspnet/bb398986(v=vs.100)), [Page instances](xref:System.Web.UI.Page), and [user controls](https://docs.microsoft.com/previous-versions/aspnet/y6wb1a0e(v=vs.100)) of ASP.NET web application projects. +- Use setter-based, interface-based, and constructor-based injection in [handlers and modules](/previous-versions/aspnet/bb398986(v=vs.100)), [Page instances](xref:System.Web.UI.Page), and [user controls](/previous-versions/aspnet/y6wb1a0e(v=vs.100)) of ASP.NET web application projects. -- Use setter-based and interface-based injection in [handlers and modules](https://docs.microsoft.com/previous-versions/aspnet/bb398986(v=vs.100)), [Page instances](xref:System.Web.UI.Page), and [user controls](https://docs.microsoft.com/previous-versions/aspnet/y6wb1a0e(v=vs.100)) of ASP.NET web site projects. +- Use setter-based and interface-based injection in [handlers and modules](/previous-versions/aspnet/bb398986(v=vs.100)), [Page instances](xref:System.Web.UI.Page), and [user controls](/previous-versions/aspnet/y6wb1a0e(v=vs.100)) of ASP.NET web site projects. - Plug in different dependency injection frameworks. @@ -511,9 +511,9 @@ The method returns an empty enumerable unless . (The feature is for use by diagnostic assistants and not by production applications.) Whenever a change is made to a , WPF automatically finds all [DynamicResource](../wpf/advanced/dynamicresource-markup-extension.md) references that might be affected by the change. +Starting with .NET Framework 4.7.2, a diagnostic assistant can locate the owners of a given . (The feature is for use by diagnostic assistants and not by production applications.) Whenever a change is made to a , WPF automatically finds all [DynamicResource](/dotnet/desktop/wpf/advanced/dynamicresource-markup-extension) references that might be affected by the change. -A diagnostic assistant such as Visual Studio's "Edit-and-Continue" facility may want to extend this to handle [StaticResource](../wpf/advanced/staticresource-markup-extension.md) references. The first step in this process is to find the owners of the dictionary; that is, to find all the objects whose `Resources` property refers to the dictionary (either directly, or indirectly via the property). Three new static methods implemented on the class, one for each of the base types that has a `Resources` property, support this step: +A diagnostic assistant such as Visual Studio's "Edit-and-Continue" facility may want to extend this to handle [StaticResource](/dotnet/desktop/wpf/advanced/staticresource-markup-extension) references. The first step in this process is to find the owners of the dictionary; that is, to find all the objects whose `Resources` property refers to the dictionary (either directly, or indirectly via the property). Three new static methods implemented on the class, one for each of the base types that has a `Resources` property, support this step: - [`public static IEnumerable GetFrameworkElementOwners(ResourceDictionary dictionary);`](xref:System.Windows.Diagnostics.ResourceDictionaryDiagnostics.GetFrameworkElementOwners%2A) @@ -525,7 +525,7 @@ These methods return an empty enumerable unless  changes. WPF does this automatically for [DynamicResource](../wpf/advanced/dynamicresource-markup-extension.md) references, but it intentionally does not do so for [StaticResource](../wpf/advanced/staticresource-markup-extension.md) references. Starting with .NET Framework 4.7.2, the diagnostic assistant can use these notifications to locate those uses of the static resource. +A diagnostic assistant can now receive a notification whenever a [StaticResource](/dotnet/desktop/wpf/advanced/staticresource-markup-extension) reference is resolved. (The feature is for use by diagnostic assistants, not by production applications.) A diagnostic assistant such as Visual Studio's "Edit-and-Continue" facility may want to update all uses of a resource when its value in a changes. WPF does this automatically for [DynamicResource](/dotnet/desktop/wpf/advanced/dynamicresource-markup-extension) references, but it intentionally does not do so for [StaticResource](/dotnet/desktop/wpf/advanced/staticresource-markup-extension) references. Starting with .NET Framework 4.7.2, the diagnostic assistant can use these notifications to locate those uses of the static resource. The notification is implemented by the new event: @@ -537,7 +537,7 @@ public static event EventHandler StaticResource Public Shared Event StaticResourceResolved As EventHandler(Of StaticResourceResolvedEventArgs) ``` -This event is raised whenever the runtime resolves a [StaticResource](../wpf/advanced/staticresource-markup-extension.md) reference. The arguments describe the resolution, and indicate the object and property that host the [StaticResource](../wpf/advanced/staticresource-markup-extension.md) reference and the  and key used for the resolution: +This event is raised whenever the runtime resolves a [StaticResource](/dotnet/desktop/wpf/advanced/staticresource-markup-extension) reference. The arguments describe the resolution, and indicate the object and property that host the [StaticResource](/dotnet/desktop/wpf/advanced/staticresource-markup-extension) reference and the  and key used for the resolution: ```csharp public class StaticResourceResolvedEventArgs : EventArgs @@ -752,7 +752,7 @@ In .NET Framework 4.7, Windows Forms improves support for high DPI monitors. Starting with applications that target .NET Framework 4.7, the .NET Framework features high DPI and dynamic DPI support for Windows Forms applications. High DPI support improves the layout and appearance of forms and controls on high DPI monitors. Dynamic DPI changes the layout and appearance of forms and controls when the user changes the DPI or display scale factor of a running application. -High DPI support is an opt-in feature that you configure by defining a [\](../configure-apps/file-schema/winforms/index.md) section in your application configuration file. For more information on adding high DPI support and dynamic DPI support to your Windows Forms application, see [High DPI Support in Windows Forms](../winforms/high-dpi-support-in-windows-forms.md). +High DPI support is an opt-in feature that you configure by defining a [\](../configure-apps/file-schema/winforms/index.md) section in your application configuration file. For more information on adding high DPI support and dynamic DPI support to your Windows Forms application, see [High DPI Support in Windows Forms](/dotnet/desktop/winforms/high-dpi-support-in-windows-forms). @@ -762,7 +762,7 @@ In .NET Framework 4.7, WPF includes the following enhancements: **Support for a touch/stylus stack based on Windows WM_POINTER messages** -You now have the option of using a touch/stylus stack based on [WM_POINTER messages](https://docs.microsoft.com/previous-versions/windows/desktop/InputMsg/messages) instead of the Windows Ink Services Platform (WISP). This is an opt-in feature in .NET Framework. For more information, see the [Application compatibility](../migration-guide/application-compatibility.md) section. +You now have the option of using a touch/stylus stack based on [WM_POINTER messages](/previous-versions/windows/desktop/InputMsg/messages) instead of the Windows Ink Services Platform (WISP). This is an opt-in feature in .NET Framework. For more information, see the [Application compatibility](../migration-guide/application-compatibility.md) section. **New implementation for WPF printing APIs** @@ -1190,7 +1190,7 @@ In the .NET Framework 4.6.2, Windows Workflow Foundation has been enhanced in th **Support for C# expressions and IntelliSense in the Rehosted WF Designer** -Starting with .NET Framework 4.5, WF supports C# expressions in both the Visual Studio Designer and in code workflows. The Rehosted Workflow Designer is a key feature of WF that allows for the Workflow Designer to be in an application outside Visual Studio (for example, in WPF). Windows Workflow Foundation provides the ability to support C# expressions and IntelliSense in the Rehosted Workflow Designer. For more information, see the [Windows Workflow Foundation blog](https://docs.microsoft.com/archive/blogs/workflowteam/building-c-expressions-support-and-intellisense-in-the-rehosted-workflow-designer). +Starting with .NET Framework 4.5, WF supports C# expressions in both the Visual Studio Designer and in code workflows. The Rehosted Workflow Designer is a key feature of WF that allows for the Workflow Designer to be in an application outside Visual Studio (for example, in WPF). Windows Workflow Foundation provides the ability to support C# expressions and IntelliSense in the Rehosted Workflow Designer. For more information, see the [Windows Workflow Foundation blog](/archive/blogs/workflowteam/building-c-expressions-support-and-intellisense-in-the-rehosted-workflow-designer). `Availability of IntelliSense when a customer rebuilds a workflow project from Visual Studio` In versions of the .NET Framework prior to 4.6.2, WF Designer IntelliSense is broken when a customer rebuilds a workflow project from Visual Studio. While the project build is successful, the workflow types are not found on the designer, and warnings from IntelliSense for the missing workflow types appear in the **Error List** window. .NET Framework 4.6.2 addresses this issue and makes IntelliSense available. @@ -1881,7 +1881,7 @@ Improvements to Windows Forms include: Improvements when debugging your .NET Framework apps in Visual Studio 2013 include: -- Return values in the Visual Studio debugger. When you debug a managed app in Visual Studio 2013, the Autos window displays return types and values for methods. This information is available for desktop, Windows Store, and Windows Phone apps. For more information, see [Examine return values of method calls](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2013/dn323257(v=vs.120)). +- Return values in the Visual Studio debugger. When you debug a managed app in Visual Studio 2013, the Autos window displays return types and values for methods. This information is available for desktop, Windows Store, and Windows Phone apps. For more information, see [Examine return values of method calls](/previous-versions/visualstudio/visual-studio-2013/dn323257(v=vs.120)). - Edit and Continue for 64-bit apps. Visual Studio 2013 supports the Edit and Continue feature for 64-bit managed apps for desktop, Windows Store, and Windows Phone. The existing limitations remain in effect for both 32-bit and 64-bit apps (see the last section of the [Supported Code Changes (C#)](/visualstudio/debugger/supported-code-changes-csharp) article). @@ -1967,7 +1967,7 @@ The .NET Framework 4.5 provides several new features and improvements for parall ASP.NET 4.5 and 4.5.1 add model binding for Web Forms, WebSocket support, asynchronous handlers, performance enhancements, and many other features. For more information, see the following resources: -- [ASP.NET 4.5 and Visual Studio 2012](https://docs.microsoft.com/previous-versions/aspnet/hh420390(v=vs.110)) +- [ASP.NET 4.5 and Visual Studio 2012](/previous-versions/aspnet/hh420390(v=vs.110)) - [ASP.NET and Web Tools for Visual Studio 2013 Release Notes](/aspnet/visual-studio/overview/2013/release-notes) @@ -2061,7 +2061,7 @@ For more information, see [What's New in Windows Communication Foundation](../wc In the .NET Framework 4.5, several new features were added to Windows Workflow Foundation (WF), including: -- State machine workflows, which were first introduced as part of .NET Framework 4.0.1 ([.NET Framework 4 Platform Update 1](https://docs.microsoft.com/archive/blogs/endpoint/microsoft-net-framework-4-platform-update-1)). This update included several new classes and activities that enabled developers to create state machine workflows. These classes and activities were updated for the .NET Framework 4.5 to include: +- State machine workflows, which were first introduced as part of .NET Framework 4.0.1 ([.NET Framework 4 Platform Update 1](/archive/blogs/endpoint/microsoft-net-framework-4-platform-update-1)). This update included several new classes and activities that enabled developers to create state machine workflows. These classes and activities were updated for the .NET Framework 4.5 to include: - The ability to set breakpoints on states. @@ -2113,7 +2113,7 @@ For more information, see [What's New in Windows Workflow Foundation](../windows ### .NET for Windows 8.x Store apps -Windows 8.x Store apps are designed for specific form factors and leverage the power of the Windows operating system. A subset of the .NET Framework 4.5 or 4.5.1 is available for building Windows 8.x Store apps for Windows by using C# or Visual Basic. This subset is called .NET for Windows 8.x Store apps and is discussed in an [overview](https://docs.microsoft.com/previous-versions/windows/apps/br230302(v=vs.140)). +Windows 8.x Store apps are designed for specific form factors and leverage the power of the Windows operating system. A subset of the .NET Framework 4.5 or 4.5.1 is available for building Windows 8.x Store apps for Windows by using C# or Visual Basic. This subset is called .NET for Windows 8.x Store apps and is discussed in an [overview](/previous-versions/windows/apps/br230302(v=vs.140)). ### Portable Class Libraries diff --git a/docs/framework/whats-new/obsolete-members.md b/docs/framework/whats-new/obsolete-members.md index f14c38781fd83..e2105ce1a3b90 100644 --- a/docs/framework/whats-new/obsolete-members.md +++ b/docs/framework/whats-new/obsolete-members.md @@ -415,8 +415,8 @@ This article doesn't list the members of obsolete types. For a list of obsolete > |||Callers should not use the interface and should instead use the methods directly on the class. Those inheriting from must still implement this interface, and should exclude this warning or also obsolete this method.| > |||Callers should not use the interface and should instead use the methods directly on the class. Those inheriting from must still implement this interface, and should exclude this warning or also obsolete this method.| > |||Callers should not use the interface and should instead use the methods directly on the class. Those inheriting from must still implement this interface, and should exclude this warning or also obsolete this method.| -> |||CAS policy is obsolete and will be removed in a future release of the .NET Framework. For more information, see [Security Changes in the .NET Framework 4](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ee191568%28v=vs.100%29).| -> |||CAS policy is obsolete and will be removed in a future release of the .NET Framework. For more information, see [Security Changes in the .NET Framework 4](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ee191568%28v=vs.100%29).| +> |||CAS policy is obsolete and will be removed in a future release of the .NET Framework. For more information, see [Security Changes in the .NET Framework 4](/previous-versions/dotnet/netframework-4.0/ee191568(v=vs.100)).| +> |||CAS policy is obsolete and will be removed in a future release of the .NET Framework. For more information, see [Security Changes in the .NET Framework 4](/previous-versions/dotnet/netframework-4.0/ee191568(v=vs.100)).| > |||Use instead.| > |||Use instead.| > |||Use instead.| diff --git a/docs/framework/whats-new/obsolete-types.md b/docs/framework/whats-new/obsolete-types.md index 9593a39b673c2..ac27e77fdc269 100644 --- a/docs/framework/whats-new/obsolete-types.md +++ b/docs/framework/whats-new/obsolete-types.md @@ -652,7 +652,7 @@ The IEHost.dll and IEExec.exe assemblies have been removed from the .NET Framewo ### Assembly: Microsoft.VisualBasic.Compatibility.dll -For information about migrating from Visual Basic 6, see [Visual Basic 6.0 Resource Center](https://docs.microsoft.com/previous-versions/visualstudio/visual-basic-6/visual-basic-6.0-documentation). +For information about migrating from Visual Basic 6, see [Visual Basic 6.0 Resource Center](/previous-versions/visualstudio/visual-basic-6/visual-basic-6.0-documentation). |Type|Message| |----------|-------------| diff --git a/docs/framework/whats-new/whats-new-in-accessibility.md b/docs/framework/whats-new/whats-new-in-accessibility.md index c94c21553b4c3..7bdd050e983d9 100644 --- a/docs/framework/whats-new/whats-new-in-accessibility.md +++ b/docs/framework/whats-new/whats-new-in-accessibility.md @@ -131,7 +131,7 @@ namespace WindowsFormsApplication **UIA notification events** -The UIA Notification event, introduced in Windows 10 Fall Creators Update, allows your app to raise a UIA event, which leads to Narrator simply making an announcement based on text you supply with the event, without the need to have a corresponding control in the UI. In some scenarios, this is a straightforward way to dramatically improve the accessibility of your app. In can also be useful to notify of the progress of some process that may take a long time. For more information about UIA Notification Events, see [Can your desktop app leverage the new UI Notification event?](https://docs.microsoft.com/archive/blogs/winuiautomation/can-your-desktop-app-leverage-the-new-uia-notification-event-in-order-to-have-narrator-say-exactly-what-your-customers-need). +The UIA Notification event, introduced in Windows 10 Fall Creators Update, allows your app to raise a UIA event, which leads to Narrator simply making an announcement based on text you supply with the event, without the need to have a corresponding control in the UI. In some scenarios, this is a straightforward way to dramatically improve the accessibility of your app. In can also be useful to notify of the progress of some process that may take a long time. For more information about UIA Notification Events, see [Can your desktop app leverage the new UI Notification event?](/archive/blogs/winuiautomation/can-your-desktop-app-leverage-the-new-uia-notification-event-in-order-to-have-narrator-say-exactly-what-your-customers-need). The following example raises the [Notification event](xref:System.Windows.Forms.AccessibleObject.RaiseAutomationNotification%2A): diff --git a/docs/framework/whats-new/whats-obsolete.md b/docs/framework/whats-new/whats-obsolete.md index cebce06b03427..f276e3c74000a 100644 --- a/docs/framework/whats-new/whats-obsolete.md +++ b/docs/framework/whats-new/whats-obsolete.md @@ -70,10 +70,10 @@ To target a specific version of .NET Framework, assign one of the following stri ## Obsolete APIs for previous versions -- [Obsolete Types in .NET Framework 4](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ee461503(v=vs.100)) -- [Obsolete Members in .NET Framework 4](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ee471421(v=vs.100)) -- [.NET Framework 3.5 Obsolete List](https://docs.microsoft.com/previous-versions/cc835481(v=msdn.10)) -- [.NET Framework 2.0 Obsolete List](https://docs.microsoft.com/previous-versions/aa497286(v=msdn.10)) +- [Obsolete Types in .NET Framework 4](/previous-versions/dotnet/netframework-4.0/ee461503(v=vs.100)) +- [Obsolete Members in .NET Framework 4](/previous-versions/dotnet/netframework-4.0/ee471421(v=vs.100)) +- [.NET Framework 3.5 Obsolete List](/previous-versions/cc835481(v=msdn.10)) +- [.NET Framework 2.0 Obsolete List](/previous-versions/aa497286(v=msdn.10)) ## See also diff --git a/docs/framework/windows-services/index.md b/docs/framework/windows-services/index.md index ec8bdf10b7149..e23751b1b6b33 100644 --- a/docs/framework/windows-services/index.md +++ b/docs/framework/windows-services/index.md @@ -46,4 +46,4 @@ Describes the process of creating and configuring Windows services using the Win - Describes the features of the class, which is used along with the class to install and uninstall your service. -[Create Projects from Templates](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2013/0fyc0azh(v=vs.120)) - Describes the projects types used in this chapter and how to choose between them. +[Create Projects from Templates](/previous-versions/visualstudio/visual-studio-2013/0fyc0azh(v=vs.120)) - Describes the projects types used in this chapter and how to choose between them. diff --git a/docs/framework/windows-services/walkthrough-creating-a-windows-service-application-in-the-component-designer.md b/docs/framework/windows-services/walkthrough-creating-a-windows-service-application-in-the-component-designer.md index 93537967842c5..ca0d5322f81b2 100644 --- a/docs/framework/windows-services/walkthrough-creating-a-windows-service-application-in-the-component-designer.md +++ b/docs/framework/windows-services/walkthrough-creating-a-windows-service-application-in-the-component-designer.md @@ -465,7 +465,7 @@ Each Windows service has a registry entry under the **HKEY_LOCAL_MACHINE\SYSTEM\ Now that you've built the Windows service, you can install it. To install a Windows service, you must have administrator credentials on the computer where it's installed. -1. Open [Developer Command Prompt for Visual Studio](https://docs.microsoft.com/dotnet/framework/tools/developer-command-prompt-for-vs) with administrative credentials. From the Windows **Start** menu, select **Developer Command Prompt for VS 2017** in the Visual Studio folder, then select **More** > **Run as Administrator** from the shortcut menu. +1. Open [Developer Command Prompt for Visual Studio](../tools/developer-command-prompt-for-vs.md) with administrative credentials. From the Windows **Start** menu, select **Developer Command Prompt for VS 2017** in the Visual Studio folder, then select **More** > **Run as Administrator** from the shortcut menu. 2. In the **Developer Command Prompt for Visual Studio** window, navigate to the folder that contains your project's output (by default, the *\bin\Debug* subdirectory of your project). diff --git a/docs/framework/windows-workflow-foundation/configuring-tracking-for-a-workflow.md b/docs/framework/windows-workflow-foundation/configuring-tracking-for-a-workflow.md index 1f4a1b437e817..c095e7c76ff27 100644 --- a/docs/framework/windows-workflow-foundation/configuring-tracking-for-a-workflow.md +++ b/docs/framework/windows-workflow-foundation/configuring-tracking-for-a-workflow.md @@ -245,7 +245,7 @@ If events need to be written to a specific application log, follow these steps t ``` - 7. Use [wevtutil](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc732848(v=ws.10)) to register the manifest. + 7. Use [wevtutil](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc732848(v=ws.10)) to register the manifest. ```console wevtutil im Microsoft.Windows.ApplicationServer.Applications_Provider1.man @@ -253,5 +253,5 @@ If events need to be written to a specific application log, follow these steps t ## See also -- [Windows Server App Fabric Monitoring](https://docs.microsoft.com/previous-versions/appfabric/ee677251(v=azure.10)) -- [Monitoring Applications with App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677276(v=azure.10)) +- [Windows Server App Fabric Monitoring](/previous-versions/appfabric/ee677251(v=azure.10)) +- [Monitoring Applications with App Fabric](/previous-versions/appfabric/ee677276(v=azure.10)) diff --git a/docs/framework/windows-workflow-foundation/custom-tracking-records.md b/docs/framework/windows-workflow-foundation/custom-tracking-records.md index 9bfbdb4366676..8af0aeb01c9f4 100644 --- a/docs/framework/windows-workflow-foundation/custom-tracking-records.md +++ b/docs/framework/windows-workflow-foundation/custom-tracking-records.md @@ -26,5 +26,5 @@ A is emitted in a code ac ## See also -- [Windows Server App Fabric Monitoring](https://docs.microsoft.com/previous-versions/appfabric/ee677251(v=azure.10)) -- [Monitoring Applications with App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677276(v=azure.10)) +- [Windows Server App Fabric Monitoring](/previous-versions/appfabric/ee677251(v=azure.10)) +- [Monitoring Applications with App Fabric](/previous-versions/appfabric/ee677276(v=azure.10)) diff --git a/docs/framework/windows-workflow-foundation/debugging-workflows.md b/docs/framework/windows-workflow-foundation/debugging-workflows.md index 44d50ea7c9232..af11e55cddb7d 100644 --- a/docs/framework/windows-workflow-foundation/debugging-workflows.md +++ b/docs/framework/windows-workflow-foundation/debugging-workflows.md @@ -25,7 +25,7 @@ Workflow debugging also supports using Visual Studio’s infrastructure to attac ## Remote Debugging -Windows Workflow Foundation (WF) remote debugging functions the same as remote debugging for other Visual Studio components. For information on using remote debugging, see [How to: Enable Remote Debugging](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2010/febz73k0(v=vs.100)). +Windows Workflow Foundation (WF) remote debugging functions the same as remote debugging for other Visual Studio components. For information on using remote debugging, see [How to: Enable Remote Debugging](/previous-versions/visualstudio/visual-studio-2010/febz73k0(v=vs.100)). > [!NOTE] > If the workflow application targets the x86 architecture and is hosted on a computer running a 64 bit operating system, then remote debugging will not work unless Visual Studio is installed on the remote computer or the target for the workflow application is changed to **Any CPU**. diff --git a/docs/framework/windows-workflow-foundation/deprecated-types.md b/docs/framework/windows-workflow-foundation/deprecated-types.md index 3c361b4202724..bd32464c23a73 100644 --- a/docs/framework/windows-workflow-foundation/deprecated-types.md +++ b/docs/framework/windows-workflow-foundation/deprecated-types.md @@ -25,7 +25,7 @@ In .NET 4 the Workflow Team released an all new Workflow engine in the namespace, which do not have a replacement in WF 4.5, have not been deprecated. diff --git a/docs/framework/windows-workflow-foundation/feature-specifics.md b/docs/framework/windows-workflow-foundation/feature-specifics.md index 8237d82522df2..eacab2ac6ef6c 100644 --- a/docs/framework/windows-workflow-foundation/feature-specifics.md +++ b/docs/framework/windows-workflow-foundation/feature-specifics.md @@ -91,15 +91,15 @@ The WCF configuration schema is complex and provides users with many hard to fin ### Getting Started -- [A Developer's Guide to WCF 4.0](https://docs.microsoft.com/previous-versions/dotnet/articles/ee354381(v=msdn.10)) +- [A Developer's Guide to WCF 4.0](/previous-versions/dotnet/articles/ee354381(v=msdn.10)) - [Configuration Channel Factory](xref:System.ServiceModel.Configuration.ConfigurationChannelFactory%601) - [Standard Endpoint Element](xref:System.ServiceModel.Configuration.StandardEndpointElement) -- [Service configuration improvements in .NET Framework 4](https://docs.microsoft.com/archive/blogs/endpoint/service-configuration-improvements-in-net-4) +- [Service configuration improvements in .NET Framework 4](/archive/blogs/endpoint/service-configuration-improvements-in-net-4) -- [Common User Mistake in .NET 4: Mistyping the WF/WCF Service Configuration Name](https://docs.microsoft.com/archive/blogs/endpoint/common-user-mistake-in-net-4-mistyping-the-wfwcf-service-configuration-name) +- [Common User Mistake in .NET 4: Mistyping the WF/WCF Service Configuration Name](/archive/blogs/endpoint/common-user-mistake-in-net-4-mistyping-the-wfwcf-service-configuration-name) ### Simplified Configuration Scenarios @@ -123,7 +123,7 @@ The [DataContractResolver](../wcf/samples/datacontractresolver.md) solves these - [Data Contract Resolver API documentation](xref:System.Runtime.Serialization.DataContractResolver) -- [Introducing the Data Contract Resolver](https://docs.microsoft.com/archive/blogs/youssefm/configuring-known-types-dynamically-introducing-the-datacontractresolver) +- [Introducing the Data Contract Resolver](/archive/blogs/youssefm/configuring-known-types-dynamically-introducing-the-datacontractresolver) - Samples: @@ -283,7 +283,7 @@ The routing service in .NET 4 is designed to make these problems easier to solve 2. Samples: [Routing Services [WCF Samples]](../wcf/samples/routing-services.md) -3. Blog: [Routing Rules!](https://docs.microsoft.com/archive/blogs/RoutingRules/) +3. Blog: [Routing Rules!](/archive/blogs/RoutingRules/) ### Routing Scenarios diff --git a/docs/framework/windows-workflow-foundation/how-to-create-a-custom-persistence-participant.md b/docs/framework/windows-workflow-foundation/how-to-create-a-custom-persistence-participant.md index 59d0f8187973f..e1771d38dc729 100644 --- a/docs/framework/windows-workflow-foundation/how-to-create-a-custom-persistence-participant.md +++ b/docs/framework/windows-workflow-foundation/how-to-create-a-custom-persistence-participant.md @@ -4,7 +4,7 @@ ms.date: "03/30/2017" ms.assetid: 1d9cc47a-8966-4286-94d5-4221403d9c06 --- # How to: Create a Custom Persistence Participant -The following procedure has steps to create a persistence participant. See the [Participating in Persistence](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/dd699769(v=vs.100)) sample and [Store Extensibility](store-extensibility.md) topic for sample implementations of persistence participants. +The following procedure has steps to create a persistence participant. See the [Participating in Persistence](/previous-versions/dotnet/netframework-4.0/dd699769(v=vs.100)) sample and [Store Extensibility](store-extensibility.md) topic for sample implementations of persistence participants. 1. Create a class deriving from the or the class. The PersistenceIOParticipant class offers the same extensibility points as the PersistenceParticipant class in addition to being able to participate in I/O operations. Follow one or more of the following steps. diff --git a/docs/framework/windows-workflow-foundation/how-to-enable-sql-persistence-for-workflows-and-workflow-services.md b/docs/framework/windows-workflow-foundation/how-to-enable-sql-persistence-for-workflows-and-workflow-services.md index 2051df103b4dc..d1aa55260ffca 100644 --- a/docs/framework/windows-workflow-foundation/how-to-enable-sql-persistence-for-workflows-and-workflow-services.md +++ b/docs/framework/windows-workflow-foundation/how-to-enable-sql-persistence-for-workflows-and-workflow-services.md @@ -8,7 +8,7 @@ ms.assetid: ca7bf77f-3e5d-4b23-b17a-d0b60f46411d This topic describes how to configure the SQL Workflow Instance Store feature to enable persistence for your workflows and workflow services both programmatically and by using a configuration file. -Windows Server App Fabric simplifies the process of configuring persistence. For more information, see [App Fabric Persistence Configuration](https://docs.microsoft.com/previous-versions/appfabric/ee790848(v=azure.10)). +Windows Server App Fabric simplifies the process of configuring persistence. For more information, see [App Fabric Persistence Configuration](/previous-versions/appfabric/ee790848(v=azure.10)). Before using the SQL Workflow Instance Store feature, create a database that the feature uses to persist workflow instances. The [!INCLUDE[netfx_current_short](../../../includes/netfx-current-short-md.md)] set-up program copies SQL script files associated with the SQL Workflow Instance Store feature to the %WINDIR%\Microsoft.NET\Framework\v4.xxx\SQL\EN folder. Run these script files against a SQL Server 2005 or SQL Server 2008 database that you want the SQL Workflow Instance Store to use to persist workflow instances. Run the SqlWorkflowInstanceStoreSchema.sql file first and then run the SqlWorkflowInstanceStoreLogic.sql file. @@ -147,7 +147,7 @@ workflowServiceHost.DurableInstancingOptions.InstanceStore = sqlInstanceStoreObj ``` > [!IMPORTANT] -> It is recommended that you do not store sensitive information such as user names and passwords in the Web.config file. If you do store sensitive information in the Web.config file, you should secure access to the Web.config file by using file system Access Control Lists (ACLs). In addition, you can also secure the configuration values within a configuration file as mentioned in [Encrypting Configuration Information Using Protected Configuration](https://docs.microsoft.com/previous-versions/aspnet/53tyfkaw(v=vs.100)). +> It is recommended that you do not store sensitive information such as user names and passwords in the Web.config file. If you do store sensitive information in the Web.config file, you should secure access to the Web.config file by using file system Access Control Lists (ACLs). In addition, you can also secure the configuration values within a configuration file as mentioned in [Encrypting Configuration Information Using Protected Configuration](/previous-versions/aspnet/53tyfkaw(v=vs.100)). ### Machine.config Elements Related to the SQL Workflow Instance Store Feature diff --git a/docs/framework/windows-workflow-foundation/instance-stores.md b/docs/framework/windows-workflow-foundation/instance-stores.md index 2d1d841eff8dd..7efe299cce668 100644 --- a/docs/framework/windows-workflow-foundation/instance-stores.md +++ b/docs/framework/windows-workflow-foundation/instance-stores.md @@ -4,7 +4,7 @@ ms.date: "03/30/2017" ms.assetid: f2629668-0923-4987-b943-67477131c1e0 --- # Instance Stores -An instance store is a logical container of instances. It is the place where the instance data and metadata is stored. An instance store does not imply dedicated physical storage. An instance store could contain durable information in a SQL Server database or non-durable state information in a memory. The [!INCLUDE[netfx_current_long](../../../includes/netfx-current-long-md.md)] ships with the SQL Workflow Instance Store, which is a concrete implementation of an instance store that allows workflows to persist instance data and metadata into a SQL Server 2005 or SQL Server 2008 database. In addition Windows Server App Fabric also provides a concrete implementation of an instance store. For more information, see [Windows Server App Fabric Instance Store, Query, and Control Providers](https://docs.microsoft.com/previous-versions/appfabric/ff383417(v=azure.10)). +An instance store is a logical container of instances. It is the place where the instance data and metadata is stored. An instance store does not imply dedicated physical storage. An instance store could contain durable information in a SQL Server database or non-durable state information in a memory. The [!INCLUDE[netfx_current_long](../../../includes/netfx-current-long-md.md)] ships with the SQL Workflow Instance Store, which is a concrete implementation of an instance store that allows workflows to persist instance data and metadata into a SQL Server 2005 or SQL Server 2008 database. In addition Windows Server App Fabric also provides a concrete implementation of an instance store. For more information, see [Windows Server App Fabric Instance Store, Query, and Control Providers](/previous-versions/appfabric/ff383417(v=azure.10)). The persistence API is the interface between a host and an instance store that allows the host to send command requests (for example, and ) to the instance store. The concrete implementation of this API is called a persistence provider. The persistence provider receives requests from a host and modifies the instance store. diff --git a/docs/framework/windows-workflow-foundation/migration-guidance.md b/docs/framework/windows-workflow-foundation/migration-guidance.md index 7bab004b799b2..6682c62038f32 100644 --- a/docs/framework/windows-workflow-foundation/migration-guidance.md +++ b/docs/framework/windows-workflow-foundation/migration-guidance.md @@ -17,38 +17,38 @@ In the .NET Framework 4, Microsoft is releasing the second major version of Wind ## WF migration white papers and cookbooks - The [WF Migration Overview](https://docs.microsoft.com/previous-versions/appfabric/ff383417(v=azure.10)) topic provides a broad overview of the relationship between WF3 and WF4 and migration strategies. Companion topics drill into specific topics. + The [WF Migration Overview](/previous-versions/appfabric/ff383417(v=azure.10)) topic provides a broad overview of the relationship between WF3 and WF4 and migration strategies. Companion topics drill into specific topics. - [WF Migration Overview](https://docs.microsoft.com/previous-versions/appfabric/ff383417(v=azure.10)) + [WF Migration Overview](/previous-versions/appfabric/ff383417(v=azure.10)) Describes the relationship between WF3 and WF4, and the choices you have as a user or a potential user of workflow technology in .NET 4. - [WF Migration: Best Practices for WF3 Development](https://docs.microsoft.com/previous-versions/appfabric/ff383417(v=azure.10)) + [WF Migration: Best Practices for WF3 Development](/previous-versions/appfabric/ff383417(v=azure.10)) Discusses how to design WF3 artifacts so they can be more easily migrated to WF4. - [WF Guidance: Rules](https://docs.microsoft.com/previous-versions/appfabric/ff383417(v=azure.10)) + [WF Guidance: Rules](/previous-versions/appfabric/ff383417(v=azure.10)) Discusses how to bring rules-related investments forward into .NET Framework 4 solutions. - [WF Guidance: State Machine](https://docs.microsoft.com/previous-versions/appfabric/ff383417(v=azure.10)) + [WF Guidance: State Machine](/previous-versions/appfabric/ff383417(v=azure.10)) Discusses WF4 control flow modeling in the absence of a State-Machine activity. - Note that this guidance only applies to workflow projects that target .NET Framework 4. State Machine workflows were added in .NET 4.0.1 with the release of Platform Update 1, and were included as part of .NET Framework 4.5. For more information about state machine workflows in .NET 4.0.1 - 4.0.3 and .NET Framework 4.5, see [Update 4.0.1 for Microsoft .NET Framework 4 Features](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/hh290669(v=vs.100)) and [State Machine Workflows](state-machine-workflows.md). + Note that this guidance only applies to workflow projects that target .NET Framework 4. State Machine workflows were added in .NET 4.0.1 with the release of Platform Update 1, and were included as part of .NET Framework 4.5. For more information about state machine workflows in .NET 4.0.1 - 4.0.3 and .NET Framework 4.5, see [Update 4.0.1 for Microsoft .NET Framework 4 Features](/previous-versions/dotnet/netframework-4.0/hh290669(v=vs.100)) and [State Machine Workflows](state-machine-workflows.md). - [WF Migration Cookbook: Custom Activities](https://docs.microsoft.com/previous-versions/appfabric/ff383417(v=azure.10)) + [WF Migration Cookbook: Custom Activities](/previous-versions/appfabric/ff383417(v=azure.10)) Provides examples and instructions for redesigning WF3 custom activities on WF4. - [WF Migration Cookbook: Advanced Custom Activities](https://docs.microsoft.com/previous-versions/appfabric/ff383417(v=azure.10)) + [WF Migration Cookbook: Advanced Custom Activities](/previous-versions/appfabric/ff383417(v=azure.10)) Provides guidance for redesigning advanced WF3 custom activities that use WF3 queues and schedule child activities as WF4 custom activities. - [WF Migration Cookbook: Workflows](https://docs.microsoft.com/previous-versions/appfabric/ff383417(v=azure.10)) + [WF Migration Cookbook: Workflows](/previous-versions/appfabric/ff383417(v=azure.10)) Provides examples and instructions for redesigning WF3 workflows on WF4. - [WF Migration Cookbook: Workflow Hosting](https://docs.microsoft.com/previous-versions/appfabric/ff383417(v=azure.10)) + [WF Migration Cookbook: Workflow Hosting](/previous-versions/appfabric/ff383417(v=azure.10)) Provides guidance for redesigning WF3 hosting code as WF4 hosting code. The goal is to cover the key differences in workflow hosting between WF3 and WF4. - [WF Migration Cookbook: Workflow Tracking](https://docs.microsoft.com/previous-versions/appfabric/ff383417(v=azure.10)) + [WF Migration Cookbook: Workflow Tracking](/previous-versions/appfabric/ff383417(v=azure.10)) Provides guidance for redesigning WF3 tracking code and configuration using equivalent WF4 tracking code and configuration. - [WF Guidance: Workflow Services](https://docs.microsoft.com/previous-versions/appfabric/ff383417(v=azure.10)) + [WF Guidance: Workflow Services](/previous-versions/appfabric/ff383417(v=azure.10)) Provides example-oriented step-by-step instructions for redesigning workflows that implement Windows Communication Foundation (WCF) web services (commonly referred to as workflow services) created in WF3 to use WF4, for common scenarios for out-of-box activities. ## See also diff --git a/docs/framework/windows-workflow-foundation/net-framework-3-0-wf-in-net-framework-4-interop.md b/docs/framework/windows-workflow-foundation/net-framework-3-0-wf-in-net-framework-4-interop.md index 7ab48a6acf933..88e14f6d12806 100644 --- a/docs/framework/windows-workflow-foundation/net-framework-3-0-wf-in-net-framework-4-interop.md +++ b/docs/framework/windows-workflow-foundation/net-framework-3-0-wf-in-net-framework-4-interop.md @@ -18,7 +18,7 @@ The activity is a [!INCLUDE[netfx_cu - The WF 3 activity must have a public parameterless constructor. -- Due to limitations in the interface types that the activity can support, and cannot be used directly, but derivative activities created using the Workflow Communication Activity tool (WCA.exe) can be used. See [Windows Workflow Foundation Tools](https://docs.microsoft.com/previous-versions/dotnet/netframework-3.5/ms734408(v=vs.90)) for details. +- Due to limitations in the interface types that the activity can support, and cannot be used directly, but derivative activities created using the Workflow Communication Activity tool (WCA.exe) can be used. See [Windows Workflow Foundation Tools](/previous-versions/dotnet/netframework-3.5/ms734408(v=vs.90)) for details. ## Configuring a WF 3 Activity Within an Interop Activity To configure and pass data into and out of a WF 3 activity, across the interoperation boundary, the WF 3 activity’s properties and metadata properties are exposed by the activity. The WF 3 activity’s metadata properties (such as ) are exposed through the collection. This is a collection of name-value pairs used to define the values for the WF 3 activity’s metadata properties. A metadata property is a property backed by dependency property for which the flag is set. diff --git a/docs/framework/windows-workflow-foundation/overview.md b/docs/framework/windows-workflow-foundation/overview.md index 27534ab56a3b3..c95ca04030fc5 100644 --- a/docs/framework/windows-workflow-foundation/overview.md +++ b/docs/framework/windows-workflow-foundation/overview.md @@ -38,4 +38,4 @@ Workflow components in the host process ## See also -- [BizTalk Server 2006 or WF? Choosing the Right Workflow Tool for Your Project](https://docs.microsoft.com/previous-versions/dotnet/articles/cc303238(v=msdn.10)) +- [BizTalk Server 2006 or WF? Choosing the Right Workflow Tool for Your Project](/previous-versions/dotnet/articles/cc303238(v=msdn.10)) diff --git a/docs/framework/windows-workflow-foundation/performance.md b/docs/framework/windows-workflow-foundation/performance.md index d91cb022ad145..3dc1463f0c0b7 100644 --- a/docs/framework/windows-workflow-foundation/performance.md +++ b/docs/framework/windows-workflow-foundation/performance.md @@ -16,7 +16,7 @@ ms.assetid: 67d2b3e8-3777-49f8-9084-abbb33b5a766 Windows Communication Foundation (WCF) is Microsoft’s unified programming model for building service-oriented applications. It was first introduced as part of .NET 3.0 together with WF3 and now is one of the key components of the .NET Framework. - Windows Server AppFabric is a set of integrated technologies that make it easier to build, scale and manage Web and composite applications that run on IIS. It provides tools for monitoring and managing services and workflows. For more information, see [Windows Server AppFabric 1.0](https://docs.microsoft.com/previous-versions/appfabric/ff384253(v=azure.10)). + Windows Server AppFabric is a set of integrated technologies that make it easier to build, scale and manage Web and composite applications that run on IIS. It provides tools for monitoring and managing services and workflows. For more information, see [Windows Server AppFabric 1.0](/previous-versions/appfabric/ff384253(v=azure.10)). ## Goals The goal of this topic is to show the performance characteristics of WF4 with data measured for different scenarios. It also provides detailed comparisons between WF4 and WF3, and thus shows the great improvements that have been made in this new revision. The scenarios and data presented in this article quantify the underlying cost of different aspects of WF4 and WF3. This data is useful in understanding the performance characteristics of WF4 and can be helpful in planning migrations from WF3 to WF4 or using WF4 in application development. However, care should be taken in the conclusions drawn from the data presented in this article. The performance of a composite workflow application is highly dependent on how the workflow is implemented and how different components are integrated. One must measure each application to determine the performance characteristics of that application. diff --git a/docs/framework/windows-workflow-foundation/persistence-best-practices.md b/docs/framework/windows-workflow-foundation/persistence-best-practices.md index f00b08e185350..5461a1f79a9b5 100644 --- a/docs/framework/windows-workflow-foundation/persistence-best-practices.md +++ b/docs/framework/windows-workflow-foundation/persistence-best-practices.md @@ -15,7 +15,7 @@ This document covers best practices for workflow design and configuration relate If your workflow is busy for a long time, we recommend that you persist the workflow instance regularly throughout its busy period. You can do this by adding activities throughout the sequence of activities that keep the workflow instance busy. In this manner, application domain recycling, host failures, or computer failures do not cause the system to be rolled back to the start of the busy period. Be aware that adding activities to your workflow could lead to a degradation of performance. - Windows Server App Fabric greatly simplifies the configuration and use of persistence. For more information, see [Windows Server App Fabric Persistence](https://docs.microsoft.com/previous-versions/appfabric/ee677272(v=azure.10)) + Windows Server App Fabric greatly simplifies the configuration and use of persistence. For more information, see [Windows Server App Fabric Persistence](/previous-versions/appfabric/ee677272(v=azure.10)) ## Configuration of Scalability Parameters Scalability and performance requirements determine the settings of the following parameters: diff --git a/docs/framework/windows-workflow-foundation/persistence-database-schema.md b/docs/framework/windows-workflow-foundation/persistence-database-schema.md index 624b830fa5a8e..a11d663ea912d 100644 --- a/docs/framework/windows-workflow-foundation/persistence-database-schema.md +++ b/docs/framework/windows-workflow-foundation/persistence-database-schema.md @@ -72,4 +72,4 @@ This topic describes the public views supported by the SQL Workflow Instance Sto The InstancePromotedProperties view is schema bound, which means that users can add indices on one or more columns in order to optimize queries against this view. > [!NOTE] -> An indexed view requires more storage and adds additional processing overhead. Please refer to [Improving Performance with SQL Server 2008 Indexed Views](https://docs.microsoft.com/previous-versions/sql/sql-server-2008/dd171921(v=sql.100)) for more information. +> An indexed view requires more storage and adds additional processing overhead. Please refer to [Improving Performance with SQL Server 2008 Indexed Views](/previous-versions/sql/sql-server-2008/dd171921(v=sql.100)) for more information. diff --git a/docs/framework/windows-workflow-foundation/properties-of-sql-workflow-instance-store.md b/docs/framework/windows-workflow-foundation/properties-of-sql-workflow-instance-store.md index 69860fa6ef790..1d8f7f60c1661 100644 --- a/docs/framework/windows-workflow-foundation/properties-of-sql-workflow-instance-store.md +++ b/docs/framework/windows-workflow-foundation/properties-of-sql-workflow-instance-store.md @@ -22,5 +22,5 @@ The topics in this section provide details about properties of the SQL Workflow ## See also -- [Windows Server App Fabric Instance Store](https://docs.microsoft.com/previous-versions/appfabric/ff383417(v=azure.10)) -- [App Fabric SQL Server Persistence Database](https://docs.microsoft.com/previous-versions/appfabric/ee790819(v=azure.10)) +- [Windows Server App Fabric Instance Store](/previous-versions/appfabric/ff383417(v=azure.10)) +- [App Fabric SQL Server Persistence Database](/previous-versions/appfabric/ee790819(v=azure.10)) diff --git a/docs/framework/windows-workflow-foundation/samples/custom-tracking.md b/docs/framework/windows-workflow-foundation/samples/custom-tracking.md index 3488c9b32b50a..b957f7d47357f 100644 --- a/docs/framework/windows-workflow-foundation/samples/custom-tracking.md +++ b/docs/framework/windows-workflow-foundation/samples/custom-tracking.md @@ -144,4 +144,4 @@ context.Track(customRecord); ## See also -- [AppFabric Monitoring Samples](https://docs.microsoft.com/previous-versions/appfabric/ff383407(v=azure.10)) +- [AppFabric Monitoring Samples](/previous-versions/appfabric/ff383407(v=azure.10)) diff --git a/docs/framework/windows-workflow-foundation/samples/externalized-policy-activity-in-net-framework-4-5.md b/docs/framework/windows-workflow-foundation/samples/externalized-policy-activity-in-net-framework-4-5.md index aef2839fc42df..69a90a3290264 100644 --- a/docs/framework/windows-workflow-foundation/samples/externalized-policy-activity-in-net-framework-4-5.md +++ b/docs/framework/windows-workflow-foundation/samples/externalized-policy-activity-in-net-framework-4-5.md @@ -5,7 +5,7 @@ ms.assetid: 92fd6f92-23a1-4adf-b96a-2754ea93ad3e --- # Externalized Policy Activity in .NET Framework 4.5 -This sample demonstrates how the ExternalizedPolicy4 activity allows executing existing .NET Framework 3.5 Windows Workflow Foundation (WF 3.5) objects in [!INCLUDE[netfx_current_long](../../../../includes/netfx-current-long-md.md)] Windows Workflow Foundation (WF 4.5) directly by using the rules engine that is shipped in WF 3.5. By using this activity, you can open and execute any existing WF 3.5 . For more information about WF 3.5 Rules Engine included as part of Windows Workflow Foundation, please read [Introduction to the Windows Workflow Foundation Rules Engine](https://docs.microsoft.com/previous-versions/dotnet/articles/aa480193(v=msdn.10)). For more information about migrating rules to [!INCLUDE[wf1](../../../../includes/wf1-md.md)] in [!INCLUDE[netfx_current_short](../../../../includes/netfx-current-short-md.md)], see the [Migration Guidance](../migration-guidance.md). +This sample demonstrates how the ExternalizedPolicy4 activity allows executing existing .NET Framework 3.5 Windows Workflow Foundation (WF 3.5) objects in [!INCLUDE[netfx_current_long](../../../../includes/netfx-current-long-md.md)] Windows Workflow Foundation (WF 4.5) directly by using the rules engine that is shipped in WF 3.5. By using this activity, you can open and execute any existing WF 3.5 . For more information about WF 3.5 Rules Engine included as part of Windows Workflow Foundation, please read [Introduction to the Windows Workflow Foundation Rules Engine](/previous-versions/dotnet/articles/aa480193(v=msdn.10)). For more information about migrating rules to [!INCLUDE[wf1](../../../../includes/wf1-md.md)] in [!INCLUDE[netfx_current_short](../../../../includes/netfx-current-short-md.md)], see the [Migration Guidance](../migration-guidance.md). ## Projects in this Sample diff --git a/docs/framework/windows-workflow-foundation/samples/index.md b/docs/framework/windows-workflow-foundation/samples/index.md index 05d2b212742b3..37c260edcc46f 100644 --- a/docs/framework/windows-workflow-foundation/samples/index.md +++ b/docs/framework/windows-workflow-foundation/samples/index.md @@ -8,10 +8,10 @@ ms.assetid: e0aef017-4381-4f2f-a904-6e1ed898687e You can [download Windows Workflow samples](https://www.microsoft.com/download/details.aspx?id=21459) that provide instruction on various aspects of Windows Workflow Foundation (WF). -The articles in this section describe some of the samples in the download package. For a complete documentation set that covers all of the samples, check the [.NET Framework 4 WF samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/dd483375(v%3dvs.100)) section. +The articles in this section describe some of the samples in the download package. For a complete documentation set that covers all of the samples, check the [.NET Framework 4 WF samples](/previous-versions/dotnet/netframework-4.0/dd483375(v=vs.100)) section. > [!NOTE] -> The downloadable samples were created with Visual Studio 2010 and .NET Framework 4, but are compatible with later versions of Visual Studio and the .NET Framework. Additional samples for Windows Workflow Foundation in [!INCLUDE[netfx_current_short](../../../../includes/netfx-current-short-md.md)] can be found on [MSDN code samples](https://aka.ms/WF45Samples). +> The downloadable samples were created with Visual Studio 2010 and .NET Framework 4, but are compatible with later versions of Visual Studio and the .NET Framework. Additional samples for Windows Workflow Foundation in [!INCLUDE[netfx_current_short](../../../../includes/netfx-current-short-md.md)] can be found on [MSDN code samples](/samples/browse/?redirectedfrom=MSDN-samples). ## In this section diff --git a/docs/framework/windows-workflow-foundation/samples/sendmail-custom-activity.md b/docs/framework/windows-workflow-foundation/samples/sendmail-custom-activity.md index 908a6b49dc7b0..aa427d0f40782 100644 --- a/docs/framework/windows-workflow-foundation/samples/sendmail-custom-activity.md +++ b/docs/framework/windows-workflow-foundation/samples/sendmail-custom-activity.md @@ -101,11 +101,11 @@ new SendMail For more information about setting up a SMTP server, see the following links. -- [Configuring the SMTP Service (IIS 6.0)](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc784968(v=ws.10)) +- [Configuring the SMTP Service (IIS 6.0)](/previous-versions/windows/it-pro/windows-server-2003/cc784968(v=ws.10)) -- [IIS 7.0: Configure SMTP E-Mail](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc772058(v=ws.10)) +- [IIS 7.0: Configure SMTP E-Mail](/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc772058(v=ws.10)) -- [How to Install the SMTP Service](https://docs.microsoft.com/previous-versions/tn-archive/aa997480(v=exchg.65)) +- [How to Install the SMTP Service](/previous-versions/tn-archive/aa997480(v=exchg.65)) SMTP emulators provided by third parties are available for download. diff --git a/docs/framework/windows-workflow-foundation/samples/sql-tracking.md b/docs/framework/windows-workflow-foundation/samples/sql-tracking.md index e7a7b03bb3d65..606c8928bbdc7 100644 --- a/docs/framework/windows-workflow-foundation/samples/sql-tracking.md +++ b/docs/framework/windows-workflow-foundation/samples/sql-tracking.md @@ -58,4 +58,4 @@ This sample demonstrates how to write a custom SQL tracking participant that wri ## See also -- [AppFabric Monitoring Samples](https://docs.microsoft.com/previous-versions/appfabric/ff383407(v=azure.10)) +- [AppFabric Monitoring Samples](/previous-versions/appfabric/ff383407(v=azure.10)) diff --git a/docs/framework/windows-workflow-foundation/samples/tracking-events-into-event-tracing-in-windows.md b/docs/framework/windows-workflow-foundation/samples/tracking-events-into-event-tracing-in-windows.md index eac3c5c84536a..de956cf818cd1 100644 --- a/docs/framework/windows-workflow-foundation/samples/tracking-events-into-event-tracing-in-windows.md +++ b/docs/framework/windows-workflow-foundation/samples/tracking-events-into-event-tracing-in-windows.md @@ -147,4 +147,4 @@ The health monitoring tracking profile emits workflow instance records and activ ## See also -- [AppFabric Monitoring Samples](https://docs.microsoft.com/previous-versions/appfabric/ff383407(v=azure.10)) +- [AppFabric Monitoring Samples](/previous-versions/appfabric/ff383407(v=azure.10)) diff --git a/docs/framework/windows-workflow-foundation/security.md b/docs/framework/windows-workflow-foundation/security.md index 121b56dc18ace..fcbd073609b3d 100644 --- a/docs/framework/windows-workflow-foundation/security.md +++ b/docs/framework/windows-workflow-foundation/security.md @@ -12,7 +12,7 @@ The SQL Workflow Instance Store uses the following database security roles to se - **System.Activities.DurableInstancing.WorkflowActivationUsers**. This role has execution rights to stored procedures that are involved in the instance activation process. For more information about instance activation, see [Instance Activation](instance-activation.md). The user account under which a generic host (such as the Workflow Management Service of the hosting features of Windows Server AppFabric) runs should be added to this database role. - For more information about security for persistence stores with Windows Server App Fabric, see [Security Configuration for Persistence Stores in App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ff431727(v=azure.10)) + For more information about security for persistence stores with Windows Server App Fabric, see [Security Configuration for Persistence Stores in App Fabric](/previous-versions/appfabric/ff431727(v=azure.10)) > [!CAUTION] > A client that has access to its own instance data in the instance store has access to all other instances in the same instance store. The instance store does not support specifying security permissions at the instance level. You should create separate instance stores and map different groups/users to have access to different stores. diff --git a/docs/framework/windows-workflow-foundation/sql-server-persistence-database.md b/docs/framework/windows-workflow-foundation/sql-server-persistence-database.md index a8135c64deb84..f366843791dd9 100644 --- a/docs/framework/windows-workflow-foundation/sql-server-persistence-database.md +++ b/docs/framework/windows-workflow-foundation/sql-server-persistence-database.md @@ -16,4 +16,4 @@ This section provides details about public database views supported by the SQL W ## See also -- [App Fabric SQL Server Persistence Database](https://docs.microsoft.com/previous-versions/appfabric/ee790819(v=azure.10)) +- [App Fabric SQL Server Persistence Database](/previous-versions/appfabric/ee790819(v=azure.10)) diff --git a/docs/framework/windows-workflow-foundation/sql-workflow-instance-store.md b/docs/framework/windows-workflow-foundation/sql-workflow-instance-store.md index 04765ef013dc1..c6a9258da311b 100644 --- a/docs/framework/windows-workflow-foundation/sql-workflow-instance-store.md +++ b/docs/framework/windows-workflow-foundation/sql-workflow-instance-store.md @@ -12,7 +12,7 @@ The [!INCLUDE[netfx_current_short](../../../includes/netfx-current-short-md.md)] The topics in this section describe properties and features of the SQL Workflow Instance Store and provide you with details on configuring the store. - Windows Server App Fabric provides its own instance store and tooling to simplify the configuration and use of the instance store. For more information, see [Windows Server App Fabric Instance Store](https://docs.microsoft.com/previous-versions/appfabric/ff383417(v=azure.10)). For more information about the App Fabric SQL Server Persistence Database see [App Fabric SQL Server Persistence Database](https://docs.microsoft.com/previous-versions/appfabric/ee790819(v=azure.10)) + Windows Server App Fabric provides its own instance store and tooling to simplify the configuration and use of the instance store. For more information, see [Windows Server App Fabric Instance Store](/previous-versions/appfabric/ff383417(v=azure.10)). For more information about the App Fabric SQL Server Persistence Database see [App Fabric SQL Server Persistence Database](/previous-versions/appfabric/ee790819(v=azure.10)) ## In This Section @@ -32,4 +32,4 @@ The [!INCLUDE[netfx_current_short](../../../includes/netfx-current-short-md.md)] ## See also -- [Persistence Samples](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/dd699769(v=vs.100)) +- [Persistence Samples](/previous-versions/dotnet/netframework-4.0/dd699769(v=vs.100)) diff --git a/docs/framework/windows-workflow-foundation/tracking-participants.md b/docs/framework/windows-workflow-foundation/tracking-participants.md index 32d1d43b048b8..33deb4b41b805 100644 --- a/docs/framework/windows-workflow-foundation/tracking-participants.md +++ b/docs/framework/windows-workflow-foundation/tracking-participants.md @@ -136,5 +136,5 @@ instance.Extensions.Add(new ConsoleTrackingParticipant()); ## See also -- [Windows Server App Fabric Monitoring](https://docs.microsoft.com/previous-versions/appfabric/ee677251(v=azure.10)) -- [Monitoring Applications with App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677276(v=azure.10)) +- [Windows Server App Fabric Monitoring](/previous-versions/appfabric/ee677251(v=azure.10)) +- [Monitoring Applications with App Fabric](/previous-versions/appfabric/ee677276(v=azure.10)) diff --git a/docs/framework/windows-workflow-foundation/tracking-profiles.md b/docs/framework/windows-workflow-foundation/tracking-profiles.md index 1b7f5f20318ec..2a688d46c2055 100644 --- a/docs/framework/windows-workflow-foundation/tracking-profiles.md +++ b/docs/framework/windows-workflow-foundation/tracking-profiles.md @@ -384,5 +384,5 @@ Here are some of the common examples of tracking profiles. ## See also - [SQL Tracking](./samples/sql-tracking.md) -- [Windows Server App Fabric Monitoring](https://docs.microsoft.com/previous-versions/appfabric/ee677251(v=azure.10)) -- [Monitoring Applications with App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677276(v=azure.10)) +- [Windows Server App Fabric Monitoring](/previous-versions/appfabric/ee677251(v=azure.10)) +- [Monitoring Applications with App Fabric](/previous-versions/appfabric/ee677276(v=azure.10)) diff --git a/docs/framework/windows-workflow-foundation/tracking-records.md b/docs/framework/windows-workflow-foundation/tracking-records.md index eff865c944f2f..bb70f8cc80c3c 100644 --- a/docs/framework/windows-workflow-foundation/tracking-records.md +++ b/docs/framework/windows-workflow-foundation/tracking-records.md @@ -56,5 +56,5 @@ The workflow runtime is instrumented to emit tracking records to follow the exec ## See also -- [Windows Server App Fabric Monitoring](https://docs.microsoft.com/previous-versions/appfabric/ee677251(v=azure.10)) -- [Monitoring Applications with App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677276(v=azure.10)) +- [Windows Server App Fabric Monitoring](/previous-versions/appfabric/ee677251(v=azure.10)) +- [Monitoring Applications with App Fabric](/previous-versions/appfabric/ee677276(v=azure.10)) diff --git a/docs/framework/windows-workflow-foundation/using-tracking-to-troubleshoot-applications.md b/docs/framework/windows-workflow-foundation/using-tracking-to-troubleshoot-applications.md index 1b5bb1537fda2..ee80815c87995 100644 --- a/docs/framework/windows-workflow-foundation/using-tracking-to-troubleshoot-applications.md +++ b/docs/framework/windows-workflow-foundation/using-tracking-to-troubleshoot-applications.md @@ -47,5 +47,5 @@ Windows Workflow Foundation (WF) enables you to track workflow-related informati ## See also -- [Windows Server App Fabric Monitoring](https://docs.microsoft.com/previous-versions/appfabric/ee677251(v=azure.10)) -- [Monitoring Applications with App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677276(v=azure.10)) +- [Windows Server App Fabric Monitoring](/previous-versions/appfabric/ee677251(v=azure.10)) +- [Monitoring Applications with App Fabric](/previous-versions/appfabric/ee677276(v=azure.10)) diff --git a/docs/framework/windows-workflow-foundation/variable-and-argument-tracking.md b/docs/framework/windows-workflow-foundation/variable-and-argument-tracking.md index 361316c304e35..e0e0072bf7ac6 100644 --- a/docs/framework/windows-workflow-foundation/variable-and-argument-tracking.md +++ b/docs/framework/windows-workflow-foundation/variable-and-argument-tracking.md @@ -42,5 +42,5 @@ When tracking the execution of a workflow, it is often useful to extract data. T ## See also -- [Windows Server App Fabric Monitoring](https://docs.microsoft.com/previous-versions/appfabric/ee677251(v=azure.10)) -- [Monitoring Applications with App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677276(v=azure.10)) +- [Windows Server App Fabric Monitoring](/previous-versions/appfabric/ee677251(v=azure.10)) +- [Monitoring Applications with App Fabric](/previous-versions/appfabric/ee677276(v=azure.10)) diff --git a/docs/framework/windows-workflow-foundation/wf-features-in-the-rehosted-workflow-designer.md b/docs/framework/windows-workflow-foundation/wf-features-in-the-rehosted-workflow-designer.md index 4ecd840296bff..aceb968ecf08b 100644 --- a/docs/framework/windows-workflow-foundation/wf-features-in-the-rehosted-workflow-designer.md +++ b/docs/framework/windows-workflow-foundation/wf-features-in-the-rehosted-workflow-designer.md @@ -116,7 +116,7 @@ Windows Workflow Foundation (WF) in .NET Framework 4.5 introduced many new featu In addition to flowchart and sequential workflow development models, this release includes State Machine workflows, and contract-first workflow services. ### State machine workflows - State machine workflows were introduced as part of the .NET Framework 4.0.1 in the [Microsoft .NET Framework 4 Platform Update 1](https://docs.microsoft.com/archive/blogs/endpoint/microsoft-net-framework-4-platform-update-1). This update included several new classes and activities which allowed developers to create state machine workflows. These classes and activities have been updated for .NET Framework 4.5. Updates include: + State machine workflows were introduced as part of the .NET Framework 4.0.1 in the [Microsoft .NET Framework 4 Platform Update 1](/archive/blogs/endpoint/microsoft-net-framework-4-platform-update-1). This update included several new classes and activities which allowed developers to create state machine workflows. These classes and activities have been updated for .NET Framework 4.5. Updates include: 1. The ability to set breakpoints on states diff --git a/docs/framework/windows-workflow-foundation/whats-new-in-wf-in-dotnet.md b/docs/framework/windows-workflow-foundation/whats-new-in-wf-in-dotnet.md index 2c689417867ad..74317a362467b 100644 --- a/docs/framework/windows-workflow-foundation/whats-new-in-wf-in-dotnet.md +++ b/docs/framework/windows-workflow-foundation/whats-new-in-wf-in-dotnet.md @@ -76,7 +76,7 @@ Workflows in .NET Framework 4 required a fully trusted application domain. In .N 7. Expressions cannot be compiled using or the Visual Basic hosted compiler in partial trust, but previously compiled expressions can be run. -8. A single assembly that uses [Level 2 Transparency](https://aka.ms/Level2Transparency) cannot be used in .NET Framework 4, [!INCLUDE[netfx_current_short](../../../includes/netfx-current-short-md.md)] in full trust, and [!INCLUDE[netfx_current_short](../../../includes/netfx-current-short-md.md)] in partial trust. +8. A single assembly that uses [Level 2 Transparency](../misc/security-transparent-code-level-2.md) cannot be used in .NET Framework 4, [!INCLUDE[netfx_current_short](../../../includes/netfx-current-short-md.md)] in full trust, and [!INCLUDE[netfx_current_short](../../../includes/netfx-current-short-md.md)] in partial trust. ## New Designer Capabilities @@ -216,7 +216,7 @@ In addition to flowchart and sequential workflow development models, this releas ### State machine workflows -State machine workflows were introduced as part of the .NET Framework 4, version 4.0.1 in the [Microsoft .NET Framework 4 Platform Update 1](https://docs.microsoft.com/archive/blogs/endpoint/microsoft-net-framework-4-platform-update-1). This update included several new classes and activities which allowed developers to create state machine workflows. These classes and activities have been updated for .NET Framework 4.5. Updates include: +State machine workflows were introduced as part of the .NET Framework 4, version 4.0.1 in the [Microsoft .NET Framework 4 Platform Update 1](/archive/blogs/endpoint/microsoft-net-framework-4-platform-update-1). This update included several new classes and activities which allowed developers to create state machine workflows. These classes and activities have been updated for .NET Framework 4.5. Updates include: 1. The ability to set breakpoints on states diff --git a/docs/framework/windows-workflow-foundation/workflow-persistence.md b/docs/framework/windows-workflow-foundation/workflow-persistence.md index 6852da6d38101..c10145a3e1842 100644 --- a/docs/framework/windows-workflow-foundation/workflow-persistence.md +++ b/docs/framework/windows-workflow-foundation/workflow-persistence.md @@ -17,7 +17,7 @@ Workflow persistence is the durable capture of a workflow instance's state, inde To store and load your application-specific data along with the workflow instance-related information, you can create persistence participants that extend the class. A persistence participant participates in the persistence process to save custom serializable data into the persistence store, to load the data from the instance store into memory, and to perform any additional logic under a persistence transaction. For more information, see [Persistence Participants](persistence-participants.md). - Windows Server App Fabric simplifies the process of configuring persistence. For more information, see [Persistence Concepts with Windows Server App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677272(v=azure.10)) + Windows Server App Fabric simplifies the process of configuring persistence. For more information, see [Persistence Concepts with Windows Server App Fabric](/previous-versions/appfabric/ee677272(v=azure.10)) ## Implicit Persistence Points The following list contains examples of the conditions upon which a workflow is persisted when an instance store is associated with a workflow. diff --git a/docs/framework/windows-workflow-foundation/workflow-security.md b/docs/framework/windows-workflow-foundation/workflow-security.md index 2d8ec33ede5a0..e14a5cf321ee8 100644 --- a/docs/framework/windows-workflow-foundation/workflow-security.md +++ b/docs/framework/windows-workflow-foundation/workflow-security.md @@ -39,7 +39,7 @@ Windows Workflow Foundation (WF) is integrated with several different technologi - The ServiceSecurityContext for the incoming message is also available from within workflow by accessing OperationContext. ## WF Security Pack CTP - The Microsoft WF Security Pack community technology preview (CTP) 1 is a set of activities and their implementation based on [Windows Workflow Foundation](index.md) in [.NET Framework 4](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/w0x726c2(v=vs.100)) (WF 4) and [Windows Identity Foundation (WIF)](https://docs.microsoft.com/previous-versions/dotnet/framework/security/index). The Microsoft WF Security Pack CTP 1 contains both activities and their designers which illustrate how to easily enable various security-related scenarios using workflow, including: + The Microsoft WF Security Pack community technology preview (CTP) 1 is a set of activities and their implementation based on [Windows Workflow Foundation](index.md) in [.NET Framework 4](/previous-versions/dotnet/netframework-4.0/w0x726c2(v=vs.100)) (WF 4) and [Windows Identity Foundation (WIF)](/previous-versions/dotnet/framework/security/index). The Microsoft WF Security Pack CTP 1 contains both activities and their designers which illustrate how to easily enable various security-related scenarios using workflow, including: 1. Impersonating a client identity in the workflow diff --git a/docs/framework/windows-workflow-foundation/workflow-tracing.md b/docs/framework/windows-workflow-foundation/workflow-tracing.md index 504861d6b9dd6..ef5f1cf3fbc56 100644 --- a/docs/framework/windows-workflow-foundation/workflow-tracing.md +++ b/docs/framework/windows-workflow-foundation/workflow-tracing.md @@ -65,5 +65,5 @@ Workflow tracing offers a way to capture diagnostic information using .NET Frame ## See also -- [Windows Server App Fabric Monitoring](https://docs.microsoft.com/previous-versions/appfabric/ee677251(v=azure.10)) -- [Monitoring Applications with App Fabric](https://docs.microsoft.com/previous-versions/appfabric/ee677276(v=azure.10)) +- [Windows Server App Fabric Monitoring](/previous-versions/appfabric/ee677251(v=azure.10)) +- [Monitoring Applications with App Fabric](/previous-versions/appfabric/ee677276(v=azure.10)) diff --git a/docs/framework/windows-workflow-foundation/workflow-tracking-and-tracing.md b/docs/framework/windows-workflow-foundation/workflow-tracking-and-tracing.md index f8f235a2e0407..55aeaf753f7d0 100644 --- a/docs/framework/windows-workflow-foundation/workflow-tracking-and-tracing.md +++ b/docs/framework/windows-workflow-foundation/workflow-tracking-and-tracing.md @@ -11,7 +11,7 @@ Windows Workflow tracking is a [!INCLUDE[netfx_current_long](../../../includes/n These tracking components are equivalent to the tracking service in WinFX. In [!INCLUDE[netfx_current_short](../../../includes/netfx-current-short-md.md)], the performance has been improved and the programming model simplified for the WF tracking feature. The tracking runtime instruments a workflow instance to emit events related to the workflow life cycle, workflow activities and custom events. - Windows Server App Fabric also provides the ability to monitor the execution of a WCF and workflow services. For more information, see [Windows Server App Fabric Monitoring](https://docs.microsoft.com/previous-versions/appfabric/ee677251(v=azure.10)) and [Monitoring Applications with Windows Server AppFabric](https://docs.microsoft.com/previous-versions/appfabric/ee677276(v=azure.10)) + Windows Server App Fabric also provides the ability to monitor the execution of a WCF and workflow services. For more information, see [Windows Server App Fabric Monitoring](/previous-versions/appfabric/ee677251(v=azure.10)) and [Monitoring Applications with Windows Server AppFabric](/previous-versions/appfabric/ee677276(v=azure.10)) To troubleshoot the workflow runtime, you can turn on diagnostic workflow tracing. For more information, see [Workflow Tracing](workflow-tracing.md). diff --git a/docs/fsharp/language-reference/compiler-directives.md b/docs/fsharp/language-reference/compiler-directives.md index b582322c1e90e..6da1d5bcb6b08 100644 --- a/docs/fsharp/language-reference/compiler-directives.md +++ b/docs/fsharp/language-reference/compiler-directives.md @@ -34,7 +34,7 @@ Code that is deactivated by one of these directives appears dimmed in the Visual > [!NOTE] > The behavior of the conditional compilation directives is not the same as it is in other languages. For example, you cannot use Boolean expressions involving symbols, and `true` and `false` have no special meaning. Symbols that you use in the `if` directive must be defined by the command line or in the project settings; there is no `define` preprocessor directive. -The following code illustrates the use of the `#if`, `#else`, and `#endif` directives. In this example, the code contains two versions of the definition of `function1`. When `VERSION1` is defined by using the [-define compiler option](https://msdn.microsoft.com/library/434394ae-0d4a-459c-a684-bffede519a04), the code between the `#if` directive and the `#else` directive is activated. Otherwise, the code between `#else` and `#endif` is activated. +The following code illustrates the use of the `#if`, `#else`, and `#endif` directives. In this example, the code contains two versions of the definition of `function1`. When `VERSION1` is defined by using the [-define compiler option](./compiler-options.md), the code between the `#if` directive and the `#else` directive is activated. Otherwise, the code between `#else` and `#endif` is activated. [!code-fsharp[Main](~/samples/snippets/fsharp/lang-ref-2/snippet7301.fs)] diff --git a/docs/fsharp/language-reference/exception-handling/exception-types.md b/docs/fsharp/language-reference/exception-handling/exception-types.md index 149ac14c472db..4d84a8f8b10ac 100644 --- a/docs/fsharp/language-reference/exception-handling/exception-types.md +++ b/docs/fsharp/language-reference/exception-handling/exception-types.md @@ -35,4 +35,4 @@ The exception type that you define with the `exception` keyword in F# is a new t - [Exception Handling](index.md) - [Exceptions: the `raise` Function](the-raise-function.md) -- [Exception Hierarchy](https://msdn.microsoft.com/library/z4c5tckx.aspx) +- [Exception Hierarchy](../../../standard/exceptions/index.md) diff --git a/docs/fsharp/language-reference/xml-documentation.md b/docs/fsharp/language-reference/xml-documentation.md index a89d241909a84..c7bfd07f603e4 100644 --- a/docs/fsharp/language-reference/xml-documentation.md +++ b/docs/fsharp/language-reference/xml-documentation.md @@ -9,9 +9,9 @@ You can produce documentation from triple-slash (///) code comments in F#. XML c ## Generating Documentation from Comments -The support in F# for generating documentation from comments is the same as that in other .NET Framework languages. As in other .NET Framework languages, the [-doc compiler option](https://msdn.microsoft.com/library/434394ae-0d4a-459c-a684-bffede519a04) enables you to produce an XML file that contains information that you can convert into documentation by using a tool such as [DocFX](https://dotnet.github.io/docfx/) or [Sandcastle](https://github.com/EWSoftware/SHFB). The documentation generated by using tools that are designed for use with assemblies that are written in other .NET Framework languages generally produce a view of the APIs that is based on the compiled form of F# constructs. Unless tools specifically support F#, documentation generated by these tools does not match the F# view of an API. +The support in F# for generating documentation from comments is the same as that in other .NET Framework languages. As in other .NET Framework languages, the [-doc compiler option](./compiler-options.md) enables you to produce an XML file that contains information that you can convert into documentation by using a tool such as [DocFX](https://dotnet.github.io/docfx/) or [Sandcastle](https://github.com/EWSoftware/SHFB). The documentation generated by using tools that are designed for use with assemblies that are written in other .NET Framework languages generally produce a view of the APIs that is based on the compiled form of F# constructs. Unless tools specifically support F#, documentation generated by these tools does not match the F# view of an API. -For more information about how to generate documentation from XML, see [XML Documentation Comments (C# Programming Guide)](https://msdn.microsoft.com/library/b2s063f7). +For more information about how to generate documentation from XML, see [XML Documentation Comments (C# Programming Guide)](../../csharp/programming-guide/xmldoc/index.md). ## Recommended Tags diff --git a/docs/fsharp/style-guide/conventions.md b/docs/fsharp/style-guide/conventions.md index 625b82a6175c3..c633c2b871d10 100644 --- a/docs/fsharp/style-guide/conventions.md +++ b/docs/fsharp/style-guide/conventions.md @@ -697,7 +697,7 @@ Because there is no need for a class when interacting with the Visual Studio Cod ## Consider Type Abbreviations to shorten signatures -[Type Abbreviations](../language-reference/type-abbreviations.md) are a convenient way to assign a label to another type, such as a function signature or a more complex type. For example, the following alias assigns a label to what's needed to define a computation with [CNTK](https://docs.microsoft.com/cognitive-toolkit/), a deep learning library: +[Type Abbreviations](../language-reference/type-abbreviations.md) are a convenient way to assign a label to another type, such as a function signature or a more complex type. For example, the following alias assigns a label to what's needed to define a computation with [CNTK](/cognitive-toolkit/), a deep learning library: ```fsharp open CNTK diff --git a/docs/fsharp/using-fsharp-on-azure/blob-storage.md b/docs/fsharp/using-fsharp-on-azure/blob-storage.md index 801eb46e21aac..14e6f8eda924b 100644 --- a/docs/fsharp/using-fsharp-on-azure/blob-storage.md +++ b/docs/fsharp/using-fsharp-on-azure/blob-storage.md @@ -176,7 +176,7 @@ The following example creates a new append blob and appends some data to it, sim [!code-fsharp[BlobStorage](~/samples/snippets/fsharp/azure/blob-storage.fsx#L174-L203)] -See [Understanding Block Blobs, Page Blobs, and Append Blobs](https://msdn.microsoft.com/library/azure/ee691964.aspx) for more information about the differences between the three types of blobs. +See [Understanding Block Blobs, Page Blobs, and Append Blobs](/rest/api/storageservices/Understanding-Block-Blobs--Append-Blobs--and-Page-Blobs) for more information about the differences between the three types of blobs. ## Concurrent access @@ -238,8 +238,8 @@ A free, standalone app from Microsoft that enables you to work visually with Azu ### Related guides -- [Azure Blob Storage Samples for .NET](https://docs.microsoft.com/samples/azure-samples/storage-blob-dotnet-getting-started/storage-blob-dotnet-getting-started/) +- [Azure Blob Storage Samples for .NET](/samples/azure-samples/storage-blob-dotnet-getting-started/storage-blob-dotnet-getting-started/) - [Get started with AzCopy](/azure/storage/common/storage-use-azcopy-v10) - [Configure Azure Storage connection strings](/azure/storage/common/storage-configure-connection-string) -- [Azure Storage Team Blog](https://docs.microsoft.com/archive/blogs/windowsazurestorage/) +- [Azure Storage Team Blog](/archive/blogs/windowsazurestorage/) - [Quickstart: Use .NET to create a blob in object storage](/azure/storage/blobs/storage-quickstart-blobs-dotnet) diff --git a/docs/fsharp/using-fsharp-on-azure/file-storage.md b/docs/fsharp/using-fsharp-on-azure/file-storage.md index dde3129f3b2cb..186caa7669060 100644 --- a/docs/fsharp/using-fsharp-on-azure/file-storage.md +++ b/docs/fsharp/using-fsharp-on-azure/file-storage.md @@ -6,13 +6,13 @@ ms.date: 09/20/2016 --- # Get started with Azure File storage using F\# -Azure File storage is a service that offers file shares in the cloud using the standard [Server Message Block (SMB) Protocol](https://msdn.microsoft.com/library/windows/desktop/aa365233.aspx). Both SMB 2.1 and SMB 3.0 are supported. With Azure File storage, you can migrate legacy applications that rely on file shares to Azure quickly and without costly rewrites. Applications running in Azure virtual machines or cloud services or from on-premises clients can mount a file share in the cloud, just as a desktop application mounts a typical SMB share. Any number of application components can then mount and access the File storage share simultaneously. +Azure File storage is a service that offers file shares in the cloud using the standard [Server Message Block (SMB) Protocol](/windows/win32/fileio/microsoft-smb-protocol-and-cifs-protocol-overview). Both SMB 2.1 and SMB 3.0 are supported. With Azure File storage, you can migrate legacy applications that rely on file shares to Azure quickly and without costly rewrites. Applications running in Azure virtual machines or cloud services or from on-premises clients can mount a file share in the cloud, just as a desktop application mounts a typical SMB share. Any number of application components can then mount and access the File storage share simultaneously. -For a conceptual overview of file storage, see [the .NET guide for file storage](https://docs.microsoft.com/azure/storage/storage-dotnet-how-to-use-files). +For a conceptual overview of file storage, see [the .NET guide for file storage](/azure/storage/storage-dotnet-how-to-use-files). ## Prerequisites -To use this guide, you must first [create an Azure storage account](https://docs.microsoft.com/azure/storage/storage-create-storage-account). +To use this guide, you must first [create an Azure storage account](/azure/storage/storage-create-storage-account). You'll also need your storage access key for this account. ## Create an F# Script and Start F# Interactive @@ -29,7 +29,7 @@ Add the following `open` statements to the top of the `files.fsx` file: ### Get your connection string -You'll need an Azure Storage connection string for this tutorial. For more information about connection strings, see [Configure Storage Connection Strings](https://docs.microsoft.com/azure/storage/storage-configure-connection-string). +You'll need an Azure Storage connection string for this tutorial. For more information about connection strings, see [Configure Storage Connection Strings](/azure/storage/storage-configure-connection-string). For the tutorial, you'll enter your connection string in your script, like this: @@ -97,7 +97,7 @@ Here, you create a shared access policy on a share, and then use that policy to [!code-fsharp[FileStorage](~/samples/snippets/fsharp/azure/file-storage.fsx#L78-L94)] -For more information about creating and using shared access signatures, see [Using Shared Access Signatures (SAS)](https://docs.microsoft.com/azure/storage/storage-dotnet-shared-access-signature-part-1) and [Create and use a SAS with Blob storage](https://docs.microsoft.com/azure/storage/storage-dotnet-shared-access-signature-part-2). +For more information about creating and using shared access signatures, see [Using Shared Access Signatures (SAS)](/azure/storage/storage-dotnet-shared-access-signature-part-1) and [Create and use a SAS with Blob storage](/azure/storage/storage-dotnet-shared-access-signature-part-2). ### Copy files @@ -132,22 +132,22 @@ For more information about Azure File storage, see these links. ### Conceptual articles and videos - [Azure Files Storage: a frictionless cloud SMB file system for Windows and Linux](https://azure.microsoft.com/resources/videos/azurecon-2015-azure-files-storage-a-frictionless-cloud-smb-file-system-for-windows-and-linux/) -- [How to use Azure File Storage with Linux](https://docs.microsoft.com/azure/storage/storage-how-to-use-files-linux) +- [How to use Azure File Storage with Linux](/azure/storage/storage-how-to-use-files-linux) ### Tooling support for File storage -- [Using Azure PowerShell with Azure Storage](https://docs.microsoft.com/azure/storage/storage-powershell-guide-full) -- [How to use AzCopy with Microsoft Azure Storage](https://docs.microsoft.com/azure/storage/storage-use-azcopy) -- [Create, download, and list blobs with Azure CLI](https://docs.microsoft.com/azure/storage/blobs/storage-quickstart-blobs-cli#create-and-manage-file-shares) +- [Using Azure PowerShell with Azure Storage](/azure/storage/storage-powershell-guide-full) +- [How to use AzCopy with Microsoft Azure Storage](/azure/storage/storage-use-azcopy) +- [Create, download, and list blobs with Azure CLI](/azure/storage/blobs/storage-quickstart-blobs-cli#create-and-manage-file-shares) ### Reference -- [Storage Client Library for .NET reference](https://msdn.microsoft.com/library/azure/mt347887.aspx) +- [Storage Client Library for .NET reference](/dotnet/api/overview/azure/storage) - [File Service REST API reference](/rest/api/storageservices/fileservices/File-Service-REST-API) ### Blog posts - [Azure File storage is now generally available](https://azure.microsoft.com/blog/azure-file-storage-now-generally-available/) - [Inside Azure File Storage](https://azure.microsoft.com/blog/inside-azure-file-storage/) -- [Introducing Microsoft Azure File Service](https://docs.microsoft.com/archive/blogs/windowsazurestorage/introducing-microsoft-azure-file-service) -- [Persisting connections to Microsoft Azure Files](https://docs.microsoft.com/archive/blogs/windowsazurestorage/persisting-connections-to-microsoft-azure-files) +- [Introducing Microsoft Azure File Service](/archive/blogs/windowsazurestorage/introducing-microsoft-azure-file-service) +- [Persisting connections to Microsoft Azure Files](/archive/blogs/windowsazurestorage/persisting-connections-to-microsoft-azure-files) diff --git a/docs/fsharp/using-fsharp-on-azure/index.md b/docs/fsharp/using-fsharp-on-azure/index.md index 4c85787c37260..cc2883a98e3b3 100644 --- a/docs/fsharp/using-fsharp-on-azure/index.md +++ b/docs/fsharp/using-fsharp-on-azure/index.md @@ -52,7 +52,7 @@ Azure Storage can also be used in conjunction with Azure Functions through decla ## Using Apache Spark with F# on Azure HDInsight or Azure Databricks -[Apache Spark for Azure HDInsight](https://docs.microsoft.com/azure/hdinsight/spark/apache-spark-overview) is an open source processing framework that runs large-scale data analytics applications. [Azure Databricks](https://docs.microsoft.com/azure/databricks/scenarios/what-is-azure-databricks) is an Apache Spark-based analytics platform optimized for the Microsoft Azure cloud services platform. Azure makes Apache Spark easy and cost effective to deploy. Develop your Spark application in F# using [.NET for Apache Spark](../../spark/what-is-apache-spark-dotnet.md), a set of .NET bindings for Apache Spark. +[Apache Spark for Azure HDInsight](/azure/hdinsight/spark/apache-spark-overview) is an open source processing framework that runs large-scale data analytics applications. [Azure Databricks](/azure/databricks/scenarios/what-is-azure-databricks) is an Apache Spark-based analytics platform optimized for the Microsoft Azure cloud services platform. Azure makes Apache Spark easy and cost effective to deploy. Develop your Spark application in F# using [.NET for Apache Spark](../../spark/what-is-apache-spark-dotnet.md), a set of .NET bindings for Apache Spark. * [.NET for Apache Spark F# samples](https://github.com/dotnet/spark/tree/master/examples/Microsoft.Spark.FSharp.Examples) * [Install .NET Interactive Jupyter notebooks in Azure HDInsight](../../spark/how-to-guides/hdinsight-notebook-installation.md) @@ -84,7 +84,7 @@ Azure Event Hubs can be used with F# in two ways: Azure Notification Hubs can be used with F# in two ways: 1. Through the creation of F# Azure Functions which send results to a notification hub. See [Azure Function output triggers for Notification Hubs](/azure/azure-functions/functions-bindings-notification-hubs), or -2. By using the [.NET SDK for Azure](https://docs.microsoft.com/archive/blogs/azuremobile/push-notifications-using-notification-hub-and-net-backend). Note these examples are in C#. +2. By using the [.NET SDK for Azure](/archive/blogs/azuremobile/push-notifications-using-notification-hub-and-net-backend). Note these examples are in C#. ## Implementing WebHooks on Azure with F\# @@ -106,7 +106,7 @@ Timers can be implemented in F# and hosted on Azure via an [Azure Function in F# ## Deploying and Managing Azure Resources with F# Scripts -Azure VMs may be programmatically deployed and managed from F# scripts by using the Microsoft.Azure.Management packages and APIs. For example, see [Get Started with the Management Libraries for .NET](https://msdn.microsoft.com/library/dn722415.aspx) and [Using Azure Resource Manager](/azure/azure-resource-manager/resource-manager-deployment-model). +Azure VMs may be programmatically deployed and managed from F# scripts by using the Microsoft.Azure.Management packages and APIs. For example, see [Get Started with the Management Libraries for .NET](/previous-versions/azure/dn722415(v=azure.100)) and [Using Azure Resource Manager](/azure/azure-resource-manager/resource-manager-deployment-model). Likewise, other Azure resources may also be deployed and managed from F# scripts using the same components. For example, you can create storage accounts, deploy Azure Cloud Services, create Azure Cosmos DB instances and manage Azure Notification Hubs programmatically from F# scripts. diff --git a/docs/fsharp/using-fsharp-on-azure/queue-storage.md b/docs/fsharp/using-fsharp-on-azure/queue-storage.md index e8bc0f0252719..42854364c93b1 100644 --- a/docs/fsharp/using-fsharp-on-azure/queue-storage.md +++ b/docs/fsharp/using-fsharp-on-azure/queue-storage.md @@ -165,6 +165,6 @@ to learn about more complex storage tasks. - [Azure Storage APIs for .NET](/dotnet/api/overview/azure/storage) - [Azure Storage Type Provider](https://github.com/fsprojects/AzureStorageTypeProvider) -- [Azure Storage Team Blog](https://docs.microsoft.com/archive/blogs/windowsazurestorage/) +- [Azure Storage Team Blog](/archive/blogs/windowsazurestorage/) - [Configure Azure Storage connection strings](/azure/storage/common/storage-configure-connection-string) - [Azure Storage Services REST API Reference](/rest/api/storageservices/Azure-Storage-Services-REST-API-Reference) diff --git a/docs/fsharp/using-fsharp-on-azure/table-storage.md b/docs/fsharp/using-fsharp-on-azure/table-storage.md index 33f5c6a52cccf..9c001d482e038 100644 --- a/docs/fsharp/using-fsharp-on-azure/table-storage.md +++ b/docs/fsharp/using-fsharp-on-azure/table-storage.md @@ -20,7 +20,7 @@ Azure Cosmos DB provides the Table API for applications that are written for Azu Applications written for Azure Table storage can migrate to Azure Cosmos DB by using the Table API with no code changes and take advantage of premium capabilities. The Table API has client SDKs available for .NET, Java, Python, and Node.js. -For more information, see [Introduction to Azure Cosmos DB Table API](https://docs.microsoft.com/azure/cosmos-db/table-introduction). +For more information, see [Introduction to Azure Cosmos DB Table API](/azure/cosmos-db/table-introduction). ## About this tutorial @@ -186,8 +186,8 @@ You can delete a table from a storage account. A table that has been deleted wil Now that you've learned the basics of Table storage, follow these links to learn about more complex storage tasks and the Azure Cosmos DB Table API. -- [Introduction to Azure Cosmos DB Table API](https://docs.microsoft.com/azure/cosmos-db/table-introduction) -- [Storage Client Library for .NET reference](https://docs.microsoft.com/dotnet/api/overview/azure/storage) +- [Introduction to Azure Cosmos DB Table API](/azure/cosmos-db/table-introduction) +- [Storage Client Library for .NET reference](/dotnet/api/overview/azure/storage) - [Azure Storage Type Provider](https://fsprojects.github.io/AzureStorageTypeProvider/) -- [Azure Storage Team Blog](https://docs.microsoft.com/archive/blogs/windowsazurestorage/) -- [Configuring Connection Strings](https://docs.microsoft.com/azure/storage/common/storage-configure-connection-string) +- [Azure Storage Team Blog](/archive/blogs/windowsazurestorage/) +- [Configuring Connection Strings](/azure/storage/common/storage-configure-connection-string) diff --git a/docs/fundamentals/index.yml b/docs/fundamentals/index.yml index 072e5dc0b5e09..e1d9c15d94d3f 100644 --- a/docs/fundamentals/index.yml +++ b/docs/fundamentals/index.yml @@ -69,17 +69,17 @@ landingContent: - linkListType: how-to-guide links: - text: Install .NET Core SDK - url: ../core/install/sdk.md + url: ../core/install/windows.md - text: Install .NET Core runtime - url: ../core/install/runtime.md + url: ../core/install/windows.md - text: Use a Linux package manager to install - url: ../core/install/linux-package-manager-ubuntu-1904.md + url: ../core/install/linux-ubuntu.md - text: Check installed versions url: ../core/install/how-to-detect-installed-versions.md - linkListType: reference links: - text: .NET Core SDK and runtime dependencies - url: ../core/install/dependencies.md + url: ../core/install/windows.md # Card - title: Get started with .NET Core @@ -119,7 +119,7 @@ landingContent: - linkListType: tutorial links: - text: Get started using the CLI - url: ../core/tutorials/cli-create-console-app.md + url: ../core/tutorials/with-visual-studio-code.md - linkListType: deploy links: - text: Publish apps @@ -270,5 +270,4 @@ landingContent: - text: Write a simple parallel program using Parallel.ForEach url: ../standard/parallel-programming/how-to-write-a-simple-parallel-foreach-loop.md - text: Return a value from a task - url: ../standard/parallel-programming/how-to-return-a-value-from-a-task.md - + url: ../standard/parallel-programming/how-to-return-a-value-from-a-task.md \ No newline at end of file diff --git a/docs/fundamentals/productivity/configure-code-analysis-rules.md b/docs/fundamentals/productivity/configure-code-analysis-rules.md index faa7b3aaf9004..ef71794a9402a 100644 --- a/docs/fundamentals/productivity/configure-code-analysis-rules.md +++ b/docs/fundamentals/productivity/configure-code-analysis-rules.md @@ -7,7 +7,7 @@ no-loc: ["EditorConfig"] --- # Configure code analysis rules -You configure the severity of .NET code analysis rules by using an [EditorConfig file](https://docs.microsoft.com/visualstudio/ide/create-portable-custom-editor-options). Add an entry for each rule you want to configure under the corresponding file extension, for example, `*.cs`. The syntax for the *.editorconfig* file is as follows: +You configure the severity of .NET code analysis rules by using an [EditorConfig file](/visualstudio/ide/create-portable-custom-editor-options). Add an entry for each rule you want to configure under the corresponding file extension, for example, `*.cs`. The syntax for the *.editorconfig* file is as follows: ```ini dotnet_diagnostic..severity = @@ -59,7 +59,7 @@ If you have multiple entries that are applicable to the same rule ID, precedence - Severity entry for an individual rule by ID takes precedence over severity entry for a category. - Severity entry for a category takes precedence over severity entry for all analyzer rules. -Consider the following EditorConfig example, where [CA1822](https://docs.microsoft.com/visualstudio/code-quality/ca1822) has the category "Performance": +Consider the following EditorConfig example, where [CA1822](/visualstudio/code-quality/ca1822) has the category "Performance": ```ini [*.cs] diff --git a/docs/index.yml b/docs/index.yml index c537347281c8d..6e75ba94be0d0 100644 --- a/docs/index.yml +++ b/docs/index.yml @@ -193,11 +193,11 @@ additionalContent: # Card - title: Cloud native and microservices links: - - url: /dotnet/azure/ + - url: ./azure/index.yml text: Azure for .NET documentation - url: /azure/storage text: Storage - - url: /dotnet/fsharp/using-fsharp-on-azure/ + - url: ./fsharp/using-fsharp-on-azure/index.md text: Using F# on Azure - url: architecture/serverless/index.md text: "Serverless apps: Architecture, patterns, and Azure implementation" @@ -254,7 +254,7 @@ additionalContent: links: - url: https://channel9.msdn.com/Shows/On-NET/IoT-support-for-NET-Core text: "On .NET: Learn about IoT support in .NET Core" - - url: https://docs.microsoft.com/archive/msdn-magazine/2019/august/net-core-cross-platform-iot-programming-with-net-core-3-0 + - url: /archive/msdn-magazine/2019/august/net-core-cross-platform-iot-programming-with-net-core-3-0 text: Cross-Platform IoT Programming with .NET Core 3.0 - url: https://github.com/dotnet/iot text: .NET Core IoT libraries @@ -267,23 +267,23 @@ additionalContent: # Card - title: ".NET Core API reference" summary: API reference documentation for .NET Core - url: https://docs.microsoft.com/dotnet/api/?view=netcore-3.1 + url: ../api/index.md?view=netcore-3.1 # Card - title: ".NET Framework API reference" summary: API reference documentation for .NET Framework - url: https://docs.microsoft.com/dotnet/api/?view=netframework-4.8 + url: ../api/index.md?view=netframework-4.8 # Card - title: "ASP.NET Core API reference" summary: API reference documentation for ASP.NET Core - url: https://docs.microsoft.com/dotnet/api/?view=aspnetcore-3.1 + url: ../api/index.md?view=aspnetcore-3.1 # Card - title: "ML.NET API reference" summary: API reference documentation for ML.NET - url: https://docs.microsoft.com/dotnet/api/?view=ml-dotnet + url: ../api/index.md?view=ml-dotnet # Card - title: ".NET for Apache Spark API reference" summary: API reference documentation for .NET for Apache Spark - url: https://docs.microsoft.com/dotnet/api/?view=spark-dotnet + url: ../api/index.md?view=spark-dotnet # Card - title: "C# language reference" summary: C# language reference and specification @@ -297,4 +297,4 @@ additionalContent: summary: Visual Basic language reference and specification url: visual-basic/language-reference/index.md # footer (optional) - footer: "Contribute to .NET docs. Read our [contributor guide](https://docs.microsoft.com/contribute/dotnet/dotnet-contribute)." + footer: "Contribute to .NET docs. Read our [contributor guide](/contribute/dotnet/dotnet-contribute)." \ No newline at end of file diff --git a/docs/machine-learning/how-does-mldotnet-work.md b/docs/machine-learning/how-does-mldotnet-work.md index ced54ff7a8c53..0dd326aca399c 100644 --- a/docs/machine-learning/how-does-mldotnet-work.md +++ b/docs/machine-learning/how-does-mldotnet-work.md @@ -280,4 +280,4 @@ In real-life applications, your model training and evaluation code will be separ * Learn about specific topics in more depth in the [How To Guides](./how-to-guides/index.md). -* If you're super keen, you can dive straight into the [API Reference documentation](https://docs.microsoft.com/dotnet/api/?view=ml-dotnet). +* If you're super keen, you can dive straight into the [API Reference documentation](../../api/index.md?view=ml-dotnet). diff --git a/docs/machine-learning/how-to-guides/how-to-use-the-automl-api.md b/docs/machine-learning/how-to-guides/how-to-use-the-automl-api.md index 5461c8ddb4ec9..bb974343a02fc 100644 --- a/docs/machine-learning/how-to-guides/how-to-use-the-automl-api.md +++ b/docs/machine-learning/how-to-guides/how-to-use-the-automl-api.md @@ -65,7 +65,7 @@ Create experiment settings for the determined ML task type: ## Configure experiment settings -Experiments are highly configurable. See the [AutoML API docs](https://docs.microsoft.com/dotnet/api/microsoft.ml.automl?view=ml-dotnet-preview) for a full list of configuration settings. +Experiments are highly configurable. See the [AutoML API docs](/dotnet/api/microsoft.ml.automl?view=ml-dotnet-preview) for a full list of configuration settings. Some examples include: diff --git a/docs/machine-learning/index.yml b/docs/machine-learning/index.yml index d37b3e18ab388..dac73a1a76f79 100644 --- a/docs/machine-learning/index.yml +++ b/docs/machine-learning/index.yml @@ -99,6 +99,6 @@ landingContent: - linkListType: reference links: - text: ML.NET API reference - url: https://docs.microsoft.com/dotnet/api/?view=ml-dotnet + url: ../../api/index.md?view=ml-dotnet - text: ML.NET samples - url: https://github.com/dotnet/machinelearning-samples + url: https://github.com/dotnet/machinelearning-samples \ No newline at end of file diff --git a/docs/machine-learning/resources/azure-training-concepts-model-builder.md b/docs/machine-learning/resources/azure-training-concepts-model-builder.md index 01bfd5ef16be7..26b29880cc464 100644 --- a/docs/machine-learning/resources/azure-training-concepts-model-builder.md +++ b/docs/machine-learning/resources/azure-training-concepts-model-builder.md @@ -43,7 +43,7 @@ To create an Azure Machine Learning workspace, the following are required: | Standard_NC12 | 12 | 112 | 680 | 2 | 24 | 48 | 2 | | Standard_NC24 | 24 | 224 | 1440 | 4 | 48 | 64 | 4 | - Visit the [NC-series Linux VM documentation](https://docs.microsoft.com/azure/virtual-machines/nc-series?toc=/azure/virtual-machines/linux/toc.json&bc=/azure/virtual-machines/linux/breadcrumb/toc.json) for more details on GPU optimized compute types. + Visit the [NC-series Linux VM documentation](/azure/virtual-machines/nc-series?bc=%252fazure%252fvirtual-machines%252flinux%252fbreadcrumb%252ftoc.json&toc=%252fazure%252fvirtual-machines%252flinux%252ftoc.json) for more details on GPU optimized compute types. - Compute priority - Low-priority: Suited for tasks with shorter execution times. May be impacted by interruptions and lack of availability. Usually costs less because it takes advantage of surplus capacity in Azure. diff --git a/docs/machine-learning/resources/ml-net-cli-telemetry.md b/docs/machine-learning/resources/ml-net-cli-telemetry.md index 8b58a267174c7..d24ef69509019 100644 --- a/docs/machine-learning/resources/ml-net-cli-telemetry.md +++ b/docs/machine-learning/resources/ml-net-cli-telemetry.md @@ -8,7 +8,7 @@ ms.custom: mlnet-tooling # Telemetry collection by the ML.NET CLI -The [ML.NET CLI](https://aka.ms/mlnet-cli) includes a telemetry feature that collects anonymous usage data that is aggregated for use by Microsoft. +The [ML.NET CLI](../automate-training-with-cli.md) includes a telemetry feature that collects anonymous usage data that is aggregated for use by Microsoft. ## How Microsoft uses the data diff --git a/docs/machine-learning/toc.yml b/docs/machine-learning/toc.yml index 51ceedff8bd09..0afcbaa401aaf 100644 --- a/docs/machine-learning/toc.yml +++ b/docs/machine-learning/toc.yml @@ -114,9 +114,9 @@ - name: Reference items: - name: ML.NET API Reference - href: https://docs.microsoft.com/dotnet/api/?view=ml-dotnet + href: ../../api/index.md?view=ml-dotnet - name: ML.NET API Preview API Reference - href: https://docs.microsoft.com/dotnet/api/?view=ml-dotnet-preview + href: ../../api/index.md?view=ml-dotnet-preview - name: CLI reference href: reference/ml-net-cli-reference.md - name: Resources @@ -128,4 +128,4 @@ - name: Azure training resources href: resources/azure-training-concepts-model-builder.md - name: CLI telemetry - href: resources/ml-net-cli-telemetry.md + href: resources/ml-net-cli-telemetry.md \ No newline at end of file diff --git a/docs/machine-learning/tutorials/sentiment-analysis-cli.md b/docs/machine-learning/tutorials/sentiment-analysis-cli.md index e69902be723c1..3f2c80b051d62 100644 --- a/docs/machine-learning/tutorials/sentiment-analysis-cli.md +++ b/docs/machine-learning/tutorials/sentiment-analysis-cli.md @@ -195,7 +195,7 @@ For the second object, the `PredictionEngine` object, it is not so easy because However, things got a lot easier for you than what's explained in that blog post. We worked on a simpler approach for you and have created a nice **'.NET Core Integration Package'** that you can easily use in your ASP.NET Core apps and services by registering it in the application DI services (Dependency Injection services) and then directly use it from your code. Check the following tutorial and example for doing that: -- [Tutorial: Running ML.NET models on scalable ASP.NET Core web apps and WebAPIs](https://aka.ms/mlnet-tutorial-netcoreintegrationpkg) +- [Tutorial: Running ML.NET models on scalable ASP.NET Core web apps and WebAPIs](../how-to-guides/serve-model-web-api-ml-net.md) - [Sample: Scalable ML.NET model on ASP.NET Core WebAPI](https://aka.ms/mlnet-sample-netcoreintegrationpkg) ## Explore the generated C# code that was used to train the "best quality" model @@ -222,7 +222,7 @@ In this tutorial, you learned how to: ## See also - [Automate model training with the ML.NET CLI](../automate-training-with-cli.md) -- [Tutorial: Running ML.NET models on scalable ASP.NET Core web apps and WebAPIs](https://aka.ms/mlnet-tutorial-netcoreintegrationpkg) +- [Tutorial: Running ML.NET models on scalable ASP.NET Core web apps and WebAPIs](../how-to-guides/serve-model-web-api-ml-net.md) - [Sample: Scalable ML.NET model on ASP.NET Core WebAPI](https://aka.ms/mlnet-sample-netcoreintegrationpkg) - [ML.NET CLI auto-train command reference guide](../reference/ml-net-cli-reference.md) - [Telemetry in ML.NET CLI](../resources/ml-net-cli-telemetry.md) diff --git a/docs/samples-and-tutorials/index.md b/docs/samples-and-tutorials/index.md index d4c2c5f00697d..aeaac5442aded 100644 --- a/docs/samples-and-tutorials/index.md +++ b/docs/samples-and-tutorials/index.md @@ -102,7 +102,7 @@ Many topics show source code and samples that are available for viewing or downl 1. Download the repository that contains the sample code by performing one of the following procedures: * Download a ZIP of the repository to your local system. Un-ZIP the compressed archive. - * [Fork](https://help.github.com/articles/fork-a-repo/) the repository and [clone](https://help.github.com/articles/cloning-a-repository/) the fork to your local system. Forking and cloning permits you to make contributions to the documentation by committing changes to your fork and then creating a pull request for the official docs repository. For more information, see the [.NET Documentation Contributing Guide](https://docs.microsoft.com/contribute/dotnet/dotnet-contribute) and the [ASP.NET Core Docs Contributing Guide](https://github.com/dotnet/AspNetCore.Docs/blob/master/CONTRIBUTING.md). + * [Fork](https://help.github.com/articles/fork-a-repo/) the repository and [clone](https://help.github.com/articles/cloning-a-repository/) the fork to your local system. Forking and cloning permits you to make contributions to the documentation by committing changes to your fork and then creating a pull request for the official docs repository. For more information, see the [.NET Documentation Contributing Guide](/contribute/dotnet/dotnet-contribute) and the [ASP.NET Core Docs Contributing Guide](https://github.com/dotnet/AspNetCore.Docs/blob/master/CONTRIBUTING.md). * Clone the repository locally. If you clone a docs repository directly to your local system, you won't be able to make commits directly against the official repository, so you won't be able to make documentation contributions later. Use the fork and clone procedure previously described if you want to preserve the opportunity to contribute to the documentation later. 1. Navigate within the repository's folders to the sample's location. The relative path to the sample's location appears in your browser's address bar when you follow the link to the sample. 1. To run a sample, you have several options: diff --git a/docs/spark/how-to-guides/databricks-deploy-methods.md b/docs/spark/how-to-guides/databricks-deploy-methods.md index 64b432e8a2eb2..8aa847b0c20da 100644 --- a/docs/spark/how-to-guides/databricks-deploy-methods.md +++ b/docs/spark/how-to-guides/databricks-deploy-methods.md @@ -31,7 +31,7 @@ You can use the [spark-submit](https://spark.apache.org/docs/latest/submitting-a ## Deploy using Set Jar -Alternatively, you can use [Set Jar](https://docs.microsoft.com/azure/databricks/jobs#--create-a-job) in your Databricks workspace to submit .NET for Apache Spark jobs to Databricks. *Set Jar* allows job submission to an existing active cluster. +Alternatively, you can use [Set Jar](/azure/databricks/jobs#--create-a-job) in your Databricks workspace to submit .NET for Apache Spark jobs to Databricks. *Set Jar* allows job submission to an existing active cluster. ### One-time setup @@ -52,7 +52,7 @@ Alternatively, you can use [Set Jar](https://docs.microsoft.com/azure/databricks 1. Ensure you have published your app, and that your application code does not use `SparkSession.Stop()`. -2. Use [Databricks CLI](https://docs.microsoft.com/azure/databricks/dev-tools/databricks-cli) to upload your application to your Databricks cluster. For example, use the following command to upload your published app to your cluster: +2. Use [Databricks CLI](/azure/databricks/dev-tools/databricks-cli) to upload your application to your Databricks cluster. For example, use the following command to upload your published app to your cluster: ```console cd @@ -81,4 +81,4 @@ Alternatively, you can use [Set Jar](https://docs.microsoft.com/azure/databricks * [Get started with .NET for Apache Spark](../tutorials/get-started.md) * [Deploy a .NET for Apache Spark application to Databricks](../tutorials/databricks-deployment.md) -* [Azure Databricks Documentation](https://docs.microsoft.com/azure/azure-databricks/) +* [Azure Databricks Documentation](/azure/azure-databricks/) diff --git a/docs/spark/how-to-guides/debug.md b/docs/spark/how-to-guides/debug.md index 5a04ef6ef48d7..7ca428f68acd2 100644 --- a/docs/spark/how-to-guides/debug.md +++ b/docs/spark/how-to-guides/debug.md @@ -56,7 +56,7 @@ if (EnvironmentUtils.GetEnvironmentVariableAsBool("DOTNET_WORKER_DEBUG")) } ``` -Navigate to the *.cs* file that contains the UDF that you plan to debug, and [set a breakpoint](https://docs.microsoft.com/visualstudio/debugger/using-breakpoints?view=vs-2019). The breakpoint will say `The breakpoint will not currently be hit` because the worker hasn't loaded the assembly that contains UDF yet. +Navigate to the *.cs* file that contains the UDF that you plan to debug, and [set a breakpoint](/visualstudio/debugger/using-breakpoints?view=vs-2019). The breakpoint will say `The breakpoint will not currently be hit` because the worker hasn't loaded the assembly that contains UDF yet. Hit `F5` to continue your application and the breakpoint will eventually be hit. diff --git a/docs/spark/how-to-guides/hdinsight-deploy-methods.md b/docs/spark/how-to-guides/hdinsight-deploy-methods.md index f4002589c9091..50dc79a454b37 100644 --- a/docs/spark/how-to-guides/hdinsight-deploy-methods.md +++ b/docs/spark/how-to-guides/hdinsight-deploy-methods.md @@ -32,7 +32,7 @@ You can use the [spark-submit](https://spark.apache.org/docs/latest/submitting-a ## Deploy using Apache Livy -You can use [Apache Livy](https://livy.incubator.apache.org/), the Apache Spark REST API, to submit .NET for Apache Spark jobs to an Azure HDInsight Spark cluster. For more information, see [Remote jobs with Apache Livy](https://docs.microsoft.com/azure/hdinsight/spark/apache-spark-livy-rest-interface). +You can use [Apache Livy](https://livy.incubator.apache.org/), the Apache Spark REST API, to submit .NET for Apache Spark jobs to an Azure HDInsight Spark cluster. For more information, see [Remote jobs with Apache Livy](/azure/hdinsight/spark/apache-spark-livy-rest-interface). You can run the following command on Linux using `curl`: @@ -55,4 +55,4 @@ EOF * [Get started with .NET for Apache Spark](../tutorials/get-started.md) * [Deploy a .NET for Apache Spark application to Azure HDInsight](../tutorials/hdinsight-deployment.md) -* [HDInsight Documentation](https://docs.microsoft.com/azure/hdinsight/) +* [HDInsight Documentation](/azure/hdinsight/) diff --git a/docs/spark/how-to-guides/hdinsight-notebook-installation.md b/docs/spark/how-to-guides/hdinsight-notebook-installation.md index 9a4d5bf42cd88..0bef90094122b 100644 --- a/docs/spark/how-to-guides/hdinsight-notebook-installation.md +++ b/docs/spark/how-to-guides/hdinsight-notebook-installation.md @@ -12,7 +12,7 @@ This article teaches you how to install .NET for Apache Spark on Jupyter noteboo Azure HDInsight clusters already come with Jupyter notebooks, so all you have to do is configure the Jupyter notebooks to run .NET for Apache Spark. To use .NET for Apache Spark in your Jupyter notebooks, a C# REPL is needed to execute your C# code line-by-line and to preserve execution state when necessary. [Try .NET](https://github.com/dotnet/try) has been integrated as the official .NET REPL. -To enable .NET for Apache Spark through the Jupyter Notebooks experience, you need to follow a few manual steps through [Ambari](https://docs.microsoft.com/azure/hdinsight/hdinsight-hadoop-manage-ambari) and submit [script actions](https://docs.microsoft.com/azure/hdinsight/hdinsight-hadoop-customize-cluster-linux) on the HDInsight Spark cluster. +To enable .NET for Apache Spark through the Jupyter Notebooks experience, you need to follow a few manual steps through [Ambari](/azure/hdinsight/hdinsight-hadoop-manage-ambari) and submit [script actions](/azure/hdinsight/hdinsight-hadoop-customize-cluster-linux) on the HDInsight Spark cluster. > [!NOTE] > This feature is *experimental* and is not supported by the HDInsight Spark team. @@ -21,7 +21,7 @@ To enable .NET for Apache Spark through the Jupyter Notebooks experience, you ne ## Prerequisites -If you don't already have one, create an [Azure HDInsight Spark](https://docs.microsoft.com/azure/hdinsight/spark/apache-spark-jupyter-spark-sql-use-portal#create-an-apache-spark-cluster-in-hdinsight) cluster. +If you don't already have one, create an [Azure HDInsight Spark](/azure/hdinsight/spark/apache-spark-jupyter-spark-sql-use-portal#create-an-apache-spark-cluster-in-hdinsight) cluster. 1. Visit the [Azure portal](https://portal.azure.com) and select **+ Create a Resource**. @@ -58,9 +58,9 @@ In the Azure portal, select the **HDInsight Spark cluster** you created in the p Create a new file named **install-interactive-notebook.sh** in your local computer and paste the contents of [install-interactive-notebook.sh contents](https://raw.githubusercontent.com/dotnet/spark/master/deployment/HDI-Spark/Notebooks/install-interactive-notebook.sh). - Upload the script to a [URI](https://docs.microsoft.com/azure/hdinsight/hdinsight-hadoop-customize-cluster-linux#understand-script-actions) that's accessible from the HDInsight cluster. For example, `https://.blob.core.windows.net///install-interactive-notebook.sh`. + Upload the script to a [URI](/azure/hdinsight/hdinsight-hadoop-customize-cluster-linux#understand-script-actions) that's accessible from the HDInsight cluster. For example, `https://.blob.core.windows.net///install-interactive-notebook.sh`. -2. Run `install-interactive-notebook.sh` on the cluster using [HDInsight Script Actions](https://docs.microsoft.com/azure/hdinsight/hdinsight-hadoop-customize-cluster-linux). +2. Run `install-interactive-notebook.sh` on the cluster using [HDInsight Script Actions](/azure/hdinsight/hdinsight-hadoop-customize-cluster-linux). Return to your HDI cluster in the Azure portal, and select **Script actions** from the options on the left. You submit one script action to deploy the .NET for Apache Spark REPL on your HDInsight Spark cluster. Use the following settings: @@ -153,4 +153,4 @@ After finishing the previous steps, you can now submit your .NET for Apache Spar ## Next steps * [Deploy a .NET for Apache Spark application to Azure HDInsight](../tutorials/hdinsight-deployment.md) -* [HDInsight Documentation](https://docs.microsoft.com/azure/hdinsight/) +* [HDInsight Documentation](/azure/hdinsight/) diff --git a/docs/spark/index.yml b/docs/spark/index.yml index 4d087c0d284bb..93d5f697b1c47 100644 --- a/docs/spark/index.yml +++ b/docs/spark/index.yml @@ -22,7 +22,7 @@ landingContent: - linkListType: whats-new links: - text: "What's new in .NET docs" - url: /dotnet/whats-new/index + url: ../whats-new/index.yml - linkListType: overview links: - text: What is .NET for Apache Spark? @@ -30,7 +30,7 @@ landingContent: - linkListType: reference links: - text: API Reference - url: /dotnet/api/?view=spark-dotnet + url: ../../api/index.md?view=spark-dotnet - text: GitHub url: https://github.com/dotnet/spark - title: Get started in 10 minutes @@ -68,4 +68,4 @@ landingContent: - text: Structured streaming url: tutorials/streaming.md - text: Sentiment analysis - url: tutorials/ml-sentiment-analysis.md + url: tutorials/ml-sentiment-analysis.md \ No newline at end of file diff --git a/docs/spark/toc.yml b/docs/spark/toc.yml index c1ba0eae32ef3..6a18498bc8060 100644 --- a/docs/spark/toc.yml +++ b/docs/spark/toc.yml @@ -47,7 +47,7 @@ - name: Reference items: - name: API Reference - href: https://docs.microsoft.com/dotnet/api/?view=spark-dotnet + href: ../../api/index.md?view=spark-dotnet - name: Resources items: - name: Resources overview @@ -55,4 +55,4 @@ - name: GitHub href: https://github.com/dotnet/spark - name: Stack Overflow - href: https://stackoverflow.com/questions/tagged/.net-spark + href: https://stackoverflow.com/questions/tagged/.net-spark \ No newline at end of file diff --git a/docs/spark/tutorials/databricks-deployment.md b/docs/spark/tutorials/databricks-deployment.md index 7e7ccd020dfaa..c436eadea0d75 100644 --- a/docs/spark/tutorials/databricks-deployment.md +++ b/docs/spark/tutorials/databricks-deployment.md @@ -34,7 +34,7 @@ Before you start, do the following tasks: > [!Note] > This tutorial cannot be carried out using **Azure Free Trial Subscription**. -> If you have a free account, go to your profile and change your subscription to **pay-as-you-go**. For more information, see [Azure free account](https://azure.microsoft.com/free/dotnet/). Then, [remove the spending limit](https://docs.microsoft.com/azure/billing/billing-spending-limit#why-you-might-want-to-remove-the-spending-limit), and [request a quota increase](https://docs.microsoft.com/azure/azure-supportability/resource-manager-core-quotas-request) for vCPUs in your region. When you create your Azure Databricks workspace, you can select the **Trial (Premium - 14-Days Free DBUs)** pricing tier to give the workspace access to free Premium Azure Databricks DBUs for 14 days. +> If you have a free account, go to your profile and change your subscription to **pay-as-you-go**. For more information, see [Azure free account](https://azure.microsoft.com/free/dotnet/). Then, [remove the spending limit](/azure/billing/billing-spending-limit#why-you-might-want-to-remove-the-spending-limit), and [request a quota increase](/azure/azure-supportability/resource-manager-core-quotas-request) for vCPUs in your region. When you create your Azure Databricks workspace, you can select the **Trial (Premium - 14-Days Free DBUs)** pricing tier to give the workspace access to free Premium Azure Databricks DBUs for 14 days. In this section, you create an Azure Databricks workspace using the Azure portal. @@ -48,7 +48,7 @@ In this section, you create an Azure Databricks workspace using the Azure portal |---------|---------| |**Workspace name** | Provide a name for your Databricks workspace. | |**Subscription** | From the drop-down, select your Azure subscription. | - |**Resource group** | Specify whether you want to create a new resource group or use an existing one. A resource group is a container that holds related resources for an Azure solution. For more information, see [Azure Resource Group overview](https://docs.microsoft.com/azure/azure-resource-manager/resource-group-overview). | + |**Resource group** | Specify whether you want to create a new resource group or use an existing one. A resource group is a container that holds related resources for an Azure solution. For more information, see [Azure Resource Group overview](/azure/azure-resource-manager/resource-group-overview). | |**Location** | Select your preferred region. For information about available regions, see [Azure services available by region](https://azure.microsoft.com/regions/services/). | |**Pricing Tier** | Choose between **Standard**, **Premium**, or **Trial**. For more information on these tiers, see [Databricks pricing page](https://azure.microsoft.com/pricing/details/databricks/). | |**Virtual Network** | No | @@ -216,4 +216,4 @@ If you no longer need the Databricks workspace, you can delete your Azure Databr In this tutorial, you deployed your .NET for Apache Spark application to Databricks. To learn more about Databricks, continue to the Azure Databricks Documentation. > [!div class="nextstepaction"] -> [Azure Databricks Documentation](https://docs.microsoft.com/azure/azure-databricks/) +> [Azure Databricks Documentation](/azure/azure-databricks/) diff --git a/docs/spark/tutorials/hdinsight-deployment.md b/docs/spark/tutorials/hdinsight-deployment.md index f41bb955493a7..b59d74e4b2497 100644 --- a/docs/spark/tutorials/hdinsight-deployment.md +++ b/docs/spark/tutorials/hdinsight-deployment.md @@ -185,4 +185,4 @@ You can also select the resource group name to open the resource group page, and In this tutorial, you deployed your .NET for Apache Spark application to Azure HDInsight. To learn more about HDInsight, continue to the Azure HDInsight Documentation. > [!div class="nextstepaction"] -> [Azure HDInsight Documentation](https://docs.microsoft.com/azure/hdinsight/) +> [Azure HDInsight Documentation](/azure/hdinsight/) diff --git a/docs/standard/assembly/inspect-contents-using-metadataloadcontext.md b/docs/standard/assembly/inspect-contents-using-metadataloadcontext.md index b8e0ee2ca168e..74de9e48494c5 100644 --- a/docs/standard/assembly/inspect-contents-using-metadataloadcontext.md +++ b/docs/standard/assembly/inspect-contents-using-metadataloadcontext.md @@ -35,4 +35,4 @@ The following code sample creates , ## Example -For a complete code example, see the [Inspect assembly contents using MetadataLoadContext sample](https://docs.microsoft.com/samples/dotnet/samples/inspect-assembly-contents-using-metadataloadcontext/). +For a complete code example, see the [Inspect assembly contents using MetadataLoadContext sample](/samples/dotnet/samples/inspect-assembly-contents-using-metadataloadcontext/). 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 7f234fed686cf..2ef3897016768 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 @@ -247,6 +247,6 @@ If you are writing a class with some operations that may incur noticeable delays ## See also -- [How to: Run an Operation in the Background](../../framework/winforms/controls/how-to-run-an-operation-in-the-background.md) +- [How to: Run an Operation in the Background](/dotnet/desktop/winforms/controls/how-to-run-an-operation-in-the-background) - [Event-based Asynchronous Pattern Overview](event-based-asynchronous-pattern-overview.md) - [Event-based Asynchronous Pattern (EAP)](event-based-asynchronous-pattern-eap.md) 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 cd7a3cbf35fac..8adb2abbbda98 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 @@ -132,8 +132,8 @@ public class AsyncExample - - - [How to: Use Components That Support the Event-based Asynchronous Pattern](how-to-use-components-that-support-the-event-based-asynchronous-pattern.md) -- [How to: Run an Operation in the Background](../../framework/winforms/controls/how-to-run-an-operation-in-the-background.md) -- [How to: Implement a Form That Uses a Background Operation](../../framework/winforms/controls/how-to-implement-a-form-that-uses-a-background-operation.md) +- [How to: Run an Operation in the Background](/dotnet/desktop/winforms/controls/how-to-run-an-operation-in-the-background) +- [How to: Implement a Form That Uses a Background Operation](/dotnet/desktop/winforms/controls/how-to-implement-a-form-that-uses-a-background-operation) - [Event-based Asynchronous Pattern (EAP)](event-based-asynchronous-pattern-eap.md) - [Best Practices for Implementing the Event-based Asynchronous Pattern](best-practices-for-implementing-the-event-based-asynchronous-pattern.md) - [Deciding When to Implement the Event-based Asynchronous Pattern](deciding-when-to-implement-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 41329a756f62d..9a0ea31481753 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 @@ -24,7 +24,7 @@ Many components provide you with the option of performing their work asynchronou Using asynchronous methods on a class that supports the [Event-based Asynchronous Pattern Overview](event-based-asynchronous-pattern-overview.md) can be as simple as attaching an event handler to the component's _MethodName_**Completed** event, just as you would for any other event. When you call the _MethodName_**Async** method, your application will continue running without interruption until the _MethodName_**Completed** event is raised. In your event handler, you can examine the parameter to determine if the asynchronous operation successfully completed or if it was canceled. - For more information about using event handlers, see [Event Handlers Overview](../../framework/winforms/event-handlers-overview-windows-forms.md). + For more information about using event handlers, see [Event Handlers Overview](/dotnet/desktop/winforms/event-handlers-overview-windows-forms). The following procedure shows how to use the asynchronous image-loading capability of a control. @@ -56,5 +56,5 @@ Many components provide you with the option of performing their work asynchronou ## See also -- [How to: Run an Operation in the Background](../../framework/winforms/controls/how-to-run-an-operation-in-the-background.md) +- [How to: Run an Operation in the Background](/dotnet/desktop/winforms/controls/how-to-run-an-operation-in-the-background) - [Event-based Asynchronous Pattern Overview](event-based-asynchronous-pattern-overview.md) 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 c79fe013f9468..60d49ff9a94b6 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 @@ -27,7 +27,7 @@ The Event-based Asynchronous Pattern provides a standardized way to package a cl For an example that implements the Event-based Asynchronous Pattern, see [How to: Implement a Component That Supports the Event-based Asynchronous Pattern](component-that-supports-the-event-based-asynchronous-pattern.md). -For simple asynchronous operations, you may find the component suitable. For more information about , see [How to: Run an Operation in the Background](../../framework/winforms/controls/how-to-run-an-operation-in-the-background.md). +For simple asynchronous operations, you may find the component suitable. For more information about , see [How to: Run an Operation in the Background](/dotnet/desktop/winforms/controls/how-to-run-an-operation-in-the-background). The following list describes the features of the Event-based Asynchronous Pattern discussed in this topic. @@ -257,8 +257,8 @@ public class MethodNameCompletedEventArgs : System.ComponentModel.AsyncCompleted - - - [How to: Implement a Component That Supports the Event-based Asynchronous Pattern](component-that-supports-the-event-based-asynchronous-pattern.md) -- [How to: Run an Operation in the Background](../../framework/winforms/controls/how-to-run-an-operation-in-the-background.md) -- [How to: Implement a Form That Uses a Background Operation](../../framework/winforms/controls/how-to-implement-a-form-that-uses-a-background-operation.md) +- [How to: Run an Operation in the Background](/dotnet/desktop/winforms/controls/how-to-run-an-operation-in-the-background) +- [How to: Implement a Form That Uses a Background Operation](/dotnet/desktop/winforms/controls/how-to-implement-a-form-that-uses-a-background-operation) - [Deciding When to Implement the Event-based Asynchronous Pattern](deciding-when-to-implement-the-event-based-asynchronous-pattern.md) - [Best Practices for Implementing the Event-based Asynchronous Pattern](best-practices-for-implementing-the-event-based-asynchronous-pattern.md) - [Event-based Asynchronous Pattern (EAP)](event-based-asynchronous-pattern-eap.md) diff --git a/docs/standard/attributes/writing-custom-attributes.md b/docs/standard/attributes/writing-custom-attributes.md index 22600ebd50929..b79f35720c24e 100644 --- a/docs/standard/attributes/writing-custom-attributes.md +++ b/docs/standard/attributes/writing-custom-attributes.md @@ -111,7 +111,7 @@ To design your own custom attributes, you do not need to master many new concept [!code-csharp[Conceptual.Attributes.Usage#15](../../../samples/snippets/csharp/VS_Snippets_CLR/conceptual.attributes.usage/cs/source2.cs#15)] [!code-vb[Conceptual.Attributes.Usage#15](../../../samples/snippets/visualbasic/VS_Snippets_CLR/conceptual.attributes.usage/vb/source2.vb#15)] - You can overload the constructor to accommodate different combinations of values. If you also define a [property](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2013/65zdfbdt(v=vs.120)) for your custom attribute class, you can use a combination of named and positional parameters when initializing the attribute. Typically, you define all required parameters as positional and all optional parameters as named. In this case, the attribute cannot be initialized without the required parameter. All other parameters are optional. Note that in Visual Basic, constructors for an attribute class should not use a ParamArray argument. + You can overload the constructor to accommodate different combinations of values. If you also define a [property](/previous-versions/visualstudio/visual-studio-2013/65zdfbdt(v=vs.120)) for your custom attribute class, you can use a combination of named and positional parameters when initializing the attribute. Typically, you define all required parameters as positional and all optional parameters as named. In this case, the attribute cannot be initialized without the required parameter. All other parameters are optional. Note that in Visual Basic, constructors for an attribute class should not use a ParamArray argument. The following code example shows how an attribute that uses the previous constructor can be applied using optional and required parameters. It assumes that the attribute has one required Boolean value and one optional string property. @@ -120,7 +120,7 @@ To design your own custom attributes, you do not need to master many new concept [!code-vb[Conceptual.Attributes.Usage#17](../../../samples/snippets/visualbasic/VS_Snippets_CLR/conceptual.attributes.usage/vb/source2.vb#17)] ## Declaring Properties - If you want to define a named parameter or provide an easy way to return the values stored by your attribute, declare a [property](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2013/65zdfbdt(v=vs.120)). Attribute properties should be declared as public entities with a description of the data type that will be returned. Define the variable that will hold the value of your property and associate it with the **get** and **set** methods. The following code example demonstrates how to implement a simple property in your attribute. + If you want to define a named parameter or provide an easy way to return the values stored by your attribute, declare a [property](/previous-versions/visualstudio/visual-studio-2013/65zdfbdt(v=vs.120)). Attribute properties should be declared as public entities with a description of the data type that will be returned. Define the variable that will hold the value of your property and associate it with the **get** and **set** methods. The following code example demonstrates how to implement a simple property in your attribute. [!code-cpp[Conceptual.Attributes.Usage#16](../../../samples/snippets/cpp/VS_Snippets_CLR/conceptual.attributes.usage/cpp/source2.cpp#16)] [!code-csharp[Conceptual.Attributes.Usage#16](../../../samples/snippets/csharp/VS_Snippets_CLR/conceptual.attributes.usage/cs/source2.cs#16)] diff --git a/docs/standard/base-types/best-practices.md b/docs/standard/base-types/best-practices.md index 504e3247cca15..03f761750f9af 100644 --- a/docs/standard/base-types/best-practices.md +++ b/docs/standard/base-types/best-practices.md @@ -58,7 +58,7 @@ To solve this problem, you can do the following: At the heart of .NET’s regular expression object model is the class, which represents the regular expression engine. Often, the single greatest factor that affects regular expression performance is the way in which the engine is used. Defining a regular expression involves tightly coupling the regular expression engine with a regular expression pattern. That coupling process, whether it involves instantiating a object by passing its constructor a regular expression pattern or calling a static method by passing it the regular expression pattern along with the string to be analyzed, is by necessity an expensive one. > [!NOTE] -> For a more detailed discussion of the performance implications of using interpreted and compiled regular expressions, see [Optimizing Regular Expression Performance, Part II: Taking Charge of Backtracking](https://docs.microsoft.com/archive/blogs/bclteam/optimizing-regular-expression-performance-part-ii-taking-charge-of-backtracking-ron-petrusha) in the BCL Team blog. +> For a more detailed discussion of the performance implications of using interpreted and compiled regular expressions, see [Optimizing Regular Expression Performance, Part II: Taking Charge of Backtracking](/archive/blogs/bclteam/optimizing-regular-expression-performance-part-ii-taking-charge-of-backtracking-ron-petrusha) in the BCL Team blog. You can couple the regular expression engine with a particular regular expression pattern and then use the engine to match text in several ways: @@ -157,7 +157,7 @@ When the example is compiled to an executable and run, it creates an assembly na Ordinarily, the regular expression engine uses linear progression to move through an input string and compare it to a regular expression pattern. However, when indeterminate quantifiers such as `*`, `+`, and `?` are used in a regular expression pattern, the regular expression engine may give up a portion of successful partial matches and return to a previously saved state in order to search for a successful match for the entire pattern. This process is known as backtracking. > [!NOTE] -> For more information on backtracking, see [Details of Regular Expression Behavior](details-of-regular-expression-behavior.md) and [Backtracking](backtracking-in-regular-expressions.md). For a detailed discussion of backtracking, see [Optimizing Regular Expression Performance, Part II: Taking Charge of Backtracking](https://docs.microsoft.com/archive/blogs/bclteam/optimizing-regular-expression-performance-part-ii-taking-charge-of-backtracking-ron-petrusha) in the BCL Team blog. +> For more information on backtracking, see [Details of Regular Expression Behavior](details-of-regular-expression-behavior.md) and [Backtracking](backtracking-in-regular-expressions.md). For a detailed discussion of backtracking, see [Optimizing Regular Expression Performance, Part II: Taking Charge of Backtracking](/archive/blogs/bclteam/optimizing-regular-expression-performance-part-ii-taking-charge-of-backtracking-ron-petrusha) in the BCL Team blog. Support for backtracking gives regular expressions power and flexibility. It also places the responsibility for controlling the operation of the regular expression engine in the hands of regular expression developers. Because developers are often not aware of this responsibility, their misuse of backtracking or reliance on excessive backtracking often plays the most significant role in degrading regular expression performance. In a worst-case scenario, execution time can double for each additional character in the input string. In fact, by using backtracking excessively, it is easy to create the programmatic equivalent of an endless loop if input nearly matches the regular expression pattern; the regular expression engine may take hours or even days to process a relatively short input string. diff --git a/docs/standard/base-types/common-type-system.md b/docs/standard/base-types/common-type-system.md index f494c593fcabf..d3485c728d04c 100644 --- a/docs/standard/base-types/common-type-system.md +++ b/docs/standard/base-types/common-type-system.md @@ -300,6 +300,6 @@ The common type system defines how types are declared, used, and managed in the ## See also -- [.NET API Browser](/dotnet/api) +- [.NET API Browser](../../../api/index.md) - [Common Language Runtime](../clr.md) - [Type Conversion in .NET](type-conversion.md) 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 81341f2ec69a9..d01b6a73bf499 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 @@ -23,7 +23,7 @@ ms.assetid: 98b374e3-0cc2-4c78-ab44-efb671d71984 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](standard-date-and-time-format-strings.md) is interpreted as a custom date and time format string. > [!TIP] -> You can download the **Formatting Utility**, a .NET Core Windows Forms application that lets you apply format strings to either numeric or date and time values and displays the result string. Source code is available for [C#](https://docs.microsoft.com/samples/dotnet/samples/windowsforms-formatting-utility-cs) and [Visual Basic](https://docs.microsoft.com/samples/dotnet/samples/windowsforms-formatting-utility-vb). +> You can download the **Formatting Utility**, a .NET Core Windows Forms application that lets you apply format strings to either numeric or date and time values and displays the result string. Source code is available for [C#](/samples/dotnet/samples/windowsforms-formatting-utility-cs) and [Visual Basic](/samples/dotnet/samples/windowsforms-formatting-utility-vb). Custom date and time format strings can be used with both and values. @@ -723,5 +723,5 @@ The result string produced by many of the custom date and time format specifiers - - [Formatting types](formatting-types.md) - [Standard Date and Time format strings](standard-date-and-time-format-strings.md) -- [Sample: .NET Core WinForms formatting utility (C#)](https://docs.microsoft.com/samples/dotnet/samples/windowsforms-formatting-utility-cs) -- [Sample: .NET Core WinForms formatting utility (Visual Basic)](https://docs.microsoft.com/samples/dotnet/samples/windowsforms-formatting-utility-vb) +- [Sample: .NET Core WinForms formatting utility (C#)](/samples/dotnet/samples/windowsforms-formatting-utility-cs) +- [Sample: .NET Core WinForms formatting utility (Visual Basic)](/samples/dotnet/samples/windowsforms-formatting-utility-vb) diff --git a/docs/standard/base-types/custom-numeric-format-strings.md b/docs/standard/base-types/custom-numeric-format-strings.md index 3a9c9e82d1ce9..76fb57aa744d0 100644 --- a/docs/standard/base-types/custom-numeric-format-strings.md +++ b/docs/standard/base-types/custom-numeric-format-strings.md @@ -25,7 +25,7 @@ You can create a custom numeric format string, which consists of one or more cus Custom numeric format strings are supported by some overloads of the `ToString` method of all numeric types. For example, you can supply a numeric format string to the and methods of the type. Custom numeric format strings are also supported by the .NET [composite formatting feature](composite-formatting.md), which is used by some `Write` and `WriteLine` methods of the and classes, the method, and the method. [String interpolation](../../csharp/language-reference/tokens/interpolated.md) feature also supports custom numeric format strings. > [!TIP] -> You can download the **Formatting Utility**, a .NET Core Windows Forms application that lets you apply format strings to either numeric or date and time values and displays the result string. Source code is available for [C#](https://docs.microsoft.com/samples/dotnet/samples/windowsforms-formatting-utility-cs) and [Visual Basic](https://docs.microsoft.com/samples/dotnet/samples/windowsforms-formatting-utility-vb). +> You can download the **Formatting Utility**, a .NET Core Windows Forms application that lets you apply format strings to either numeric or date and time values and displays the result string. Source code is available for [C#](/samples/dotnet/samples/windowsforms-formatting-utility-cs) and [Visual Basic](/samples/dotnet/samples/windowsforms-formatting-utility-vb). The following table describes the custom numeric format specifiers and displays sample output produced by each format specifier. See the [Notes](#NotesCustomFormatting) section for additional information about using custom numeric format strings, and the [Example](#example) section for a comprehensive illustration of their use. @@ -286,5 +286,5 @@ The following example demonstrates two custom numeric format strings. In both ca - [Formatting Types](formatting-types.md) - [Standard Numeric Format Strings](standard-numeric-format-strings.md) - [How to: Pad a Number with Leading Zeros](how-to-pad-a-number-with-leading-zeros.md) -- [Sample: .NET Core WinForms Formatting Utility (C#)](https://docs.microsoft.com/samples/dotnet/samples/windowsforms-formatting-utility-cs) -- [Sample: .NET Core WinForms Formatting Utility (Visual Basic)](https://docs.microsoft.com/samples/dotnet/samples/windowsforms-formatting-utility-vb) +- [Sample: .NET Core WinForms Formatting Utility (C#)](/samples/dotnet/samples/windowsforms-formatting-utility-cs) +- [Sample: .NET Core WinForms Formatting Utility (Visual Basic)](/samples/dotnet/samples/windowsforms-formatting-utility-vb) 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 6089103302a2b..bc2a18ed434c0 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 @@ -25,7 +25,7 @@ A standard date and time format string uses a single format specifier to define - To define the text representation of a date and time value that can be converted to a or value by a parsing operation. > [!TIP] -> You can download the **Formatting Utility**, a .NET Core Windows Forms application that lets you apply format strings to either numeric or date and time values and displays the result string. Source code is available for [C#](https://docs.microsoft.com/samples/dotnet/samples/windowsforms-formatting-utility-cs) and [Visual Basic](https://docs.microsoft.com/samples/dotnet/samples/windowsforms-formatting-utility-vb). +> You can download the **Formatting Utility**, a .NET Core Windows Forms application that lets you apply format strings to either numeric or date and time values and displays the result string. Source code is available for [C#](/samples/dotnet/samples/windowsforms-formatting-utility-cs) and [Visual Basic](/samples/dotnet/samples/windowsforms-formatting-utility-vb). Standard date and time format strings can be used with both and values. @@ -447,5 +447,5 @@ Formatting is influenced by properties of the current - [Formatting Types](formatting-types.md) - [Custom Date and Time Format Strings](custom-date-and-time-format-strings.md) -- [Sample: .NET Core WinForms Formatting Utility (C#)](https://docs.microsoft.com/samples/dotnet/samples/windowsforms-formatting-utility-cs) -- [Sample: .NET Core WinForms Formatting Utility (Visual Basic)](https://docs.microsoft.com/samples/dotnet/samples/windowsforms-formatting-utility-vb) +- [Sample: .NET Core WinForms Formatting Utility (C#)](/samples/dotnet/samples/windowsforms-formatting-utility-cs) +- [Sample: .NET Core WinForms Formatting Utility (Visual Basic)](/samples/dotnet/samples/windowsforms-formatting-utility-vb) diff --git a/docs/standard/base-types/standard-numeric-format-strings.md b/docs/standard/base-types/standard-numeric-format-strings.md index 37f62d14d294d..35de16963f46f 100644 --- a/docs/standard/base-types/standard-numeric-format-strings.md +++ b/docs/standard/base-types/standard-numeric-format-strings.md @@ -42,7 +42,7 @@ Standard numeric format strings are supported by: - [Interpolated strings](../../csharp/language-reference/tokens/interpolated.md) in C# and Visual Basic, which provide a simplified syntax when compared to composite format strings. > [!TIP] -> You can download the **Formatting Utility**, a .NET Core Windows Forms application that lets you apply format strings to either numeric or date and time values and displays the result string. Source code is available for [C#](https://docs.microsoft.com/samples/dotnet/samples/windowsforms-formatting-utility-cs) and [Visual Basic](https://docs.microsoft.com/samples/dotnet/samples/windowsforms-formatting-utility-vb). +> You can download the **Formatting Utility**, a .NET Core Windows Forms application that lets you apply format strings to either numeric or date and time values and displays the result string. Source code is available for [C#](/samples/dotnet/samples/windowsforms-formatting-utility-cs) and [Visual Basic](/samples/dotnet/samples/windowsforms-formatting-utility-vb). The following table describes the standard numeric format specifiers and displays sample output produced by each format specifier. See the [Notes](#NotesStandardFormatting) section for additional information about using standard numeric format strings, and the [Example](#example) section for a comprehensive illustration of their use. @@ -383,5 +383,5 @@ The following example formats an integral and a floating-point numeric value usi - [Formatting Types](formatting-types.md) - [How to: Pad a Number with Leading Zeros](how-to-pad-a-number-with-leading-zeros.md) - [Composite Formatting](composite-formatting.md) -- [Sample: .NET Core WinForms Formatting Utility (C#)](https://docs.microsoft.com/samples/dotnet/samples/windowsforms-formatting-utility-cs) -- [Sample: .NET Core WinForms Formatting Utility (Visual Basic)](https://docs.microsoft.com/samples/dotnet/samples/windowsforms-formatting-utility-vb) +- [Sample: .NET Core WinForms Formatting Utility (C#)](/samples/dotnet/samples/windowsforms-formatting-utility-cs) +- [Sample: .NET Core WinForms Formatting Utility (Visual Basic)](/samples/dotnet/samples/windowsforms-formatting-utility-vb) diff --git a/docs/standard/class-library-overview.md b/docs/standard/class-library-overview.md index f9f1c08964fa5..247ef2dc28135 100644 --- a/docs/standard/class-library-overview.md +++ b/docs/standard/class-library-overview.md @@ -101,7 +101,7 @@ ms.assetid: 7e4c5921-955d-4b06-8709-101873acf157 In addition to the base data types, the namespace contains over 100 classes, ranging from classes that handle exceptions to classes that deal with core runtime concepts, such as application domains and the garbage collector. The namespace also contains many second-level namespaces. - For more information about namespaces, use the [.NET API Browser](https://docs.microsoft.com/dotnet/api) to browse the .NET Class Library. The API reference documentation provides documentation on each namespace, its types, and each of their members. + For more information about namespaces, use the [.NET API Browser](../../api/index.md) to browse the .NET Class Library. The API reference documentation provides documentation on each namespace, its types, and each of their members. ## See also diff --git a/docs/standard/collections/thread-safe/index.md b/docs/standard/collections/thread-safe/index.md index aad4e78195dbd..6b8c6bf9f3122 100644 --- a/docs/standard/collections/thread-safe/index.md +++ b/docs/standard/collections/thread-safe/index.md @@ -11,7 +11,7 @@ ms.assetid: 2e7ca21f-786c-4367-96be-0cf3f3dcc6bd The .NET Framework 4 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 multiple threads will write to the collection 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. ## Thread Synchronization in the .NET Framework 1.0 and 2.0 Collections - The collections introduced in the .NET Framework 1.0 are found in the namespace. These collections, which include the commonly used and , provide some thread-safety through the `Synchronized` property, which returns a thread-safe wrapper around the collection. The wrapper works by locking the entire collection on every add or remove operation. Therefore, each thread that is attempting to access the collection must wait for its turn to take the one lock. This is not scalable and can cause significant performance degradation for large collections. Also, the design is not completely protected from race conditions. For more information, see [Synchronization in Generic Collections](https://docs.microsoft.com/archive/blogs/bclteam/synchronization-in-generic-collections-brian-grunkemeyer). + The collections introduced in the .NET Framework 1.0 are found in the namespace. These collections, which include the commonly used and , provide some thread-safety through the `Synchronized` property, which returns a thread-safe wrapper around the collection. The wrapper works by locking the entire collection on every add or remove operation. Therefore, each thread that is attempting to access the collection must wait for its turn to take the one lock. This is not scalable and can cause significant performance degradation for large collections. Also, the design is not completely protected from race conditions. For more information, see [Synchronization in Generic Collections](/archive/blogs/bclteam/synchronization-in-generic-collections-brian-grunkemeyer). The collection classes introduced in the .NET Framework 2.0 are found in the namespace. These include , , and so on. These classes provide improved type safety and performance compared to the .NET Framework 1.0 classes. However, the .NET Framework 2.0 collection classes do not provide any thread synchronization; user code must provide all synchronization when items are added or removed on multiple threads concurrently. diff --git a/docs/standard/components.md b/docs/standard/components.md index 2d6a1ba6cab7b..7d19582980e16 100644 --- a/docs/standard/components.md +++ b/docs/standard/components.md @@ -23,14 +23,14 @@ Each implementation of .NET includes the following components: - One or more runtimes. Examples: CLR for .NET Framework, CoreCLR and CoreRT for .NET Core. - A class library that implements the .NET Standard and may implement additional APIs. Examples: .NET Framework Base Class Library, .NET Core Base Class Library. -- Optionally, one or more application frameworks. Examples: [ASP.NET](https://www.asp.net/), [Windows Forms](../framework/winforms/windows-forms-overview.md), and [Windows Presentation Foundation (WPF)](../framework/wpf/index.md) are included in the .NET Framework and .NET Core. +- Optionally, one or more application frameworks. Examples: [ASP.NET](https://www.asp.net/), [Windows Forms](/dotnet/desktop/winforms/windows-forms-overview), and [Windows Presentation Foundation (WPF)](/dotnet/desktop/wpf/) are included in the .NET Framework and .NET Core. - Optionally, development tools. Some development tools are shared among multiple implementations. There are four primary .NET implementations that Microsoft actively develops and maintains: .NET Core, .NET Framework, Mono, and UWP. ### .NET Core -.NET Core is a cross-platform implementation of .NET and designed to handle server and cloud workloads at scale. It runs on Windows, macOS, and Linux. It implements the .NET Standard, so code that targets the .NET Standard can run on .NET Core. [ASP.NET Core](https://dotnet.microsoft.com/learn/aspnet/what-is-aspnet-core), [Windows Forms](../framework/winforms/windows-forms-overview.md), and [Windows Presentation Foundation (WPF)](../framework/wpf/index.md) all run on .NET Core. +.NET Core is a cross-platform implementation of .NET and designed to handle server and cloud workloads at scale. It runs on Windows, macOS, and Linux. It implements the .NET Standard, so code that targets the .NET Standard can run on .NET Core. [ASP.NET Core](https://dotnet.microsoft.com/learn/aspnet/what-is-aspnet-core), [Windows Forms](/dotnet/desktop/winforms/windows-forms-overview), and [Windows Presentation Foundation (WPF)](/dotnet/desktop/wpf/) all run on .NET Core. To learn more about .NET Core, see the [.NET Core introduction](../core/introduction.md) and [Choosing between .NET Core and .NET Framework for server apps](choosing-core-framework-server.md). diff --git a/docs/standard/cross-platform/index.md b/docs/standard/cross-platform/index.md index 1a83c57a55c61..84bbba4966b05 100644 --- a/docs/standard/cross-platform/index.md +++ b/docs/standard/cross-platform/index.md @@ -17,8 +17,8 @@ You can develop apps for both Microsoft and non-Microsoft platforms by using the |If you want to...|Use...| |-----------------------|------------| |Share source code between Windows Phone 8.1 and Windows 8.1 apps|**Shared projects** (Universal Apps template in Visual Studio 2013, Update 2).

- Currently no Visual Basic support.
- You can separate platform-specific code by using #`if` statements.

For details, see:

- [Start coding](/windows/uwp/get-started/create-uwp-apps)
- [Using Visual Studio to build Universal XAML Apps](https://devblogs.microsoft.com/visualstudio/using-visual-studio-to-build-universal-xaml-apps/) (blog post)
- [Using Visual Studio to Build XAML Converged Apps](https://channel9.msdn.com/Events/Build/2014/3-591) (video)| -|Share binaries between apps that target different platforms|**Portable Class Library projects** for code that is platform-agnostic.

- This approach is typically used for code that implements business logic.
- You can use Visual Basic or C#.
- API support varies by platform.
- Portable Class Library projects that target Windows 8.1 and Windows Phone 8.1 support Windows Runtime APIs and XAML. These features aren't available in older versions of the Portable Class Library.
- If needed, you can abstract out platform-specific code by using interfaces or abstract classes.

For details, see:

- [Portable Class Library](cross-platform-development-with-the-portable-class-library.md)
- [How to Make Portable Class Libraries Work for You](https://docs.microsoft.com/archive/blogs/dsplaisted/how-to-make-portable-class-libraries-work-for-you) (blog post)
- [Using Portable Class Library with MVVM](using-portable-class-library-with-model-view-view-model.md)
- [App Resources for Libraries That Target Multiple Platforms](app-resources-for-libraries-that-target-multiple-platforms.md)
- [.NET Portability Analyzer](https://marketplace.visualstudio.com/items?itemName=ConnieYau.NETPortabilityAnalyzer) (Visual Studio extension)| -|Share source code between apps for platforms other than Windows 8.1 and Windows Phone 8.1|**Add as link** feature.

- This approach is suitable for app logic that's common to both apps but not portable, for some reason. You can use this feature for C# or Visual Basic code.
For example, Windows Phone 8 and Windows 8 share Windows Runtime APIs, but Portable Class Libraries do not support Windows Runtime for those platforms. You can use `Add as link` to share common Windows Runtime code between a Windows Phone 8 app and a Windows Store app that targets Windows 8.

For details, see:

- [Share code with Add as Link](https://docs.microsoft.com/previous-versions/windows/apps/jj714082(v=vs.105))
- [How to: Add Existing Items to a Project](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2010/9f4t9t92(v=vs.100))| +|Share binaries between apps that target different platforms|**Portable Class Library projects** for code that is platform-agnostic.

- This approach is typically used for code that implements business logic.
- You can use Visual Basic or C#.
- API support varies by platform.
- Portable Class Library projects that target Windows 8.1 and Windows Phone 8.1 support Windows Runtime APIs and XAML. These features aren't available in older versions of the Portable Class Library.
- If needed, you can abstract out platform-specific code by using interfaces or abstract classes.

For details, see:

- [Portable Class Library](cross-platform-development-with-the-portable-class-library.md)
- [How to Make Portable Class Libraries Work for You](/archive/blogs/dsplaisted/how-to-make-portable-class-libraries-work-for-you) (blog post)
- [Using Portable Class Library with MVVM](using-portable-class-library-with-model-view-view-model.md)
- [App Resources for Libraries That Target Multiple Platforms](app-resources-for-libraries-that-target-multiple-platforms.md)
- [.NET Portability Analyzer](https://marketplace.visualstudio.com/items?itemName=ConnieYau.NETPortabilityAnalyzer) (Visual Studio extension)| +|Share source code between apps for platforms other than Windows 8.1 and Windows Phone 8.1|**Add as link** feature.

- This approach is suitable for app logic that's common to both apps but not portable, for some reason. You can use this feature for C# or Visual Basic code.
For example, Windows Phone 8 and Windows 8 share Windows Runtime APIs, but Portable Class Libraries do not support Windows Runtime for those platforms. You can use `Add as link` to share common Windows Runtime code between a Windows Phone 8 app and a Windows Store app that targets Windows 8.

For details, see:

- [Share code with Add as Link](/previous-versions/windows/apps/jj714082(v=vs.105))
- [How to: Add Existing Items to a Project](/previous-versions/visualstudio/visual-studio-2010/9f4t9t92(v=vs.100))| |Write Windows Store apps using the .NET Framework or call Windows Runtime APIs from .NET Framework code|**Windows Runtime APIs** from your .NET Framework C# or Visual Basic code, and use the .NET Framework to create Windows Store apps. You should be aware of API differences between the two platforms. However, there are classes to help you work with those differences.

For details, see:

- [.NET Framework Support for Windows Store Apps and Windows Runtime](support-for-windows-store-apps-and-windows-runtime.md)
- [Passing a URI to the Windows Runtime](passing-a-uri-to-the-windows-runtime.md)
-
- | |Build .NET Framework apps for non-Microsoft platforms|**Portable Class Library reference assemblies** in the .NET Framework, and a Visual Studio extension or third-party tool such as Xamarin.

For details, see:

- [Portable Class Library now available on all platforms.](https://devblogs.microsoft.com/dotnet/portable-class-library-pcl-now-available-on-all-platforms/) (blog post)
- [Xamarin documentation](/xamarin)| -|Use JavaScript and HTML for cross-platform development|**Universal App templates** in Visual Studio 2013, Update 2 to develop against Windows Runtime APIs for Windows 8.1 and Windows Phone 8.1. Currently, you can’t use JavaScript and HTML with .NET Framework APIs to develop cross-platform apps.

For details, see:

- [JavaScript Project Templates](https://docs.microsoft.com/previous-versions/windows/apps/hh758331%28v=win.10%29)
- [Porting a Windows Runtime app using JavaScript to Windows Phone](https://docs.microsoft.com/previous-versions/windows/apps/dn636144%28v=win.10%29)| +|Use JavaScript and HTML for cross-platform development|**Universal App templates** in Visual Studio 2013, Update 2 to develop against Windows Runtime APIs for Windows 8.1 and Windows Phone 8.1. Currently, you can’t use JavaScript and HTML with .NET Framework APIs to develop cross-platform apps.

For details, see:

- [JavaScript Project Templates](/previous-versions/windows/apps/hh758331(v=win.10))
- [Porting a Windows Runtime app using JavaScript to Windows Phone](/previous-versions/windows/apps/dn636144(v=win.10))| 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 e3368240d6942..982f899a59359 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 @@ -14,7 +14,7 @@ ms.assetid: 6fa7d044-ae12-4c54-b8ee-50915607a565 The .NET Framework 4.5 supports a number of software development scenarios with the Windows Runtime. These scenarios fall into three categories: -- Developing Windows 8.x Store apps with XAML controls, as described in [Roadmap for Windows Store apps using C# or Visual Basic](https://docs.microsoft.com/previous-versions/windows/apps/br229583(v=win.10)), [How tos (XAML)](https://docs.microsoft.com/previous-versions/windows/apps/br229566(v=win.10)), and [.NET for Windows Store apps overview](https://docs.microsoft.com/previous-versions/windows/apps/br230302(v=vs.140)). +- Developing Windows 8.x Store apps with XAML controls, as described in [Roadmap for Windows Store apps using C# or Visual Basic](/previous-versions/windows/apps/br229583(v=win.10)), [How tos (XAML)](/previous-versions/windows/apps/br229566(v=win.10)), and [.NET for Windows Store apps overview](/previous-versions/windows/apps/br230302(v=vs.140)). - Developing class libraries to use in the Windows 8.x Store apps that you create with the .NET Framework. @@ -26,7 +26,7 @@ This topic outlines the support that the .NET Framework provides for all three c The .NET Framework supports the three development scenarios listed earlier by providing .NET for Windows 8.x Store apps, and by supporting the Windows Runtime itself. -- [.NET Framework and Windows Runtime namespaces](https://docs.microsoft.com/previous-versions/windows/apps/br230302(v=vs.140)#net-framework-and-windows-runtime-namespaces) provides a streamlined view of the .NET Framework class libraries and include only the types and members you can use to create Windows 8.x Store apps and Windows Runtime Components. +- [.NET Framework and Windows Runtime namespaces](/previous-versions/windows/apps/br230302(v=vs.140)#net-framework-and-windows-runtime-namespaces) provides a streamlined view of the .NET Framework class libraries and include only the types and members you can use to create Windows 8.x Store apps and Windows Runtime Components. - When you use Visual Studio (Visual Studio 2012 or later) to develop a Windows 8.x Store app or a Windows Runtime component, a set of reference assemblies ensures that you see only the relevant types and members. @@ -34,7 +34,7 @@ The .NET Framework supports the three development scenarios listed earlier by pr - Features that simply wrap the operating system API are also removed, because the Windows Runtime is easy to call from managed code. - To read more about the .NET for Windows 8.x Store apps, see the [.NET for Windows Store apps overview](https://docs.microsoft.com/previous-versions/windows/apps/br230302(v=vs.140)). To read about the API selection process, see the [.NET for Metro style apps](https://devblogs.microsoft.com/dotnet/net-for-metro-style-apps/) entry in the .NET blog. + To read more about the .NET for Windows 8.x Store apps, see the [.NET for Windows Store apps overview](/previous-versions/windows/apps/br230302(v=vs.140)). To read about the API selection process, see the [.NET for Metro style apps](https://devblogs.microsoft.com/dotnet/net-for-metro-style-apps/) entry in the .NET blog. - The [Windows Runtime](/uwp/api/) provides the user interface elements for building Windows 8.x Store apps, and provides access to operating system features. Like the .NET Framework, the Windows Runtime has metadata that enables the C# and Visual Basic compilers to use the Windows Runtime the way they use the .NET Framework class libraries. The .NET Framework makes it easier to use the Windows Runtime by hiding some differences: @@ -151,9 +151,9 @@ You can package managed code from your existing desktop apps as a standalone Win |Title|Description| |-----------|-----------------| -|[.NET for Windows Store apps overview](https://docs.microsoft.com/previous-versions/windows/apps/br230302(v=vs.140))|Describes the .NET Framework types and members that you can use to create Windows 8.x Store apps and Windows RuntimeComponents. (In the Windows Dev Center.)| -|[Roadmap for Windows Store apps using C# or Visual Basic](https://docs.microsoft.com/previous-versions/windows/apps/br229583(v=win.10))|Provides key resources to help you get started developing Windows 8.x Store apps by using C# or Visual Basic, including many Quickstart topics, guidelines, and best practices. (In the Windows Dev Center.)| -|[How tos (XAML)](https://docs.microsoft.com/previous-versions/windows/apps/br229566(v=win.10))|Provides key resources to help you get started developing Windows 8.x Store apps by using C# or Visual Basic, including many Quickstart topics, guidelines, and best practices. (In the Windows Dev Center.)| +|[.NET for Windows Store apps overview](/previous-versions/windows/apps/br230302(v=vs.140))|Describes the .NET Framework types and members that you can use to create Windows 8.x Store apps and Windows RuntimeComponents. (In the Windows Dev Center.)| +|[Roadmap for Windows Store apps using C# or Visual Basic](/previous-versions/windows/apps/br229583(v=win.10))|Provides key resources to help you get started developing Windows 8.x Store apps by using C# or Visual Basic, including many Quickstart topics, guidelines, and best practices. (In the Windows Dev Center.)| +|[How tos (XAML)](/previous-versions/windows/apps/br229566(v=win.10))|Provides key resources to help you get started developing Windows 8.x Store apps by using C# or Visual Basic, including many Quickstart topics, guidelines, and best practices. (In the Windows Dev Center.)| |[Creating Windows Runtime Components in C# and Visual Basic](/windows/uwp/winrt-components/creating-windows-runtime-components-in-csharp-and-visual-basic)|Describes how to create a Windows Runtime component using the .NET Framework, explains how to use it as part of a Windows 8.x Store app built for Windows using JavaScript, and describes how to debug the combination with Visual Studio. (In the Windows Dev Center.)| |[Windows Runtime reference](/uwp/api/)|The reference documentation for the Windows Runtime. (In the Windows Dev Center.)| |[Passing a URI to the Windows Runtime](passing-a-uri-to-the-windows-runtime.md)|Describes an issue that can arise when you pass a URI from managed code to the Windows Runtime, and how to avoid it.| 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 e7eb44e4c0c05..27c8e675b0ea0 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 @@ -19,7 +19,7 @@ You can use the .NET Framework [Portable Class Library](cross-platform-developme ![Shows the Portable Class Library with MVVM sharing assemblies across platforms.](./media/using-portable-class-library-with-model-view-view-model/mvvm-share-assemblies-across-platforms.png) - This topic does not provide general information about the MVVM pattern. It only provides information about how to use Portable Class Library to implement MVVM. For more information about MVVM, see the [MVVM Quickstart Using the Prism Library 5.0 for WPF](https://docs.microsoft.com/previous-versions/msp-n-p/gg430857(v=pandp.40)). + This topic does not provide general information about the MVVM pattern. It only provides information about how to use Portable Class Library to implement MVVM. For more information about MVVM, see the [MVVM Quickstart Using the Prism Library 5.0 for WPF](/previous-versions/msp-n-p/gg430857(v=pandp.40)). ## Classes That Support MVVM When you target the .NET Framework 4.5, .NET for Windows 8.x Store apps, Silverlight, or Windows Phone 7.5 for your Portable Class Library project, the following classes are available for implementing the MVVM pattern: diff --git a/docs/standard/data/sqlite/TOC.yml b/docs/standard/data/sqlite/TOC.yml index ff57a058ae578..89d5a786666cb 100644 --- a/docs/standard/data/sqlite/TOC.yml +++ b/docs/standard/data/sqlite/TOC.yml @@ -54,6 +54,6 @@ - name: Xamarin href: xamarin.md - name: API reference >> - href: /dotnet/api/?view=msdata-sqlite-3.1.0 + href: ../../../../api/index.md?view=msdata-sqlite-3.1.0 - name: SQL syntax >> - href: https://www.sqlite.org/lang.html + href: https://www.sqlite.org/lang.html \ No newline at end of file diff --git a/docs/standard/data/sqlite/index.md b/docs/standard/data/sqlite/index.md index 1b39a8511353b..a6d6cc5d7a536 100644 --- a/docs/standard/data/sqlite/index.md +++ b/docs/standard/data/sqlite/index.md @@ -34,5 +34,5 @@ This library implements the common ADO.NET abstractions for connections, command ## See also * [Connection strings](connection-strings.md) -* [API Reference](/dotnet/api/?view=msdata-sqlite-3.0) +* [API Reference](../../../../api/index.md?view=msdata-sqlite-3.0) * [SQL Syntax](https://www.sqlite.org/lang.html) diff --git a/docs/standard/data/xml/index.md b/docs/standard/data/xml/index.md index cab7d6656dc9d..c9261d5a8ca8a 100644 --- a/docs/standard/data/xml/index.md +++ b/docs/standard/data/xml/index.md @@ -18,7 +18,7 @@ The .NET Framework provides a comprehensive and integrated set of classes that e - -For a full list, search for "System.Xml" on the [.NET API browser](https://docs.microsoft.com/dotnet/api/?term=system.xml). +For a full list, search for "System.Xml" on the [.NET API browser](../../../../api/index.md?term=system.xml). The classes in these namespaces support World Wide Web Consortium (W3C) recommendations. For example: @@ -32,7 +32,7 @@ The classes in these namespaces support World Wide Web Consortium (W3C) recommen The XML classes in the .NET Framework provide these benefits: -- **Productivity.** [LINQ to XML (C#)](../../../csharp/programming-guide/concepts/linq/linq-to-xml-overview.md) and [LINQ to XML (Visual Basic)](../../../visual-basic/programming-guide/concepts/linq/linq-to-xml.md) makes it easier to program with XML and provides a query experience that is similar to SQL. +- **Productivity.** [LINQ to XML (C#)](../../linq/linq-xml-overview.md) and [LINQ to XML (Visual Basic)](../../linq/linq-xml-overview.md) makes it easier to program with XML and provides a query experience that is similar to SQL. - **Extensibility.** The XML classes in the .NET Framework are extensible through the use of abstract base classes and virtual methods. For example, you can create a derived class of the class that stores the cache stream to the local disk. @@ -56,7 +56,7 @@ The XML classes in the .NET Framework provide these benefits: Discusses options for processing XML data. [Processing XML Data In-Memory](processing-xml-data-in-memory.md) -Discusses the three models for processing XML data in-memory: [LINQ to XML (C#)](../../../csharp/programming-guide/concepts/linq/linq-to-xml-overview.md) and [LINQ to XML (Visual Basic)](../../../visual-basic/programming-guide/concepts/linq/linq-to-xml.md), the class (based on the W3C Document Object Model), and the class (based on the XPath data model). +Discusses the three models for processing XML data in-memory: [LINQ to XML (C#)](../../linq/linq-xml-overview.md) and [LINQ to XML (Visual Basic)](../../linq/linq-xml-overview.md), the class (based on the W3C Document Object Model), and the class (based on the XPath data model). [XSLT Transformations](xslt-transformations.md)\ Describes how to use the XSLT processor. 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 25b0e78d748ed..d3803d7a17e89 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 @@ -59,7 +59,7 @@ XML namespaces associate element and attribute names in an XML document with cus The namespace manager doesn't perform any validation on the namespaces, but assumes that prefixes and namespaces have already been verified and conform to the [W3C Namespaces](https://www.w3.org/TR/REC-xml-names/) specification. > [!NOTE] -> LINQ TO XML in [C#](../../../csharp/programming-guide/concepts/linq/linq-to-xml-overview.md) and [Visual Basic](../../../visual-basic/programming-guide/concepts/linq/linq-to-xml.md) don't use to manage namespaces. See [Working with XML Namespaces (C#)](../../../csharp/programming-guide/concepts/linq/namespaces-overview-linq-to-xml.md) and [Working with XML Namespaces (Visual Basic)](../../../visual-basic/programming-guide/concepts/linq/working-with-xml-namespaces.md) in the LINQ documentation for information about managing namespaces when using LINQ to XML. +> LINQ TO XML in [C#](../../linq/linq-xml-overview.md) and [Visual Basic](../../linq/linq-xml-overview.md) don't use to manage namespaces. See [Working with XML Namespaces (C#)](../../linq/namespaces-overview.md) and [Working with XML Namespaces (Visual Basic)](../../linq/namespaces-overview.md) in the LINQ documentation for information about managing namespaces when using LINQ to XML. Here are some of the management and lookup tasks you can perform with the class. For more information and examples, follow the links to the reference page for each method or property. 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 9733b03a44bce..d4d3c35d318d3 100644 --- a/docs/standard/data/xml/migrating-from-the-xsltransform-class.md +++ b/docs/standard/data/xml/migrating-from-the-xsltransform-class.md @@ -21,7 +21,7 @@ The class includes many performance i The class also includes other optimizations that make it much faster than the class. > [!NOTE] -> Although the overall performance of the class is better than the class, the method of the class might perform more slowly than the method of the class the first time it is called on a transformation. This is because the XSLT file must be compiled before it is loaded. For more information, see the following blog post: [XslCompiledTransform Slower than XslTransform?](https://docs.microsoft.com/archive/blogs/antosha/xslcompiledtransform-slower-than-xsltransform) +> Although the overall performance of the class is better than the class, the method of the class might perform more slowly than the method of the class the first time it is called on a transformation. This is because the XSLT file must be compiled before it is loaded. For more information, see the following blog post: [XslCompiledTransform Slower than XslTransform?](/archive/blogs/antosha/xslcompiledtransform-slower-than-xsltransform) ## Security @@ -112,11 +112,11 @@ In , a binding (method name lookup) to Support for additional MSXML functions have been added to the class. The following list describes new or improved functionality: -- msxsl:node-set: required the argument of the [node-set Function](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms256197(v=vs.100)) function to be a result tree fragment. The class does not have this requirement. +- msxsl:node-set: required the argument of the [node-set Function](/previous-versions/dotnet/netframework-4.0/ms256197(v=vs.100)) function to be a result tree fragment. The class does not have this requirement. - msxsl:version: This function is supported in . -- XPath extension functions: The [ms:string-compare Function](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms256114(v=vs.100)), [ms:utc Function](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms256474(v=vs.100)), [ms:namespace-uri Function](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms256231(v=vs.100)), [ms:local-name Function](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms256055(v=vs.100)), [ms:number Function](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms256155(v=vs.100)), [ms:format-date Function](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms256099(v=vs.100)), and [ms:format-time Function](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms256467(v=vs.100)) functions are now supported. +- XPath extension functions: The [ms:string-compare Function](/previous-versions/dotnet/netframework-4.0/ms256114(v=vs.100)), [ms:utc Function](/previous-versions/dotnet/netframework-4.0/ms256474(v=vs.100)), [ms:namespace-uri Function](/previous-versions/dotnet/netframework-4.0/ms256231(v=vs.100)), [ms:local-name Function](/previous-versions/dotnet/netframework-4.0/ms256055(v=vs.100)), [ms:number Function](/previous-versions/dotnet/netframework-4.0/ms256155(v=vs.100)), [ms:format-date Function](/previous-versions/dotnet/netframework-4.0/ms256099(v=vs.100)), and [ms:format-time Function](/previous-versions/dotnet/netframework-4.0/ms256467(v=vs.100)) functions are now supported. - Schema-related XPath extension functions: These functions are not supported natively by . However, they can be implemented as extension functions. 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 bd7d900cfd4ce..f815533ab82b9 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 @@ -11,13 +11,13 @@ LINQ to XML is the new model in the .NET Framework version 3.5 for processing XM LINQ to XML leverages the language-integrated query (LINQ) technology in the .NET Framework version 3.5. LINQ extends the language syntax of C# and Visual Basic to provide powerful query capabilities that can be extended to potentially any data store. - For a detailed discussion of its use, see [LINQ to XML (C#)](../../../csharp/programming-guide/concepts/linq/linq-to-xml-overview.md) and [LINQ to XML (Visual Basic)](../../../visual-basic/programming-guide/concepts/linq/linq-to-xml.md). For an overview of the LINQ framework, see [Language-Integrated Query (LINQ) - C#](../../../csharp/programming-guide/concepts/linq/index.md) or [Language-Integrated Query (LINQ) - Visual Basic](../../../visual-basic/programming-guide/concepts/linq/index.md). + For a detailed discussion of its use, see [LINQ to XML (C#)](../../linq/linq-xml-overview.md) and [LINQ to XML (Visual Basic)](../../linq/linq-xml-overview.md). For an overview of the LINQ framework, see [Language-Integrated Query (LINQ) - C#](../../../csharp/programming-guide/concepts/linq/index.md) or [Language-Integrated Query (LINQ) - Visual Basic](../../../visual-basic/programming-guide/concepts/linq/index.md). ## See also - - -- [LINQ to XML vs. DOM (C#)](../../../csharp/programming-guide/concepts/linq/linq-to-xml-vs-dom.md) -- [LINQ to XML vs. DOM (Visual Basic)](../../../visual-basic/programming-guide/concepts/linq/linq-to-xml-vs-dom.md) -- [LINQ to XML vs. Other XML Technologies (C#)](../../../csharp/programming-guide/concepts/linq/linq-to-xml-vs-other-xml-technologies.md) -- [LINQ to XML vs. Other XML Technologies (Visual Basic)](../../../visual-basic/programming-guide/concepts/linq/linq-to-xml-vs-other-xml-technologies.md) +- [LINQ to XML vs. DOM (C#)](../../linq/linq-xml-vs-dom.md) +- [LINQ to XML vs. DOM (Visual Basic)](../../linq/linq-xml-vs-dom.md) +- [LINQ to XML vs. Other XML Technologies (C#)](../../linq/linq-xml-vs-xml-technologies.md) +- [LINQ to XML vs. Other XML Technologies (Visual Basic)](../../linq/linq-xml-vs-xml-technologies.md) 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 864c3ba1c8983..987212f618509 100644 --- a/docs/standard/data/xml/processing-xml-data-in-memory.md +++ b/docs/standard/data/xml/processing-xml-data-in-memory.md @@ -5,13 +5,13 @@ ms.technology: dotnet-standard ms.assetid: 1bbb4d05-ead7-4bda-8ece-f86d35c57ad4 --- # Processing XML Data In-Memory -The Microsoft .NET Framework includes three models for processing XML data: the class, the class, and [LINQ to XML (C#)](../../../csharp/programming-guide/concepts/linq/linq-to-xml-overview.md) and [LINQ to XML (Visual Basic)](../../../visual-basic/programming-guide/concepts/linq/linq-to-xml.md). +The Microsoft .NET Framework includes three models for processing XML data: the class, the class, and [LINQ to XML (C#)](../../linq/linq-xml-overview.md) and [LINQ to XML (Visual Basic)](../../linq/linq-xml-overview.md). The class implements the W3C document object model (DOM) level 1 core and the core DOM level 2 recommendations. The DOM is an in-memory (cache) tree representation of an XML document. With the and its related classes, you can construct XML documents, load and access data, modify data, and save changes. The class is a read-only, in-memory data store that is based on the XPath data model. The class offers several editing options and navigation capabilities using a cursor model over XML documents contained in the read-only class as well as the class. - [LINQ to XML](../../../csharp/programming-guide/concepts/linq/linq-to-xml-overview.md) is a model introduced in the .NET Framework version 3.5 for processing XML data. It's an in-memory model that leverages [Language-Integrated Query (LINQ)](../../../csharp/programming-guide/concepts/linq/index.md). LINQ extends the language syntax of C# and Visual Basic to provide new query capabilities. + [LINQ to XML](../../linq/linq-xml-overview.md) is a model introduced in the .NET Framework version 3.5 for processing XML data. It's an in-memory model that leverages [Language-Integrated Query (LINQ)](../../../csharp/programming-guide/concepts/linq/index.md). LINQ extends the language syntax of C# and Visual Basic to provide new query capabilities. ## In This Section [Process XML Data Using the DOM Model](process-xml-data-using-the-dom-model.md) diff --git a/docs/standard/data/xml/using-the-xslcompiledtransform-class.md b/docs/standard/data/xml/using-the-xslcompiledtransform-class.md index 24648485be96a..aeac3771c48b0 100644 --- a/docs/standard/data/xml/using-the-xslcompiledtransform-class.md +++ b/docs/standard/data/xml/using-the-xslcompiledtransform-class.md @@ -8,7 +8,7 @@ ms.assetid: f9b074f6-d6f4-49dd-a093-df510bf0cf7b The class is the Microsoft .NET Framework XSLT processor. This class is used to compile style sheets and execute XSLT transformations. > [!NOTE] -> Although the overall performance of the class is better than the class, the method of the class might perform more slowly than the method of the class the first time it is called on a transformation. This is because the XSLT file must be compiled before it is loaded. For more information, see the following blog post: [XslCompiledTransform Slower than XslTransform?](https://docs.microsoft.com/archive/blogs/antosha/xslcompiledtransform-slower-than-xsltransform) +> Although the overall performance of the class is better than the class, the method of the class might perform more slowly than the method of the class the first time it is called on a transformation. This is because the XSLT file must be compiled before it is loaded. For more information, see the following blog post: [XslCompiledTransform Slower than XslTransform?](/archive/blogs/antosha/xslcompiledtransform-slower-than-xsltransform) ## In This Section [Inputs to the XslCompiledTransform Class](inputs-to-the-xslcompiledtransform-class.md) diff --git a/docs/standard/data/xml/xml-processing-options.md b/docs/standard/data/xml/xml-processing-options.md index 5cfe7b768db4f..3793f5b052602 100644 --- a/docs/standard/data/xml/xml-processing-options.md +++ b/docs/standard/data/xml/xml-processing-options.md @@ -12,7 +12,7 @@ See the following tables for a list of Microsoft technologies you can use to pro |**Option**|**Processing type**|**Description**| |----------------|-------------------------|---------------------| -|[LINQ to XML (C#)](../../../csharp/programming-guide/concepts/linq/linq-to-xml-overview.md)
[LINQ to XML (Visual Basic)](../../../visual-basic/programming-guide/concepts/linq/linq-to-xml.md)
( namespace)|In-memory|- Based on the .NET Framework Language-Integrated Query (LINQ) technology.
- Provides query experience that is similar to SQL for objects, relational data, and XML data.
- Provides intuitive document creation and transformation capabilities.
- Use this option if you're writing new code.| +|[LINQ to XML (C#)](../../linq/linq-xml-overview.md)
[LINQ to XML (Visual Basic)](../../linq/linq-xml-overview.md)
( namespace)|In-memory|- Based on the .NET Framework Language-Integrated Query (LINQ) technology.
- Provides query experience that is similar to SQL for objects, relational data, and XML data.
- Provides intuitive document creation and transformation capabilities.
- Use this option if you're writing new code.| ||Stream-based|- Provides a fast, non-cached, forward-only way to access XML data.
- You can create objects by using the method, and specify the set of features to enable on the object by using the class.| ||Stream-based|- Provides a fast, non-cached, forward-only way to generate XML data.
- You can create objects by using the method, and specify the set of features to enable on the object by using the class.| ||In-memory|- Implements the [W3C Document Object Model (DOM) Level 1 Core](https://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html) and [DOM Level 2 Core](https://www.w3.org/TR/DOM-Level-2-Core/) recommendations.
- You can create, insert, remove, and modify nodes by using methods and properties based on the familiar DOM model.
- Use this option if you're modifying existing code that utilizes the W3C DOM.| @@ -23,8 +23,8 @@ See the following tables for a list of Microsoft technologies you can use to pro |**Option**|**Description**| |----------------|---------------------| -|[XmlLite](https://docs.microsoft.com/previous-versions/windows/desktop/ms752872(v=vs.85))|- A fast, secure, non-caching, forward-only XML parser that helps you build high-performance XML apps.
- Works with any language that can use dynamic link libraries (DLLs); we recommend using C++.| -|[MSXML](https://docs.microsoft.com/previous-versions/windows/desktop/ms763742(v=vs.85))|- COM-based technology for processing XML that is included with the Windows operating system.
- Provides a native implementation of the DOM with support for XPath and XSLT.
- Contains the SAX2 event-based parser.| +|[XmlLite](/previous-versions/windows/desktop/ms752872(v=vs.85))|- A fast, secure, non-caching, forward-only XML parser that helps you build high-performance XML apps.
- Works with any language that can use dynamic link libraries (DLLs); we recommend using C++.| +|[MSXML](/previous-versions/windows/desktop/ms763742(v=vs.85))|- COM-based technology for processing XML that is included with the Windows operating system.
- Provides a native implementation of the DOM with support for XPath and XSLT.
- Contains the SAX2 event-based parser.| ## See also 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 c1d3451d41bba..12d8914aeadce 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 @@ -17,7 +17,7 @@ XML documents can be validated against an XML schema definition language (XSD) s XML documents are validated by the method of the class. To validate an XML document, construct an object that contains an XML schema definition language (XSD) schema with which to validate the XML document. > [!NOTE] -> The namespace contains extension methods that make it easy to validate an XML tree against an XSD file when using [LINQ to XML (C#)](../../../csharp/programming-guide/concepts/linq/linq-to-xml-overview.md) and [LINQ to XML (Visual Basic)](../../../visual-basic/programming-guide/concepts/linq/linq-to-xml.md). For more information on validating XML documents with LINQ to XML, see [How to validate using XSD (LINQ to XML) (C#)](../../../csharp/programming-guide/concepts/linq/how-to-validate-using-xsd-linq-to-xml.md) and [How to: Validate Using XSD (LINQ to XML) (Visual Basic)](../../../visual-basic/programming-guide/concepts/linq/how-to-validate-using-xsd-linq-to-xml.md). +> The namespace contains extension methods that make it easy to validate an XML tree against an XSD file when using [LINQ to XML (C#)](../../linq/linq-xml-overview.md) and [LINQ to XML (Visual Basic)](../../linq/linq-xml-overview.md). For more information on validating XML documents with LINQ to XML, see [How to validate using XSD (LINQ to XML) (C#)](../../linq/validate-xsd.md) and [How to: Validate Using XSD (LINQ to XML) (Visual Basic)](../../linq/validate-xsd.md). An individual schema or a set of schemas (as an ) can be added to an by passing either one as a parameter to the method of . When validating a document the target namespace of the document must match the target namespace of the schema in the schema set. diff --git a/docs/standard/data/xml/xpath-namespace-navigation.md b/docs/standard/data/xml/xpath-namespace-navigation.md index ce2fd02100117..f4ae71496f07f 100644 --- a/docs/standard/data/xml/xpath-namespace-navigation.md +++ b/docs/standard/data/xml/xpath-namespace-navigation.md @@ -7,7 +7,7 @@ ms.assetid: 06cc7abb-7416-415c-9dd6-67751b8cabd5 # 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. - The example in this topic demonstrates the use of prefixes in navigating an XML document with . For more information about namespaces and syntax, see [XML Files: Understanding XML Namespaces](https://docs.microsoft.com/previous-versions/dotnet/articles/bb986013(v=msdn.10)). + The example in this topic demonstrates the use of prefixes in navigating an XML document with . For more information about namespaces and syntax, see [XML Files: Understanding XML Namespaces](/previous-versions/dotnet/articles/bb986013(v=msdn.10)). ## Namespace Declarations Namespace declarations make the elements of an XML document distinguishable and addressable when using an instance of . Namespace prefixes provide a brief syntax for addressing namespaces. diff --git a/docs/standard/data/xml/xslt-extension-objects.md b/docs/standard/data/xml/xslt-extension-objects.md index c14aaeb545e38..871497ae14fc8 100644 --- a/docs/standard/data/xml/xslt-extension-objects.md +++ b/docs/standard/data/xml/xslt-extension-objects.md @@ -16,7 +16,7 @@ Extension objects are used to extend the functionality of style sheets. Extensio XSLT extension objects are added to the object using the method. A qualified name and namespace URI are associated with the extension object at that time. > [!NOTE] -> The FullTrust permission set is required to call the method. For more information, see [Code Access Security](../../../framework/misc/code-access-security.md) and [Named Permission Sets](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/4652tyx7(v=vs.100)). +> The FullTrust permission set is required to call the method. For more information, see [Code Access Security](../../../framework/misc/code-access-security.md) and [Named Permission Sets](/previous-versions/dotnet/netframework-4.0/4652tyx7(v=vs.100)). The data types returned from extension objects are one of the four basic XPath data types of `number`, `string`, `Boolean`, and `node set`. 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 eaa7cef425923..d7d859e37401f 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 @@ -37,7 +37,7 @@ The class supports embedded scripting using t To get the evidence from your assembly, use `this.GetType().Assembly.Evidence`. To get the evidence from a Uniform Resource Identifier (URI), use `Evidence e = XmlSecureResolver.CreateEvidenceForUrl(stylesheetURI)`. - If you use methods that take an but no `Evidence`, the security zone for the assembly defaults to Full Trust. For more information, see and [Named Permission Sets](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/4652tyx7(v=vs.100)). + If you use methods that take an but no `Evidence`, the security zone for the assembly defaults to Full Trust. For more information, see and [Named Permission Sets](/previous-versions/dotnet/netframework-4.0/4652tyx7(v=vs.100)). Functions can be declared within the `msxsl:script` element. The following table shows the namespaces that are supported by default. You can use classes outside the listed namespaces. However, these classes must be fully qualified. diff --git a/docs/standard/datetime/converting-between-time-zones.md b/docs/standard/datetime/converting-between-time-zones.md index 2a31b789b7354..ad70e7531e28b 100644 --- a/docs/standard/datetime/converting-between-time-zones.md +++ b/docs/standard/datetime/converting-between-time-zones.md @@ -20,7 +20,7 @@ It is becoming increasingly important for any application that works with dates ## Converting to Coordinated Universal Time -Coordinated Universal Time (UTC) is a high-precision, atomic time standard. The world’s time zones are expressed as positive or negative offsets from UTC. Thus, UTC provides a kind of time-zone free or time-zone neutral time. The use of UTC time is recommended when a date and time's portability across computers is important. (For details and other best practices using dates and times, see [Coding best practices using DateTime in the .NET Framework](https://docs.microsoft.com/previous-versions/dotnet/articles/ms973825(v=msdn.10)).) Converting individual time zones to UTC makes time comparisons easy. +Coordinated Universal Time (UTC) is a high-precision, atomic time standard. The world’s time zones are expressed as positive or negative offsets from UTC. Thus, UTC provides a kind of time-zone free or time-zone neutral time. The use of UTC time is recommended when a date and time's portability across computers is important. (For details and other best practices using dates and times, see [Coding best practices using DateTime in the .NET Framework](/previous-versions/dotnet/articles/ms973825(v=msdn.10)).) Converting individual time zones to UTC makes time comparisons easy. > [!NOTE] > You can also serialize a structure to unambiguously represent a single point in time. Because objects store a date and time value along with its offset from UTC, they always represent a particular point in time in relationship to UTC. diff --git a/docs/standard/events/index.md b/docs/standard/events/index.md index 608ec5f8a6c83..af90b8e3a0fe8 100644 --- a/docs/standard/events/index.md +++ b/docs/standard/events/index.md @@ -20,7 +20,7 @@ ms.assetid: b6f65241-e0ad-4590-a99f-200ce741bb1f Events in .NET are based on the delegate model. The delegate model follows the [observer design pattern](observer-design-pattern.md), 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. - For information about handling events in Windows 8.x Store apps, see [Events and routed events overview](https://docs.microsoft.com/previous-versions/windows/apps/hh758286(v=win.10)). + For information about handling events in Windows 8.x Store apps, see [Events and routed events overview](/previous-versions/windows/apps/hh758286(v=win.10)). ## Events diff --git a/docs/standard/events/observer-design-pattern.md b/docs/standard/events/observer-design-pattern.md index eb2a5fcda0cea..8f0a818fd8a77 100644 --- a/docs/standard/events/observer-design-pattern.md +++ b/docs/standard/events/observer-design-pattern.md @@ -41,7 +41,7 @@ Implementing the pattern requires that you provide the following: - An object that contains the data that the provider sends to its observers. The type of this object corresponds to the generic type parameter of the and interfaces. Although this object can be the same as the implementation, most commonly it is a separate type. > [!NOTE] -> In addition to implementing the observer design pattern, you may be interested in exploring libraries that are built using the and interfaces. For example, [Reactive Extensions for .NET (Rx)](https://docs.microsoft.com/previous-versions/dotnet/reactive-extensions/hh242985(v=vs.103)) consist of a set of extension methods and LINQ standard sequence operators to support asynchronous programming. +> In addition to implementing the observer design pattern, you may be interested in exploring libraries that are built using the and interfaces. For example, [Reactive Extensions for .NET (Rx)](/previous-versions/dotnet/reactive-extensions/hh242985(v=vs.103)) consist of a set of extension methods and LINQ standard sequence operators to support asynchronous programming. ## Implementing the Pattern diff --git a/docs/standard/generics.md b/docs/standard/generics.md index 2112cc70d9d01..d79041195d720 100644 --- a/docs/standard/generics.md +++ b/docs/standard/generics.md @@ -9,7 +9,7 @@ ms.date: 10/09/2018 Developers use generics all the time in .NET, whether implicitly or explicitly. When you use LINQ in .NET, did you ever notice that you're working with ? 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 it's in there. -First introduced in the .NET Framework 2.0, generics are essentially a "code template" that allows developers to define [type-safe](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/hbzz1a9a(v=vs.100)) data structures without committing to an actual data type. For example, is a [generic collection](xref:System.Collections.Generic) that can be declared and used with any type, such as `List`, `List`, or `List`. +First introduced in the .NET Framework 2.0, generics are essentially a "code template" that allows developers to define [type-safe](/previous-versions/dotnet/netframework-4.0/hbzz1a9a(v=vs.100)) data structures without committing to an actual data type. For example, is a [generic collection](xref:System.Collections.Generic) that can be declared and used with any type, such as `List`, `List`, or `List`. To understand why generics are useful, let's take a look at a specific class before and after adding generics: . In .NET Framework 1.0, the `ArrayList` elements were of type . Any element added to the collection was silently converted into an `Object`. The same would happen when reading elements from the list. This process is known as [boxing and unboxing](../csharp/programming-guide/types/boxing-and-unboxing.md), and it impacts performance. Aside from performance, however, there's no way to determine the type of data in the list at compile time, which makes for some fragile code. Generics solve this problem by defining the type of data each instance of list will contain. For example, you can only add integers to `List` and only add Persons to `List`. 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 c058b6bbbeb6a..1c20e14a6ea61 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 @@ -85,7 +85,7 @@ This section describes the best practices to follow when developing world-ready 4. Specify the values for the requestEncoding, responseEncoding, fileEncoding, culture, and uiCulture attributes in the following three places in an ASP.NET application: - - In the globalization section of a Web.config file. This file is external to the ASP.NET application. For more information, see [\ Element](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/hy4kkhe0(v=vs.100)). + - In the globalization section of a Web.config file. This file is external to the ASP.NET application. For more information, see [\ Element](/previous-versions/dotnet/netframework-4.0/hy4kkhe0(v=vs.100)). - In a page directive. Note that, when an application is in a page, the file has already been read. Therefore, it is too late to specify fileEncoding and requestEncoding. Only uiCulture, Culture, and responseEncoding can be specified in a page directive. 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 dbb410b5b3335..816e40b31b74d 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 @@ -9,7 +9,7 @@ ms.assetid: 23a763ea-8348-4244-9f8c-a4280b870b47 --- # How to: Convert between .NET Framework and Windows Runtime streams (Windows only) -The .NET Framework for UWP apps is a subset of the full .NET Framework. Because of security and other requirements for UWP apps, you can't use the full set of .NET Framework APIs to open and read files. For more information, see [.NET for UWP apps overview](https://docs.microsoft.com/previous-versions/windows/apps/br230302(v=vs.140)). However, you may want to use .NET Framework APIs for other stream manipulation operations. To manipulate these streams, you can convert between a .NET Framework stream type such as or , and a Windows Runtime stream such as , , or . +The .NET Framework for UWP apps is a subset of the full .NET Framework. Because of security and other requirements for UWP apps, you can't use the full set of .NET Framework APIs to open and read files. For more information, see [.NET for UWP apps overview](/previous-versions/windows/apps/br230302(v=vs.140)). However, you may want to use .NET Framework APIs for other stream manipulation operations. To manipulate these streams, you can convert between a .NET Framework stream type such as or , and a Windows Runtime stream such as , , or . The class contains methods that make these conversions easy. However, underlying differences between .NET Framework and Windows Runtime streams affect the results of using these methods, as described in the following sections: @@ -63,6 +63,6 @@ To run this example, create a UWP XAML app that targets the .NET Framework 4.5.1 ## See also -- [Quickstart: Read and write a file (Windows)](https://docs.microsoft.com/previous-versions/windows/apps/hh464978(v=win.10)) -- [.NET for Windows Store apps overview](https://docs.microsoft.com/previous-versions/windows/apps/br230302(v=vs.140)) -- [.NET for Windows Store apps APIs](https://docs.microsoft.com/previous-versions/br230232(v=vs.120)) +- [Quickstart: Read and write a file (Windows)](/previous-versions/windows/apps/hh464978(v=win.10)) +- [.NET for Windows Store apps overview](/previous-versions/windows/apps/br230302(v=vs.140)) +- [.NET for Windows Store apps APIs](/previous-versions/br230232(v=vs.120)) 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 2a13b967a7678..1bd2e97378fd1 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 @@ -35,7 +35,7 @@ The following code examples show how to read characters synchronously or asynchr - - - [Asynchronous file I/O](asynchronous-file-i-o.md) -- [How to: Create a directory listing](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/5cf8zcfh(v=vs.100)) +- [How to: Create a directory listing](/previous-versions/dotnet/netframework-4.0/5cf8zcfh(v=vs.100)) - [How to: Read and write to a newly created data file](how-to-read-and-write-to-a-newly-created-data-file.md) - [How to: Open and append to a log file](how-to-open-and-append-to-a-log-file.md) - [How to: Read text from a file](how-to-read-text-from-a-file.md) 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 c30d83d98730d..afb5fe8869652 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 @@ -18,7 +18,7 @@ ms.assetid: ed180baa-dfc6-4c69-a725-46e87edafb27 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. > [!NOTE] -> These code examples do not apply to developing for Universal Windows (UWP) apps, because the Windows Runtime provides different stream types for reading and writing to files. For an example that shows how to read text from a file in a UWP app, see [Quickstart: Reading and writing files](https://docs.microsoft.com/previous-versions/windows/apps/hh758325(v=win.10)). For examples that show how to convert between .NET Framework streams and Windows Runtime streams, see [How to: Convert between .NET Framework streams and Windows Runtime streams](how-to-convert-between-dotnet-streams-and-winrt-streams.md). +> These code examples do not apply to developing for Universal Windows (UWP) apps, because the Windows Runtime provides different stream types for reading and writing to files. For an example that shows how to read text from a file in a UWP app, see [Quickstart: Reading and writing files](/previous-versions/windows/apps/hh758325(v=win.10)). For examples that show how to convert between .NET Framework streams and Windows Runtime streams, see [How to: Convert between .NET Framework streams and Windows Runtime streams](how-to-convert-between-dotnet-streams-and-winrt-streams.md). ## Example: Synchronous read in a console app The following example shows a synchronous read operation within a console app. This example opens the text file using a stream reader, copies the contents to a string, and outputs the string to the console. @@ -44,8 +44,8 @@ The following example shows a synchronous read operation within a console app. T - - - [Asynchronous file I/O](asynchronous-file-i-o.md) -- [How to: Create a directory listing](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/5cf8zcfh(v=vs.100)) -- [Quickstart: Reading and writing files](https://docs.microsoft.com/previous-versions/windows/apps/hh758325%28v=win.10%29) +- [How to: Create a directory listing](/previous-versions/dotnet/netframework-4.0/5cf8zcfh(v=vs.100)) +- [Quickstart: Reading and writing files](/previous-versions/windows/apps/hh758325(v=win.10)) - [How to: Convert between .NET Framework streams and Windows Runtime streams](how-to-convert-between-dotnet-streams-and-winrt-streams.md) - [How to: Read and write to a newly created data file](how-to-read-and-write-to-a-newly-created-data-file.md) - [How to: Open and append to a log file](how-to-open-and-append-to-a-log-file.md) diff --git a/docs/standard/io/index.md b/docs/standard/io/index.md index 97389d80a9b28..b515091219672 100644 --- a/docs/standard/io/index.md +++ b/docs/standard/io/index.md @@ -40,7 +40,7 @@ You should always provide robust exception handling when calling filesystem meth In addition to using these classes, Visual Basic users can use the methods and properties provided by the class for file I/O. -See [How to: Copy Directories](how-to-copy-directories.md), [How to: Create a Directory Listing](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/5cf8zcfh(v=vs.100)), and [How to: Enumerate Directories and Files](how-to-enumerate-directories-and-files.md). +See [How to: Copy Directories](how-to-copy-directories.md), [How to: Create a Directory Listing](/previous-versions/dotnet/netframework-4.0/5cf8zcfh(v=vs.100)), and [How to: Enumerate Directories and Files](how-to-enumerate-directories-and-files.md). ## Streams @@ -122,7 +122,7 @@ See [How to: Compress and Extract Files](how-to-compress-and-extract-files.md). Isolated storage is a data storage mechanism that provides isolation and safety by defining standardized ways of associating code with saved data. The storage provides a virtual file system that is isolated by user, assembly, and (optionally) domain. Isolated storage is particularly useful when your application does not have permission to access user files. You can save settings or files for your application in a manner that is controlled by the computer's security policy. -Isolated storage is not available for Windows 8.x Store apps; instead, use application data classes in the namespace. For more information, see [Application data](https://docs.microsoft.com/previous-versions/windows/apps/hh464917%28v=win.10%29). +Isolated storage is not available for Windows 8.x Store apps; instead, use application data classes in the namespace. For more information, see [Application data](/previous-versions/windows/apps/hh464917(v=win.10)). The following classes are frequently used when implementing isolated storage: @@ -142,7 +142,7 @@ Some important differences to note when using I/O operations in Windows 8.x Stor - Types specifically related to file operations, such as , , and , are not included in the .NET for Windows 8.x Store apps. Instead, use the types in the namespace of the Windows Runtime, such as and . -- Isolated storage is not available; instead, use [application data](https://docs.microsoft.com/previous-versions/windows/apps/hh464917(v=win.10)). +- Isolated storage is not available; instead, use [application data](/previous-versions/windows/apps/hh464917(v=win.10)). - Use asynchronous methods, such as and , to prevent blocking the UI thread. @@ -150,13 +150,13 @@ Some important differences to note when using I/O operations in Windows 8.x Stor You can convert between .NET Framework streams and Windows Runtime streams, if necessary. For more information, see [How to: Convert Between .NET Framework Streams and Windows Runtime Streams](how-to-convert-between-dotnet-streams-and-winrt-streams.md) or . -For more information about I/O operations in a Windows 8.x Store app, see [Quickstart: Reading and writing files](https://docs.microsoft.com/previous-versions/windows/apps/hh758325(v=win.10)). +For more information about I/O operations in a Windows 8.x Store app, see [Quickstart: Reading and writing files](/previous-versions/windows/apps/hh758325(v=win.10)). ## I/O and security When you use the classes in the namespace, you must follow operating system security requirements such as access control lists (ACLs) to control access to files and directories. This requirement is in addition to any requirements. You can manage ACLs programmatically. For more information, see [How to: Add or Remove Access Control List Entries](how-to-add-or-remove-access-control-list-entries.md). -Default security policies prevent Internet or intranet applications from accessing files on the user’s computer. Therefore, do not use the I/O classes that require a path to a physical file when writing code that will be downloaded over the Internet or intranet. Instead, use [isolated storage](isolated-storage.md) for traditional .NET Framework applications, or use [application data](https://docs.microsoft.com/previous-versions/windows/apps/hh464917(v=win.10)) for Windows 8.x Store apps. +Default security policies prevent Internet or intranet applications from accessing files on the user’s computer. Therefore, do not use the I/O classes that require a path to a physical file when writing code that will be downloaded over the Internet or intranet. Instead, use [isolated storage](isolated-storage.md) for traditional .NET Framework applications, or use [application data](/previous-versions/windows/apps/hh464917(v=win.10)) for Windows 8.x Store apps. A security check is performed only when the stream is constructed. Therefore, do not open a stream and then pass it to less-trusted code or application domains. diff --git a/docs/standard/io/isolated-storage.md b/docs/standard/io/isolated-storage.md index e32e2ac36c3ca..d7e4430883e2a 100644 --- a/docs/standard/io/isolated-storage.md +++ b/docs/standard/io/isolated-storage.md @@ -25,7 +25,7 @@ ms.assetid: aff939d7-9e49-46f2-a8cd-938d3020e94e For desktop 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. > [!IMPORTANT] -> Isolated storage is not available for Windows 8.x Store apps. Instead, use the application data classes in the `Windows.Storage` namespaces included in the Windows Runtime API to store local data and files. For more information, see [Application data](https://docs.microsoft.com/previous-versions/windows/apps/hh464917(v=win.10)) in the Windows Dev Center. +> Isolated storage is not available for Windows 8.x Store apps. Instead, use the application data classes in the `Windows.Storage` namespaces included in the Windows Runtime API to store local data and files. For more information, see [Application data](/previous-versions/windows/apps/hh464917(v=win.10)) in the Windows Dev Center. diff --git a/docs/standard/io/memory-mapped-files.md b/docs/standard/io/memory-mapped-files.md index 1f99a289b9f93..0f92d4128bf4f 100644 --- a/docs/standard/io/memory-mapped-files.md +++ b/docs/standard/io/memory-mapped-files.md @@ -12,7 +12,7 @@ helpviewer_keywords: ms.assetid: a483d1b5-64aa-45b6-86ef-11b859f7f02e --- # 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 .NET Framework 4, 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://docs.microsoft.com/previous-versions/ms810613(v=msdn.10)). +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 .NET Framework 4, 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](/previous-versions/ms810613(v=msdn.10)). There are two types of memory-mapped files: diff --git a/docs/standard/io/types-of-isolation.md b/docs/standard/io/types-of-isolation.md index f31fca966a0d2..a2b1bc3d9df4f 100644 --- a/docs/standard/io/types-of-isolation.md +++ b/docs/standard/io/types-of-isolation.md @@ -45,7 +45,7 @@ Access to isolated storage is always restricted to the user who created it. To i Except for roaming stores, isolated storage is always implicitly isolated by computer because it uses the storage facilities that are local to a given computer. > [!IMPORTANT] -> Isolated storage is not available for Windows 8.x Store apps. Instead, use the application data classes in the `Windows.Storage` namespaces included in the Windows Runtime API to store local data and files. For more information, see [Application data](https://docs.microsoft.com/previous-versions/windows/apps/hh464917(v=win.10)) in the Windows Dev Center. +> Isolated storage is not available for Windows 8.x Store apps. Instead, use the application data classes in the `Windows.Storage` namespaces included in the Windows Runtime API to store local data and files. For more information, see [Application data](/previous-versions/windows/apps/hh464917(v=win.10)) in the Windows Dev Center. ## Isolation by User and Assembly diff --git a/docs/standard/linq/calculate-intermediate-values.md b/docs/standard/linq/calculate-intermediate-values.md index 4ed3cf7f864ae..32876541fc735 100644 --- a/docs/standard/linq/calculate-intermediate-values.md +++ b/docs/standard/linq/calculate-intermediate-values.md @@ -101,4 +101,4 @@ This example produces the following output: ## See also -- [Basic Queries (LINQ to XML) (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/basic-queries-linq-to-xml.md) +- [Basic Queries (LINQ to XML) (Visual Basic)](./find-element-specific-attribute.md) diff --git a/docs/standard/linq/concepts-terminology-functional-transformation.md b/docs/standard/linq/concepts-terminology-functional-transformation.md index baf69e372e5d4..d59cae4b782fa 100644 --- a/docs/standard/linq/concepts-terminology-functional-transformation.md +++ b/docs/standard/linq/concepts-terminology-functional-transformation.md @@ -49,7 +49,7 @@ For more information, see [Standard Query Operators Overview (C#)](../../csharp/ lambda expression \ Essentially, an inline anonymous function that can be used wherever a delegate type is expected. This is a simplified definition of lambda expressions, but it's adequate for the purposes of this tutorial. -For more information, see [Lambda expressions (C# Programming Guide)](../../csharp/programming-guide/statements-expressions-operators/lambda-expressions.md) and [Lambda Expressions (Visual Basic))](../../visual-basic/programming-guide/language-features/procedures/lambda-expressions.md). +For more information, see [Lambda expressions (C# Programming Guide)](../../csharp/language-reference/operators/lambda-expressions.md) and [Lambda Expressions (Visual Basic))](../../visual-basic/programming-guide/language-features/procedures/lambda-expressions.md). collection \ A structured set of data, usually of a uniform type. To be compatible with LINQ, a collection must implement the interface or the interface (or one of their generic counterparts, or ). @@ -67,9 +67,9 @@ For more information, see [Implicitly typed local variables (C# Programming Guid deferred execution and lazy evaluation \ The delaying of evaluation of an expression until its resolved value is actually required. Deferred execution is supported in collections. -For more C# information, see [Introduction to LINQ Queries (C#)](../../csharp/programming-guide/concepts/linq/introduction-to-linq-queries.md) and [Deferred Execution and Lazy Evaluation in LINQ to XML (C#)](../../csharp/programming-guide/concepts/linq/deferred-execution-and-lazy-evaluation-in-linq-to-xml.md). +For more C# information, see [Introduction to LINQ Queries (C#)](../../csharp/programming-guide/concepts/linq/introduction-to-linq-queries.md) and [Deferred Execution and Lazy Evaluation in LINQ to XML (C#)](./deferred-execution-lazy-evaluation.md). -For more Visual Basic information, see [Basic Query Operations (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/basic-query-operations.md) and [Deferred Execution and Lazy Evaluation in LINQ to XML (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/deferred-execution-and-lazy-evaluation-in-linq-to-xml.md). +For more Visual Basic information, see [Basic Query Operations (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/basic-query-operations.md) and [Deferred Execution and Lazy Evaluation in LINQ to XML (Visual Basic)](./deferred-execution-lazy-evaluation.md). These language features will be used in code samples throughout this section. diff --git a/docs/standard/linq/control-type-projection.md b/docs/standard/linq/control-type-projection.md index 30c2411276b3b..e053e58ae65a6 100644 --- a/docs/standard/linq/control-type-projection.md +++ b/docs/standard/linq/control-type-projection.md @@ -132,4 +132,4 @@ LETSS:Let's Stop N Shop:Jaime Yorres ## See also - -- [Projections and Transformations (LINQ to XML) (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/projections-and-transformations-linq-to-xml.md) +- [Projections and Transformations (LINQ to XML) (Visual Basic)](./work-dictionaries-linq-xml.md) diff --git a/docs/standard/linq/debug-empty-query-results-sets.md b/docs/standard/linq/debug-empty-query-results-sets.md index 9db7fedd14878..70fc75316c615 100644 --- a/docs/standard/linq/debug-empty-query-results-sets.md +++ b/docs/standard/linq/debug-empty-query-results-sets.md @@ -132,4 +132,4 @@ End of result set ## See also -- [Basic Queries (LINQ to XML) (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/basic-queries-linq-to-xml.md) +- [Basic Queries (LINQ to XML) (Visual Basic)](./find-element-specific-attribute.md) diff --git a/docs/standard/linq/filter-optional-element.md b/docs/standard/linq/filter-optional-element.md index e3c21fab48ee2..453682adbd345 100644 --- a/docs/standard/linq/filter-optional-element.md +++ b/docs/standard/linq/filter-optional-element.md @@ -176,7 +176,7 @@ Child Four Text - - [Standard Query Operators Overview (C#)](../../csharp/programming-guide/concepts/linq/standard-query-operators-overview.md) - [Projection Operations (C#)](../../csharp/programming-guide/concepts/linq/projection-operations.md) -- [Basic Queries (LINQ to XML) (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/basic-queries-linq-to-xml.md) +- [Basic Queries (LINQ to XML) (Visual Basic)](./find-element-specific-attribute.md) - [XML Child Axis Property (Visual Basic)](../../visual-basic/language-reference/xml-axis/xml-child-axis-property.md) - [XML Attribute Axis Property (Visual Basic)](../../visual-basic/language-reference/xml-axis/xml-attribute-axis-property.md) - [XML Value Property](../../visual-basic/language-reference/xml-axis/xml-value-property.md) diff --git a/docs/standard/linq/find-attribute-parent.md b/docs/standard/linq/find-attribute-parent.md index ade243c82261c..0b1ce65055885 100644 --- a/docs/standard/linq/find-attribute-parent.md +++ b/docs/standard/linq/find-attribute-parent.md @@ -71,4 +71,4 @@ id="bk101" ## See also -- [LINQ to XML for XPath Users (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/linq-to-xml-for-xpath-users.md) +- [LINQ to XML for XPath Users (Visual Basic)](./comparison-xpath-linq-xml.md) diff --git a/docs/standard/linq/find-attributes-siblings-specific-name.md b/docs/standard/linq/find-attributes-siblings-specific-name.md index 218513b810b50..4f4eee737c216 100644 --- a/docs/standard/linq/find-attributes-siblings-specific-name.md +++ b/docs/standard/linq/find-attributes-siblings-specific-name.md @@ -79,4 +79,4 @@ id="bk102" ## See also -- [LINQ to XML for XPath Users (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/linq-to-xml-for-xpath-users.md) +- [LINQ to XML for XPath Users (Visual Basic)](./comparison-xpath-linq-xml.md) diff --git a/docs/standard/linq/find-child-element.md b/docs/standard/linq/find-child-element.md index 00da59f12de75..7f3c48410e35c 100644 --- a/docs/standard/linq/find-child-element.md +++ b/docs/standard/linq/find-child-element.md @@ -66,4 +66,4 @@ Results are identical ## See also -- [LINQ to XML for XPath Users (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/linq-to-xml-for-xpath-users.md) +- [LINQ to XML for XPath Users (Visual Basic)](./comparison-xpath-linq-xml.md) diff --git a/docs/standard/linq/find-child-elements-based-position.md b/docs/standard/linq/find-child-elements-based-position.md index 10c4cebb2984f..b7d4bce2742b5 100644 --- a/docs/standard/linq/find-child-elements-based-position.md +++ b/docs/standard/linq/find-child-elements-based-position.md @@ -108,4 +108,4 @@ Results are identical ## See also -- [LINQ to XML for XPath Users (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/linq-to-xml-for-xpath-users.md) +- [LINQ to XML for XPath Users (Visual Basic)](./comparison-xpath-linq-xml.md) diff --git a/docs/standard/linq/find-descendant-elements.md b/docs/standard/linq/find-descendant-elements.md index 40c18238fb0c4..2615bec662155 100644 --- a/docs/standard/linq/find-descendant-elements.md +++ b/docs/standard/linq/find-descendant-elements.md @@ -68,4 +68,4 @@ Results are identical ## See also -- [LINQ to XML for XPath Users (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/linq-to-xml-for-xpath-users.md) +- [LINQ to XML for XPath Users (Visual Basic)](./comparison-xpath-linq-xml.md) diff --git a/docs/standard/linq/find-descendants-child-element.md b/docs/standard/linq/find-descendants-child-element.md index 876336329898b..e4dd80cb5903c 100644 --- a/docs/standard/linq/find-descendants-child-element.md +++ b/docs/standard/linq/find-descendants-child-element.md @@ -119,4 +119,4 @@ This is the start of a sentence. This is the second sentence. ## See also -- [LINQ to XML for XPath Users (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/linq-to-xml-for-xpath-users.md) +- [LINQ to XML for XPath Users (Visual Basic)](./comparison-xpath-linq-xml.md) diff --git a/docs/standard/linq/find-element-specific-attribute.md b/docs/standard/linq/find-element-specific-attribute.md index 7838840851662..9c4df19553034 100644 --- a/docs/standard/linq/find-element-specific-attribute.md +++ b/docs/standard/linq/find-element-specific-attribute.md @@ -103,6 +103,6 @@ This example produces the following output:: - - [Standard Query Operators Overview (C#)](../../csharp/programming-guide/concepts/linq/standard-query-operators-overview.md) - [Projection Operations (C#)](../../csharp/programming-guide/concepts/linq/projection-operations.md) -- [Basic Queries (LINQ to XML) (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/basic-queries-linq-to-xml.md) +- [Basic Queries (LINQ to XML) (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/basic-query-operations.md) - [Standard Query Operators Overview (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/standard-query-operators-overview.md) - [Projection Operations (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/projection-operations.md) diff --git a/docs/standard/linq/find-elements-namespace.md b/docs/standard/linq/find-elements-namespace.md index 33228d5e402fa..349549dc51da0 100644 --- a/docs/standard/linq/find-elements-namespace.md +++ b/docs/standard/linq/find-elements-namespace.md @@ -101,4 +101,4 @@ Results are identical ## See also -- [LINQ to XML for XPath Users (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/linq-to-xml-for-xpath-users.md) +- [LINQ to XML for XPath Users (Visual Basic)](./comparison-xpath-linq-xml.md) diff --git a/docs/standard/linq/find-elements-specific-attribute.md b/docs/standard/linq/find-elements-specific-attribute.md index 924e2c3f0382c..bd0c29317538c 100644 --- a/docs/standard/linq/find-elements-specific-attribute.md +++ b/docs/standard/linq/find-elements-specific-attribute.md @@ -89,4 +89,4 @@ Results are identical ## See also -- [LINQ to XML for XPath Users (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/linq-to-xml-for-xpath-users.md) +- [LINQ to XML for XPath Users (Visual Basic)](./comparison-xpath-linq-xml.md) diff --git a/docs/standard/linq/find-immediate-preceding-sibling.md b/docs/standard/linq/find-immediate-preceding-sibling.md index 479fc26b5c4fc..9ed3a55426892 100644 --- a/docs/standard/linq/find-immediate-preceding-sibling.md +++ b/docs/standard/linq/find-immediate-preceding-sibling.md @@ -81,4 +81,4 @@ Results are identical ## See also -- [LINQ to XML for XPath Users (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/linq-to-xml-for-xpath-users.md) +- [LINQ to XML for XPath Users (Visual Basic)](./comparison-xpath-linq-xml.md) diff --git a/docs/standard/linq/find-list-child-elements.md b/docs/standard/linq/find-list-child-elements.md index ac5894a1c1729..1547642814884 100644 --- a/docs/standard/linq/find-list-child-elements.md +++ b/docs/standard/linq/find-list-child-elements.md @@ -72,4 +72,4 @@ Results are identical ## See also -- [LINQ to XML for XPath Users (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/linq-to-xml-for-xpath-users.md) +- [LINQ to XML for XPath Users (Visual Basic)](./comparison-xpath-linq-xml.md) diff --git a/docs/standard/linq/find-preceding-siblings.md b/docs/standard/linq/find-preceding-siblings.md index 5d56fc5d9ad8f..a02b8d52b0d50 100644 --- a/docs/standard/linq/find-preceding-siblings.md +++ b/docs/standard/linq/find-preceding-siblings.md @@ -75,4 +75,4 @@ Results are identical ## See also -- [LINQ to XML for XPath Users (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/linq-to-xml-for-xpath-users.md) +- [LINQ to XML for XPath Users (Visual Basic)](./comparison-xpath-linq-xml.md) diff --git a/docs/standard/linq/find-related-elements.md b/docs/standard/linq/find-related-elements.md index 3d15f45203c72..9ec0590f654fb 100644 --- a/docs/standard/linq/find-related-elements.md +++ b/docs/standard/linq/find-related-elements.md @@ -112,4 +112,4 @@ Results are identical ## See also -- [LINQ to XML for XPath Users (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/linq-to-xml-for-xpath-users.md) +- [LINQ to XML for XPath Users (Visual Basic)](./comparison-xpath-linq-xml.md) diff --git a/docs/standard/linq/find-sibling-nodes.md b/docs/standard/linq/find-sibling-nodes.md index b12dc3aced43b..fe7527cdd092b 100644 --- a/docs/standard/linq/find-sibling-nodes.md +++ b/docs/standard/linq/find-sibling-nodes.md @@ -97,4 +97,4 @@ Results are identical ## See also -- [LINQ to XML for XPath Users (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/linq-to-xml-for-xpath-users.md) +- [LINQ to XML for XPath Users (Visual Basic)](./comparison-xpath-linq-xml.md) diff --git a/docs/standard/linq/find-union-two-location-paths.md b/docs/standard/linq/find-union-two-location-paths.md index 85533176c098d..f3a1e6368362b 100644 --- a/docs/standard/linq/find-union-two-location-paths.md +++ b/docs/standard/linq/find-union-two-location-paths.md @@ -88,4 +88,4 @@ Results are identical ## See also -- [LINQ to XML for XPath Users (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/linq-to-xml-for-xpath-users.md) +- [LINQ to XML for XPath Users (Visual Basic)](./comparison-xpath-linq-xml.md) diff --git a/docs/standard/linq/index.md b/docs/standard/linq/index.md index 6fca36145cc09..36f00482cd2d1 100644 --- a/docs/standard/linq/index.md +++ b/docs/standard/linq/index.md @@ -106,7 +106,7 @@ End Function Writing code to manually traverse the XML document to do this task would be far more challenging. -Interacting with XML isn't the only thing you can do with LINQ Providers. [Linq to SQL](../../framework/data/adonet/sql/linq/index.md) is a fairly bare-bones Object-Relational Mapper (ORM) for an MSSQL Server Database. The [JSON.NET](https://www.newtonsoft.com/json/help/html/LINQtoJSON.htm) library provides efficient JSON Document traversal via LINQ. Furthermore, if there isn't a library that does what you need, you can also [write your own LINQ Provider](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2012/bb546158(v=vs.110))! +Interacting with XML isn't the only thing you can do with LINQ Providers. [Linq to SQL](../../framework/data/adonet/sql/linq/index.md) is a fairly bare-bones Object-Relational Mapper (ORM) for an MSSQL Server Database. The [JSON.NET](https://www.newtonsoft.com/json/help/html/LINQtoJSON.htm) library provides efficient JSON Document traversal via LINQ. Furthermore, if there isn't a library that does what you need, you can also [write your own LINQ Provider](/previous-versions/visualstudio/visual-studio-2012/bb546158(v=vs.110))! ## Reasons to use the query syntax @@ -154,7 +154,7 @@ The answer to this question is **no** if... ## Essential LINQ -For a truly comprehensive list of LINQ samples, visit [101 LINQ Samples](https://docs.microsoft.com/samples/dotnet/try-samples/101-linq-samples/). +For a truly comprehensive list of LINQ samples, visit [101 LINQ Samples](/samples/dotnet/try-samples/101-linq-samples/). The following examples are a quick demonstration of some of the essential pieces of LINQ. This is in no way comprehensive, as LINQ provides more functionality than what is showcased here. @@ -389,6 +389,6 @@ Parallelizable CPU-bound jobs that can be easily expressed via LINQ (in other wo ## More resources -* [101 LINQ Samples](https://docs.microsoft.com/samples/dotnet/try-samples/101-linq-samples/) +* [101 LINQ Samples](/samples/dotnet/try-samples/101-linq-samples/) * [Linqpad](https://www.linqpad.net/), a playground environment and Database querying engine for C#/F#/Visual Basic * [EduLinq](https://codeblog.jonskeet.uk/2011/02/23/reimplementing-linq-to-objects-part-45-conclusion-and-list-of-posts/), an e-book for learning how LINQ-to-objects is implemented diff --git a/docs/standard/linq/project-new-type.md b/docs/standard/linq/project-new-type.md index 0ede41b5a4983..d21c897413e08 100644 --- a/docs/standard/linq/project-new-type.md +++ b/docs/standard/linq/project-new-type.md @@ -83,4 +83,4 @@ Baby Monitor:2 ## See also -- [Projections and Transformations (LINQ to XML) (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/projections-and-transformations-linq-to-xml.md) +- [Projections and Transformations (LINQ to XML) (Visual Basic)](./work-dictionaries-linq-xml.md) diff --git a/docs/standard/linq/sort-elements-multiple-keys.md b/docs/standard/linq/sort-elements-multiple-keys.md index 262e957678a15..7dbaf4cc7bd6f 100644 --- a/docs/standard/linq/sort-elements-multiple-keys.md +++ b/docs/standard/linq/sort-elements-multiple-keys.md @@ -154,4 +154,4 @@ CustomerID:LAZYK EmployeeID:8 ShipPostalCode:99362 OrderDate:5/22/1997 ## See also -- [Basic Queries (LINQ to XML) (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/basic-queries-linq-to-xml.md) +- [Basic Queries (LINQ to XML) (Visual Basic)](./find-element-specific-attribute.md) diff --git a/docs/standard/linq/sort-elements.md b/docs/standard/linq/sort-elements.md index 1600514fd471e..e6b76a96c5f22 100644 --- a/docs/standard/linq/sort-elements.md +++ b/docs/standard/linq/sort-elements.md @@ -103,4 +103,4 @@ This example produces the following output: - [Sorting Data (C#)](../../csharp/programming-guide/concepts/linq/sorting-data.md) - [Sorting Data (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/sorting-data.md) -- [Basic Queries (LINQ to XML) (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/basic-queries-linq-to-xml.md) +- [Basic Queries (LINQ to XML) (Visual Basic)](./find-element-specific-attribute.md) diff --git a/docs/standard/linq/transform-shape-xml-tree.md b/docs/standard/linq/transform-shape-xml-tree.md index ec2b1ad2e9ce9..3baa342045b8b 100644 --- a/docs/standard/linq/transform-shape-xml-tree.md +++ b/docs/standard/linq/transform-shape-xml-tree.md @@ -196,4 +196,4 @@ This example produces the following output: ## See also -- [Projections and Transformations (LINQ to XML) (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/projections-and-transformations-linq-to-xml.md) +- [Projections and Transformations (LINQ to XML) (Visual Basic)](./work-dictionaries-linq-xml.md) diff --git a/docs/standard/linq/work-dictionaries-linq-xml.md b/docs/standard/linq/work-dictionaries-linq-xml.md index 699c6fc9f1707..0583d818d5235 100644 --- a/docs/standard/linq/work-dictionaries-linq-xml.md +++ b/docs/standard/linq/work-dictionaries-linq-xml.md @@ -106,4 +106,4 @@ Child4:Value4 ## See also -- [Projections and Transformations (LINQ to XML) (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/projections-and-transformations-linq-to-xml.md) +- [Projection Operations (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/projection-operations.md) diff --git a/docs/standard/linq/write-query-finds-elements-based-context.md b/docs/standard/linq/write-query-finds-elements-based-context.md index d4d4c4bd5bd9c..7fec539185712 100644 --- a/docs/standard/linq/write-query-finds-elements-based-context.md +++ b/docs/standard/linq/write-query-finds-elements-based-context.md @@ -176,4 +176,4 @@ id = 6 - - - -- [Basic Queries (LINQ to XML) (Visual Basic)](../../visual-basic/programming-guide/concepts/linq/basic-queries-linq-to-xml.md) +- [Basic Queries (LINQ to XML) (Visual Basic)](./find-element-specific-attribute.md) diff --git a/docs/standard/linq/xml-shape-wordprocessingml-documents.md b/docs/standard/linq/xml-shape-wordprocessingml-documents.md index 3bae14cde96e2..0747aeb425dbd 100644 --- a/docs/standard/linq/xml-shape-wordprocessingml-documents.md +++ b/docs/standard/linq/xml-shape-wordprocessingml-documents.md @@ -121,7 +121,7 @@ End Module ## See also -- [Introducing the Office (2007) Open XML File Formats](https://docs.microsoft.com/previous-versions/office/developer/office-2007/aa338205(v=office.12)) -- [Overview of WordprocessingML](https://docs.microsoft.com/previous-versions/office/developer/office-2003/aa212812(v=office.11)) +- [Introducing the Office (2007) Open XML File Formats](/previous-versions/office/developer/office-2007/aa338205(v=office.12)) +- [Overview of WordprocessingML](/previous-versions/office/developer/office-2003/aa212812(v=office.11)) - [Anatomy of a WordProcessingML File](http://officeopenxml.com/anatomyofOOXML.php) - [Introduction to WordprocessingML](https://ericwhite.com/blog/introduction-to-wordprocessingml-series/) diff --git a/docs/standard/native-interop/com-wrappers.md b/docs/standard/native-interop/com-wrappers.md index a89ac16ccd876..324f7708f2fb4 100644 --- a/docs/standard/native-interop/com-wrappers.md +++ b/docs/standard/native-interop/com-wrappers.md @@ -28,8 +28,8 @@ COM differs from the .NET runtime object model in several important ways: ## See also -- [Advanced COM Interoperability in .NET Framework](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/bd9cdfyx(v=vs.100)) +- [Advanced COM Interoperability in .NET Framework](/previous-versions/dotnet/netframework-4.0/bd9cdfyx(v=vs.100)) - [Runtime Callable Wrapper](runtime-callable-wrapper.md) - [COM Callable Wrapper](com-callable-wrapper.md) -- [Customizing Standard Wrappers in .NET Framework](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/h7hx9abd(v=vs.100)) -- [How to: Customize Runtime Callable Wrappers in .NET Framework](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/56kh4hy7(v=vs.100)) +- [Customizing Standard Wrappers in .NET Framework](/previous-versions/dotnet/netframework-4.0/h7hx9abd(v=vs.100)) +- [How to: Customize Runtime Callable Wrappers in .NET Framework](/previous-versions/dotnet/netframework-4.0/56kh4hy7(v=vs.100)) diff --git a/docs/standard/native-interop/exceptions-interoperability.md b/docs/standard/native-interop/exceptions-interoperability.md index 8763bbb6af7e9..6c1291c3886cd 100644 --- a/docs/standard/native-interop/exceptions-interoperability.md +++ b/docs/standard/native-interop/exceptions-interoperability.md @@ -16,7 +16,7 @@ Unmanaged code exception interop is supported on Windows platforms only. Portabi Interop with `setjmp` and `longjmp` C functions is not supported. You can't use `longjmp` to skip over managed frames. -For more information, see [longjmp documentation](https://docs.microsoft.com/cpp/c-runtime-library/reference/longjmp). +For more information, see [longjmp documentation](/cpp/c-runtime-library/reference/longjmp). ## See also diff --git a/docs/standard/native-interop/runtime-callable-wrapper.md b/docs/standard/native-interop/runtime-callable-wrapper.md index 728b1e04cffd4..24c7b859c04c7 100644 --- a/docs/standard/native-interop/runtime-callable-wrapper.md +++ b/docs/standard/native-interop/runtime-callable-wrapper.md @@ -55,5 +55,5 @@ The following image shows the process for accessing COM objects through the runt - [COM Wrappers](com-wrappers.md) - [COM Callable Wrapper](com-callable-wrapper.md) -- [Type Library to Assembly Conversion Summary](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/k83zzh38(v=vs.100)) +- [Type Library to Assembly Conversion Summary](/previous-versions/dotnet/netframework-4.0/k83zzh38(v=vs.100)) - [Importing a Type Library as an Assembly](../../framework/interop/importing-a-type-library-as-an-assembly.md) 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 1e1870bee6eb5..fe0177ab026f5 100644 --- a/docs/standard/parallel-programming/data-parallelism-task-parallel-library.md +++ b/docs/standard/parallel-programming/data-parallelism-task-parallel-library.md @@ -38,7 +38,7 @@ ms.assetid: 3f05f33f-f1da-4b16-81c2-9ceff1bef449 |-----------|-----------------| |[How to: Write a Simple Parallel.For Loop](how-to-write-a-simple-parallel-for-loop.md)|Describes how to write a loop over any array or indexable source collection.| |[How to: Write a Simple Parallel.ForEach Loop](how-to-write-a-simple-parallel-foreach-loop.md)|Describes how to write a loop over any source collection.| -|[How to: Stop or Break from a Parallel.For Loop](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/dd460721(v=vs.100))|Describes how to stop or break from a parallel loop so that all threads are informed of the action.| +|[How to: Stop or Break from a Parallel.For Loop](/previous-versions/dotnet/netframework-4.0/dd460721(v=vs.100))|Describes how to stop or break from a parallel loop so that all threads are informed of the action.| |[How to: Write a Parallel.For Loop with Thread-Local Variables](how-to-write-a-parallel-for-loop-with-thread-local-variables.md)|Describes how to write a loop in which each thread maintains a private variable that is not visible to any other threads, and how to synchronize the results from all threads when the loop completes.| |[How to: Write a Parallel.ForEach Loop with Partition-Local Variables](how-to-write-a-parallel-foreach-loop-with-partition-local-variables.md)|Describes how to write a loop in which each thread maintains a private variable that is not visible to any other threads, and how to synchronize the results from all threads when the loop completes.| |[How to: Cancel a Parallel.For or ForEach Loop](how-to-cancel-a-parallel-for-or-foreach-loop.md)|Describes how to cancel a parallel loop by using a | 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 b20bf0a1be943..9500b51a122d7 100644 --- a/docs/standard/parallel-programming/for-further-reading-parallel-programming.md +++ b/docs/standard/parallel-programming/for-further-reading-parallel-programming.md @@ -12,7 +12,7 @@ The following resources contain additional information about parallel programmin - The [Patterns for Parallel Programming: Understanding and Applying Parallel Patterns with the .NET Framework 4](https://www.microsoft.com/download/details.aspx?id=19222) document describes common parallel patterns and best practices for developing parallel components utilizing those patterns. -- The [Design Patterns for Decomposition and Coordination on Multicore Architectures](https://docs.microsoft.com/previous-versions/msp-n-p/ff963553(v=pandp.10)) book describes patterns for parallel programming that use the parallel programming support introduced in the .NET Framework 4. +- The [Design Patterns for Decomposition and Coordination on Multicore Architectures](/previous-versions/msp-n-p/ff963553(v=pandp.10)) book describes patterns for parallel programming that use the parallel programming support introduced in the .NET Framework 4. - The [Parallel Programming with .NET](https://devblogs.microsoft.com/pfxteam/) blog contains many in-depth articles about parallel programming in .NET. @@ -20,5 +20,5 @@ The following resources contain additional information about parallel programmin ## See also -- [Parallel Computing Developer Center](https://docs.microsoft.com/previous-versions/bb964701(v=msdn.10)) +- [Parallel Computing Developer Center](/previous-versions/bb964701(v=msdn.10)) - [Parallel Programming in Visual C++](/cpp/parallel/parallel-programming-in-visual-cpp) 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 488da0527c68c..faca231d68cda 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 @@ -22,7 +22,7 @@ In many cases, file iteration is an operation that can be easily parallelized. T The example uses the local `fileCount` variable to maintain a count of the total number of files processed. Because the variable might be accessed concurrently by multiple tasks, access to it is synchronized by calling the method. - Note that if an exception is thrown on the main thread, the threads that are started by the method might continue to run. To stop these threads, you can set a Boolean variable in your exception handlers, and check its value on each iteration of the parallel loop. If the value indicates that an exception has been thrown, use the variable to stop or break from the loop. For more information, see [How to: Stop or Break from a Parallel.For Loop](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/dd460721(v=vs.100)). + Note that if an exception is thrown on the main thread, the threads that are started by the method might continue to run. To stop these threads, you can set a Boolean variable in your exception handlers, and check its value on each iteration of the parallel loop. If the value indicates that an exception has been thrown, use the variable to stop or break from the loop. For more information, see [How to: Stop or Break from a Parallel.For Loop](/previous-versions/dotnet/netframework-4.0/dd460721(v=vs.100)). ## See also 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 756854bd16974..9aa3128779890 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 @@ -10,7 +10,7 @@ helpviewer_keywords: ms.assetid: c7a66677-cb59-4cbf-969a-d2e8fc61a6ce --- # 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](../../csharp/language-reference/keywords/for.md) loop in C# and the [For](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/44kykk21(v=vs.90)) 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](custom-partitioners-for-plinq-and-tpl.md). +When a loop has a small body, it might perform more slowly than the equivalent sequential loop, such as the [for](../../csharp/language-reference/keywords/for.md) loop in C# and the [For](/previous-versions/visualstudio/visual-studio-2008/44kykk21(v=vs.90)) 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](custom-partitioners-for-plinq-and-tpl.md). ## Example [!code-csharp[TPL_Partitioners#01](../../../samples/snippets/csharp/VS_Snippets_Misc/tpl_partitioners/cs/partitioner01.cs#01)] diff --git a/docs/standard/security/cross-platform-cryptography.md b/docs/standard/security/cross-platform-cryptography.md index 0481bc3cc84cc..45d4885caf1d6 100644 --- a/docs/standard/security/cross-platform-cryptography.md +++ b/docs/standard/security/cross-platform-cryptography.md @@ -145,7 +145,7 @@ ECDSA key curves are defined by the OS libraries and are subject to their limita 1 Linux distributions don't all have support for the same named curves. -2 Support for named curves was added to Windows CNG in Windows 10. For more information, see [CNG Named Elliptic Curves](https://msdn.microsoft.com/library/windows/desktop/mt632245(v=vs.85).aspx). Named curves are not available in earlier versions of Windows, except for three curves in Windows 7. +2 Support for named curves was added to Windows CNG in Windows 10. For more information, see [CNG Named Elliptic Curves](/windows/win32/seccng/cng-named-elliptic-curves). Named curves are not available in earlier versions of Windows, except for three curves in Windows 7. 3 Exporting with explicit curve parameters requires OS library support, which is not available on macOS or earlier versions of Windows. @@ -188,7 +188,7 @@ ECDH key curves are defined by the OS libraries and are subject to their limitat 1 Linux distributions don't all have support for the same named curves. -2 Support for named curves was added to Windows CNG in Windows 10. For more information, see [CNG Named Elliptic Curves](https://msdn.microsoft.com/library/windows/desktop/mt632245(v=vs.85).aspx). Named curves are not available in earlier versions of Windows, except for three curves in Windows 7. +2 Support for named curves was added to Windows CNG in Windows 10. For more information, see [CNG Named Elliptic Curves](/windows/win32/seccng/cng-named-elliptic-curves). Named curves are not available in earlier versions of Windows, except for three curves in Windows 7. 3 Exporting with explicit curve parameters requires OS library support, which is not available on macOS or earlier versions of Windows. diff --git a/docs/standard/security/cryptographic-services.md b/docs/standard/security/cryptographic-services.md index bd83f3d90477a..2f8d6d133f72d 100644 --- a/docs/standard/security/cryptographic-services.md +++ b/docs/standard/security/cryptographic-services.md @@ -145,7 +145,7 @@ Two parties (Alice and Bob) could use a hash function to ensure message integrit - Alice sends the plaintext message and the hashed message (digital signature) to Bob. Bob receives and hashes the message and compares his hash value to the hash value that he received from Alice. If the hash values are identical, the message was not altered. If the values are not identical, the message was altered after Alice wrote it. - Unfortunately, this method does not establish the authenticity of the sender. Anyone can impersonate Alice and send a message to Bob. They can use the same hash algorithm to sign their message, and all Bob can determine is that the message matches its signature. This is one form of a man-in-the-middle attack. For more information, see [Cryptography Next Generation (CNG) Secure Communication Example](https://docs.microsoft.com/previous-versions/cc488018(v=vs.100)). + Unfortunately, this method does not establish the authenticity of the sender. Anyone can impersonate Alice and send a message to Bob. They can use the same hash algorithm to sign their message, and all Bob can determine is that the message matches its signature. This is one form of a man-in-the-middle attack. For more information, see [Cryptography Next Generation (CNG) Secure Communication Example](/previous-versions/cc488018(v=vs.100)). - Alice sends the plaintext message to Bob over a nonsecure public channel. She sends the hashed message to Bob over a secure private channel. Bob receives the plaintext message, hashes it, and compares the hash to the privately exchanged hash. If the hashes match, Bob knows two things: 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 011c44d111641..c91c21ba74299 100644 --- a/docs/standard/security/how-to-create-a-windowsprincipal-object.md +++ b/docs/standard/security/how-to-create-a-windowsprincipal-object.md @@ -78,4 +78,4 @@ If code must repeatedly perform role-based validation, the first of the followin ## See also - [Principal and Identity Objects](principal-and-identity-objects.md) -- [ASP.NET Core Security](https://docs.microsoft.com/aspnet/core/security/) +- [ASP.NET Core Security](/aspnet/core/security/) 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 345de075fa9de..2ee856bb70564 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 @@ -18,7 +18,7 @@ ms.assetid: 465694cf-258b-4747-9dae-35b01a5bcdbb > [!NOTE] > This article applies to Windows. > -> For information about ASP.NET Core, see [Overview of ASP.NET Core Security](https://docs.microsoft.com/aspnet/core/security/). +> For information about ASP.NET Core, see [Overview of ASP.NET Core Security](/aspnet/core/security/). 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-store-asymmetric-keys-in-a-key-container.md b/docs/standard/security/how-to-store-asymmetric-keys-in-a-key-container.md index 380bc9edfd3cd..139ee1c62fd3b 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 @@ -20,7 +20,7 @@ ms.assetid: 0dbcbd8d-0dcf-40e9-9f0c-e3f162d35ccc # 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, use a key container. For more information on key containers, see [Understanding machine-level and user-level RSA key containers](https://docs.microsoft.com/previous-versions/aspnet/f5cs0acs(v=vs.100)). +Asymmetric private keys should never be stored verbatim or in plain text on the local computer. If you need to store a private key, use a key container. For more information on key containers, see [Understanding machine-level and user-level RSA key containers](/previous-versions/aspnet/f5cs0acs(v=vs.100)). > [!NOTE] > The code in this article applies to Windows and uses features not available in .NET Core 2.2 and earlier versions. For more information, see [dotnet/runtime#23391](https://github.com/dotnet/runtime/issues/23391). diff --git a/docs/standard/security/key-security-concepts.md b/docs/standard/security/key-security-concepts.md index 4dc947389f0c5..24159b9aee528 100644 --- a/docs/standard/security/key-security-concepts.md +++ b/docs/standard/security/key-security-concepts.md @@ -17,7 +17,7 @@ ms.assetid: 3cfced4f-ea02-4e66-ae98-d69286363e98 > [!NOTE] > This article applies to Windows. > -> For information about ASP.NET Core, see [Overview of ASP.NET Core Security](https://docs.microsoft.com/aspnet/core/security/). +> For information about ASP.NET Core, see [Overview of ASP.NET Core Security](/aspnet/core/security/). .NET 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/serialization/binary-serialization.md b/docs/standard/serialization/binary-serialization.md index 7c8518b50bd6a..61feb086e0223 100644 --- a/docs/standard/serialization/binary-serialization.md +++ b/docs/standard/serialization/binary-serialization.md @@ -344,8 +344,8 @@ Describes the XML serialization mechanism that is included with the common langu - [Security and Serialization](../../framework/misc/security-and-serialization.md)\ Describes the secure coding guidelines to follow when writing code that performs serialization. -- [.NET Remoting](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/72x4h507(v=vs.100))\ +- [.NET Remoting](/previous-versions/dotnet/netframework-4.0/72x4h507(v=vs.100))\ Describes the various methods Starting in .NET Framework for remote communications. -- [XML Web Services Created Using ASP.NET and XML Web Service Clients](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/7bkzywba(v=vs.100))\ +- [XML Web Services Created Using ASP.NET and XML Web Service Clients](/previous-versions/dotnet/netframework-4.0/7bkzywba(v=vs.100))\ Articles that describe and explain how to program XML Web services created using ASP.NET. diff --git a/docs/standard/serialization/introducing-xml-serialization.md b/docs/standard/serialization/introducing-xml-serialization.md index 101883cba6a0a..63715c7161b38 100644 --- a/docs/standard/serialization/introducing-xml-serialization.md +++ b/docs/standard/serialization/introducing-xml-serialization.md @@ -33,7 +33,7 @@ Serialization is the process of converting an object into a form that can be rea The **XmlSerializer** class can further serialize an object and generate an encoded SOAP XML stream. The generated XML adheres to section 5 of the World Wide Web Consortium document titled "Simple Object Access Protocol (SOAP) 1.1." For more information about this process, see [How to: Serialize an Object as a SOAP-Encoded XML Stream](how-to-serialize-an-object-as-a-soap-encoded-xml-stream.md). For a table of the attributes that control the generated XML, see [Attributes That Control Encoded SOAP Serialization](attributes-that-control-encoded-soap-serialization.md). - The **XmlSerializer** class generates the SOAP messages created by, and passed to, XML Web services. To control the SOAP messages, you can apply attributes to the classes, return values, parameters, and fields found in an XML Web service file (.asmx). You can use both the attributes listed in "Attributes That Control XML Serialization" and "Attributes That Control Encoded SOAP Serialization" because an XML Web service can use either the literal or encoded SOAP style. For more information about using attributes to control the XML generated by an XML Web service, see [XML Serialization with XML Web Services](xml-serialization-with-xml-web-services.md). For more information about SOAP and XML Web services, see [Customizing SOAP Message Formatting](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/dkwy2d72(v=vs.100)). + The **XmlSerializer** class generates the SOAP messages created by, and passed to, XML Web services. To control the SOAP messages, you can apply attributes to the classes, return values, parameters, and fields found in an XML Web service file (.asmx). You can use both the attributes listed in "Attributes That Control XML Serialization" and "Attributes That Control Encoded SOAP Serialization" because an XML Web service can use either the literal or encoded SOAP style. For more information about using attributes to control the XML generated by an XML Web service, see [XML Serialization with XML Web Services](xml-serialization-with-xml-web-services.md). For more information about SOAP and XML Web services, see [Customizing SOAP Message Formatting](/previous-versions/dotnet/netframework-4.0/dkwy2d72(v=vs.100)). ## Security Considerations for XmlSerializer Applications diff --git a/docs/standard/serialization/serialization-concepts.md b/docs/standard/serialization/serialization-concepts.md index 7c40641d4371f..847f8393b5c2a 100644 --- a/docs/standard/serialization/serialization-concepts.md +++ b/docs/standard/serialization/serialization-concepts.md @@ -25,7 +25,7 @@ When an object derives from `MarshalByRefObject`, an object reference is passed [Binary Serialization](binary-serialization.md) Describes the binary serialization mechanism that is included with the common language runtime. - [.NET Remoting](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/72x4h507(v=vs.100))\ + [.NET Remoting](/previous-versions/dotnet/netframework-4.0/72x4h507(v=vs.100))\ Describes the various communications methods available in the .NET Framework for remote communications. [XML and SOAP Serialization](xml-and-soap-serialization.md) diff --git a/docs/standard/serialization/serialization-guidelines.md b/docs/standard/serialization/serialization-guidelines.md index 4fd3abb5bd095..c3d243ff20e81 100644 --- a/docs/standard/serialization/serialization-guidelines.md +++ b/docs/standard/serialization/serialization-guidelines.md @@ -139,6 +139,6 @@ This document lists the guidelines to consider when designing an API to be seria - [Data Contract Serializer](../../framework/wcf/feature-details/data-contract-serializer.md) - [Types Supported by the Data Contract Serializer](../../framework/wcf/feature-details/types-supported-by-the-data-contract-serializer.md) - [Binary Serialization](binary-serialization.md) -- [.NET Remoting](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/72x4h507(v=vs.100)) +- [.NET Remoting](/previous-versions/dotnet/netframework-4.0/72x4h507(v=vs.100)) - [XML and SOAP Serialization](xml-and-soap-serialization.md) - [Security and Serialization](../../framework/misc/security-and-serialization.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 e0bee46c102f4..44905b1b10fc3 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 @@ -28,4 +28,4 @@ For more information about using the tool, see [XML Schema Definition Tool (Xsd. - [How to: Serialize an Object](how-to-serialize-an-object.md) - [How to: Deserialize an Object](how-to-deserialize-an-object.md) - [How to: Use the XML Schema Definition Tool to Generate Classes and XML Schema Documents](xml-schema-def-tool-gen.md) -- [XML Schema Binding Support](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/sh1e66zd(v=vs.100)) +- [XML Schema Binding Support](/previous-versions/dotnet/netframework-4.0/sh1e66zd(v=vs.100)) diff --git a/docs/standard/serialization/xml-and-soap-serialization.md b/docs/standard/serialization/xml-and-soap-serialization.md index be9bc617361d5..dd2dd10979471 100644 --- a/docs/standard/serialization/xml-and-soap-serialization.md +++ b/docs/standard/serialization/xml-and-soap-serialization.md @@ -24,4 +24,4 @@ To serialize or deserialize objects, use 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](attributes-that-control-xml-serialization.md) and [Attributes That Control Encoded SOAP 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 [XML Web Services Using ASP.NET](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ba0z6a33(v=vs.100)). +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](attributes-that-control-xml-serialization.md) and [Attributes That Control Encoded SOAP 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 [XML Web Services Using ASP.NET](/previous-versions/dotnet/netframework-4.0/ba0z6a33(v=vs.100)). ## Literal and Encoded Styles - The XML generated by an XML Web service can be formatted in either one of two ways, either literal or encoded, as explained in [Customizing SOAP Message Formatting](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/dkwy2d72(v=vs.100)). Therefore there are two sets of attributes that control XML serialization. The attributes listed in [Attributes That Control XML Serialization](attributes-that-control-xml-serialization.md) are designed to control literal style XML. The attributes listed in [Attributes That Control Encoded SOAP Serialization](attributes-that-control-encoded-soap-serialization.md) control the encoded style. By selectively applying these attributes, you can tailor an application to return either, or both styles. Furthermore, these attributes can be applied (as appropriate) to return values and parameters. + The XML generated by an XML Web service can be formatted in either one of two ways, either literal or encoded, as explained in [Customizing SOAP Message Formatting](/previous-versions/dotnet/netframework-4.0/dkwy2d72(v=vs.100)). Therefore there are two sets of attributes that control XML serialization. The attributes listed in [Attributes That Control XML Serialization](attributes-that-control-xml-serialization.md) are designed to control literal style XML. The attributes listed in [Attributes That Control Encoded SOAP Serialization](attributes-that-control-encoded-soap-serialization.md) control the encoded style. By selectively applying these attributes, you can tailor an application to return either, or both styles. Furthermore, these attributes can be applied (as appropriate) to return values and parameters. ### Example of Using Both Styles When you're creating an XML Web service, you can use both sets of attributes on the methods. In the following code example, the class named `MyService` contains two XML Web service methods, `MyLiteralMethod` and `MyEncodedMethod`. Both methods perform the same function: returning an instance of the `Order` class. In the `Order` class, the and the attributes are both applied to the `OrderID` field, and both attributes have their `ElementName` property set to different values. diff --git a/docs/standard/threading/managed-threading-best-practices.md b/docs/standard/threading/managed-threading-best-practices.md index 16063d5cad462..14556b3be8cd1 100644 --- a/docs/standard/threading/managed-threading-best-practices.md +++ b/docs/standard/threading/managed-threading-best-practices.md @@ -72,7 +72,7 @@ else { ## Number of processors -Whether there are multiple processors or only one processor available on a system can influence multithreaded architecture. For more information, see [Number of Processors](https://docs.microsoft.com/previous-versions/dotnet/netframework-1.1/1c9txz50(v%3dvs.71)#number-of-processors). +Whether there are multiple processors or only one processor available on a system can influence multithreaded architecture. For more information, see [Number of Processors](/previous-versions/dotnet/netframework-1.1/1c9txz50(v=vs.71)#number-of-processors). Use the property to determine the number of processors available at run time. diff --git a/docs/visual-basic/developing-apps/creating-and-using-components.md b/docs/visual-basic/developing-apps/creating-and-using-components.md index b3b3674587aa7..433807c5cf373 100644 --- a/docs/visual-basic/developing-apps/creating-and-using-components.md +++ b/docs/visual-basic/developing-apps/creating-and-using-components.md @@ -57,9 +57,9 @@ A *component* is a class that implements the control. For more information, see [ListBox Control](../../../../framework/winforms/controls/listbox-control-windows-forms.md). + Typically, a user selects which serial port the application should use from the list of available ports. In this example, the serial port names are stored in a control. For more information, see [ListBox Control](/dotnet/desktop/winforms/controls/listbox-control-windows-forms). [!code-vb[VbVbalrMyComputer#45](~/samples/snippets/visualbasic/VS_Snippets_VBCSharp/VbVbalrMyComputer/VB/Class2.vb#45)] diff --git a/docs/visual-basic/developing-apps/programming/drives-directories-files/how-to-read-text-from-files-with-a-streamreader.md b/docs/visual-basic/developing-apps/programming/drives-directories-files/how-to-read-text-from-files-with-a-streamreader.md index 7713e0f68c836..92706c04137f3 100644 --- a/docs/visual-basic/developing-apps/programming/drives-directories-files/how-to-read-text-from-files-with-a-streamreader.md +++ b/docs/visual-basic/developing-apps/programming/drives-directories-files/how-to-read-text-from-files-with-a-streamreader.md @@ -28,7 +28,7 @@ The `My.Computer.FileSystem` object provides methods to open a class. If you are running in a partial-trust context, the code might throw an exception due to insufficient privileges. For more information, see [Code Access Security Basics](../../../../framework/misc/code-access-security-basics.md). The user also needs access to the file. For more information, see [ACL Technology Overview](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms229742(v=vs.100)). + To read from a file, your assembly requires a privilege level granted by the class. If you are running in a partial-trust context, the code might throw an exception due to insufficient privileges. For more information, see [Code Access Security Basics](../../../../framework/misc/code-access-security-basics.md). The user also needs access to the file. For more information, see [ACL Technology Overview](/previous-versions/dotnet/netframework-4.0/ms229742(v=vs.100)). ## See also @@ -36,5 +36,5 @@ The `My.Computer.FileSystem` object provides methods to open a - - -- [SaveFileDialog Component](../../../../framework/winforms/controls/savefiledialog-component-windows-forms.md) +- [SaveFileDialog Component](/dotnet/desktop/winforms/controls/savefiledialog-component-windows-forms) - [Reading from Files](reading-from-files.md) diff --git a/docs/visual-basic/developing-apps/programming/drives-directories-files/how-to-write-text-to-files-in-the-my-documents-directory.md b/docs/visual-basic/developing-apps/programming/drives-directories-files/how-to-write-text-to-files-in-the-my-documents-directory.md index 0a190bcdc36e3..53c75678ade5f 100644 --- a/docs/visual-basic/developing-apps/programming/drives-directories-files/how-to-write-text-to-files-in-the-my-documents-directory.md +++ b/docs/visual-basic/developing-apps/programming/drives-directories-files/how-to-write-text-to-files-in-the-my-documents-directory.md @@ -34,13 +34,13 @@ The `My.Computer.FileSystem.SpecialDirectories` object allows you to access spec ## Robust Programming - This code rethrows all the exceptions that may occur when writing text to the file. You can reduce the likelihood of exceptions by using Windows Forms controls such as the [OpenFileDialog](../../../../framework/winforms/controls/openfiledialog-component-windows-forms.md) and the [SaveFileDialog](../../../../framework/winforms/controls/savefiledialog-component-windows-forms.md) components that limit the user choices to valid file names. Using these controls is not foolproof, however. The file system can change between the time the user selects a file and the time that the code executes. Exception handling is therefore nearly always necessary when with working with files. + This code rethrows all the exceptions that may occur when writing text to the file. You can reduce the likelihood of exceptions by using Windows Forms controls such as the [OpenFileDialog](/dotnet/desktop/winforms/controls/openfiledialog-component-windows-forms) and the [SaveFileDialog](/dotnet/desktop/winforms/controls/savefiledialog-component-windows-forms) components that limit the user choices to valid file names. Using these controls is not foolproof, however. The file system can change between the time the user selects a file and the time that the code executes. Exception handling is therefore nearly always necessary when with working with files. ## .NET Framework Security If you are running in a partial-trust context, the code might throw an exception due to insufficient privileges. For more information, see [Code Access Security Basics](../../../../framework/misc/code-access-security-basics.md). - This example creates a new file. If an application needs to create a file, that application needs Create permission for the folder. Permissions are set using access control lists. If the file already exists, the application needs only Write permission, a lesser privilege. Where possible, it is more secure to create the file during deployment, and only grant Read privileges to a single file, rather than to grant Create privileges for a folder. Also, it is more secure to write data to user folders than to the root folder or the **Program Files** folder. For more information, see [ACL Technology Overview](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ms229742(v=vs.100)). + This example creates a new file. If an application needs to create a file, that application needs Create permission for the folder. Permissions are set using access control lists. If the file already exists, the application needs only Write permission, a lesser privilege. Where possible, it is more secure to create the file during deployment, and only grant Read privileges to a single file, rather than to grant Create privileges for a folder. Also, it is more secure to write data to user folders than to the root folder or the **Program Files** folder. For more information, see [ACL Technology Overview](/previous-versions/dotnet/netframework-4.0/ms229742(v=vs.100)). ## See also diff --git a/docs/visual-basic/developing-apps/windows-forms/index.md b/docs/visual-basic/developing-apps/windows-forms/index.md index d43da52d73c68..d52761355ec64 100644 --- a/docs/visual-basic/developing-apps/windows-forms/index.md +++ b/docs/visual-basic/developing-apps/windows-forms/index.md @@ -14,9 +14,9 @@ An important part of Visual Basic is the ability to create Windows Forms applica You can create Windows Forms and Windows service applications with Visual Studio. For more information, see the following topics: -- [Getting Started with Windows Forms](../../../framework/winforms/getting-started-with-windows-forms.md). Provides information on how to create and program Windows Forms. +- [Getting Started with Windows Forms](/dotnet/desktop/winforms/getting-started-with-windows-forms). Provides information on how to create and program Windows Forms. -- [Windows Forms Controls](../../../framework/winforms/controls/index.md). Collection of topics detailing the use of Windows Forms controls. +- [Windows Forms Controls](/dotnet/desktop/winforms/controls/). Collection of topics detailing the use of Windows Forms controls. - [Windows Service Applications](../../../framework/windows-services/index.md). Lists topics that explain how to create Windows services. @@ -28,11 +28,11 @@ In Windows Forms, a form is a visual surface on which you display information to ### Events -When a user does something to your form or one of its controls, it generates an event. Your application reacts to these events by using code, and processes the events when they occur. For more information, see [Creating Event Handlers in Windows Forms](../../../framework/winforms/creating-event-handlers-in-windows-forms.md). +When a user does something to your form or one of its controls, it generates an event. Your application reacts to these events by using code, and processes the events when they occur. For more information, see [Creating Event Handlers in Windows Forms](/dotnet/desktop/winforms/creating-event-handlers-in-windows-forms). ### Controls -Windows Forms contains a variety of controls that you can place on forms: controls that display text boxes, buttons, drop-down boxes, radio buttons, and even Web pages. For a list of all the controls you can use on a form, see [Controls to Use on Windows Forms](../../../framework/winforms/controls/controls-to-use-on-windows-forms.md). If an existing control does not meet your needs, Windows Forms also supports creating your own custom controls using the class. +Windows Forms contains a variety of controls that you can place on forms: controls that display text boxes, buttons, drop-down boxes, radio buttons, and even Web pages. For a list of all the controls you can use on a form, see [Controls to Use on Windows Forms](/dotnet/desktop/winforms/controls/controls-to-use-on-windows-forms). If an existing control does not meet your needs, Windows Forms also supports creating your own custom controls using the class. Windows Forms has rich UI controls that emulate features in high-end applications like Microsoft Office. Using the and control, you can create toolbars and menus that contain text and images, display submenus, and host other controls such as text boxes and combo boxes. @@ -47,9 +47,9 @@ For step-by-step information about using these features, see the following Help |To|See| |--------|---------| |Create a new Windows Forms application with Visual Studio|[Tutorial 1: Create a picture viewer](/visualstudio/ide/tutorial-1-create-a-picture-viewer)| -|Use controls on forms|[How to: Add Controls to Windows Forms](../../../framework/winforms/controls/how-to-add-controls-to-windows-forms.md)| -|Create graphics with |[Getting Started with Graphics Programming](../../../framework/winforms/advanced/getting-started-with-graphics-programming.md)| -|Create custom controls|[How to: Inherit from the UserControl Class](../../../framework/winforms/controls/how-to-inherit-from-the-usercontrol-class.md)| +|Use controls on forms|[How to: Add Controls to Windows Forms](/dotnet/desktop/winforms/controls/how-to-add-controls-to-windows-forms)| +|Create graphics with |[Getting Started with Graphics Programming](/dotnet/desktop/winforms/advanced/getting-started-with-graphics-programming)| +|Create custom controls|[How to: Inherit from the UserControl Class](/dotnet/desktop/winforms/controls/how-to-inherit-from-the-usercontrol-class)| ## Displaying and Manipulating Data @@ -69,8 +69,8 @@ For step-by-step information about using these features, see the following Help |To|See| |--------|---------| -|Use the component|[How to: Bind Windows Forms Controls with the BindingSource Component Using the Designer](../../../framework/winforms/controls/bind-wf-controls-with-the-bindingsource.md)| -|Work with ADO.NET data sources|[How to: Sort and Filter ADO.NET Data with the Windows Forms BindingSource Component](../../../framework/winforms/controls/sort-and-filter-ado-net-data-with-wf-bindingsource-component.md)| +|Use the component|[How to: Bind Windows Forms Controls with the BindingSource Component Using the Designer](/dotnet/desktop/winforms/controls/bind-wf-controls-with-the-bindingsource)| +|Work with ADO.NET data sources|[How to: Sort and Filter ADO.NET Data with the Windows Forms BindingSource Component](/dotnet/desktop/winforms/controls/sort-and-filter-ado-net-data-with-wf-bindingsource-component)| |Use the Data Sources window|[Walkthrough: Displaying Data on a Windows Form](/visualstudio/data-tools/accessing-data-in-visual-studio)| ## Deploying Applications to Client Computers @@ -97,11 +97,11 @@ For step-by-step information about using these features, see the following Help |To|See| |--------|---------| -|Print the contents of a form|[How to: Print Graphics in Windows Forms](../../../framework/winforms/advanced/how-to-print-graphics-in-windows-forms.md)

[How to: Print a Multi-Page Text File in Windows Forms](../../../framework/winforms/advanced/how-to-print-a-multi-page-text-file-in-windows-forms.md)| -|Learn more about Windows Forms security|[Security in Windows Forms Overview](../../../framework/winforms/security-in-windows-forms-overview.md)| +|Print the contents of a form|[How to: Print Graphics in Windows Forms](/dotnet/desktop/winforms/advanced/how-to-print-graphics-in-windows-forms)

[How to: Print a Multi-Page Text File in Windows Forms](/dotnet/desktop/winforms/advanced/how-to-print-a-multi-page-text-file-in-windows-forms)| +|Learn more about Windows Forms security|[Security in Windows Forms Overview](/dotnet/desktop/winforms/security-in-windows-forms-overview)| ## See also - -- [Windows Forms Overview](../../../framework/winforms/windows-forms-overview.md) +- [Windows Forms Overview](/dotnet/desktop/winforms/windows-forms-overview) - [My.Forms Object](../../language-reference/objects/my-forms-object.md) diff --git a/docs/visual-basic/index.yml b/docs/visual-basic/index.yml index f673ae21e68b2..3b1801abb7e99 100644 --- a/docs/visual-basic/index.yml +++ b/docs/visual-basic/index.yml @@ -42,7 +42,7 @@ landingContent: - linkListType: whats-new links: - text: What's new in Visual Basic - url: getting-started/whats-new.md + url: ./whats-new/index.md - linkListType: concept links: - text: Structure of a Visual Basic app @@ -69,4 +69,4 @@ landingContent: - text: String functions url: language-reference/functions/string-functions.md - text: Language specification - url: reference/language-specification/index.md + url: reference/language-specification/index.md \ No newline at end of file diff --git a/docs/visual-basic/language-reference/statements/declare-statement.md b/docs/visual-basic/language-reference/statements/declare-statement.md index fe1c2cf3a40d9..a20e8e4938aca 100644 --- a/docs/visual-basic/language-reference/statements/declare-statement.md +++ b/docs/visual-basic/language-reference/statements/declare-statement.md @@ -123,7 +123,7 @@ External references default to [Public](../modifiers/public.md) access. You can - **Mechanism.** Visual Basic uses the .NET Framework *platform invoke* (PInvoke) mechanism to resolve and access external procedures. The `Declare` statement and the class both use this mechanism automatically, and you do not need any knowledge of PInvoke. For more information, see [Walkthrough: Calling Windows APIs](../../programming-guide/com-interop/walkthrough-calling-windows-apis.md). > [!IMPORTANT] -> If the external procedure runs outside the common language runtime (CLR), it is *unmanaged code*. When you call such a procedure, for example a Windows API function or a COM method, you might expose your application to security risks. For more information, see [Secure Coding Guidelines for Unmanaged Code](https://docs.microsoft.com/previous-versions/dotnet/framework/security/secure-coding-guidelines-for-unmanaged-code). +> If the external procedure runs outside the common language runtime (CLR), it is *unmanaged code*. When you call such a procedure, for example a Windows API function or a COM method, you might expose your application to security risks. For more information, see [Secure Coding Guidelines for Unmanaged Code](/previous-versions/dotnet/framework/security/secure-coding-guidelines-for-unmanaged-code). ## Example diff --git a/docs/visual-basic/misc/bc31007.md b/docs/visual-basic/misc/bc31007.md index 94e2ec03e9ccf..63921ddc619b6 100644 --- a/docs/visual-basic/misc/bc31007.md +++ b/docs/visual-basic/misc/bc31007.md @@ -19,4 +19,4 @@ A file containing a module for this project could not be opened. ## See also -- [File Types and File Extensions in Visual Basic and Visual C#](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2010/8k0zafxb(v=vs.100)) +- [File Types and File Extensions in Visual Basic and Visual C#](/previous-versions/visualstudio/visual-studio-2010/8k0zafxb(v=vs.100)) diff --git a/docs/visual-basic/misc/bc31013.md b/docs/visual-basic/misc/bc31013.md index d9ec28eb2c7ef..47de512d3bfd3 100644 --- a/docs/visual-basic/misc/bc31013.md +++ b/docs/visual-basic/misc/bc31013.md @@ -19,5 +19,5 @@ A DLL referenced by this project could not be loaded. ## See also -- [File Types and File Extensions in Visual Basic and Visual C#](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2010/8k0zafxb(v=vs.100)) +- [File Types and File Extensions in Visual Basic and Visual C#](/previous-versions/visualstudio/visual-studio-2010/8k0zafxb(v=vs.100)) - [Managing references in a project](/visualstudio/ide/managing-references-in-a-project) diff --git a/docs/visual-basic/misc/bc31027.md b/docs/visual-basic/misc/bc31027.md index fc2b3e7572103..1e55f3ed8070f 100644 --- a/docs/visual-basic/misc/bc31027.md +++ b/docs/visual-basic/misc/bc31027.md @@ -19,4 +19,4 @@ There was an error opening a file in this project. ## See also -- [File Types and File Extensions in Visual Basic and Visual C#](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2010/8k0zafxb(v=vs.100)) +- [File Types and File Extensions in Visual Basic and Visual C#](/previous-versions/visualstudio/visual-studio-2010/8k0zafxb(v=vs.100)) diff --git a/docs/visual-basic/misc/bc31072.md b/docs/visual-basic/misc/bc31072.md index 9920b3e426197..6b73c47af400a 100644 --- a/docs/visual-basic/misc/bc31072.md +++ b/docs/visual-basic/misc/bc31072.md @@ -22,5 +22,5 @@ A warning was encountered when running an assembly compiled with the **Treat War ## See also - [-warnaserror (Visual Basic)](../reference/command-line-compiler/warnaserror.md) -- [Property Pages Build Page](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2010/zxbs6ywz(v=vs.100)) -- [Build, Configuration Properties, Deployment Project Properties Dialog Box](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2010/1befw7hy(v=vs.100)) +- [Property Pages Build Page](/previous-versions/visualstudio/visual-studio-2010/zxbs6ywz(v=vs.100)) +- [Build, Configuration Properties, Deployment Project Properties Dialog Box](/previous-versions/visualstudio/visual-studio-2010/1befw7hy(v=vs.100)) diff --git a/docs/visual-basic/misc/bc42200.md b/docs/visual-basic/misc/bc42200.md index bfb925e18ce5d..2dc07449ecf74 100644 --- a/docs/visual-basic/misc/bc42200.md +++ b/docs/visual-basic/misc/bc42200.md @@ -23,4 +23,4 @@ A security link demand action has been added to the method. However, the method - [Link Demands](../../framework/misc/link-demands.md) - [Demand vs. LinkDemand](../../framework/misc/securing-wrapper-code.md#demand-vs-linkdemand) -- [Security Optimizations](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/ett3th5b(v=vs.100)) +- [Security Optimizations](/previous-versions/dotnet/netframework-4.0/ett3th5b(v=vs.100)) diff --git a/docs/visual-basic/misc/file-information-cannot-be-queried-if-the-file-does-not-exist.md b/docs/visual-basic/misc/file-information-cannot-be-queried-if-the-file-does-not-exist.md index e2a4b9ab4ea5a..6ff27ee26189c 100644 --- a/docs/visual-basic/misc/file-information-cannot-be-queried-if-the-file-does-not-exist.md +++ b/docs/visual-basic/misc/file-information-cannot-be-queried-if-the-file-does-not-exist.md @@ -13,5 +13,5 @@ An attempt has been made to query a object for informa ## See also - [My.Computer.FileSystem](xref:Microsoft.VisualBasic.FileIO.FileSystem) -- [How to: Get Information About a File in Visual Basic](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2010/abtzf6f7(v=vs.100)) +- [How to: Get Information About a File in Visual Basic](/previous-versions/visualstudio/visual-studio-2010/abtzf6f7(v=vs.100)) - [How to: Parse File Paths](../developing-apps/programming/drives-directories-files/how-to-parse-file-paths.md) diff --git a/docs/visual-basic/misc/file-information-cannot-be-queried-while-open-for-writing.md b/docs/visual-basic/misc/file-information-cannot-be-queried-while-open-for-writing.md index 5f4c990a67985..388aba9af1fa1 100644 --- a/docs/visual-basic/misc/file-information-cannot-be-queried-while-open-for-writing.md +++ b/docs/visual-basic/misc/file-information-cannot-be-queried-while-open-for-writing.md @@ -14,4 +14,4 @@ An attempt was made to obtain information about a file that is currently open fo - - -- [How to: Get Information About a File in Visual Basic](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2010/abtzf6f7(v=vs.100)) +- [How to: Get Information About a File in Visual Basic](/previous-versions/visualstudio/visual-studio-2010/abtzf6f7(v=vs.100)) diff --git a/docs/visual-basic/misc/file-specified-in-filename-is-not-a-valid-xml-file.md b/docs/visual-basic/misc/file-specified-in-filename-is-not-a-valid-xml-file.md index f5d57fc72b879..716053365f725 100644 --- a/docs/visual-basic/misc/file-specified-in-filename-is-not-a-valid-xml-file.md +++ b/docs/visual-basic/misc/file-specified-in-filename-is-not-a-valid-xml-file.md @@ -8,7 +8,7 @@ ms.assetid: c4c30bf3-e0ad-4bc8-89e0-2c3e49e9793b The file name that you supplied is not a valid XML file. To specify the allowed structure and content of an XML document, you can use a Document Type Definition (DTD), a Microsoft XML-Data Reduced (XDR) schema, or an XML Schema definition language (XSD) schema. XSD schemas are the preferred way to specify XML grammars in the .NET Framework. > [!NOTE] -> In some earlier versions of Visual Studio, the **XML Designer** is the designer for typed datasets and XML schema. The **XML Designer** can still be used to create and edit XML schema files. However, in Visual Studio 2012, the designer for creating and editing typed datasets is the **Dataset Designer**. For more information, see [Creating and Editing Typed Datasets](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2013/314t4see(v=vs.120)). +> In some earlier versions of Visual Studio, the **XML Designer** is the designer for typed datasets and XML schema. The **XML Designer** can still be used to create and edit XML schema files. However, in Visual Studio 2012, the designer for creating and editing typed datasets is the **Dataset Designer**. For more information, see [Creating and Editing Typed Datasets](/previous-versions/visualstudio/visual-studio-2013/314t4see(v=vs.120)). ## To correct this error diff --git a/docs/visual-basic/misc/only-the-first-eight-characters-of-a-custom-log-name-are-significant.md b/docs/visual-basic/misc/only-the-first-eight-characters-of-a-custom-log-name-are-significant.md index e80da463b54b2..b86230de9a5d3 100644 --- a/docs/visual-basic/misc/only-the-first-eight-characters-of-a-custom-log-name-are-significant.md +++ b/docs/visual-basic/misc/only-the-first-eight-characters-of-a-custom-log-name-are-significant.md @@ -12,5 +12,5 @@ When checking event log names for uniqueness, only the first eight characters ar ## See also -- [How to: Create and Remove Custom Event Logs](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/49dwckkz(v=vs.90)) -- [Administering Event Logs](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/4f69axw4(v=vs.90)) +- [How to: Create and Remove Custom Event Logs](/previous-versions/visualstudio/visual-studio-2008/49dwckkz(v=vs.90)) +- [Administering Event Logs](/previous-versions/visualstudio/visual-studio-2008/4f69axw4(v=vs.90)) diff --git a/docs/visual-basic/misc/process-processname-was-not-found.md b/docs/visual-basic/misc/process-processname-was-not-found.md index f16513500f2ff..b5d528407c9a0 100644 --- a/docs/visual-basic/misc/process-processname-was-not-found.md +++ b/docs/visual-basic/misc/process-processname-was-not-found.md @@ -14,4 +14,4 @@ The specified process cannot be located. ## See also -- [Managing Processes](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/z63bbakd(v=vs.90)) +- [Managing Processes](/previous-versions/visualstudio/visual-studio-2008/z63bbakd(v=vs.90)) diff --git a/docs/visual-basic/misc/source-name-specified-in-eventlogsource-is-registered-to-another-log.md b/docs/visual-basic/misc/source-name-specified-in-eventlogsource-is-registered-to-another-log.md index dd8f88e89349e..96c19ab8b0fef 100644 --- a/docs/visual-basic/misc/source-name-specified-in-eventlogsource-is-registered-to-another-log.md +++ b/docs/visual-basic/misc/source-name-specified-in-eventlogsource-is-registered-to-another-log.md @@ -14,7 +14,7 @@ The `EventLog` is attempting to refer to a source that is registered to a differ ## See also -- [Administering Event Logs](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/4f69axw4(v=vs.90)) -- [Event Log References](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/k43k9z2a(v=vs.90)) -- [How to: Add Your Application as a Source of Event Log Entries](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/xz73e171(v=vs.90)) -- [How to: Remove an Event Source](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/k57466fc(v=vs.90)) +- [Administering Event Logs](/previous-versions/visualstudio/visual-studio-2008/4f69axw4(v=vs.90)) +- [Event Log References](/previous-versions/visualstudio/visual-studio-2008/k43k9z2a(v=vs.90)) +- [How to: Add Your Application as a Source of Event Log Entries](/previous-versions/visualstudio/visual-studio-2008/xz73e171(v=vs.90)) +- [How to: Remove an Event Source](/previous-versions/visualstudio/visual-studio-2008/k57466fc(v=vs.90)) diff --git a/docs/visual-basic/misc/specified-event-log-does-not-exist-on-this-machine.md b/docs/visual-basic/misc/specified-event-log-does-not-exist-on-this-machine.md index 45c9f899ed5b0..e91a71bdc1a21 100644 --- a/docs/visual-basic/misc/specified-event-log-does-not-exist-on-this-machine.md +++ b/docs/visual-basic/misc/specified-event-log-does-not-exist-on-this-machine.md @@ -12,5 +12,5 @@ An attempt has been made to access an event log that does not exist on this mach ## See also -- [Administering Event Logs](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/4f69axw4(v=vs.90)) +- [Administering Event Logs](/previous-versions/visualstudio/visual-studio-2008/4f69axw4(v=vs.90)) - [How to: Parse File Paths](../developing-apps/programming/drives-directories-files/how-to-parse-file-paths.md) diff --git a/docs/visual-basic/misc/system-event-log-cannot-be-deleted.md b/docs/visual-basic/misc/system-event-log-cannot-be-deleted.md index 07f790824b1c7..ed8df7143f086 100644 --- a/docs/visual-basic/misc/system-event-log-cannot-be-deleted.md +++ b/docs/visual-basic/misc/system-event-log-cannot-be-deleted.md @@ -14,5 +14,5 @@ An attempt has been made to delete the system event log, which cannot be deleted ## See also -- [Administering Event Logs](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/4f69axw4(v=vs.90)) -- [How to: Create and Remove Custom Event Logs](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/49dwckkz(v=vs.90)) +- [Administering Event Logs](/previous-versions/visualstudio/visual-studio-2008/4f69axw4(v=vs.90)) +- [How to: Create and Remove Custom Event Logs](/previous-versions/visualstudio/visual-studio-2008/49dwckkz(v=vs.90)) diff --git a/docs/visual-basic/misc/target-folder-is-a-file.md b/docs/visual-basic/misc/target-folder-is-a-file.md index 15a9cd95841a4..4dce9b5808b35 100644 --- a/docs/visual-basic/misc/target-folder-is-a-file.md +++ b/docs/visual-basic/misc/target-folder-is-a-file.md @@ -15,5 +15,5 @@ You are specifying a file while attempting to perform a folder-related action. - [How to: Parse File Paths](../developing-apps/programming/drives-directories-files/how-to-parse-file-paths.md) - [My.Computer.FileSystem](xref:Microsoft.VisualBasic.FileIO.FileSystem) - [Creating, Deleting, and Moving Files and Directories](../developing-apps/programming/drives-directories-files/creating-deleting-and-moving-files-and-directories.md) -- [File, Directory, and Drive Properties in Visual Basic](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2010/as4xcs58(v=vs.100)) -- [How to: Determine the Absolute Path of a File in Visual Basic](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2010/e00wt2d8(v=vs.100)) +- [File, Directory, and Drive Properties in Visual Basic](/previous-versions/visualstudio/visual-studio-2010/as4xcs58(v=vs.100)) +- [How to: Determine the Absolute Path of a File in Visual Basic](/previous-versions/visualstudio/visual-studio-2010/e00wt2d8(v=vs.100)) diff --git a/docs/visual-basic/misc/targetfilepath-specifies-an-existing-folder.md b/docs/visual-basic/misc/targetfilepath-specifies-an-existing-folder.md index 3dfe30c9008fa..83b83e535b878 100644 --- a/docs/visual-basic/misc/targetfilepath-specifies-an-existing-folder.md +++ b/docs/visual-basic/misc/targetfilepath-specifies-an-existing-folder.md @@ -13,6 +13,6 @@ The parameter `TargetFilePath` specifies an existing directory but must specify ## See also - [How to: Move a File](../developing-apps/programming/drives-directories-files/how-to-move-a-file.md) -- [How to: Move a Directory in Visual Basic](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2010/ct88d1f1(v=vs.100)) +- [How to: Move a Directory in Visual Basic](/previous-versions/visualstudio/visual-studio-2010/ct88d1f1(v=vs.100)) - [How to: Rename a File](../developing-apps/programming/drives-directories-files/how-to-rename-a-file.md) -- [How to: Rename a Directory in Visual Basic](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2010/45we914z(v=vs.100)) +- [How to: Rename a Directory in Visual Basic](/previous-versions/visualstudio/visual-studio-2010/45we914z(v=vs.100)) diff --git a/docs/visual-basic/misc/the-address-for-uploadfile-needs-to-include-a-filename.md b/docs/visual-basic/misc/the-address-for-uploadfile-needs-to-include-a-filename.md index 45af9f64b0baf..f1242166fd693 100644 --- a/docs/visual-basic/misc/the-address-for-uploadfile-needs-to-include-a-filename.md +++ b/docs/visual-basic/misc/the-address-for-uploadfile-needs-to-include-a-filename.md @@ -14,7 +14,7 @@ When uploading files with the `UploadFile` method, you must supply a file name i ## See also -- [Network Operations in the .NET Framework with Visual Basic](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2010/ms172756(v=vs.100)) +- [Network Operations in the .NET Framework with Visual Basic](/previous-versions/visualstudio/visual-studio-2010/ms172756(v=vs.100)) - [My.Computer.Network](xref:Microsoft.VisualBasic.Devices.Network) - [How to: Upload a File](../developing-apps/programming/computer-resources/how-to-upload-a-file.md) - [My.Computer.Network.UploadFile](xref:Microsoft.VisualBasic.Devices.Network.UploadFile%2A) diff --git a/docs/visual-basic/misc/the-connectiontimeout-must-be-greater-than-0.md b/docs/visual-basic/misc/the-connectiontimeout-must-be-greater-than-0.md index 002df590960d8..8383aeabbcf03 100644 --- a/docs/visual-basic/misc/the-connectiontimeout-must-be-greater-than-0.md +++ b/docs/visual-basic/misc/the-connectiontimeout-must-be-greater-than-0.md @@ -18,4 +18,4 @@ When uploading and downloading files with the [My.Computer.Network](xref:Microso - [My.Computer.Network.DownloadFile](xref:Microsoft.VisualBasic.Devices.Network.DownloadFile%2A) - [How to: Upload a File](../developing-apps/programming/computer-resources/how-to-upload-a-file.md) - [How to: Download a File](../developing-apps/programming/computer-resources/how-to-download-a-file.md) -- [Network Operations in the .NET Framework with Visual Basic](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2010/ms172756(v=vs.100)) +- [Network Operations in the .NET Framework with Visual Basic](/previous-versions/visualstudio/visual-studio-2010/ms172756(v=vs.100)) diff --git a/docs/visual-basic/misc/the-file-is-currently-open-for-reading.md b/docs/visual-basic/misc/the-file-is-currently-open-for-reading.md index 443ba9fcd3fa2..7d1cf1b02e22c 100644 --- a/docs/visual-basic/misc/the-file-is-currently-open-for-reading.md +++ b/docs/visual-basic/misc/the-file-is-currently-open-for-reading.md @@ -13,6 +13,6 @@ An attempt has been made to access a file that is currently open for reading. ## See also - -- [How to: Get Information About a File in Visual Basic](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2010/abtzf6f7(v=vs.100)) +- [How to: Get Information About a File in Visual Basic](/previous-versions/visualstudio/visual-studio-2010/abtzf6f7(v=vs.100)) - [How to: Read from Text Files](../developing-apps/programming/drives-directories-files/how-to-read-from-text-files.md) - [How to: Read From Binary Files](../developing-apps/programming/drives-directories-files/how-to-read-from-binary-files.md) diff --git a/docs/visual-basic/misc/the-file-is-currently-open-for-writing.md b/docs/visual-basic/misc/the-file-is-currently-open-for-writing.md index 6f518507b11b8..a5da6fbb3b45d 100644 --- a/docs/visual-basic/misc/the-file-is-currently-open-for-writing.md +++ b/docs/visual-basic/misc/the-file-is-currently-open-for-writing.md @@ -13,6 +13,6 @@ An attempt has been made to access a file that is currently open for writing. ## See also - -- [How to: Get Information About a File in Visual Basic](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2010/abtzf6f7(v=vs.100)) +- [How to: Get Information About a File in Visual Basic](/previous-versions/visualstudio/visual-studio-2010/abtzf6f7(v=vs.100)) - [How to: Write Text to Files](../developing-apps/programming/drives-directories-files/how-to-write-text-to-files.md) - [How to: Write to Binary Files](../developing-apps/programming/drives-directories-files/how-to-write-to-binary-files.md) diff --git a/docs/visual-basic/misc/the-specified-path-does-not-exist.md b/docs/visual-basic/misc/the-specified-path-does-not-exist.md index 4392c97cb1790..2ebacff09a609 100644 --- a/docs/visual-basic/misc/the-specified-path-does-not-exist.md +++ b/docs/visual-basic/misc/the-specified-path-does-not-exist.md @@ -14,4 +14,4 @@ A specified path does not exist, perhaps due to an error combining strings. - [How to: Parse File Paths](../developing-apps/programming/drives-directories-files/how-to-parse-file-paths.md) - [Conversions Between Strings and Other Types](../programming-guide/language-features/data-types/conversions-between-strings-and-other-types.md) -- [Parsing Strings in Visual Basic](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2010/ms235224(v=vs.100)) +- [Parsing Strings in Visual Basic](/previous-versions/visualstudio/visual-studio-2010/ms235224(v=vs.100)) diff --git a/docs/visual-basic/misc/this-operation-can-only-be-done-when-the-file-is-closed.md b/docs/visual-basic/misc/this-operation-can-only-be-done-when-the-file-is-closed.md index 201a960bc2f36..da556ac02f35c 100644 --- a/docs/visual-basic/misc/this-operation-can-only-be-done-when-the-file-is-closed.md +++ b/docs/visual-basic/misc/this-operation-can-only-be-done-when-the-file-is-closed.md @@ -14,4 +14,4 @@ When a file is open, an attempt has been made to perform an operation that can o - - -- [How to: Get Information About a File in Visual Basic](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2010/abtzf6f7(v=vs.100)) +- [How to: Get Information About a File in Visual Basic](/previous-versions/visualstudio/visual-studio-2010/abtzf6f7(v=vs.100)) diff --git a/docs/visual-basic/misc/unable-to-ping-because-a-network-connection-is-not-available.md b/docs/visual-basic/misc/unable-to-ping-because-a-network-connection-is-not-available.md index edfa0cff0b7de..34e2c3810ae04 100644 --- a/docs/visual-basic/misc/unable-to-ping-because-a-network-connection-is-not-available.md +++ b/docs/visual-basic/misc/unable-to-ping-because-a-network-connection-is-not-available.md @@ -16,5 +16,5 @@ The operation cannot be performed because no network connection is available. - [My.Computer.Network.Ping](xref:Microsoft.VisualBasic.Devices.Network.Ping%2A) - [My.Computer.Network.IsAvailable](xref:Microsoft.VisualBasic.Devices.Network.IsAvailable) -- [Network Operations in the .NET Framework with Visual Basic](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2010/ms172756(v=vs.100)) +- [Network Operations in the .NET Framework with Visual Basic](/previous-versions/visualstudio/visual-studio-2010/ms172756(v=vs.100)) - [My.Computer.Network](xref:Microsoft.VisualBasic.Devices.Network) diff --git a/docs/visual-basic/misc/unable-to-sink-events-of-object.md b/docs/visual-basic/misc/unable-to-sink-events-of-object.md index c1ed19680f391..63cbd8d9ba816 100644 --- a/docs/visual-basic/misc/unable-to-sink-events-of-object.md +++ b/docs/visual-basic/misc/unable-to-sink-events-of-object.md @@ -14,5 +14,5 @@ The maximum number of event receivers supported by the object has been exceeded. ## See also -- [How to: Raise Events Handled by a COM Sink](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/dd8bf0x3(v=vs.100)) +- [How to: Raise Events Handled by a COM Sink](/previous-versions/dotnet/netframework-4.0/dd8bf0x3(v=vs.100)) - [Walkthrough: Handling Events](../programming-guide/language-features/events/walkthrough-handling-events.md) diff --git a/docs/visual-basic/programming-guide/com-interop/how-to-call-a-windows-function-that-takes-unsigned-types.md b/docs/visual-basic/programming-guide/com-interop/how-to-call-a-windows-function-that-takes-unsigned-types.md index f49a10b55fdd5..41a570af14bfb 100644 --- a/docs/visual-basic/programming-guide/com-interop/how-to-call-a-windows-function-that-takes-unsigned-types.md +++ b/docs/visual-basic/programming-guide/com-interop/how-to-call-a-windows-function-that-takes-unsigned-types.md @@ -71,7 +71,7 @@ If you are consuming a class, module, or structure that has members of unsigned > Making a call to unmanaged code, such as the Windows application programming interface (API), exposes your code to potential security risks. > [!IMPORTANT] - > Calling the Windows API requires unmanaged code permission, which might affect its execution in partial-trust situations. For more information, see and [Code Access Permissions](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/h846e9b3(v=vs.100)). + > Calling the Windows API requires unmanaged code permission, which might affect its execution in partial-trust situations. For more information, see and [Code Access Permissions](/previous-versions/dotnet/netframework-4.0/h846e9b3(v=vs.100)). ## See also diff --git a/docs/visual-basic/programming-guide/com-interop/how-to-call-windows-apis.md b/docs/visual-basic/programming-guide/com-interop/how-to-call-windows-apis.md index 5821a31b31928..e439ea694998d 100644 --- a/docs/visual-basic/programming-guide/com-interop/how-to-call-windows-apis.md +++ b/docs/visual-basic/programming-guide/com-interop/how-to-call-windows-apis.md @@ -33,6 +33,6 @@ This example defines and calls the `MessageBox` function in user32.dll and then - [A Closer Look at Platform Invoke](../../../framework/interop/consuming-unmanaged-dll-functions.md#a-closer-look-at-platform-invoke) - [Platform Invoke Examples](../../../framework/interop/platform-invoke-examples.md) - [Consuming Unmanaged DLL Functions](../../../framework/interop/consuming-unmanaged-dll-functions.md) -- [Defining a Method with Reflection Emit](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/w63y4d4f(v=vs.100)) +- [Defining a Method with Reflection Emit](/previous-versions/dotnet/netframework-4.0/w63y4d4f(v=vs.100)) - [Walkthrough: Calling Windows APIs](walkthrough-calling-windows-apis.md) - [COM Interop](index.md) diff --git a/docs/visual-basic/programming-guide/com-interop/how-to-work-with-activex-controls.md b/docs/visual-basic/programming-guide/com-interop/how-to-work-with-activex-controls.md index 148c122ee0d98..d7ceb589d910c 100644 --- a/docs/visual-basic/programming-guide/com-interop/how-to-work-with-activex-controls.md +++ b/docs/visual-basic/programming-guide/com-interop/how-to-work-with-activex-controls.md @@ -27,7 +27,7 @@ ActiveX controls are COM components or objects you can insert into a Web page or ## See also - [COM Interop](index.md) -- [How to: Add ActiveX Controls to Windows Forms](../../../framework/winforms/controls/how-to-add-activex-controls-to-windows-forms.md) +- [How to: Add ActiveX Controls to Windows Forms](/dotnet/desktop/winforms/controls/how-to-add-activex-controls-to-windows-forms) - [Aximp.exe (Windows Forms ActiveX Control Importer)](../../../framework/tools/aximp-exe-windows-forms-activex-control-importer.md) -- [Considerations When Hosting an ActiveX Control on a Windows Form](../../../framework/winforms/controls/considerations-when-hosting-an-activex-control-on-a-windows-form.md) +- [Considerations When Hosting an ActiveX Control on a Windows Form](/dotnet/desktop/winforms/controls/considerations-when-hosting-an-activex-control-on-a-windows-form) - [Troubleshooting Interoperability](troubleshooting-interoperability.md) diff --git a/docs/visual-basic/programming-guide/concepts/async/index.md b/docs/visual-basic/programming-guide/concepts/async/index.md index c7c13b4225d68..1287be5110494 100644 --- a/docs/visual-basic/programming-guide/concepts/async/index.md +++ b/docs/visual-basic/programming-guide/concepts/async/index.md @@ -37,7 +37,7 @@ The [Async](../../../language-reference/modifiers/async.md) and [Await](../../.. The following example shows an async method. Almost everything in the code should look completely familiar to you. The comments call out the features that you add to create the asynchrony. -You can find a complete Windows Presentation Foundation (WPF) example file at the end of this topic, and you can download the sample from [Async Sample: Example from "Asynchronous Programming with Async and Await"](https://docs.microsoft.com/samples/dotnet/samples/async-and-await-vb/). +You can find a complete Windows Presentation Foundation (WPF) example file at the end of this topic, and you can download the sample from [Async Sample: Example from "Asynchronous Programming with Async and Await"](/samples/dotnet/samples/async-and-await-vb/). ```vb ' Three things to note about writing an Async Function: @@ -134,7 +134,7 @@ For more information about control flow, see [Control Flow in Async Programs (Vi You might be wondering where to find methods such as `GetStringAsync` that support async programming. The .NET Framework 4.5 or higher contains many members that work with `Async` and `Await`. You can recognize these members by the "Async" suffix that's attached to the member name and a return type of or [Task(Of TResult)](xref:System.Threading.Tasks.Task%601). For example, the `System.IO.Stream` class contains methods such as , , and alongside the synchronous methods , , and . -The Windows Runtime also contains many methods that you can use with `Async` and `Await` in Windows apps. For more information and example methods, see [Call asynchronous APIs in C# or Visual Basic](/windows/uwp/threading-async/call-asynchronous-apis-in-csharp-or-visual-basic), [Asynchronous programming (Windows Runtime apps)](https://docs.microsoft.com/previous-versions/windows/apps/hh464924(v=win.10)), and [WhenAny: Bridging between the .NET Framework and the Windows Runtime](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2013/jj635140(v=vs.120)). +The Windows Runtime also contains many methods that you can use with `Async` and `Await` in Windows apps. For more information and example methods, see [Call asynchronous APIs in C# or Visual Basic](/windows/uwp/threading-async/call-asynchronous-apis-in-csharp-or-visual-basic), [Asynchronous programming (Windows Runtime apps)](/previous-versions/windows/apps/hh464924(v=win.10)), and [WhenAny: Bridging between the .NET Framework and the Windows Runtime](/previous-versions/visualstudio/visual-studio-2013/jj635140(v=vs.120)). ## Threads @@ -237,7 +237,7 @@ You can ignore the convention where an event, base class, or interface contract |[Control Flow in Async Programs (Visual Basic)](control-flow-in-async-programs.md)|Traces in detail the flow of control through a succession of await expressions in an asynchronous program.|[Async Sample: Control Flow in Async Programs](https://code.msdn.microsoft.com/Async-Sample-Control-Flow-5c804fc0)| |[Fine-Tuning Your Async Application (Visual Basic)](fine-tuning-your-async-application.md)|Shows how to add the following functionality to your async solution:

- [Cancel an Async Task or a List of Tasks (Visual Basic)](cancel-an-async-task-or-a-list-of-tasks.md)
- [Cancel Async Tasks after a Period of Time (Visual Basic)](cancel-async-tasks-after-a-period-of-time.md)
- [Cancel Remaining Async Tasks after One Is Complete (Visual Basic)](cancel-remaining-async-tasks-after-one-is-complete.md)
- [Start Multiple Async Tasks and Process Them As They Complete (Visual Basic)](start-multiple-async-tasks-and-process-them-as-they-complete.md)|[Async Sample: Fine Tuning Your Application](https://code.msdn.microsoft.com/Async-Fine-Tuning-Your-a676abea)| |[Handling Reentrancy in Async Apps (Visual Basic)](handling-reentrancy-in-async-apps.md)|Shows how to handle cases in which an active asynchronous operation is restarted while it's running.|| -|[WhenAny: Bridging between the .NET Framework and the Windows Runtime](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2013/jj635140(v=vs.120))|Shows how to bridge between Task types in the .NET Framework and IAsyncOperations in the Windows Runtime so that you can use with a Windows Runtime method.|[Async Sample: Bridging between .NET and Windows Runtime (AsTask and WhenAny)](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2013/jj635140(v=vs.120))| +|[WhenAny: Bridging between the .NET Framework and the Windows Runtime](/previous-versions/visualstudio/visual-studio-2013/jj635140(v=vs.120))|Shows how to bridge between Task types in the .NET Framework and IAsyncOperations in the Windows Runtime so that you can use with a Windows Runtime method.|[Async Sample: Bridging between .NET and Windows Runtime (AsTask and WhenAny)](/previous-versions/visualstudio/visual-studio-2013/jj635140(v=vs.120))| |Async Cancellation: Bridging between the .NET Framework and the Windows Runtime|Shows how to bridge between Task types in the .NET Framework and IAsyncOperations in the Windows Runtime so that you can use with a Windows Runtime method.|[Async Sample: Bridging between .NET and Windows Runtime (AsTask & Cancellation)](https://code.msdn.microsoft.com/Async-Sample-Bridging-9479eca3)| |[Using Async for File Access (Visual Basic)](using-async-for-file-access.md)|Lists and demonstrates the benefits of using async and await to access files.|| |[Task-based Asynchronous Pattern (TAP)](../../../../standard/asynchronous-programming-patterns/task-based-asynchronous-pattern-tap.md)|Describes a new pattern for asynchrony in the .NET Framework. The pattern is based on the and [Task(Of TResult)](xref:System.Threading.Tasks.Task%601) types.|| @@ -245,7 +245,7 @@ You can ignore the convention where an event, base class, or interface contract ## Complete Example -The following code is the MainWindow.xaml.vb file from the Windows Presentation Foundation (WPF) application that this topic discusses. You can download the sample from [Async Sample: Example from "Asynchronous Programming with Async and Await"](https://docs.microsoft.com/samples/dotnet/samples/async-and-await-vb/). +The following code is the MainWindow.xaml.vb file from the Windows Presentation Foundation (WPF) application that this topic discusses. You can download the sample from [Async Sample: Example from "Asynchronous Programming with Async and Await"](/samples/dotnet/samples/async-and-await-vb/). [!code-vb[async](~/samples/snippets/standard/async/async-and-await/vb/MainWindow.xaml.vb)] diff --git a/docs/visual-basic/programming-guide/concepts/collections.md b/docs/visual-basic/programming-guide/concepts/collections.md index 97886a1fad0fd..07de8b30b3daf 100644 --- a/docs/visual-basic/programming-guide/concepts/collections.md +++ b/docs/visual-basic/programming-guide/concepts/collections.md @@ -452,7 +452,7 @@ End Class ## Defining a Custom Collection -You can define a collection by implementing the or interface. For additional information, see [Enumerating a Collection](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/hwyysy67(v=vs.100)). +You can define a collection by implementing the or interface. For additional information, see [Enumerating a Collection](/previous-versions/dotnet/netframework-4.0/hwyysy67(v=vs.100)). Although you can define a custom collection, it is usually better to instead use the collections that are included in the .NET Framework, which are described in [Kinds of Collections](#kinds-of-collections) earlier in this topic. diff --git a/docs/visual-basic/programming-guide/concepts/expression-trees/debugging-expression-trees-in-visual-studio.md b/docs/visual-basic/programming-guide/concepts/expression-trees/debugging-expression-trees-in-visual-studio.md index 7f35c40b68a8b..d4581953e6247 100644 --- a/docs/visual-basic/programming-guide/concepts/expression-trees/debugging-expression-trees-in-visual-studio.md +++ b/docs/visual-basic/programming-guide/concepts/expression-trees/debugging-expression-trees-in-visual-studio.md @@ -8,11 +8,11 @@ You can analyze the structure and content of expression trees when you debug you ![Screenshot of the DebugView of expression tree.](media/debugging-expression-trees-in-visual-studio/debugview-visual-basic.png) -Since `DebugView` is a string, you can use the [built-in Text Visualizer](https://docs.microsoft.com/visualstudio/debugger/view-strings-visualizer#open-a-string-visualizer) to view it across multiple lines, by selecting **Text Visualizer** from the magnifying glass icon next to the `DebugView` label. +Since `DebugView` is a string, you can use the [built-in Text Visualizer](/visualstudio/debugger/view-strings-visualizer#open-a-string-visualizer) to view it across multiple lines, by selecting **Text Visualizer** from the magnifying glass icon next to the `DebugView` label. ![Screenshot of Text Visualizer applied to results of DebugView.](media/debugging-expression-trees-in-visual-studio/string-visualizer-vb.png) -Alternatively, you can install and use [a custom visualizer](https://docs.microsoft.com/visualstudio/debugger/create-custom-visualizers-of-data) for expression trees, such as: +Alternatively, you can install and use [a custom visualizer](/visualstudio/debugger/create-custom-visualizers-of-data) for expression trees, such as: - [Readable Expressions](https://github.com/agileobjects/ReadableExpressions) ([MIT license](https://github.com/agileobjects/ReadableExpressions/blob/master/LICENSE.md), available at the [Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=vs-publisher-1232914.ReadableExpressionsVisualizers)), renders the expression tree as themeable C# code, with various rendering options: diff --git a/docs/visual-basic/programming-guide/concepts/linq/cloning-vs-attaching.md b/docs/visual-basic/programming-guide/concepts/linq/cloning-vs-attaching.md index bf0b3b49d8f37..2303e7d30dff7 100644 --- a/docs/visual-basic/programming-guide/concepts/linq/cloning-vs-attaching.md +++ b/docs/visual-basic/programming-guide/concepts/linq/cloning-vs-attaching.md @@ -46,4 +46,4 @@ Child2 was attached ## See also -- [Creating XML Trees (Visual Basic)](creating-xml-trees.md) +- [Creating XML Trees (Visual Basic)](../../../../standard/linq/xml-literals.md) diff --git a/docs/visual-basic/programming-guide/concepts/linq/getting-started-with-linq.md b/docs/visual-basic/programming-guide/concepts/linq/getting-started-with-linq.md index 4cb3e92c3cf12..614a10680832a 100644 --- a/docs/visual-basic/programming-guide/concepts/linq/getting-started-with-linq.md +++ b/docs/visual-basic/programming-guide/concepts/linq/getting-started-with-linq.md @@ -47,7 +47,7 @@ This section contains overviews, examples, and background information that will [LINQ to Objects (Visual Basic)](linq-to-objects.md) Includes a selection of How-to topics for using LINQ with in-memory collections. - [LINQ to XML (Visual Basic)](linq-to-xml.md) + [LINQ to XML (Visual Basic)](../../../../standard/linq/linq-xml-overview.md) Includes links to topics that explain how to use LINQ to XML, which provides the in-memory document modification capabilities of the Document Object Model (DOM), and supports LINQ query expressions. [Language-Integrated Query (LINQ) (Visual Basic)](index.md) diff --git a/docs/visual-basic/programming-guide/concepts/linq/how-to-reorder-the-fields-of-a-delimited-file.md b/docs/visual-basic/programming-guide/concepts/linq/how-to-reorder-the-fields-of-a-delimited-file.md index a9f4ccf9f2f23..d49da9a6819a3 100644 --- a/docs/visual-basic/programming-guide/concepts/linq/how-to-reorder-the-fields-of-a-delimited-file.md +++ b/docs/visual-basic/programming-guide/concepts/linq/how-to-reorder-the-fields-of-a-delimited-file.md @@ -73,4 +73,4 @@ End Class - [LINQ and Strings (Visual Basic)](linq-and-strings.md) - [LINQ and File Directories (Visual Basic)](linq-and-file-directories.md) -- [How to: Generate XML from CSV Files](how-to-generate-xml-from-csv-files.md) +- [How to: Generate XML from CSV Files](../../../../standard/linq/generate-xml-csv-files.md) diff --git a/docs/visual-basic/programming-guide/concepts/linq/index.md b/docs/visual-basic/programming-guide/concepts/linq/index.md index 1425e63e847ce..5cd76eb3058f8 100644 --- a/docs/visual-basic/programming-guide/concepts/linq/index.md +++ b/docs/visual-basic/programming-guide/concepts/linq/index.md @@ -22,7 +22,7 @@ LINQ is a set of features that extends powerful query capabilities to the langua [LINQ to Objects (Visual Basic)](linq-to-objects.md) Includes links to topics that explain how to use LINQ to Objects to access in-memory data structures, - [LINQ to XML (Visual Basic)](linq-to-xml.md) + [LINQ to XML (Visual Basic)](../../../../standard/linq/linq-xml-overview.md) Includes links to topics that explain how to use LINQ to XML, which provides the in-memory document modification capabilities of the Document Object Model (DOM), and supports LINQ query expressions. [LINQ to ADO.NET (Portal Page)](linq-to-adonet-portal-page.md) diff --git a/docs/visual-basic/programming-guide/concepts/linq/introduction-to-linq.md b/docs/visual-basic/programming-guide/concepts/linq/introduction-to-linq.md index a20284665550a..9fba0fa55f009 100644 --- a/docs/visual-basic/programming-guide/concepts/linq/introduction-to-linq.md +++ b/docs/visual-basic/programming-guide/concepts/linq/introduction-to-linq.md @@ -21,7 +21,7 @@ Language-Integrated Query (LINQ) is an innovation introduced in the .NET Framewo - SQL Server databases: [LINQ to SQL](../../../../framework/data/adonet/sql/linq/index.md) -- XML documents: [LINQ to XML (Visual Basic)](linq-to-xml.md) +- XML documents: [LINQ to XML (Visual Basic)](../../../../standard/linq/linq-xml-overview.md) - ADO.NET Datasets: [LINQ to DataSet](../../../../framework/data/adonet/linq-to-dataset.md) diff --git a/docs/visual-basic/programming-guide/concepts/linq/linq-and-strings.md b/docs/visual-basic/programming-guide/concepts/linq/linq-and-strings.md index b336e2accab50..f94b55513a3f1 100644 --- a/docs/visual-basic/programming-guide/concepts/linq/linq-and-strings.md +++ b/docs/visual-basic/programming-guide/concepts/linq/linq-and-strings.md @@ -6,7 +6,7 @@ ms.assetid: 75ddb201-d97a-4f98-8cdf-4ad51714529a # LINQ and Strings (Visual Basic) LINQ can be used to query and transform strings and collections of strings. It can be especially useful with semi-structured data in text files. LINQ queries can be combined with traditional string functions and regular expressions. For example, you can use the or method to create an array of strings that you can then query or modify by using LINQ. You can use the method in the `where` clause of a LINQ query. And you can use LINQ to query or modify the results returned by a regular expression. - You can also use the techniques described in this section to transform semi-structured text data to XML. For more information, see [How to: Generate XML from CSV Files](how-to-generate-xml-from-csv-files.md). + You can also use the techniques described in this section to transform semi-structured text data to XML. For more information, see [How to: Generate XML from CSV Files](../../../../standard/linq/generate-xml-csv-files.md). The examples in this section fall into two categories: @@ -56,4 +56,4 @@ LINQ can be used to query and transform strings and collections of strings. It c ## See also - [Language-Integrated Query (LINQ) (Visual Basic)](index.md) -- [How to: Generate XML from CSV Files](how-to-generate-xml-from-csv-files.md) +- [How to: Generate XML from CSV Files](../../../../standard/linq/generate-xml-csv-files.md) diff --git a/docs/visual-basic/programming-guide/concepts/linq/linq-to-objects.md b/docs/visual-basic/programming-guide/concepts/linq/linq-to-objects.md index 4fa1d3dca73d3..aeca85552ec10 100644 --- a/docs/visual-basic/programming-guide/concepts/linq/linq-to-objects.md +++ b/docs/visual-basic/programming-guide/concepts/linq/linq-to-objects.md @@ -4,7 +4,7 @@ ms.date: 07/20/2015 ms.assetid: dd4c30bc-1c9b-4781-a482-b5eada38deb2 --- # LINQ to Objects (Visual Basic) -The term "LINQ to Objects" refers to the use of LINQ queries with any or collection directly, without the use of an intermediate LINQ provider or API such as [LINQ to SQL](../../../../framework/data/adonet/sql/linq/index.md) or [LINQ to XML](linq-to-xml.md). You can use LINQ to query any enumerable collections such as , , or . The collection may be user-defined or may be returned by a .NET Framework API. +The term "LINQ to Objects" refers to the use of LINQ queries with any or collection directly, without the use of an intermediate LINQ provider or API such as [LINQ to SQL](../../../../framework/data/adonet/sql/linq/index.md) or [LINQ to XML](../../../../standard/linq/linq-xml-overview.md). You can use LINQ to query any enumerable collections such as , , or . The collection may be user-defined or may be returned by a .NET Framework API. In a basic sense, LINQ to Objects represents a new approach to collections. In the old way, you had to write complex `For Each` loops that specified how to retrieve data from a collection. In the LINQ approach, you write declarative code that describes what you want to retrieve. diff --git a/docs/visual-basic/programming-guide/concepts/linq/tutorial-deferred-execution.md b/docs/visual-basic/programming-guide/concepts/linq/tutorial-deferred-execution.md index eca503ee9293e..317bf02c29738 100644 --- a/docs/visual-basic/programming-guide/concepts/linq/tutorial-deferred-execution.md +++ b/docs/visual-basic/programming-guide/concepts/linq/tutorial-deferred-execution.md @@ -12,9 +12,9 @@ This tutorial illustrates the processing model when you chain queries together. |Topic|Description| |-----------|-----------------| -|[Deferred Execution and Lazy Evaluation in LINQ to XML (Visual Basic)](deferred-execution-and-lazy-evaluation-in-linq-to-xml.md)|Describes the concepts of deferred execution and lazy evaluation.| -|[Deferred Execution Example (Visual Basic)](deferred-execution-example.md)|Provides an example of deferred execution.| +|[Deferred Execution and Lazy Evaluation in LINQ to XML (Visual Basic)](../../../../standard/linq/deferred-execution-lazy-evaluation.md)|Describes the concepts of deferred execution and lazy evaluation.| +|[Deferred Execution Example (Visual Basic)](../../../../standard/linq/deferred-execution-example.md)|Provides an example of deferred execution.| ## See also -- [Pure Functional Transformations of XML (Visual Basic)](pure-functional-transformations-of-xml.md) +- [Pure Functional Transformations of XML (Visual Basic)](../../../../standard/linq/introduction-pure-functional-transformations.md) diff --git a/docs/visual-basic/programming-guide/concepts/linq/walkthrough-writing-queries.md b/docs/visual-basic/programming-guide/concepts/linq/walkthrough-writing-queries.md index 000e65f8e4350..de04784db058f 100644 --- a/docs/visual-basic/programming-guide/concepts/linq/walkthrough-writing-queries.md +++ b/docs/visual-basic/programming-guide/concepts/linq/walkthrough-writing-queries.md @@ -139,7 +139,7 @@ After you are familiar with the basic concepts of working with queries, you are - [LINQ to SQL](../../../../framework/data/adonet/sql/linq/index.md) -- [LINQ to XML](linq-to-xml.md) +- [LINQ to XML](../../../../standard/linq/linq-xml-overview.md) - [LINQ to DataSet](../../../../framework/data/adonet/linq-to-dataset.md) diff --git a/docs/visual-basic/programming-guide/concepts/serialization/walkthrough-persisting-an-object-in-visual-studio.md b/docs/visual-basic/programming-guide/concepts/serialization/walkthrough-persisting-an-object-in-visual-studio.md index 001cc9654d495..c16b28e22a9a0 100644 --- a/docs/visual-basic/programming-guide/concepts/serialization/walkthrough-persisting-an-object-in-visual-studio.md +++ b/docs/visual-basic/programming-guide/concepts/serialization/walkthrough-persisting-an-object-in-visual-studio.md @@ -25,7 +25,7 @@ Although you can set an object's properties to default values at design time, an ### To create the Loan class -1. Create a new Class Library project and name it "LoanClass". For more information, see [Creating Solutions and Projects](https://docs.microsoft.com/visualstudio/ide/creating-solutions-and-projects). +1. Create a new Class Library project and name it "LoanClass". For more information, see [Creating Solutions and Projects](/visualstudio/ide/creating-solutions-and-projects). 2. In **Solution Explorer**, open the shortcut menu for the Class1 file and choose **Rename**. Rename the file to `Loan` and press ENTER. Renaming the file will also rename the class to `Loan`. diff --git a/docs/visual-basic/programming-guide/language-features/events/index.md b/docs/visual-basic/programming-guide/language-features/events/index.md index 8ab93a4dfeef5..22af430014e36 100644 --- a/docs/visual-basic/programming-guide/language-features/events/index.md +++ b/docs/visual-basic/programming-guide/language-features/events/index.md @@ -99,5 +99,5 @@ While you might visualize a Visual Studio project as a series of procedures that |[How to: Declare Custom Events To Conserve Memory](how-to-declare-custom-events-to-conserve-memory.md)|Demonstrates how to define a custom event that uses memory only when the event is handled.| |[Troubleshooting Inherited Event Handlers in Visual Basic](troubleshooting-inherited-event-handlers.md)|Lists common issues that arise with event handlers in inherited components.| |[Events](../../../../standard/events/index.md)|Provides an overview of the event model in the .NET Framework.| -|[Creating Event Handlers in Windows Forms](../../../../framework/winforms/creating-event-handlers-in-windows-forms.md)|Describes how to work with events associated with Windows Forms objects.| +|[Creating Event Handlers in Windows Forms](/dotnet/desktop/winforms/creating-event-handlers-in-windows-forms)|Describes how to work with events associated with Windows Forms objects.| |[Delegates](../delegates/index.md)|Provides an overview of delegates in Visual Basic.| diff --git a/docs/visual-basic/programming-guide/language-features/linq/introduction-to-linq.md b/docs/visual-basic/programming-guide/language-features/linq/introduction-to-linq.md index ee874804a29d6..0ad264e76b27f 100644 --- a/docs/visual-basic/programming-guide/language-features/linq/introduction-to-linq.md +++ b/docs/visual-basic/programming-guide/language-features/linq/introduction-to-linq.md @@ -215,7 +215,7 @@ You can use additional LINQ query features by calling members of the enumerable |[LINQ to SQL](../../../../framework/data/adonet/sql/linq/index.md)|Includes general information, programming guidance, and samples for LINQ to SQL.| |[LINQ to Objects](../../concepts/linq/linq-to-objects.md)|Includes general information, programming guidance, and samples for LINQ to Objects.| |[LINQ to ADO.NET (Portal Page)](../../concepts/linq/linq-to-adonet-portal-page.md)|Includes links to general information, programming guidance, and samples for LINQ to ADO.NET.| -|[LINQ to XML](../../concepts/linq/linq-to-xml.md)|Includes general information, programming guidance, and samples for LINQ to XML.| +|[LINQ to XML](../../../../standard/linq/linq-xml-overview.md)|Includes general information, programming guidance, and samples for LINQ to XML.| ## How to and walkthrough topics [How to: Query a Database](how-to-query-a-database-by-using-linq.md) @@ -237,7 +237,7 @@ You can use additional LINQ query features by calling members of the enumerable [How to: Assign stored procedures to perform updates, inserts, and deletes (O/R Designer)](/visualstudio/data-tools/how-to-assign-stored-procedures-to-perform-updates-inserts-and-deletes-o-r-designer) ## Featured book chapters - [Chapter 17: LINQ](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/ff652502(v=orm.10)) in [Programming Visual Basic 2008](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2008/ff652504(v=orm.10)) + [Chapter 17: LINQ](/previous-versions/visualstudio/visual-studio-2008/ff652502(v=orm.10)) in [Programming Visual Basic 2008](/previous-versions/visualstudio/visual-studio-2008/ff652504(v=orm.10)) ## See also diff --git a/docs/visual-basic/programming-guide/language-features/objects-and-classes/object-lifetime-how-objects-are-created-and-destroyed.md b/docs/visual-basic/programming-guide/language-features/objects-and-classes/object-lifetime-how-objects-are-created-and-destroyed.md index 052b31e6a4630..247813415e799 100644 --- a/docs/visual-basic/programming-guide/language-features/objects-and-classes/object-lifetime-how-objects-are-created-and-destroyed.md +++ b/docs/visual-basic/programming-guide/language-features/objects-and-classes/object-lifetime-how-objects-are-created-and-destroyed.md @@ -152,7 +152,7 @@ Another difference between the garbage-collection systems involves the use of `N ## See also - -- [Initialization and Termination of Components](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2013/ws9dc6t6(v=vs.120)) +- [Initialization and Termination of Components](/previous-versions/visualstudio/visual-studio-2013/ws9dc6t6(v=vs.120)) - [New Operator](../../../language-reference/operators/new-operator.md) - [Cleaning Up Unmanaged Resources](../../../../standard/garbage-collection/unmanaged.md) - [Nothing](../../../language-reference/nothing.md) diff --git a/docs/visual-basic/programming-guide/language-features/strings/using-regular-expressions-with-the-maskedtextbox-control.md b/docs/visual-basic/programming-guide/language-features/strings/using-regular-expressions-with-the-maskedtextbox-control.md index d81b2580769e8..7ebed66fa01d2 100644 --- a/docs/visual-basic/programming-guide/language-features/strings/using-regular-expressions-with-the-maskedtextbox-control.md +++ b/docs/visual-basic/programming-guide/language-features/strings/using-regular-expressions-with-the-maskedtextbox-control.md @@ -54,4 +54,4 @@ This example demonstrates how to convert simple regular expressions to work with - - - [Validating Strings in Visual Basic](validating-strings.md) -- [MaskedTextBox Control](../../../../framework/winforms/controls/maskedtextbox-control-windows-forms.md) +- [MaskedTextBox Control](/dotnet/desktop/winforms/controls/maskedtextbox-control-windows-forms) diff --git a/docs/visual-basic/programming-guide/language-features/strings/validating-strings.md b/docs/visual-basic/programming-guide/language-features/strings/validating-strings.md index 44ca06fcac830..8c9e9768778cf 100644 --- a/docs/visual-basic/programming-guide/language-features/strings/validating-strings.md +++ b/docs/visual-basic/programming-guide/language-features/strings/validating-strings.md @@ -27,4 +27,4 @@ This section discusses how to validate strings in Visual Basic. ## See also - [Strings](index.md) -- [MaskedTextBox Control](../../../../framework/winforms/controls/maskedtextbox-control-windows-forms.md) +- [MaskedTextBox Control](/dotnet/desktop/winforms/controls/maskedtextbox-control-windows-forms) diff --git a/docs/visual-basic/programming-guide/language-features/strings/walkthrough-validating-that-passwords-are-complex.md b/docs/visual-basic/programming-guide/language-features/strings/walkthrough-validating-that-passwords-are-complex.md index 6573b43afeb6a..e8310d414c074 100644 --- a/docs/visual-basic/programming-guide/language-features/strings/walkthrough-validating-that-passwords-are-complex.md +++ b/docs/visual-basic/programming-guide/language-features/strings/walkthrough-validating-that-passwords-are-complex.md @@ -25,7 +25,7 @@ This method checks for some strong-password characteristics and updates a string - Access to the members of the namespace. Add an `Imports` statement if you are not fully qualifying member names in your code. For more information, see [Imports Statement (.NET Namespace and Type)](../../../language-reference/statements/imports-statement-net-namespace-and-type.md). ## Security - If you're moving the password across a network, you need to use a secure method for transferring data. For more information, see [ASP.NET Web Application Security](https://docs.microsoft.com/previous-versions/aspnet/330a99hc(v=vs.100)). + If you're moving the password across a network, you need to use a secure method for transferring data. For more information, see [ASP.NET Web Application Security](/previous-versions/aspnet/330a99hc(v=vs.100)). You can improve the accuracy of the `ValidatePassword` function by adding additional complexity checks: @@ -40,4 +40,4 @@ This method checks for some strong-password characteristics and updates a string ## See also - -- [ASP.NET Web Application Security](https://docs.microsoft.com/previous-versions/aspnet/330a99hc(v=vs.100)) +- [ASP.NET Web Application Security](/previous-versions/aspnet/330a99hc(v=vs.100)) diff --git a/docs/visual-basic/programming-guide/language-features/variables/variable-declaration.md b/docs/visual-basic/programming-guide/language-features/variables/variable-declaration.md index 98383ddb4b4e4..25518a00562d2 100644 --- a/docs/visual-basic/programming-guide/language-features/variables/variable-declaration.md +++ b/docs/visual-basic/programming-guide/language-features/variables/variable-declaration.md @@ -55,7 +55,7 @@ Dim l, m As Long, x, y As Single ' In the preceding statement, l and m are Long, x and y are Single. ``` - For more information on data types, see [Data Types](../data-types/index.md). For more information on objects, see [Objects and Classes](../objects-and-classes/index.md) and [Programming with Components](https://docs.microsoft.com/previous-versions/visualstudio/visual-studio-2013/0ffkdtkf(v=vs.120)). + For more information on data types, see [Data Types](../data-types/index.md). For more information on objects, see [Objects and Classes](../objects-and-classes/index.md) and [Programming with Components](/previous-versions/visualstudio/visual-studio-2013/0ffkdtkf(v=vs.120)). ## Local Type Inference *Type inference* is used to determine the data types of local variables declared without an `As` clause. The compiler infers the type of the variable from the type of the initialization expression. This enables you to declare variables without explicitly stating a type. In the following example, both `num1` and `num2` are strongly typed as integers. diff --git a/docs/visual-basic/programming-guide/language-features/xml/index.md b/docs/visual-basic/programming-guide/language-features/xml/index.md index 20d682866a680..31b97c0adda84 100644 --- a/docs/visual-basic/programming-guide/language-features/xml/index.md +++ b/docs/visual-basic/programming-guide/language-features/xml/index.md @@ -26,4 +26,4 @@ Visual Basic provides integrated language support that enables it to interact wi - - [XML Literals](../../../language-reference/xml-literals/index.md) - [XML Axis Properties](../../../language-reference/xml-axis/index.md) -- [LINQ to XML](../../concepts/linq/linq-to-xml.md) +- [LINQ to XML](../../../../standard/linq/linq-xml-overview.md) diff --git a/docs/visual-basic/programming-guide/program-structure/coding-conventions.md b/docs/visual-basic/programming-guide/program-structure/coding-conventions.md index 7212298dbefd5..aa0fb127f5c5f 100644 --- a/docs/visual-basic/programming-guide/program-structure/coding-conventions.md +++ b/docs/visual-basic/programming-guide/program-structure/coding-conventions.md @@ -69,7 +69,7 @@ Microsoft develops samples and documentation that follow the guidelines in this ### String Data Type -- Use [string interpolation](https://docs.microsoft.com/dotnet/visual-basic/programming-guide/language-features/strings/interpolated-strings) to concatenate short strings, as shown in the following code. +- Use [string interpolation](../language-features/strings/interpolated-strings.md) to concatenate short strings, as shown in the following code. ```vb MsgBox($"hello{vbCrLf}goodbye") diff --git a/docs/visual-basic/programming-guide/program-structure/comments-in-code.md b/docs/visual-basic/programming-guide/program-structure/comments-in-code.md index f669920a9c303..04c84486ac58c 100644 --- a/docs/visual-basic/programming-guide/program-structure/comments-in-code.md +++ b/docs/visual-basic/programming-guide/program-structure/comments-in-code.md @@ -55,7 +55,7 @@ As you read the code examples, you often encounter the comment symbol (`'`). Thi ## See also -- [Basic Instincts - Documenting Your Code With XML Comments](https://docs.microsoft.com/archive/msdn-magazine/2009/may/documenting-your-code-with-xml-comments) +- [Basic Instincts - Documenting Your Code With XML Comments](/archive/msdn-magazine/2009/may/documenting-your-code-with-xml-comments) - [How to: Create XML Documentation](how-to-create-xml-documentation.md) - [XML Comment Tags](../../language-reference/xmldoc/index.md) - [Program Structure and Code Conventions](program-structure-and-code-conventions.md) diff --git a/docs/visual-basic/reference/command-line-compiler/bugreport.md b/docs/visual-basic/reference/command-line-compiler/bugreport.md index 9af3dd35a8351..a7367153e823d 100644 --- a/docs/visual-basic/reference/command-line-compiler/bugreport.md +++ b/docs/visual-basic/reference/command-line-compiler/bugreport.md @@ -63,4 +63,4 @@ vbc -bugreport:problem.txt t2.vb - [-debug (Visual Basic)](debug.md) - [-errorreport](errorreport.md) - [Sample Compilation Command Lines](sample-compilation-command-lines.md) -- [trustLevel Element for securityPolicy (ASP.NET Settings Schema)](https://docs.microsoft.com/previous-versions/dotnet/netframework-4.0/as399f0x(v=vs.100)) +- [trustLevel Element for securityPolicy (ASP.NET Settings Schema)](/previous-versions/dotnet/netframework-4.0/as399f0x(v=vs.100)) diff --git a/docs/welcome.md b/docs/welcome.md index 1f6251ef8049b..43e56a3c738dd 100644 --- a/docs/welcome.md +++ b/docs/welcome.md @@ -29,7 +29,7 @@ For information about the latest features added to the .NET implementations and - [What's new in .NET Core 3.1](core/whats-new/dotnet-core-3-1.md) - [What's new in the .NET Framework](framework/whats-new/index.md) -- [What's new in C#](csharp/whats-new/index.md) +- [What's new in C#](./csharp/whats-new/csharp-9.md) - [What's new for Visual Basic](visual-basic/whats-new/index.md) ## Documentation @@ -45,7 +45,7 @@ This documentation covers the breadth of .NET across platforms and languages. Yo - [.NET for Apache Spark](spark/index.yml) - [.NET Application Architecture](architecture/index.yml) -Additionally, you can browse the [.NET API reference](/dotnet/api). +Additionally, you can browse the [.NET API reference](../api/index.md). ## Videos diff --git a/docs/whats-new/2020-06.md b/docs/whats-new/2020-06.md index aaf3b04a0505b..68336203b719b 100644 --- a/docs/whats-new/2020-06.md +++ b/docs/whats-new/2020-06.md @@ -43,16 +43,16 @@ Welcome to what's new in the .NET docs for June 2020. This article lists some of ### New articles -- [ComNetOS class](/dotnet/framework/additional-apis/system.net.comnetos) - Add System.Net APIs (1 of 3) -- [ExceptionHelper class](/dotnet/framework/additional-apis/system.net.exceptionhelper) - Add System.Net APIs (1 of 3) -- [HttpStatusDescription class](/dotnet/framework/additional-apis/system.net.httpstatusdescription) - Add System.Net APIs (1 of 3) -- [Logging class](/dotnet/framework/additional-apis/system.net.logging) - Add System.Net APIs (1 of 3) -- [MailAddressParser class](/dotnet/framework/additional-apis/system.net.mail.mailaddressparser) - Add System.Net APIs (2 of 3) -- [QuotedPairReader class](/dotnet/framework/additional-apis/system.net.mail.quotedpairreader) - Add System.Net APIs (2 of 3) -- [MailBnfHelper class](/dotnet/framework/additional-apis/system.net.mime.mailbnfhelper) - Add System.Net APIs (3 of 3) -- [ServicePointManager.CloseConnectionGroups method](/dotnet/framework/additional-apis/system.net.servicepointmanager.closeconnectiongroups) - Add System.Net APIs (2 of 3) -- [UnsafeNclNativeMethods class](/dotnet/framework/additional-apis/system.net.unsafenclnativemethods) - Add System.Net APIs (2 of 3) -- [WebHeaderCollection.AddInternal method](/dotnet/framework/additional-apis/system.net.webheadercollection.addinternal) - Add System.Net APIs (2 of 3) +- [ComNetOS class](../framework/additional-apis/system.net.comnetos.md) - Add System.Net APIs (1 of 3) +- [ExceptionHelper class](../framework/additional-apis/system.net.exceptionhelper.md) - Add System.Net APIs (1 of 3) +- [HttpStatusDescription class](../framework/additional-apis/system.net.httpstatusdescription.md) - Add System.Net APIs (1 of 3) +- [Logging class](../framework/additional-apis/system.net.logging.md) - Add System.Net APIs (1 of 3) +- [MailAddressParser class](../framework/additional-apis/system.net.mail.mailaddressparser.md) - Add System.Net APIs (2 of 3) +- [QuotedPairReader class](../framework/additional-apis/system.net.mail.quotedpairreader.md) - Add System.Net APIs (2 of 3) +- [MailBnfHelper class](../framework/additional-apis/system.net.mime.mailbnfhelper.md) - Add System.Net APIs (3 of 3) +- [ServicePointManager.CloseConnectionGroups method](../framework/additional-apis/system.net.servicepointmanager.closeconnectiongroups.md) - Add System.Net APIs (2 of 3) +- [UnsafeNclNativeMethods class](../framework/additional-apis/system.net.unsafenclnativemethods.md) - Add System.Net APIs (2 of 3) +- [WebHeaderCollection.AddInternal method](../framework/additional-apis/system.net.webheadercollection.addinternal.md) - Add System.Net APIs (2 of 3) ## F# language diff --git a/docs/whats-new/2020-07.md b/docs/whats-new/2020-07.md index 3a485d11b04ce..79d009bd44673 100644 --- a/docs/whats-new/2020-07.md +++ b/docs/whats-new/2020-07.md @@ -35,7 +35,7 @@ Welcome to what's new in the .NET docs from July 2020. This article lists some o ### New articles -- [Choosing between anonymous and tuple types](/dotnet/standard/design-guidelines/choosing-between-anonymous-and-tuple) - Choosing between anonymous and tuple types +- [Choosing between anonymous and tuple types](../standard/base-types/choosing-between-anonymous-and-tuple.md) - Choosing between anonymous and tuple types - [Cross-Platform Cryptography in .NET Core and .NET 5](../standard/security/cross-platform-cryptography.md) - Cross-plat cryptography article - [BinaryFormatter security guide](../standard/serialization/binaryformatter-security-guide.md) - Ra off binary formatter diff --git a/docs/whats-new/2020-08.md b/docs/whats-new/2020-08.md index f985e9df138ca..e70bff64671f2 100644 --- a/docs/whats-new/2020-08.md +++ b/docs/whats-new/2020-08.md @@ -12,87 +12,87 @@ Welcome to what's new in the .NET docs from August 1, 2020 through August 31, 20 ### Updated articles -- [App startup](/dotnet/architecture/blazor-for-web-forms-developers/app-startup) - Blazor ebook - AppStartup chapter -- [Security: Authentication and Authorization in ASP.NET Web Forms and Blazor](/dotnet/architecture/blazor-for-web-forms-developers/security-authentication-authorization) - Blazor Security Chapter and Remove Preview Callouts -- [State management](/dotnet/architecture/blazor-for-web-forms-developers/state-management) - State management chapter -- [Implement the microservice application layer using the Web API](/dotnet/architecture/microservices/microservice-ddd-cqrs-patterns/microservice-application-layer-implementation-web-api) - Updated MediatR related content +- [App startup](../architecture/blazor-for-web-forms-developers/app-startup.md) - Blazor ebook - AppStartup chapter +- [Security: Authentication and Authorization in ASP.NET Web Forms and Blazor](../architecture/blazor-for-web-forms-developers/security-authentication-authorization.md) - Blazor Security Chapter and Remove Preview Callouts +- [State management](../architecture/blazor-for-web-forms-developers/state-management.md) - State management chapter +- [Implement the microservice application layer using the Web API](../architecture/microservices/microservice-ddd-cqrs-patterns/microservice-application-layer-implementation-web-api.md) - Updated MediatR related content ## Azure .NET SDK ### New articles -- [Azure SDK for .NET package index](/dotnet/azure/packages) - Azure SDK packages page +- [Azure SDK for .NET package index](../azure/packages.md) - Azure SDK packages page ## .NET Core ### New articles -- [Code analysis breaking changes](/dotnet/core/compatibility/code-analysis) - CA1831 breaking change. -- [Trimming options](/dotnet/core/deploying/trimming-options) - Document trimming options -- [Heap analysis tool (dotnet-gcdump)](/dotnet/core/diagnostics/dotnet-gcdump) - Document dotnet-gcdump tool -- [Tutorial: Measure performance using EventCounters in .NET Core](/dotnet/core/diagnostics/event-counter-perf) - Introduce EventCounters overview article and tutorial doc -- [EventCounters in .NET Core](/dotnet/core/diagnostics/event-counters) - Introduce EventCounters overview article and tutorial doc +- [Code analysis breaking changes](../core/compatibility/code-analysis.md) - CA1831 breaking change. +- [Trimming options](../core/deploying/trimming-options.md) - Document trimming options +- [Heap analysis tool (dotnet-gcdump)](../core/diagnostics/dotnet-gcdump.md) - Document dotnet-gcdump tool +- [Tutorial: Measure performance using EventCounters in .NET Core](../core/diagnostics/event-counter-perf.md) - Introduce EventCounters overview article and tutorial doc +- [EventCounters in .NET Core](../core/diagnostics/event-counters.md) - Introduce EventCounters overview article and tutorial doc ### Updated articles -- [Run-time configuration options for garbage collection](/dotnet/core/run-time-config/garbage-collector) - Add new JSON options for GC +- [Run-time configuration options for garbage collection](../core/run-time-config/garbage-collector.md) - Add new JSON options for GC ## C# language ### New articles -- [Compiler Error CS8400](/dotnet/csharp/language-reference/compiler-messages/cs8400) - Document errors 8400, 8401, 8403, 8410, and 8411 -- [Compiler Error CS8401](/dotnet/csharp/language-reference/compiler-messages/cs8401) - Document errors 8400, 8401, 8403, 8410, and 8411 -- [Compiler Error CS8403](/dotnet/csharp/language-reference/compiler-messages/cs8403) - Document errors 8400, 8401, 8403, 8410, and 8411 -- [Compiler Error CS8410](/dotnet/csharp/language-reference/compiler-messages/cs8410) - Document errors 8400, 8401, 8403, 8410, and 8411 -- [Compiler Error CS8411](/dotnet/csharp/language-reference/compiler-messages/cs8411) - Document errors 8400, 8401, 8403, 8410, and 8411 -- [Compiler warning (level 5) CS8892](/dotnet/csharp/language-reference/compiler-messages/cs8892) - Document CS8892 warning -- [Major language areas](/dotnet/csharp/tour-of-csharp/features) - Restructure and modernize tour of C# -- [Program building blocks](/dotnet/csharp/tour-of-csharp/program-building-blocks) - Restructure and modernize tour of C# -- [Types and members](/dotnet/csharp/tour-of-csharp/types) - Restructure and modernize tour of C# +- [Compiler Error CS8400](../csharp/language-reference/compiler-messages/cs8400.md) - Document errors 8400, 8401, 8403, 8410, and 8411 +- [Compiler Error CS8401](../csharp/language-reference/compiler-messages/cs8401.md) - Document errors 8400, 8401, 8403, 8410, and 8411 +- [Compiler Error CS8403](../csharp/language-reference/compiler-messages/cs8403.md) - Document errors 8400, 8401, 8403, 8410, and 8411 +- [Compiler Error CS8410](../csharp/language-reference/compiler-messages/cs8410.md) - Document errors 8400, 8401, 8403, 8410, and 8411 +- [Compiler Error CS8411](../csharp/language-reference/compiler-messages/cs8411.md) - Document errors 8400, 8401, 8403, 8410, and 8411 +- [Compiler warning (level 5) CS8892](../csharp/language-reference/compiler-messages/cs8892.md) - Document CS8892 warning +- [Major language areas](../csharp/tour-of-csharp/features.md) - Restructure and modernize tour of C# +- [Program building blocks](../csharp/tour-of-csharp/program-building-blocks.md) - Restructure and modernize tour of C# +- [Types and members](../csharp/tour-of-csharp/types.md) - Restructure and modernize tour of C# ### Updated articles -- [Compiler Warning (level 1) CS4014](/dotnet/csharp/language-reference/compiler-messages/cs4014) - Update async concept articles in the C# programming guide -- [Cancel a list of tasks (C#)](/dotnet/csharp/programming-guide/concepts/async/cancel-an-async-task-or-a-list-of-tasks) - Update async concept articles in the C# programming guide -- [Process asynchronous tasks as they complete (C#)](/dotnet/csharp/programming-guide/concepts/async/start-multiple-async-tasks-and-process-them-as-they-complete) - Update async concept articles in the C# programming guide -- [Asynchronous file access (C#)](/dotnet/csharp/programming-guide/concepts/async/using-async-for-file-access) - Update async concept articles in the C# programming guide -- [A tour of the C# language](/dotnet/csharp/tour-of-csharp/index) - Restructure and modernize tour of C# +- [Compiler Warning (level 1) CS4014](../csharp/language-reference/compiler-messages/cs4014.md) - Update async concept articles in the C# programming guide +- [Cancel a list of tasks (C#)](../csharp/programming-guide/concepts/async/cancel-an-async-task-or-a-list-of-tasks.md) - Update async concept articles in the C# programming guide +- [Process asynchronous tasks as they complete (C#)](../csharp/programming-guide/concepts/async/start-multiple-async-tasks-and-process-them-as-they-complete.md) - Update async concept articles in the C# programming guide +- [Asynchronous file access (C#)](../csharp/programming-guide/concepts/async/using-async-for-file-access.md) - Update async concept articles in the C# programming guide +- [A tour of the C# language](../csharp/tour-of-csharp/index.md) - Restructure and modernize tour of C# ## .NET Framework ### New articles -- [ControlBuilderInterceptor class](/dotnet/framework/additional-apis/controlbuilderinterceptor-class) - Add ControlBuilderInterceptor to additional APIs +- [ControlBuilderInterceptor class](../framework/additional-apis/controlbuilderinterceptor-class.md) - Add ControlBuilderInterceptor to additional APIs ## F# language ### New articles -- [Plain text formatting](/dotnet/fsharp/language-reference/plaintext-formatting) - F# plaintext printing documentation +- [Plain text formatting](../fsharp/language-reference/plaintext-formatting.md) - F# plaintext printing documentation ### Updated articles -- [F# Interactive options](/dotnet/fsharp/language-reference/fsharp-interactive-options) - F# plaintext printing documentation +- [F# Interactive options](../fsharp/language-reference/fsharp-interactive-options.md) - F# plaintext printing documentation ## .NET fundamentals ### New articles -- [Overview of .NET source code analysis](/dotnet/fundamentals/productivity/code-analysis) - Initial port of code analysis docs -- [Configure code analysis rules](/dotnet/fundamentals/productivity/configure-code-analysis-rules) - Initial port of code analysis docs +- [Overview of .NET source code analysis](../fundamentals/productivity/code-analysis.md) - Initial port of code analysis docs +- [Configure code analysis rules](../fundamentals/productivity/configure-code-analysis-rules.md) - Initial port of code analysis docs ## ML.NET ### New articles -- [How to install GPU support in Model Builder](/dotnet/machine-learning/how-to-guides/install-gpu-model-builder) - Add Model Builder GPU instructions +- [How to install GPU support in Model Builder](../machine-learning/how-to-guides/install-gpu-model-builder.md) - Add Model Builder GPU instructions ## .NET ### Updated articles -- [Custom date and time format strings](/dotnet/standard/base-types/custom-date-and-time-format-strings) - Update headings, minor clean up, and add correct ms.topic +- [Custom date and time format strings](../standard/base-types/custom-date-and-time-format-strings.md) - Update headings, minor clean up, and add correct ms.topic ## Community contributors diff --git a/docs/whats-new/dotnet-2020-04.md b/docs/whats-new/dotnet-2020-04.md index 20cb287525459..202b96114fa0e 100644 --- a/docs/whats-new/dotnet-2020-04.md +++ b/docs/whats-new/dotnet-2020-04.md @@ -51,7 +51,7 @@ Welcome to what's new in .NET docs for April 2020. This article lists some of th ### New articles - [Mitigate new behaviors in .NET Framework 4.6 and later](../framework/migration-guide/mitigations.md) - Add mitigation and debugging API articles to TOC -- [Accessibility improvements in Windows Forms controls for .NET Core 3.0](../framework/winforms/windows-forms-accessibility-improvements.md) - Adding Accessibility doc for Core WinForms +- [Accessibility improvements in Windows Forms controls for .NET Core 3.0](/dotnet/desktop/winforms/windows-forms-accessibility-improvements) - Adding Accessibility doc for Core WinForms ## ML.NET diff --git a/docs/whats-new/dotnet-2020-05.md b/docs/whats-new/dotnet-2020-05.md index b0de18851d4db..17878fb77e1e0 100644 --- a/docs/whats-new/dotnet-2020-05.md +++ b/docs/whats-new/dotnet-2020-05.md @@ -52,7 +52,7 @@ Welcome to what's new in .NET docs for May 2020. This article lists some of the ### Updated articles - [Marshaling Classes, Structures, and Unions](../framework/interop/marshaling-classes-structures-and-unions.md) - Add discussion of platform sensitive struct/union layout -- [How to: Localize an application](../framework/wpf/advanced/how-to-localize-an-application.md) - Miscellaneous fixes +- [How to: Localize an application](/dotnet/desktop/wpf/advanced/how-to-localize-an-application) - Miscellaneous fixes ## .NET @@ -129,4 +129,4 @@ The following people have contributed to .NET docs in May 2020. Thank you! You c - [ZeBobo5](https://github.com/ZeBobo5) - ZeBobo5 (1) - [zspitz](https://github.com/zspitz) - Zev Spitz (1) -:octocat: Want to contribute to the .NET docs? Read our [contributor guide](https://docs.microsoft.com/contribute/dotnet/dotnet-contribute). +:octocat: Want to contribute to the .NET docs? Read our [contributor guide](/contribute/dotnet/dotnet-contribute). diff --git a/docs/whats-new/index.yml b/docs/whats-new/index.yml index 4604ee7363661..52c562e858f03 100644 --- a/docs/whats-new/index.yml +++ b/docs/whats-new/index.yml @@ -31,15 +31,15 @@ landingContent: - text: .NET docs repository url: https://github.com/dotnet/docs/blob/master/README.md - text: Project structure and labels for issues and pull requests - url: https://docs.microsoft.com/contribute/dotnet/labels-projects + url: /contribute/dotnet/labels-projects - text: .NET Foundation url: https://dotnetfoundation.org/ - linkListType: concept links: - text: Microsoft docs contributor guide - url: https://docs.microsoft.com/contribute + url: /contribute - text: .NET docs contributor guide - url: https://docs.microsoft.com/contribute/dotnet/dotnet-contribute + url: /contribute/dotnet/dotnet-contribute - text: .NET API reference docs contributor guide url: https://github.com/dotnet/dotnet-api-docs/blob/master/CONTRIBUTING.md - text: .NET samples contributor guide @@ -55,18 +55,18 @@ landingContent: - linkListType: whats-new links: - text: ASP.NET Core docs updates - url: https://docs.microsoft.com/aspnet/core/whats-new/ + url: /aspnet/core/whats-new/ - text: Xamarin docs updates - url: https://docs.microsoft.com/xamarin/whats-new/ + url: /xamarin/whats-new/ - text: .NET Core release notes url: https://github.com/dotnet/core/blob/master/release-notes/README.md - text: ASP.NET Core release notes - url: https://docs.microsoft.com/aspnet/core/release-notes/aspnetcore-3.1 + url: /aspnet/core/release-notes/aspnetcore-3.1 - text: C# compiler (Roslyn) release notes url: https://github.com/dotnet/roslyn/tree/master/docs/ide - text: Visual Studio release notes - url: https://docs.microsoft.com/visualstudio/releases/2019/release-notes + url: /visualstudio/releases/2019/release-notes - text: Visual Studio for Mac release notes - url: https://docs.microsoft.com/visualstudio/releasenotes/vs2019-mac-relnotes + url: /visualstudio/releasenotes/vs2019-mac-relnotes - text: Visual Studio Code release notes - url: https://code.visualstudio.com/updates + url: https://code.visualstudio.com/updates \ No newline at end of file diff --git a/includes/core-changes/aspnetcore/3.0/authn-apis-json-types.md b/includes/core-changes/aspnetcore/3.0/authn-apis-json-types.md index 788c7ef41b75f..09947d9e77754 100644 --- a/includes/core-changes/aspnetcore/3.0/authn-apis-json-types.md +++ b/includes/core-changes/aspnetcore/3.0/authn-apis-json-types.md @@ -24,7 +24,7 @@ The following list outlines known changes: - now accepts a parameter of type `JsonDocument` instead of `JObject`. The `Response` property has been updated to match. `OAuthTokenResponse` is now disposable and will be disposed by `OAuthHandler`. Derived OAuth implementations overriding `ExchangeCodeAsync` don't need to dispose the `JsonDocument` or `OAuthTokenResponse`. - changed from `JObject` to `JsonDocument`. - changed from `JObject` to `JsonElement`. -- The last parameter of [TwitterHandler.CreateTicketAsync(ClaimsIdentity,AuthenticationProperties,AccessToken,JObject)](https://docs.microsoft.com/dotnet/api/microsoft.aspnetcore.authentication.twitter.twitterhandler.createticketasync?view=aspnetcore-2.2#Microsoft_AspNetCore_Authentication_Twitter_TwitterHandler_CreateTicketAsync_System_Security_Claims_ClaimsIdentity_Microsoft_AspNetCore_Authentication_AuthenticationProperties_Microsoft_AspNetCore_Authentication_Twitter_AccessToken_Newtonsoft_Json_Linq_JObject_) changed from `JObject` to `JsonElement`. The replacement method is . +- The last parameter of [TwitterHandler.CreateTicketAsync(ClaimsIdentity,AuthenticationProperties,AccessToken,JObject)](/dotnet/api/microsoft.aspnetcore.authentication.twitter.twitterhandler.createticketasync?view=aspnetcore-2.2#Microsoft_AspNetCore_Authentication_Twitter_TwitterHandler_CreateTicketAsync_System_Security_Claims_ClaimsIdentity_Microsoft_AspNetCore_Authentication_AuthenticationProperties_Microsoft_AspNetCore_Authentication_Twitter_AccessToken_Newtonsoft_Json_Linq_JObject_) changed from `JObject` to `JsonElement`. The replacement method is . #### Category diff --git a/includes/core-changes/aspnetcore/3.0/identity-ui-adddefaultui-overload-removed.md b/includes/core-changes/aspnetcore/3.0/identity-ui-adddefaultui-overload-removed.md index 3e53909a5ac37..454f7ef30c9f8 100644 --- a/includes/core-changes/aspnetcore/3.0/identity-ui-adddefaultui-overload-removed.md +++ b/includes/core-changes/aspnetcore/3.0/identity-ui-adddefaultui-overload-removed.md @@ -1,6 +1,6 @@ ### Identity: AddDefaultUI method overload removed -Starting with ASP.NET Core 3.0, the [IdentityBuilderUIExtensions.AddDefaultUI(IdentityBuilder,UIFramework)](https://docs.microsoft.com/dotnet/api/microsoft.aspnetcore.identity.identitybuilderuiextensions.adddefaultui?view=aspnetcore-2.2#Microsoft_AspNetCore_Identity_IdentityBuilderUIExtensions_AddDefaultUI_Microsoft_AspNetCore_Identity_IdentityBuilder_Microsoft_AspNetCore_Identity_UI_UIFramework_) method overload no longer exists. +Starting with ASP.NET Core 3.0, the [IdentityBuilderUIExtensions.AddDefaultUI(IdentityBuilder,UIFramework)](/dotnet/api/microsoft.aspnetcore.identity.identitybuilderuiextensions.adddefaultui?view=aspnetcore-2.2#Microsoft_AspNetCore_Identity_IdentityBuilderUIExtensions_AddDefaultUI_Microsoft_AspNetCore_Identity_IdentityBuilder_Microsoft_AspNetCore_Identity_UI_UIFramework_) method overload no longer exists. #### Version introduced @@ -24,7 +24,7 @@ ASP.NET Core #### Affected APIs -[IdentityBuilderUIExtensions.AddDefaultUI(IdentityBuilder,UIFramework)](https://docs.microsoft.com/dotnet/api/microsoft.aspnetcore.identity.identitybuilderuiextensions.adddefaultui?view=aspnetcore-2.2#Microsoft_AspNetCore_Identity_IdentityBuilderUIExtensions_AddDefaultUI_Microsoft_AspNetCore_Identity_IdentityBuilder_Microsoft_AspNetCore_Identity_UI_UIFramework_) +[IdentityBuilderUIExtensions.AddDefaultUI(IdentityBuilder,UIFramework)](/dotnet/api/microsoft.aspnetcore.identity.identitybuilderuiextensions.adddefaultui?view=aspnetcore-2.2#Microsoft_AspNetCore_Identity_IdentityBuilderUIExtensions_AddDefaultUI_Microsoft_AspNetCore_Identity_IdentityBuilder_Microsoft_AspNetCore_Identity_UI_UIFramework_)