C#

PDF出力

C#

アプリケーションからPDFを出力するという例は多いと思います。 特にWebアプリケーションの場合、帳票用途でPDFをよく使いますし。 今やってる開発でも帳票コンポーネントを使ってPDF出力をしています。 PDF出力に製品を使う理由は、デザイナを使って帳票フ…

DataSet vs PONO

C#

最近、2chのSeasarスレをはじめとしてBlogとかでも「DataSetとPONOのどちらを使うのか?」という議論を見かけました。 Seasarスレを見ていて、世間はPONOを使っている人達が多いんだな〜等と思っていたんですが(´ー`) で、自分の考えはid:wataru87:20060605…

Bulk Insert

C#

作っているアプリケーションで一部バッチ的な処理があるんですが。 OracleにODP.NETでアクセスして、データを何万件か登録するという処理です。 で、普通にOracleCommandでINSERTしてる分には200〜300TPSくらいしかでないです。 まあ、パフォーマンス的には…

最近のお仕事

C#

Visual Studio Team Edition for Database Professionalsが発表されていますが。 Orcasに向けた取り組みの1つということだそうで。 Orcasでの、Windows Vista、Microsoft SQL Server 2005、Microsoft Office system 2007への対応。 LINQ、Atlas、WPF(Avalon)…

DynamicProxy実験3

C#

自作DynamicProxyの続きです。 コンストラクタに続いてメソッドのGenerateにも挑戦、簡易DynamicProxyを作ることが出来ました…一応…。 作成するメソッドについてですが、指定されたinterfaceの全メソッドについて、Intercepterに処理を委譲するILを構築しま…

DynamicProxy実験2

C#

DynamicProxyの実験として、自分でもDynamicProxyを実装してみます(・∀・) とりあえず、指定したinterfaceを実装して、Interceptorとtargetをメンバフィールドに持つTypeの生成について、コンストラクタの生成あたりまでについてです。生成されるTypeについ…

DynamicProxy実験1

C#

.NETの世界でAOPと言えばCastle.DynamicProxyが定番だと思いますが(・∀・) NHibernateとかiBatis.NETなんかで使われているやつです。 #AOPでちょっと遊ぶ分にはContextBoundObjectの実装という話もありますが ちなみにCastleプロジェクトを知ったのは、全て…

RFIDアプリケーション

C#

無線タグを使ったアプリケーションなんかも作っていたりします。 RFID関連も大規模システムになるとミドルウエアがどうのという話になりますが、自分がやっていたのは自前にReaderを制御するような小規模アプリケーションです。 古くは世間でRFIDがどうのと…

SmtpClient

.NET Framework 2.0からはSystem.Net.Mail.SmtpClientがあるので、自作のライブラリはいらないかと思いきや。 SmtpClientの処理は、日本語周りで微妙なところがあったりするようで。 とりあえず、Membership APIのCreateUserWizardコントロールやPasswordRec…

Pluginの実装4

C#

Pluginのロード・アンロード処理です。 ロードのキモになるのは次のGatewayクラスです。 class Gateway : MarshalByRefObject { public IWidget CreateInstance(string location, string className) { Assembly assembly = Assembly.LoadFrom( location ); r…

Pluginの実装3

C#

IWidgetの実装クラスの検索は、WidgetPluginクラスのstaticメソッドとして実装しています。 クラスの検索にはアセンブリをロードする必要がありますが、使用しないアセンブリは検索処理後にはアンロードしたいところです。 アンロードはアプリケーションドメ…

Pluginの実装2

C#

Pluginについて、アセンブリの中からPluginの実装情報を取得する必要があります。 取得した情報を格納するクラスについてはこんなカンジです。 [Serializable] public class WidgetPlugin { private string location; private string className; private str…

Pluginの実装1

C#

実益と勉強と兼ねながら、趣味のC#プログラミングをしています。 実益というのは自分が使うことを目的としたツールを作ることです。 勉強というのは、フリーソフト等で使われているテクニカルなことをC#で実装して、プログラムの技の数を増やすことです。 Co…