ASP.NET
この記事は、Azure Advent Calendar 2018 の 8 日目 の記事です。 qiita.com Ignite 2018 で GA が発表された Azure SignalR Service ですが、ASP.NET Core SignalR だけでなく、まだプレビューですが ASP.NET SignalR にも対応しています。 今回は、Core で…
先週、Azure のマネージドな Kubernetes サービスとして Azure Container Service (AKS) のプレビューがリリースされたので、試してみました。 azure.microsoft.com Azure Container Service (AKS) を作成する Azure Container Service (AKS) Documentation …
Azure Container Service に Kubernetes を展開して、Helm を使ってアプリケーションをデプロイしてみます。 Helm とは Kubernetes のパッケージマネージャーです。docs.helm.shKubernetes にデプロイする YAML ファイルをまとめたパッケージは、Charts と呼…
前回の記事では、Azure Container Service に Kubernetes を展開し、nginx をデプロイしました。 gooner.hateblo.jp 今回は、ASP.NET Core アプリケーションをデプロイして、スケールアウトやアプリケーションの更新を試してみます。 ASP.NET Core アプリケ…
先日の Microsoft Connect(); で発表された MAC 向けの Visual Studio(Preview)を試してみました。 ASP.NET Core で作った Web API を Xamarin Forms のアプリから呼び出してみます。 インストール こちらから無料でダウンロードすることができます。 www.…
最近、ASP.NET Core を触り始めたので、de:code 2016 のセッションで行われていたデモを試してみました。セッションでは Azure と AWS にデプロイしていましたが、今回は Azure だけにデプロイします。 Mac 上で ASP.NET Core のプロジェクトを作成する GitH…
公式のチュートリアル手順で簡単に動かせると思っていましたが、環境構築に少し手間取ったので、まとめておきます。 Your First ASP.NET Core Application on a Mac Using Visual Studio Code — ASP.NET documentation 環境構築 最近購入した MacBook Pro を…
ASP.NET Web API では、Swashbuckle を使って Swagger ドキュメントを作成します。 具体的な手順は、過去の記事を参照してください。 gooner.hateblo.jpASP.NET Web API で実装したファイルをアップロードする API のドキュメントを Swagger で書く方法を調…
ASP.NET Web API のレスポンスで JSON を返す際に、クエリパラメータで指定したプロパティだけを返したいケースがありました。コントローラークラスのアクションメソッドの戻り値の型は変更せずに、動的にシリアライズするプロパティを変更する方法をまとめ…
ASP.NET Web API では、Swashbuckle を使って Swagger ドキュメントを作成します。 具体的な手順は、過去の記事を参照してください。 gooner.hateblo.jp例えば、GUID 型の ID を指定して取得する API を実装すると、Swagger ドキュメントでは string 型とし…
ASP.NET Web API では、Swashbuckle を使って Swagger ドキュメントを作成します。 具体的な手順は、過去の記事を参照してください。 gooner.hateblo.jpアクションメソッドに FromUri 属性を指定すると、URI のパラメータを自分で定義したクラスにバインドで…
Visual Studio 2015 から追加された .NET Compiler Platform(Roslyn)を使って、ASP.NET Web API 向けの Code Analyzer を作ってみました。 環境構築 Roslyn で Code Analyzer を開発するには、Visual Studio のオプション機能と .NET Compiler Platform SD…
プロキシ サーバーを経由してクラウド上の Web API を呼び出す方法をまとめておきます。プロキシ環境下において、HttpWebRequest や HttpClient を使って通常通りに Web API を呼び出すと、HTTP ステータスコードの 407(Proxy Authentication Required)が…
Azure にデプロイした Web アプリケーションから、SendGrid を使ってメール送信しているのですが、docomo などのキャリアメールが割とバウンスしやすいです。バウンスした原因である受信拒否を解除しても、バウンスリストからメールアドレスを削除しないと、…
この記事は、ASP.NET Advent Calendar 2015 の 8 日目 の記事です。 qiita.com 久しぶりに Swagger を使って ASP.NET Web API のドキュメントを作成してみたら、Swashbuckle の使い方が少し変わっていたので、変更点をまとめておきたいと思います。 Swagger …
HttpClient はとても使いやすいのですが、async / await の非同期処理のデッドロックにハマることがあります。 デッドロック 次のコードは、WPF におけるデッドロックの例です。 #MainWindow.xaml.cs private void Button_Click(object sender, RoutedEventA…
ASP.NET MVC や Web API で、クライアントの IP アドレスを取得する方法をまとめておきます。プロキシサーバーなどを経由して Web サーバーに接続された場合、HTTP ヘッダーの X-Forwarded-For から取得する必要があります。 ASP.NET MVC サーバー環境変数か…
gooner.hateblo.jp 前回の記事では、Ajax 通信でページを部分更新する際の例外処理について記載しましたが、それに関連した内容です。 ASP.NET MVC 5 の Ajax 通信で PartialView を返す際に、JSON の一部として返したいケースがありました。例外処理と似た…
ASP.NET MVC 5 の Ajax 通信でページを部分更新する際に、どのように例外を処理すべきかを悩んだので、まとめておきます。 現象 Ajax 通信で PartialView を返すアプリをシンプルなコードで実装します。 #HomeController.cs public class HomeController : C…
.NET Framework 4.5 から追加された SuppressFormsAuthenticationRedirect プロパティが便利でした。フォーム認証を設定している ASP.NET MVC アプリと同じプロジェクトに ASP.NET Web API を実装した場合、Web API の Controller のアクションメソッドで Ht…
www.buildinsider.net 先月、Build Insider MEETUP with Grani に参加してきました。C# で Web アプリケーションを作るフレームワークの話のなかで、Semantic Logging Application Block(SLAB)が面白そうだったので、試してみました。 SLAB は、Event Trac…
Azure Search の地理空間検索を使用すると、ある地点から特定の距離内にある検索対象を見つけることができます(現在位置から 5 km 以内にあるすべてのレストランを検索するなど)。この機能を使って、孤独のグルメに登場したお店を検索できる ASP.NET MVC …
この記事は、Azure Advent Calendar 2014 と ASP.NET Advent Calendar 2014 の両方の 13 日目 の記事です。 qiita.com qiita.com Azure Media Indexer と Azure Search を使って、動画に字幕を表示し、検索した字幕データの時間から再生できる ASP.NET MVC …
この記事は、ASP.NET Advent Calendar 2014 の2日目の記事です。 qiita.com 「ASP.NET Web API の パフォーマンスを改善するための8つの方法」というブログから、JSON のシリアライズを高速化する方法として、MediaTypeFormatter を Jil JSON Serializer …
まだ、Version 1.0.0 - alpha 1 ですが、Project Helios を使った Web アプリケーションでは、リクエストの実行に使用するワーカースレッドと完了ポートスレッドの数が制限されていました。 気が付いたきっかけは、Azure Web サイトにデプロイして動かした際…
クラウドデザインパターンの Cache-Aside Pattern を ASP.NET Web API で実装してみました。Cache-Aside Pattern は、オンデマンドでデータをキャッシュに効率的に読み込むパターンです。キャッシュ機構には、Azure Redis Cache(Preview)を利用しています…
先週、OWINって何?Microsoft MVPに聞いてみよう! に参加してきました。 connpass.com サブディレクトリに、OWIN の Middleware を適用する方法を教えて頂いたので、試してみました。Web API へのリクエストだけに ロギング Middleware を追加するシナリオ…
gooner.hateblo.jp 前回の投稿では、multipart / form-data を使ってファイルをアップロードしました。ASP.NET Web API において、クライアントから POST されたコンテンツが POST や PUT メソッドの引数にバインディングされるのは、JSON や XML 用の Media…
ASP.NET Web API でファイルをアップロードする際に、Content-Type の異なるデータを送信したかったので、multipart / form-data を使う方法を試してみました。画像ファイルのバイナリデータとファイル名を送信して、Azure Blob Storage にアップロードする…
ASP.NET Web API を利用した大規模なアプリケーションでは、コントローラーを複数のグループに分割し、それぞれのグループで個別に開発したくなります。例えば、ユーザー向け(test1)と管理者向け(test2)の Web API を分けるケースなどがあります。 GET a…