ASP.NET

ASP.NET GET処理の日本語扱いについて

1 Mins read

ASP.NETでGET処理の日本語扱いについて

hoge.htmlなどからformのGetで日本語をhoge1.aspxなどに送るとうまく取得できない?現象に見舞われます。

これはサーバーサイドの文字コードの扱いによりこの問題が発生します。基本的に.NETはutf-8がDefualtなのでhtmlから送るとutf-8扱いになってしまいます。しかし中身はWindowsからの場合、shift-jisなので変換時にコケて空白扱いとなります。

解決方法は以下の2つです。(ほかにもあったら教えてちょ)

1.hoge.htmlをhoge.aspxにする

2.web.configの「responseEncoding」でサーバーサイドの文字コードを設定しているので、ここを「shift-jis」に変えてあげる

こんな感じかな(^ ^)

Read more
日記

MS 8月 セキュリティーパッチ 不具合

1 Mins read

久しぶりに更新です(汗)MSから提供された2006年8月のセキュリティーパッチをWin2000に当てたところ、IE系のプログラムが以上終了し始めた!「またか!?」とアムロ並に感じ取り、長年の勘と経験で「そこかぁ」とアンインストしたところ、サクッと治った(にやり)しかし、テストしてんのかいな、このパッチ?

Read more
ASP.NET

ステートサーバ機能

1 Mins read

ネタとしては古いが(苦笑)管理人の覚書としてIIS6のセッション変数機能がパワーアップされているので記述しておく。従来のWeb機能ではセッション内容を他に簡単に移動させておけなかったので、IISが止まるとセッション内容も一緒に死んじゃってましたが、別プロセス(別空間)に保存できるようになったのでIISの再起動をしても、なんと!セッション情報が消えないのである!!!エッヘン(笑)なおかつこの機能を使うと別のマシン上にセッション情報を置けるので負荷分散でWebサーバーを複数台動かす時にも役立ちます。ちなみにTomcatも最近この機能が出来るようになったみたい。管理人としてはこの機能をパワーアップしてセッション内容をXMLファイルとしても保存、読込みできるメソッドを追加してほしいと思う今日この頃です。ん?なんでファイルか?だって!それはSession変数の場合タイムアウトを気にしないといけないのに対してファイルは気にしないで情報を取っておけるメリットがあるのですね。SQLServerには保存できるらしい・・・

 通常、セッション情報はASP.NETアプリケーションを実行するワーカー・プロセス(IIS本体ではなく、実際にアプリケーションを処理するプロセス)内部に保存されているが、より高レベルなサービスを提供するために、ステートサーバと呼ばれる、プロセス外にセッション情報を保存する手段が提供されている。

 ステートサーバを利用するメリットは、信頼性の向上にある。ステートサーバはIISから独立したプロセスとして実行されるため、ワーカー・プロセスが誤動作したり、IISを再起動したりしても、ステートサーバに保存されたセッション情報が失われることはない。もちろん、その瞬間にアプリケーションが起動されていたセッションは正しいレスポンスを返すことはできないだろうが、ユーザーからのポストバックを待っていたセッションは、IISさえ正常に戻れば、そのまま何食わぬ顔で処理を継続できる。

 また、IISとステートサーバは、ネットワーク接続さえされていれば、同一マシン上に存在していなくても構わない。従って、Webファーム(クラスタ化されたWebサーバ群)に対して、独立したステートサーバを1台用意する構成を取れば、1台のWebサーバに障害が発生しても、残りのWebサーバがセッションを継続できる(ステートサーバがウイークポイントとなってしまうが)。

 パフォーマンスでは通常のインプロセス・モードに分があるが、信頼性を優先させるならば、ステートサーバ・モードの利用を検討するとよいだろう。

 ステートサーバ・モードを利用するにあたって必要な作業は、ステートサーバを起動し、以下に示すweb.configファイルを用意することだけだ。アプリケーション・コードに修正は必要ない。web.configファイルでは、sessionState要素のmode属性に”StateServer”を、stateConnectionString属性に「tcpip=<ステートサーバ・マシンのIPアドレス>:42424」を設定すればよい。

<configuration>
   <system.web>
    <sessionState mode="StateServer"
      stateConnectionString="tcpip=127.0.0.1:42424" />
   </system.web>
</configuration>

 ステートサーバは「ASP.NET State Service」の名前でサービスとして登録されているので、サービス・マネージャで起動する。

 なおここでは割愛するが、セッションの情報はSQL Serverによりデータベースで管理することも可能だ。

詳しくはここ

Read more
日記

都道府県知事の退職金!(高)

1 Mins read

ふさしぶりに書きこしますか(^o^)
じゅんちゃんこと小泉首相が「知事の退職金あきらめて」発言で知事らが反論しているニュースが今朝方からながれているが、そのなかで今まであまり知られていなかった「じゃいくらもらっているの?」情報が出ています。1期4年間で高いところで5,000万円!!!!も出ているじゃありませんか!!!ちなみに首相の退職金は同じ期間でも650万円ぐらい?確かに民間の一流企業では5,000万円ぐらい(以上も)出ているみたいですが、公務員のトップの方たちは「国を良くしたい」という気持ちの基、普通に考えれば血税から5,000万円も、もらおうとは思わないでしょう!しかも年金支給も減らされている財政赤字が激しいこの時代にこの金額?一般市民から考えれば答えは簡単でしょYahoo記事

Read more
日記

MSセキュリティーパッチ

1 Mins read

4月12日に恒例のMSセキュリティーパッチが出ました。色々あったけどActiveXの仕様が変わったのが一番業務アプリに影響がありそうです。なんだか確認画面が出るようになったとか・・・しかしActiveX使っているところは多いのか?少ないのか?便利なことがクライアント側で色々出来るのだが、如何せん使用に関して、技術者としては難しい判断が求められる機能なのよね(苦笑)仕様変更について

Read more