misc.log

日常茶飯事とお仕事と

業務日誌.NET

DataTable.Mergeでエラーが出る

CSVで一覧表を出力するASP.NETのアプリで、ちょっと見出しの名前を変えたらエラーが出てしまってしばらく悩みました。 制約を有効にできませんでした。行に入力できるのは、Null 以外の値、一意な値、 あるいは外部キーですが、この制約の違反が 1 つ以上の…

「~はCLSに準拠していません」警告が出る

仕事の都合で参照しなければいけないVB.NETソースがあり、その内容をVisual Studioで見ていたのですが、一斉に警告「~はCLSに準拠していません」が並びました。あまり見たことが無い警告だったので調べたのですが、これ、「先頭がアンダースコアであるパブ…

Visual Studio 2005 + VSTO on Windows 7でExcelアプリを作ってmsi形式でインストールする

いやもう、なんというか大変。Visual Studio 2005に、VSTO(Visual Studio Tools for Office)を入れて、Office 2003用のExcelに.NETで追加機能を付けたものを作り、さらにそれをmsi形式でインストールしようという試み。制限時間は4時間半。 環境構築 なんだ…

Visual Studio 2005アンインストール中のMachine Debug Manager終了指示メッセージ

自分用メモ。訳あってWindows 7環境でVisual Studio 2005を入れたり消したりしているのですが、アンインストール中にこんなメッセージが出ることがあります。 セットアップを続行する前に、以下のアプリケーションを閉じてください。 Machine Debug Manager …

VSTO(Visual Studio Tools for Office)関連メモ

ちょっと調べる必要があったのでメモしておきます。.NETでOfficeシステムを作ったりアドインを作ったりするVSTOに関するMSDNのドキュメント等のメモ情報。自分で作ったものでもなく、ソースも見られず、開発用サンプルのダウンロードサイトがあるだけという…

TransmitFileでExcelファイルをダウンロードさせると、「開く」が選べない?

お仕事メモ。Office 2010とOffice 365共存環境での話です。 TransmitFileでのExcelファイル転送 ASP.NETのTransmitFileという方式で、「inline」指定でExcelデータをダウンロードさせ、Excel 2010で開かせた場合に*1、Internet Explorerでダウンロードすると…

拡張子 xlsx のExcel 2007/2010/2013データをResponseで返す

Responseによるダウンロードでxlsxが開けない件(2015年の試行錯誤備忘録) ASP.NETにて、xlsx形式のデータ(っても実体はHTML形式)をResponse.Writeで返し、無理やりExcel 2010などで開かせようとしたのですがうまくいかず。2003形式だとできるのにね。お…

.NETコーディング規約の元ネタ

.NET Frameworkに関するコーディング規約の元ネタ。客先からヘンテコな規約を押しつけられて戦うはめになった時の武器です(公式でこう言ってるんだから従いましょうよ、的な路線で攻める)。 クラスライブラリ開発のデザインガイドライン / Microsoft Devel…

Response.TransmitFile等で返したExcelファイルのファイル名が化ける

