From 41bbe3a8b279ef445a855616384b57b963790b06 Mon Sep 17 00:00:00 2001 From: Mariana Rios Flores Date: Wed, 11 Nov 2020 19:21:31 -0800 Subject: [PATCH] [FR] Add ASP.NET Integration (#16891) * add aspnet integration * exportapi --- .../Azure.AI.FormRecognizer/CHANGELOG.md | 1 + .../Azure.AI.FormRecognizer.netstandard2.0.cs | 9 ++++ .../FormRecognizerClientBuilderExtensions.cs | 43 +++++++++++++++++++ 3 files changed, 53 insertions(+) create mode 100644 sdk/formrecognizer/Azure.AI.FormRecognizer/src/FormRecognizerClientBuilderExtensions.cs diff --git a/sdk/formrecognizer/Azure.AI.FormRecognizer/CHANGELOG.md b/sdk/formrecognizer/Azure.AI.FormRecognizer/CHANGELOG.md index beb36b21f79f..90b85fa55bbd 100644 --- a/sdk/formrecognizer/Azure.AI.FormRecognizer/CHANGELOG.md +++ b/sdk/formrecognizer/Azure.AI.FormRecognizer/CHANGELOG.md @@ -6,6 +6,7 @@ - It defaults to the latest supported API version, which currently is `2.1-preview.1`. ### New Features +- Added integration for ASP.NET Core. - Added support for pre-built business card recognition. - Added support for providing locale info when recognizing receipts and business cards. Supported locales include support EN-US, EN-AU, EN-CA, EN-GB, EN-IN. - Added support to train and recognize custom forms with selection marks such as check boxes and radio buttons. This functionality is only available in train with labels scenarios. diff --git a/sdk/formrecognizer/Azure.AI.FormRecognizer/api/Azure.AI.FormRecognizer.netstandard2.0.cs b/sdk/formrecognizer/Azure.AI.FormRecognizer/api/Azure.AI.FormRecognizer.netstandard2.0.cs index 7f78d37f9aeb..bda22f2003a1 100644 --- a/sdk/formrecognizer/Azure.AI.FormRecognizer/api/Azure.AI.FormRecognizer.netstandard2.0.cs +++ b/sdk/formrecognizer/Azure.AI.FormRecognizer/api/Azure.AI.FormRecognizer.netstandard2.0.cs @@ -489,3 +489,12 @@ public enum TrainingStatus Failed = 2, } } +namespace Microsoft.Extensions.Azure +{ + public static partial class FormRecognizerClientBuilderExtensions + { + public static Azure.Core.Extensions.IAzureClientBuilder AddFormRecognizerClient(this TBuilder builder, System.Uri endpoint) where TBuilder : Azure.Core.Extensions.IAzureClientFactoryBuilderWithCredential { throw null; } + public static Azure.Core.Extensions.IAzureClientBuilder AddFormRecognizerClient(this TBuilder builder, System.Uri endpoint, Azure.AzureKeyCredential credential) where TBuilder : Azure.Core.Extensions.IAzureClientFactoryBuilder { throw null; } + public static Azure.Core.Extensions.IAzureClientBuilder AddFormRecognizerClient(this TBuilder builder, TConfiguration configuration) where TBuilder : Azure.Core.Extensions.IAzureClientFactoryBuilderWithConfiguration { throw null; } + } +} diff --git a/sdk/formrecognizer/Azure.AI.FormRecognizer/src/FormRecognizerClientBuilderExtensions.cs b/sdk/formrecognizer/Azure.AI.FormRecognizer/src/FormRecognizerClientBuilderExtensions.cs new file mode 100644 index 000000000000..723e4aa5499b --- /dev/null +++ b/sdk/formrecognizer/Azure.AI.FormRecognizer/src/FormRecognizerClientBuilderExtensions.cs @@ -0,0 +1,43 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +using System; +using Azure; +using Azure.AI.FormRecognizer; +using Azure.Core.Extensions; + +namespace Microsoft.Extensions.Azure +{ + /// + /// Extension methods to add client to clients builder. + /// + public static class FormRecognizerClientBuilderExtensions + { + /// + /// Registers a instance with the provided . + /// + public static IAzureClientBuilder AddFormRecognizerClient(this TBuilder builder, Uri endpoint) + where TBuilder : IAzureClientFactoryBuilderWithCredential + { + return builder.RegisterClientFactory((options, credential) => new FormRecognizerClient(endpoint, credential, options)); + } + + /// + /// Registers a instance with the provided and . + /// + public static IAzureClientBuilder AddFormRecognizerClient(this TBuilder builder, Uri endpoint, AzureKeyCredential credential) + where TBuilder : IAzureClientFactoryBuilder + { + return builder.RegisterClientFactory(options => new FormRecognizerClient(endpoint, credential, options)); + } + + /// + /// Registers a instance with connection options loaded from the provided instance. + /// + public static IAzureClientBuilder AddFormRecognizerClient(this TBuilder builder, TConfiguration configuration) + where TBuilder : IAzureClientFactoryBuilderWithConfiguration + { + return builder.RegisterClientFactory(configuration); + } + } +}