misc.log

日常茶飯事とお仕事と

業務日誌.NET

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…

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

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

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

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

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

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

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

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

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

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

クロスサイトリクエストフォージェリ(CSRF)

昨夜、ASP.NETのページでボタンなどが押されてポストバックが起きる際に、最初に「Anti-CSRF Token」とタグ付された文字列を含むPOSTが飛んでいるのを見つけて、「なんだっけ?」と思ったのをとりあえず片づけておきます。CRSFはクロスサイトリクエストフォ…

ASP.NETでやりとりされるViewstateの内容を読み解いてみたいがうまくいかない(2)

先日の続き。ASP.NETなどでのページ遷移の際にくっつく情報「Viewstate」の中身をのぞき見してみたいという課題の続き。環境はASP.NET + .NET Framework 4.5、サーバーはWindows Server 2012にIIS8.0という状況で、簡単なASP.NETのページを作り、テキストボ…

Viewstateが使っているシリアライザー(LOS/Limited Object Serialization Formatter)

http://backyard.hatenablog.com/entry/20131026/1382777890 の続きです。 先ほどのViewstateに関する調べ物の過程で、ASP.NETがViewstate情報の生成と解読に用いているのはLOS Formatter(Limited Object Serialization Formatter)だという話を見つけまし…

ASP.NETでやりとりされるViewstateの内容を読み解いてみたいがうまくいかない

※現時点ではまだ答えにたどり着いていません。下記内容は作業過程のメモですWebアプリケーションが持つ、サーバーとの情報連携方法の1つに、ビューステート(Viwestate)と呼ばれる情報に値を載せてやりとりするという方法があります。ASP.NETで用いられるコ…

IIS 8.0 + .NET Framework 4.5でASP.NETアプリを配置してみる

Visual Studio 2012 + .NET Framework 4.5で作成したASP.NETアプリを、Windows Server 2012上で可動するIIS 8.0の環境に配置してみたい…のですが、なかなか上手くいきません。 配置用ファイル一式の用意 Visual Studio 2012には、Webサーバーと連携して一式…

IIS 8.0でASP.NETを利用可能にする

仮想環境に構築したWindows Server 2012にIISを入れて、ASP.NETのアプリを動かしてみよう……と思ったのはいいのですが、とりあえず 作ったアプリの配置方法がわからない おまけになんかIISでASP.NETが使えてないっぽい というので少し行き詰まってしまいまし…

Oracle DBのNumber型をSingleで受けたら誤差った

絶対忘れてたぶん次も調べるだろうからメモっておきます。やったのは私ではないのですが、相談を受けてちょいと調べました。 環境 .NET Framework 3.5 + C# Oracle Database(バージョン不明) 起きたこと Oracle DatabaseのNumber型(少数含む)をDatasetで…

Internet Explorerからの通信内容を確認する

ASP.NETとかで作ったページが実際にどのような通信をサーバーと行うかってのを見たかったので調べてみました。へぇ……この機能が使えたんだ…って感じ。詳しくは下記のMSDNサイトにて。 Using Windows Internet Explorer Developer Tools Network Capture http…

C#本を買っておこう…

だめだやっぱ1冊は何か買わないととっかかりが難しい。まじめになにか言語をやるのって久しぶりだから。プログラミングC# 第6版作者: Ian Griffiths,Matthew Adams,Jesse Liberty,鈴木幸敏,首藤一幸,株式会社情報技研出版社/メーカー: オライリージャパン発…

Visual Studio 2012 Premiumで新しいプロジェクトを作成できない

Windows 7 32bit版にVisual Studio 2012 Premium Editionをインストール後、Windows Updateを実行。50個くらいのアップデートを適用しました。その後、Visual Studio 2012を起動し、プロジェクトを新規作成しようとすると下図のようなエラーが。 制約 Contra…

日本語フォント名から英語フォント名を取得する

昨年の話なんですが、記録し忘れていたので。米国製のコンポーネント(GUIを伴うもので、テキスト入力なども処理する)を利用していて、フォント名プロパティに日本語フォント名を指定すると、次にフォント設定を表示させたらフォント名が文字化け、おまけに…

VB.NETでのサロゲートペア文字の取り扱い

文字のチェック処理を扱う必要が出てきたのでテストデータを作っているのですが、サロゲートペアがどのように扱われるかについて勘違いしていました。たとえば、U+29E3D、「ほっけ(魚+花)」という文字ですが、これはプログラム中では以下のように取り扱わ…

コードカバレッジ分析ツール opencover

twitterで制作者ご本人から紹介いただいたので、とりあえずメモっておきます。これは8月9月で実際に使ってみよう。 opencover https://github.com/sawilde/opencover

64bitアプリと32bit DLLの混在

意外に実験したことが無く、結構即答で答えられない質問だったのでしらべてみました。64bit用に対象アーキテクチャをx64としてビルドされた.NETのアプリケーションから、32bit用、即ちx86用としてビルドされたアセンブリを参照して実際に動かせるのか?とい…

ODP.NETと.NET Framework 4.0

.NET Framework 4.0に対応したODP.NET(Oracle Data Provider for .NET)は、Oracle 11g対応のODP以降しか無いのですね。10g用として公開されているODP.NET(ODAC 10.2.0.2.21 に含まれるもの)は、.NET Framework 1.1と2.0用。では、以下の疑問はどう解決す…

.NET Framework 2.0から4.0への移行

内容はまだ読めてないので、とりあえず公式情報の所在だけメモしておきます。 .NET Framework移行センター/.NET Framework 2.0 ~ 3.5 から .NET Framework 4 への移行 http://www.microsoft.com/ja-jp/net/migration/document4.aspx .NET Framework 4移行ガ…

高いツールを使うか、安いツールを使うかの判断

どうやら周囲でVisual Studio 2010や2012のテスト支援機能をフルに使わず、外部ツールとの併用で自動テストとカバレッジの検証を行う方針を決めた様子……相談してくれればアドバイスするんだけど、きっと難しい話が嫌だから避けられたな(笑)。で、予想する…

Visual Studio 2012はWindows XPにインストールすらできないのな

いやまぁ、今更XPも無いので別にいいのですが……。Visual Studio 2012を使っての開発環境確認作業が入ったので、既存のXP環境VMを展開してインストール……できないよ!wwというわけでWindows 7のVMを引っ張り出して起動中。マイクロソフトの情報はこちらから。…

.NET、DLLの修正で参照元も全部ビルドし直すのか?

職場にて。質問を受けたのですが、即答できなかったので調べました。以前も同じような調べ物をした覚えがあるのですが、記録していなかったので自分用メモもかねて。ちなみに開発環境はVisual Studio 2005、.NET Framework 2.0です。 厳密名を持たないDLLを…