.NET

.Netで作成したexeの起動が遅い訳

1 Mins read

時代の流れに乗り遅れている管理人ですが、VB.NETでもC#でも.NETで作成したProgramは、
何故か初回の起動が遅い???

もちろんVB6はネイティブコンパイルで.NETはCLRでJavaと一緒の中間ファイルになっているのが
原因なんだろう的に考えていたのだ・・・・・

しかし、こんな状態でお客さんにシステム開発したら?

お客さん「なんで昔(VB6)は早かったのに新しく(.NET)なったら遅くなるの!?」
管理人「始めの起動だけですので、2度目(メモリーに読み込まれる)からはストレス無く使えますよ(汗)」

このような状態になることは目に見えている。

で、遅まきながら(汗)

ネイティブ イメージ ジェネレータ (Ngen.exe) なんつーものがあるのを見っけました・・・遅くてごめん:wink:

ここにも詳しいくのっチょるよ

これはMSILで吐き出された.NETファイルをこれを咬ます事によりネイティブイメージに変身するらしい!!!
試しに・・・ポチポチ・・・ピコッ!・・・・おおっ速い:razz:

システムも人間と同じく初めが肝心である♪

Related posts
.NETSQLServer日記

SQLServer2000 ストアドでOutputを取得する

1 Mins read

これも覚書、前にもくらった記憶が(苦笑)

ストアドからOutputされた値をCommandItemで受け取ったら、Connect Close後にしか
中身が見えないことに注意!
 

' Assumes that connection is a valid SqlConnection object.
Dim command As SqlCommand = New SqlCommand("SampleProc", connection)
command.CommandType = CommandType.StoredProcedure

Dim parameter As SqlParameter = command.Parameters.Add( _
  "RETURN_VALUE", SqlDbType.Int)
parameter.Direction = ParameterDirection.ReturnValue

parameter = command.Parameters.Add( _
  "@InputParm", SqlDbType.NVarChar, 12)
parameter.Value = "Sample Value"

parameter = command.Parameters.Add( _
  "@OutputParm", SqlDbType.NVarChar, 28)
parameter.Direction = ParameterDirection.Output

connection.Open()

Dim reader As SqlDataReader = command.ExecuteReader()

Console.WriteLine( _
  "{0}, {1}", reader.GetName(0), reader.GetName(1))

Do While reader.Read()
  Console.WriteLine( _
    "{0}, {1}", reader.GetInt32(0), reader.GetString(1))
Loop

reader.Close()
connection.Close()

Console.WriteLine( _
  " @OutputParm: {0}", command.Parameters("@OutputParm").Value)
Console.WriteLine( _
  "RETURN_VALUE: {0}", command.Parameters("RETURN_VALUE").Value)
.NETASP.NETVB日記

VB.NETのFormat関数とVB6のFormat関数の差

1 Mins read

毎日寒いね~・・・一気に冬将軍到来か!って感じですが皆さんいかがお過ごしでしょうか?

題名のとおりDotNetになってFormat関数があることにはあるのだが、挙動が違うので、少々覚書

VB6のまま使用するのであればMicrosoft.Visualbasic.Format関数というものが存在するのでこちらを使用する。

ただし「Microsoft.Visualbasic」を使用する時点で「.NET Framework」構想からは外れた設計になることを覚悟の上ですが・・・

まぁそうは言ってもAPIの使用やComをCreateObjectするのではないので「.NET Framework」が入っている環境であれば動くから良いかな:roll:

違いといえば、いろいろ違いますが中でも良く使う日付系の指定文字だけど「yyyy/MM/dd HH:mm:ss」とmmの大文字小文字をちゃんと指定してあげないと月なのか分なのかみたいな狙ったとおりに動かなかったりといろいろあるんだよね。

細かいところは調べてみてね!

.NETASP.NETパソコンのこと日記

DataSetってどうなの?

1 Mins read

なんかこのブログを見てくれている方が回りにいらっしゃるようでうれしい:roll:

突然ですが、言い訳言わせて!

・現在、IE7やFireFoxではCSS設定のサボりで描画が乱れます(苦笑)
・ページ最後のLatestPostとLatestCommentも同一の物が表示されているのもプラグイン導入のサボりです(汗)

そのうち直しますのでお許しを:cry:

さてさて本題♪

DataSetについてだけど、DotNetからクライアント側のViewとしてDatasetが使われるようになっていますが、
内部にはまさにDatabase丸ごと入るような設計になっているため、使いづらい場面が多々あったんだよね。
ようするにTableを複数保持したりDatasetからじゃないとシリアル化出来なかったりと「アクセスの入り口はDataset!」
と強制されていた。

しかし、ADO.NET2.0になってから(VS2005・・・VS2003もかな)はDataTableにも使いやすいメソッドが多数のって
DataReaderなどのと連携も簡単に取れるようになった、えらい!

DB情報の使いかただってTable単位のアクセスが多いし、複数のテーブルを一気に使用する頻度って少ないと思うんだよね。

そうするとDataTableだけを使用してI/Oした方がプログラマも分かりやすいしイメージしやすい!

つーことでDataTableに一票!:razz:(初めからこうしてよMSさん・・・・)

チームを強化する

サービスの
サブスクリプションの利点を説明するテキストを追加します。