Kobarin's Development Blog

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

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(だったっけ?)と同じような機能が実現できます。ただ、SiteMapPat…

無料で全国の商圏を探せるサービス、「商圏検索(仮名)」リリース

『無料』で全国の商圏を探せるサイト - 商圏検索 を先日リリースしました!商圏検索は、商圏分析をするサービスでなく、商圏を探し出すサービスです。 「商圏分析」とは 飲食店や小売店、サロン等の出店の経験がおありの方なら「商圏分析」をご存じの方もお…

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」に触れたいと…

IIS7.0で.net framework4.0で動作させる

BugTrackerを導入しましたが、.net framework 4.0で動作するようでした。 これまで全て2.0ベースで開発してきたため、4.0は初めてでしたが、VSの開始オプションを「4.0」にすれば良いだけだと軽く考えていました。が、実際にはIIS側の設定が必要でした。症状…

HtmlAgilityPackの基本

C#

HTMLからスクレイピングでデータを抜き出す際に使用しました。 現時点でわかった使用例を示します。 HTML code example <html> <head></head> <body> <h3>企業いろいろ</h3> <h4>コンビニ</h4> <ul> <li><a href="711.htm">セブン-イレブン</a></li> <li><a href="lawson.htm">ローソン</a></li> <li><a href="famima.htm">ファミリーマート</a></li> </ul> <h4>PC</h4> <ul> <li class="usa"></li></ul></body></html>

ASP.NETで、Google Calendarの情報を表示