ASP.NETで、Response.TransmitFileやResponse.Writeを使ってExcel形式のデータやファイルを返送しようとしたのですが、ファイル名が化けてしまうという現象が。データの内容は問題ないのですが、ファイル保存ダイアログなどのファイル名が化けてしまいます(…

Response.EndでThreadAbortExceptionが起きる

下記エントリで書いていたコードに、実行ログを出力させよう!とlog4net出力コードを埋め込み、さらに「エラー処理も(エラー起きないだろうけど)やっておこう!」と張り切ってTry/Catchで囲ったら……エラー出てるし……www.backyrd.net エラー内容 出てるエラ…

ASP.NETでExcel形式のデータを返す

ちょっとした調査で、ASP.NETのWebアプリからExcelで開けるデータを送り返すテストを行うことに。文字コードの部分でちょっと引っかかったのでメモしておきますね。以前、PHPの案件でも同じところで引っかかったのですが。 Excel形式を指定してResponseで返…

VB.NET用の静的コーディング規約チェックツール

.NETのIL用チェッカーとしてはFxCop、C#の規約チェッカーとしてはStyleCopがありますが、どうやらVB.NET用は公式には無いようで……。代替について検索したらいつものStackOverflowで同じ質問をしている人を見つけました。stackoverflow.com 代替品 回答に挙げ…

ASP.NET Webサービスでパラメータスタイル「Bare」を使おうとして失敗

ASP.NET Webサービスで、引数に独自のクラスを用いたWebメソッドを作成。しかし、メソッド呼び出し側から「WSDLの定義で1階層余計なタグが入るのをやめてほしい」との要望。そもそも呼び側がなんで仕様を決めるんだよ……というのもあるのですが……。一応調査。…

ASP.NET Webサービスでハッシュテーブルを使おうとして…

使えませんでした。PHPの連想配列に対応する引数として、名前付きの配列に相当するものといえばハッシュテーブル(System.Collections.hashtable)が挙げられます。しかしこれを引数に持つWebサービスを組んでみたところ、このようなエラーが。 型 System.Co…

ASP.NET Webサービスの作成… SOAPのタグや属性名を指定したい

正直なところ、.NETになって簡単に作れるようになったWebサービスと、WCFの関係とかよくわかってないのですが、とりあえずASP.NET Webサービスのプロジェクトを作って作業してます。で、呼び出し側との決め事として、SOAPのメッセージにつける属性やタグの名…

WCFサービスをDLL無しで配置、稼働させる

WCFで作成したRESTサービスを、DLLとしてまとめるのではなく、ソースのままWebサーバー(IIS)に配置する方法を調べていたのですが、なんか上手くいったっぽいのでメモ。大筋は職場の人が組み立ててくれた手順に従っての作業だったのですが、最後の最後、そ…

JSONデータの確認

JSON形式で戻ってきたデータなどの確認をどうしようかとおもっていたら、結構便利なサービスを公開してくださってるところがあったのでメモ。 JSON整形サービス http://www.ctrlshift.net/jsonprettyprinter/ RESTful Webサービス作者: Leonard Richardson,S…

ASP.NET Webサービスを配置する

Webサービス(Web Service)と言えば、Visual Studio.NET 2003の頃にちょっとだけかじった程度なのですが、今度Visual Studio 2008を使った環境で作成する必要が出てきたので基本的な部分を調べています。作るのはなんとかなるのですが、実際にWebサーバーに…

log4netでSQL Serverにログを書く

log4netのAdoNetAppenderを使って、初めてSQL Serverにログを書き出してみました。SQL Serverへのログ出力は、 設定情報に接続情報を記載する。 ログテーブルにあわせたInsert文を記載する。可変項目(要するに各カラム、フィールド)の内容は、@で始まるパ…

Windows Server 2012でWCFサービスを動かす

とりあえずメモ。こちらのサイトを参考にさせてもらった。 へたれプログラマBlog/WindowsServer2012のIIS8.0でWCFをホストする http://blog.livedoor.jp/ponpoko_saitoko/archives/20887291.html 早速、サーバーマネージャーから「役割の機能の追加」で追加…

WCFサービスでlog4netを使う(設定ファイルをweb.configに書く)

WCFサービスで、ロギングにlog4netを使いたいのだけれど、設定ファイルの読み込みをどうしようか迷ってます。これまでずっとやってきたのは、下記のようなコードで設定ファイルのパスとファイル名を指定するという方法でした。 static protected ILog logger…

log4netでログをメールに出す

とりあえずメモ。詳細は後程。log4netはログ出力をさまざまな形で出力でき、なによりその書式、出力先を外部の設定ファイルで自在に指定できることが魅力です。で、その「出力先」の1つとして「メール」があるのですが……。自分は使ったことありませんが、出…

Visual Studio 2008 + C#でRESTサービスを作ってみる

訳あって調べ物。REST(Representative State Transfer)と呼ばれる方式の処理呼び出し/応答を行うWebサービスを作成する必要があるので、作り方の基礎の基礎を実際にやってみることに。細かい定義やらなにやらはさておき、とりあえず手を動かす路線で。 参…

ロードされているODP.NETライブラリのバージョンを調べる

昨年だったかに、ちょっと複雑なデプロイ環境を作る必要があり、その環境で実際に使われているODP.NET(Oracle Data Provider for .NET)のバージョンを調べなければならなかったので作ったコード。どこかで使いそうなので貼っておきます。 'Oracle.DataAcce…

SQL Serverで検索結果に通し番号を打つ

ちょっと調べることがあったので。SQL Serverで、Select文による検索の結果にあらかじめ通し番号を打っておきたかったので調べてみました(2018年11月27日追記:相関サブクエリーと型付きデータセットでの自動通番機能による方法)。以下、TestTableというテ…

いわゆる「半角文字」チェック

入力された文字が、いわゆる半角文字、ShiftJISであれば1バイトで表現できる文字かどうかを判断するロジックを組む必要があったので、過去のコードをひっくり返してみました。某作業で作ったコードがたぶん使えそう。方法はいろいろありますが、これは正規表…

ログ出力に汎用性を持たせる

先日書いた「自メソッドを呼んだメソッドを知る(http://www.backyrd.net/entry/20131112/1384184120)」で、コンソール出力にログを出していたモノをちょいと改良。ログ出力処理ロジック自体を好きに差し替えられるようにしてみます。方針は 具体的なログ出…

自メソッドを呼んだメソッドを知る

ちょっとログ処理の工夫方法を調べてみました。以下のようなシチュエーションで、ログ出力内容を多少マシにするためのネタ。 ログは専用クラス(仮称「Logger」と呼ぶ)が出す。 専用クラスにはWriteLogメソッドがある。 WriteLogにはメッセージ文字列を渡す。…

SJIS設定のOracle DBにいろいろ文字を突っ込んだ時の記録

文字コードがらみの調べ物をしていたときのメモを転記しておきます。Oracle 10gをキャラクタセット「JA16SJISTILDE」で設定し、そこにVB.NETから変な文字(笑)を突っ込んだ時に文字がどう化けるかの実験結果です。全角やら半角やらって用語についてはとりあ…

ユニコードのコード番号から実際の文字を生成する

2013年の2月と7月に、大嫌いな文字コードのお仕事をする羽目になって必死に調べて作業した時の記録を一切公開していなかったので、発掘して残していきます。いずれC#で書き直したいのですが、とりあえずはVB.NETのコードを切り貼りしてあとで参照できるよう…