Kobarin's Development Blog

C#やASP.NETなどについての記録です。

ASP.NET Core でWebページ→PDF変換

ASP.NET MVC 5.0の時には、WebページをPDF化する際にTuespechkinを使っており、Azure上でも動作していました。 今回.NET Core 5.0のリリースを機に調べたところ、Tuespechkinは.net framework用のライブラリなので、ASP.NET Coreに対応するPDF変換ライブラリ…

Azure SQL Database で、DBの照合順序の変更方法

Azureでは、SQL Databaseを新たに作成すると、照合順序がデフォルトとして「SQL_Latin1_General_CP1_CI_AS」になるため、 その後にTABLEにvarchar型などの文字列フィールドを作成すると、そのままだと全て「SQL_Latin1_General_CP1_CI_AS」になる(照合順序…

Azureでwkhtmltopdfがサポートされた話

Webサイト上からHTML(URLで指定)をPDFに変換する処理にwkhtmltopdfを使う場合、従来Azureでは動作しなかったらしい。 調べてみると、以下の投稿が見つかった。 social.msdn.microsoft.com ただし、 Azure now supports WKHTMLTOPDF. Please make sure you'…

Visual Studio 2019からAzureにDeployできない問題

Visual Studio 2019からAzureにDeployする際、以下ののエラーとなる。 Web deployment task failed. (The type initializer for 'Microsoft.Web.Deployment.DeploymentManager' threw an exception. 状況をまとめると以下の通り。 ASP.NET Coreのプロジェク…

【解決済み】SQL Server 2014の再インストール時「sql server データベース エンジンの復旧ハンドルの待機に失敗しました」エラー

概要 久々にSQLServerを動かそうとしたところ接続できず、管理ツールのサービス「SQL Server」も停止したまま起動できなかったため、SqlServer2014を再インストールしようとした。 症状 インストーラーからインストールを実行したところ、以下のエラーが発生…

信頼レベル「Medium」(Medium-Trust)のサイトでは、ASP.NET MVCが実行できない可能性

私が個人的に契約しているWindowsホスティング会社に、MVCサイトを発行し実行したところ、セキュリティエラーが発生しました(System.Security.Policy.PolicyException)。 Visual Studioの開発環境で試してもエラーが出ないため、ホスティング会社に確認し…

ASP.NET MVCでGoogleのOAuth 2.0 の認証をする

Visual StudioのASP.NET MVCサイトのテンプレートには最初からOAuthの認証機能が付いているが、幾つか引っかかったのでメモしておきます。 基本的な流れは以下のサイトによくまとめられているため、割愛します(これ以上わかりやすく書けません)。 fnya.coc…

Umbraco : 1つのデータベース内に複数サイト

Umbracoの開設は、下記サイトのようなチュートリアル通りに進めればほぼ難なく出来る事がわかりました。 www.buildinsider.netただ、複数サイトを作成しようとすると、幾つか問題があります。 Umbracoサイト毎にデータベースを用意するのであれば問題になり…

Umbraco+ASP.NET MVCによるサイト作成

UmbracoとMVCの併存サイトを作ったのでメモします。 まずは当方の環境から。 Umbraco 7.6.3 SQL Server 2014 ASP.NET MVC 5.2.3 Visual Studio Communication 2017 はじめに まず参考にさせていただいたのは以下の記事です。 www.buildinsider.net この記事…

SaveChanges()による特定フィールドの更新

EntityFrameworkを使って更新する一般的な事例として、よく以下のようなコードを見かけます。 [HttpPost] [ValidateAntiForgeryToken] public ActionResult Edit(Product product) { if(ModelState.IsValid) { db.Entry(product).State = EntityState.Modifi…

ASP.NET MVC で複数レコードを一括更新するフォーム

MVCのScaffoldilng機能は秀逸で、Index、Details、Create、Edit、DeleteのController+Viewをものの数秒で作り上げてくれます。 ただ、Create・Edit・Deleteいずれも1レコード単位の機能であり「一括変更」する機能はないため、自前で作る必要があります。 …

ASP.NET MVC のDisplayFormatを表示用と編集用で分ける方法

タイトルが分かりにくいですが、正確には DisplayFormat属性のDataFormatStringを、表示のみする場面(例:Index、Details)と編集する場面(例:Create、Edit)で別々に作る といった内容です。 結論「別々に作る事はできない」 という事で、当然ですがData…

ASP.NET MVCで独自DataAnnotation作成

MVCの検証に使うDataAnnotationはかなり便利で、標準のものだけでも例えば以下のようなものがあります。 Required : 必須項目化 Range : 値の範囲(例:1~100) Compare : 他プロパティと同一判定(例:メルアドを2回入力した時、等) RegularExpression :…

MvcSiteMapProviderでパンくずリストを作成する

ASP.NET MVCでパンくずリストを使う場合、、MvcSiteMapProviderというパッケージを使うケースが多いようです。MvcSiteMapProviderはnugetからインストールでき、WebFormsでいうSiteMapPathと同じような機能が実現できます。ただ、SiteMapPath同様に静的なサ…

jStatMapで「グラフ」を保存する方法

商圏調査等をする上でかなり有用なjStatMapですが、その機能の多さ故に初めて使うと戸惑う事も多いと思います。 jStatMapにはグラフ保存機能がない その中で1つ、わかりづらいというか注意しなければならないのは、「グラフの保存機能がない」点です。jStat…

LINQPadで、ASP.NET MVCのModelを呼び出すの巻

MVCを始めて数ヶ月経ちますが、LINQ to Entitiesのテスト実行ができずに不便に感じていました。ControllerやModelで定義している場合、プロジェクトごとビルドしなくてはならず、効率的とはいえません。ちなみにSQL Serverには、Common SQL Environmentとい…

ASP.NET MVC 5.2 プロジェクトへのMvcSiteMapProviderのインストール方法

通常はプロジェクトを開いてNuget Package Managerで「MvcSiteMapProvider」を検索してインストールするだけですが、ASP.NET MVC 5.2の場合依存関係(MVC5.2 and MvcSiteMapProvider 4.6.x)によりインストール出来ません。 以下のサイトを参考に、コンソー…

ASP.NET MVCからSQL ServerにWindows認証ログインで接続し、イニシャライザーを実行させる

Entity Frameworkではイニシャライザーを使うことで、データモデルに基づき データベースの作成 テーブルの作成 レコードの初期生成 を自動実行してくれます。 まずはLocalDBでなくSQL Server接続の接続文字列を取得 Visual Studio環境であれば /app_data/~…

「An error occurred while signing: Failed to sign bin\Release\XXX.exe. SignTool Error: No certificates were found that met all the given criteria.」の対処方法

Visual Studio 2015にて、旧バージョンのVSソリューションを開いてビルドした際に、標題のエラーが発生しましたので、対策をメモします。 VS2015に限った問題でなく、古いソリューションをビルドする際に起こる現象です。 事象 Visual Studioで旧バージョン…

IIS10におけるrewrite.dllのインストール

前回の記事で、IISのサイトは動いたものの、Windows10にrewrite.dllがインストール出来ない問題を取り上げました。 調べたところ、同様の問題に言及している英語のフォーラムを見つけました。 Can not install rewrite module on windows 10 10041 build IIS…

Windows7からWindows10へのアップグレード後にIISサイトが動かない問題

標題のとおりですが、開発用PCのOSアップグレードした所、サイトが動きません。まぁ、OSアップグレードしてWebサーバーがそのまま動いてくれるとは到底思えないので、常識的に考えて想定内の出来事ですが。 症状 さて、とりあえず症状から。ブラウザでサイ…

SQLserverの.mdfファイルを別マシンでattachできない(Error:5123)の対応

症状 テスト環境をつくろうと、サーバーの.mdfファイルをローカルPCに移動してSSMSからattachしようとしたところ、Error5123により出来ない問題が起こりました。 情報源 エラー番号「5123」をもとに検索したところ、以下のスレッドが見つかりました。 Erro…

SQL Serverの別名が効かなくなった際の対応

SQL Serverにエイリアス(別名)で接続する - Kobarin's Development Blogで昔投稿した別名設定に関して、先日突如機能しなくなったため、Technetフォーラムにて別名で接続できないのスレッドでご相談させて頂きました。以下、結果のみまとめます。 経緯 Vis…

「地図で見る統計」と「地図による少地域分析」

政府統計APIの公開など、政府による保有データの活用促進が活発になっている昨今ですが、GISも以前よりかなり洗練されたものが出来ている事を最近知りました。もっと前からあったのかもしれませんが、気づきませんでした。 内容としては、ブラウザで閲覧可能…

Regular Expression Checker作りました

正規表現のチェックを行うためのツール「Regular Expression Checker」を作りました。 当初は確認だけの目的で作りましたが、置換えもできれば便利だと思いつき、置換え機能もつけました。 利用用途は色々です。 サンプルにもありますが、CSVの置換え ある物…

HTTP Error 500.19 - error code:0x8007000d の解決方法

前回記事と同様、WindowsPCでIIS7.5を初起動させようとして起こる、よくあるらしい現象。 StackOverFlowの書き込みによれば、前回同様、基本的にWeb Platform Installerに起因する現象のようです。 エラーメッセージにはApplicationHost.configが原因みたい…

HTTP Error 500.21 - error code:0x8007000d の解決方法

ローカル環境に新たにIISをインストールして実行したところ、表題の通りのエラーが発生し、解決できたのでメモ。 環境 OS: Windows7 Pro 64bit(VirtualBox内) IIS: 7.5 .NET framework: ver4.0 症状 サイト全体において表題のエラーが発生。 HTTP Error 50…

LayoutTemplate内にコードブロック

LayoutTemplate内にコードブロックは配置できない ListViewのLayoutTemplate内にコードブロックが配置できない事、および代替策をメモします。 例えば以下のように、何らかの一覧をulでバインドし、上部に件数を示したいケースを想定します(該当件数の箇所…

オブジェクトの権限一覧、ストアドプロシージャの引数一覧

権限一覧はSQL Server Management Studioで確認できるわけですが、確認のためだけにSSMSを起動するのは重いし、管理者権限であれば操作ミスも起こりえます。日頃Common SQL Environmentを使用しているのであれば、コマンドで実行できれば簡単だと考え探した…

ASP.NETのPostback先URLに、Rewrite前のアドレスを設定したい

ASP.NETでURLの置き換えをする場合、通常Rewriteを使用します。 URLの置換え規則は正規表現で定義しますが、この辺りは他のサイト等でも多く書かれているので割愛します。 ここでは、ASP.NETのRewriteを使う際によく問題になる「Postback先URL」に触れたいと…