QRコード/バーコード認識をASP.NET Web API(AWS Elastic Beanstalk)で使用する

tips
  • 2017.02.20
  • 技術情報

Visual Studio 2015とAWS SDK for .NETを使用して、ASP.NET Web APIアプリとして作成したQRコード/バーコード認識をAmazon Web Services(AWS)のAWS Elastic Beanstalkでデプロイし、動作を確認します。

LEADTOOLS 19.0JのインストールフォルダLEADTOOLS 19\Examples\JS\Documents\DemosにあるJavaScriptライブラリ用サンプルではバックエンドでASP.NET Web APIを使用しています。このソース部分をそのまま利用してASP.NET Web APIアプリとして作成していきます。

BarcodeController

作成する際のテンプレートは「空」を選択します。「Web API」のチェックボックスをチェックしておきます。

template_blank

LEADTOOLS 19\Examples\JS\Documents\Demos\WebApp\ControllersからBarcodeController.csをControllersフォルダにコピーします。

BarcodeController.cs_aws

LEADTOOLS 19\Examples\JS\Documents\Demos\WebApp\ModelsからBarcodeModels.csをModelsフォルダにコピーします。

BarcodeModels.cs

参照設定にSystem.Runtime.Serializationを追加します。

SystemRuntimeSerialization

参照設定にLEADTOOLSのアセンブリを追加します。

LEADTOOLSのアセンブリ

LEADTOOLS 19\Examples\JS\Documents\Demos\WebApp\Tools\ExceptionsからServiceException.cs、LEADTOOLS 19\Examples\JS\Documents\Demos\WebApp\Tools\HelpersからImageResizer.csとServiceHelper.csをコピーします。

ExceptionsAndHelpers

ServiceException.csの以下の部分をコメントアウトします。

ServiceException.cs

プロジェクトを右クリックして「Nuget パッケージの管理」を選択します。「Swashbuckle」を検索してプロジェクトに追加します。

nuget_package

SwaggerConfig.cs_aws

デバッグで使用する画像をLEADTOOLS 19\Examples\JS\Documents\Demos\WebApp\Apps\Barcode\Resources\Imagesからコピーします。

サンプル

Visual Studioの構成マネージャーでソリューションとプロジェクトのプラットフォームをx86に変更します。

構成マネージャー

Visual StudioからAWS Elastic Beanstalkに発行してみます。

deploy_aws

Create a new application environmentを選択。そのまま進めます。

aws_eb1

aws_eb2

aws_eb3

aws_eb4
aws_eb5
aws_eb6

デプロイが成功すると以下の画面とメッセージが表示されます。

aws_eb_deploy

しかし、この状態でURLに「swagger」を追加しても動作せず以下のエラーが返ってきます。

awseb_error

デフォルトの状態ではAWS EC2のインスタンス(Windows Server 2012 R2)にはVC++ 2015再頒布可能パッケージ(x64)しかインストールされていません。また、VC++ 2015再頒布可能パッケージ(x86)をインストールしても動作せず、厳密にVC++ 2010再頒布可能パッケージ(x86)をインストールしておく必要があります。インスタンスにはリモートデスクトップ接続できますので、アクセスしてVC++ 2010再頒布可能パッケージ(x86)をインストールしておきます。

vc2010redist

インストール後、再度確認すると正常に動作しています。

aws_eb_swaggerui

認識結果が返ってくることを確認できました。以上です。

aws_eb_result

 

トピックス一覧に戻る