トラックバック(0)ちょっとはまったので書いておく。あるサイトにHttpWebRequestでデータをPOSTしようとした。送り先はEUC-JPなので1.送りたい文字列をEUC-JPに変換2.1で変換したものをURLエンコードでいけると思った。HttpUtility.UrlEncodeの第2引数に文字コードの指定があることが発覚んじゃあと上のソースの最終行を変更して見るも変わらず。試しに文字コード変換なしでUrlEncodeの際に文字コードをしてみた。HttpUtility.UrlEncode(data,Encoding.GetEncoding("EUC-JP")));めでたく無事解決しました♪URLエンコードに文字コード変換機能がついてたわけですね。トラックバック(0)現在運用中のWebサービス。エラーになる、、、って連絡が(汗ここ1ヶ月いじってないのになんでやねん!なんかで間違えて更新しちゃった?試してみると確かにエラーになる。トラックバック(0)WindowsアプリでWEB巡回ツールのような物を作っているのだがWEBの巡回なので完了までに非常に時間がかかる。巡回する数にもよるけど1時間以上かかることもざら。途中で中断したいケースもあるのに同期処理だと中断ボタンを押すこともでいないなので非同期で呼び出すように実装してみた。おおむねうまく動いている独自クラスもいくつか作ってるのでこのままコピペしても動かないけれどイメージとしてはこんな感じ。{//エラー処理}}ただ自分の実装方法が悪いのかもしれないけど1日中動かしていると2,3回処理が止まってしまうことがある。CPU使用量もメモリ使用量もたいしたことないのになぜ。したらローカルでは動くけどClickOnce経由でインストールするとエラーになる。CompactにSQL文を投げた瞬間にエラーが発生しているらしい。CompactもSP1にあげないといけなかったみたい。サイクルで30回以上やったかな?リビジョン30ぐらいあがってたのでw一回の発行に3分ぐらいかかるからホントもうイヤになる。夜の10時に発生して明け方5時までやっても解決せず3時間ほど寝て起きて作業してやっとこさ14時に解決。こんなことで解決までに10時間ぐらいかかってもう疲れた。Onceで開発を進める中で結構ネックなのがデータファイルの取り扱いについて。今まで使って蓄積データが全て初期化されてしまう、ってとてもすてきな仕様です。今一歩かゆいところに手が届いてないですよね。うっかりのクダブルクリック一発、、、で全ユーザーの蓄積データが消えてしまう、、、ってのは恐すぎるので以下のようなアルゴリズムで回避しました。データファイルを2つに分けます。master.sdfdata.sdfmaster.sdfは開発者側で管理するデータが入っているマスタデータのみのデータベースです。後から追加とか変更も楽々できるので楽ちんです。data.sdfはユーザー作成のデータが入るデータベースです。起動時にmaster.sdfのマスターデータをコピーして上書きするようにしています。JOINとかできなくて不便だから、ということでこうしています。このようにマスターとデータでデータベースを分けるのが第一段階。ユーザーデータは上書きする心配もあまりない。うっかりユーザーデータのファイルを開く(ダブルクリックする)と上書きしてしまうのでもう一工夫が必要です。それは初回起動時にファイルをリネームしてしまうのです。data.sdfをuser.sdfにリネームする」です。これで万が一うっかりファイルを開いてしまってもdata.sdfは上書きされますがuser.sdfは影響ないのでOKです♪ご参考までに。トラックバック(0)引き続きWeb巡回ツールネタあるフレームのページを制御しようとしたら「アクセスが拒否されました」とエラーになる。なんで、、、と思ったら本体とフレームでドメインが違ってた。簡単にいうとこんな感じ■アクセス先ページhttp://www.aaaaa.com■フレームのページhttp://acount.aaaaa.comログイン部分のパーツだけフレームになっていて違うサブドメインになっていた。仕方ないので別ドメインのコントロールの仕方、、、をぐぐってみるとWebBrowserにIInternetHostSecurityManager.GetSecurityIdを実装すればいいらしい。その方法は・・・かなり小難しいことをしないといけないようで見てて頭が痛くなってきた。フレームのURLを取得する2.取得したフレームのURLへアクセスする3.やりたい処理をするこの方法思いついてから5分で実装完了。いう風に正面から当たるの難しい場合は迂回路探すのもプログラマーにとって重要な能力ですよね。想定通りに動く場合とエラーになる場合がある。フレームの読み込み発生時にまず1回発生し全ての読み込みが終わったときにもう一回発生するみたい。(WebBrowser)sender;//フレーム内の場合は両者が一致しないので実行されない。トラックバック(0)VS2008で開発していたら急にフォームデザイナで以下のエラーが出てGUIベースで操作ができなくなる。操作ができないだけでコンパイルは通るし実行もできる。Windowsのインデックスが原因だということが判明http://geekswithblogs.net/rupreet/archive/2005/12/21/63740.aspx具体的な対処としては1.プロジェクトフォルダで右クリックから詳細2.検索を早くするためにインデックスを~のチェックを外すなんで解決したかは不明。同じMS製品なんだからちゃんと対応してほしいところです。トラックバック(0)作ったソフトをClickOnceで配布しようかと実装してみたのにローカルのテストでは動くのにClickOnce経由でインストールするとエラーになる。Expressのデータファイルが見あたらないのが原因ということが発覚!?ファイルがコピーされてないか?と思って検索するとちゃんとコピーはされている。データベースのファイルなどはこちらに格納されるらしいそして説明によるとこのフォルダはローカルファイルと同じように扱えるようなことがあったけど実際取れてないので以下のようなソースを書いてみた。トラックバック(0)なんちゃってVS使いになって2週間、すっかり自分のものにしてせこせこ書いてます(笑)ただ一点かなりはまったのが文字コードの判別。ならないものか?と思ったらやっぱりありました。Commercial。