ASP.NET上でGoogle Calendarのデータを呼び出し、GridViewに表示するまでの処理を示します。 1.Google Data APIの.NET libraryをダウンロードしてインストール 以下サイトから最新の「Google_Data_API_Setup_xxx.msi」をダウンロードします(当方の時点では…

Flickr APi & Google Maps V3 マッシュアップメモ

Flickr APIのExif座標を使って、Google Maps上に写真を展開しようと思います。 自身のFlickr写真を表示させるだけであればGeoRSSをGGeoXmlクラスで呼び出すだけで可能ですが、座標や撮影日といった検索をかけたり、MarkerClustererによるクラスター化する場…

ASP.NETで、DateTimeの値をRFC822に変換

Repeaterコントロール内で変換した例です。これだけです。 ソースはここ。 How do I parse and convert DateTime’s to the RFC 822 date-time format?プログラム内で変換する場合は、 string rfc822 = myDate.ToString("r");

Google Maps V3で、Gmapロード直後のgetBounds()が取得できない

ググッた結果、数は少ないものの、国内外で幾つか参考にさせていただいた情報があったのでメモ。 Google Maps API v3 で、各イベント後に正常に Map オブジェクトを扱う方法 Google Maps Api v3 - getBounds is undefined

Google Maps ピクセルあたりメートル、メートル辺りピクセルの表

探し当てるのにッ苦労しましたが、やはりありました。感謝です。 ズームレベル別のピクセルと距離について | Ai-Tacos Blog エーアイ・タコス ブログ

Microsoft Chartコントロールで「ChartImg.axd の子の要求を実行中にエラーが発生しました」のエラーに対する対策

ASP.NETでMS Chartコントロールを使用して実行しようとした際、以下の様なエラーに遭遇する事があります。2種類まとめて書いてしまいます。 ChartImg.axd の子の要求を実行中にエラーが発生しました。 説明: 現在の Web 要求を実行中に、ハンドルされていな…

Google Sitesで独自ドメインのサイトを表示するまで

大まかな流れ Google Sitesでサイト作成 Google Appsコントロールパネル(以降コンパネ)でマッピング レジストラにホスト登録 手順 以降の手順は、独自ドメインを既に取ってあり、Google Appsのアカウント登録も済んでいる前提で書きます。 独自ドメインのA…

経済センサスと事業所・企業統計調査の違い

H18まであった事業所・企業統計調査は、H21以降は「経済センサス」として移行されました。 その中で事業所や従業者数の数値が事業所統計と経済センサスで異なっていたため、調査方法の違いを調べたところ、内閣府のサイトに以下の資料が見つかりました。 経…

ObjectDataSourceからクラスを呼び出してバインドする

Repeater等のデータリスト系コントロールから、データソースとしてObjectDataSource(以降ODS)を指定した際にクラスを呼び出す方法です。 私個人のやり方ですが、SQL文の定義を1つに集約するため、最近はSqlDataSourceやODSを個別に定義せず、クラスをObjec…

タスクマネージャーをGoogleリーダーで代替

「Googleリーダーを利用してスケジューラーにしてしまおう」という記事です。 当方の環境では、タスクマネージャーで定期的(月次、週次、日次、毎時)にスケジュールさせているコンソールアプリケーションがありますが、やり方が悪いのか、未だに結構トラブ…

Windows Server 2008におけるタスクの設定

タスクスケジューラーで毎日あるいは毎時実行するはずのタスクが実行されず、履歴にも実行された形跡がないため、改めてタスクスケジューラーの設定を見直します。 参考にしたのはTechnet「タスクの設定( for WinServer2008 and Vista)」です。 http://techn…

SQLのINSERT文とUPDATE文の相互変換

SQL

プログラムで作りました。 http://nfs.jp/tools/dev/sql_replace.aspxSQL文のINSERTかUPDATEのいずれか一方を記述し、残る一方を自動変換・置換するサービスです。プログラムやDBサーバーのストアドプロシージャ作成をしていると、 INSERT文を書いた後にUPDA…

Gmailで、(件名なし) (送信者不明)メールをフィルタで削除

以前よりずっと課題だったフィルタが解決したのでメモ。 Gmail(というかGoogle Apps)で受信したスパムメールは通常、そのままスパムフォルダに送られます。ただ当方の場合、1日にして数十通の頻度で、「件名なし、送信者不明」のメールが届き、これがGmail…

飲食店に関わる統計情報の歴史

飲食店に関する統計データが欲しくて探していたら、元々は商業統計に含まれていたらしいのですが、現在は経済センサスに移行した事がわかったので、ちょっとメモしときます。 ちなみに、経済センサス基礎調査は、業態や開設時期・従業員数など、事業所・企業…

家計に占めるネットショッピングの金額の割合

商業統計の小売業販売額が、どの程度ECによって影響を受けているのかを調べたくなったので、 家計支出に占めるネットショッピング金額の割合を調べてみた。 H14で0.3%だったのがH19時点で0.9%のようだ。 ネットショッピングの状況 −「情報化月間」にちなん…

Visual Studioでの正規表現による置換え

正規表現には方言に数多くありますが、プログラミング全般の正規表現と比べても、VisualStudioのそれは大きく異なるようです。 さきほど置き換えを試したところ、少し時間を取られました。 以下、一般的な正規表現とVSとの比較です。 . 一般 VisualStudio 例…

ストアドプロシージャーを実行時、パラメータを省略

ストアドプロシージャをC#等から呼び出す際、パラメータを省略したいケースがあります。 例えば、通常は空欄のデータであっても以下のように1行必要です(C#の例)。 cmd.Parameters.Add("@message", SqlDbType.NVarChar).Value = ""; パラメータを省略して…

Google Fusion Tables SQL Environment (仮称)デモ完成

Google Fusion TablesのチャートやCSV出力が、SQLで操作できる事は以前お伝えしました。 ただし、URLを直接いじってやる必要があったり、今ひとつ使い勝手がよくありません。 そこで当方で、仮称「Google Fusion Tables SQL Environment」を作成しました。 …

Excelでグラフ作成した際、自動計算されるグラフの上限値の計算方法

Excelでセルの値を基にグラフを挿入すると、Y軸の上限値が自動計算されて、うまい具合にグラフを生成してくれますね。MS ChartなりGoogle Chart APIなり、プログラムでグラフを自動生成する際、同じように出力できれば…と思い、同じ結果になる計算式を作って…

Google Fusion Tables 埋め込みチャート(embeddable code)のURL仕様

Google Fusion Tablesで定義したチャート(グラフ)は、「Get embeddable code」ボタンを押すと、iframeでブログやHPに埋め込むことができます(要public or unlisted)。 チャートの値の上をマウスオーバーさせると数値などが表示される、インタラクティブ…

Google Fusion Tablesで、CSV or KML出力するURL

FTでデータを出力したい場合、[Export]メニューでCSV出力、Mapモードの[Export to KML]でKML出力ができますが、プログラムでデータを読みたい場合、URLで直接指定したいところです。 結論から言うとどちらも可能です。 URLの仕様を調べるには、上記の正攻法…

URLScanのグローバルフィルターとサイトフィルター

目的 SQLインジェクション攻撃など、URLやHTTPヘッダーに不正なデータを紛らせる事による侵入や不正なアクセスに対する防衛手段の1つです。 公式サイト URLScanの設定 (ダウンロードもページ内から参照しています) 前提条件 まず前提プラットフォームが以…

ユーザーコントロールに親ページからパラメータを与えても、先にPage_Loadイベントが呼び出されてしまう対策

まず一例として(コードは至るところでカットしてます)。 以下の例では、parent.aspx のRepeaterのアイテム内から、ユーザーコントロールuc.ascxを呼び出しています。 Repeaterの各アイテムには色名を指定すると、uc.ascxで「色は○○です。」と表示する、意…

ASP.NETで、YahooローカルサーチのデータをGridViewに表示してみる

Yahooさんのローカルサーチは電話帳データ等から施設情報を抽出できる、かなり便利なAPIなのですが、ASP.NETから呼び出す例としてはあまり参考になるサイトがなかったので、ここに書いてしまいます。 仕様 電話帳データより「コンビニ」情報を取得し、GridVi…