のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,694人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレMicrosoft Silverlight その4

    silverlight スレッド一覧へ / silverlight とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    501 : デフォルトの名無 - 2009/09/10(木) 22:11:06 (+14,-30,-98)
    >>498,496
    印刷で思い出したのでURL貼るけど、下記のサイトでは

    ちょっとややこしいが。
     WritableBitmap -> PngEncoder -> HTML Hidden格納 -> ASP.NET Print Controller ?で印刷を実現してる。
     画像の貼り付けになっちゃうけど案外これでいいかもと思った。

    http://www.andybeaulieu.com/silverlight/3.0/printablesilverlight/printablesilverlight.aspx
    502 : 501 - 2009/09/10(木) 22:31:31 (+3,-30,-112)
    Base64を忘れていた。

    Client WritableBitmap -> PngEncode -> Base64Encode -> HTML Hidden格納
    Server HTML Hidden取り出し -> Base64Decode -> PngDecode -> Print Controlに画像貼り付けだ。
    503 : デフォルトの名無 - 2009/09/10(木) 22:59:40 (+57,+29,-41)
    まぁ、印刷サポートは入れるでしょうねぇ。
    ユーザー層を考えると、LOBアプリをWeb化するのに使えますと
    言うのが一番訴求するだろうし。
    504 : デフォルトの名無 - 2009/09/11(金) 18:17:11 (+83,+13,-214)
    どこにこの怒りをぶつけていいのか判らないので、検索で見つけたこのスレに投下。
    Silverlightインストール不能。

    エラーメッセージID 1622
    インストールログファイルに書き込むことができませんでした。Tempフォルダーが存在し、
    このフォルダーに書き込むことができることを確認してください。

    なんのこっちゃい? 試行錯誤するも解決できず、ついにサポートセンタにTEL。サポートでも
    わけわからず、こちらと一緒になって試行錯誤すること、およそ2時間。ようやく原因判明。
    Tempフォルダをデフォルトから移動させていると(SSD使ってるとか、高速なドライブにTemp
    をおいて高速化しているとか)、インストールできない!!

    インストーラにバグがあるようだが、「無論、これは仕様です」
    Silverlighとは無縁の人生を送れそうだ。さらば Yahoo, Gyao

    ばっきゃろー!!
    505 : デフォルトの名無 - 2009/09/11(金) 18:57:48 (+32,+2,-37)
    >>500
    ほんとだExpression Mediaが入ってないですね。
    まぁ、Mediaって微妙な製品ですよね。
    自分的には使い勝手がいまいちな感じと。これ必要なの?みたいな印象だけど
    506 : デフォルトの名無 - 2009/09/11(金) 19:00:14 (+55,-8,-56)
    ・Tempフォルダ関係のエラーが出た
    ・Tempフォルダを移動している
    これだけ情報が揃ってたのに、なぜ真っ先にTempフォルダを元に戻して試さなかった…
    507 : デフォルトの名無 - 2009/09/11(金) 19:02:23 (-1,-29,-42)
    Designを単体で売り物にできるほど力いれないなら、
    BlendにもDesignを同梱して欲しい。

    Illustrator使うからイラネって言われそうだがw
    508 : デフォルトの名無 - 2009/09/11(金) 19:39:59 (+93,+29,-128)
    >>506
    もちろんそう考えて、自分で試行錯誤した時にTempをデフォルトに戻し再起動ログインしてみたが、
    だめだったのさ。つか普通そんなとこまで考えないだろ? TempがどこにあるかなんてOS任せで、
    他のプログラムが関与するなんてありえないだろ?

    新規のユーザアカウントを作ったらインストールでけたということで、どうやら最初からTempは
    デフォルト固定じゃないとだめみたい。一体どんなプログラムなんだ?
    509 : デフォルトの名無 - 2009/09/11(金) 19:57:38 (-1,-29,-2)
    DesignとIllustratorでは勝負にならんだろうね。
    510 : デフォルトの名無 - 2009/09/11(金) 20:27:02 (+13,-30,-155)
    >>508
    > Tempをデフォルトに戻し再起動ログインしてみたが、だめだったのさ。
    > 新規のユーザアカウントを作ったらインストールでけた

    本当にTempフォルダの移動が原因なのか?

    とりあえず、情報が曖昧すぎて試すのも面倒だから、

    > Tempフォルダをデフォルトから移動

    なんて書かずに、

    ユーザーの環境変数TEMPをXXXからYYYに変更
    システムの環境変数TMPをXXXからYYYに変更

    みたいな感じで正確に書いてくれ。
    511 : デフォルトの名無 - 2009/09/11(金) 21:56:53 (+57,+29,-20)
    うちはテンポラリフォルダを変えて使ってるけど、トラブルは起きてないよ。
    環境はVistaと2000。(2000はランタイムのみ)

    もうちょっと切り分けて調べた方がいいと思う。
    512 : デフォルトの名無 - 2009/09/12(土) 05:41:05 (+46,-20,-16)
    俺もRAMディスクにTEMPフォルダ置いてるが特に問題なかったな
    513 : デフォルトの名無 - 2009/09/12(土) 15:03:40 (-1,-29,-20)
    どうせ TEMP=R:\ とかドライブのルートにしてるってオチだろ・・・
    514 : 508 - 2009/09/12(土) 19:00:05 (+7,-30,-166)
    意外と関心があるようなので

    インスツールできたTempのアドレス
    D:\Documents and Settings\1\Local Settings\Temp\
     (因みにSilverlight関係と思われるファイルがいくつか作成されている)

    失敗したTempのアドレス
    E:\Temp\
    D:\Documents and Settings\秘密\Local Settings\Temp\
    (環境変数を元に戻した。Silverlight0.logだけが作成されていた)

    もう一度アカウントをつくってE:\Temp\にしたらやっぱりだめだった。
    515 : デフォルトの名無 - 2009/09/12(土) 19:10:48 (-1,-29,-34)
    >>514
    そんな初心者っぽい書き方じゃなくて、
    コマンドプロンプト開いてSET実行してTEMPとTMPをコピペしろよ。
    516 : デフォルトの名無 - 2009/09/12(土) 21:19:31 (+51,-30,-188)
    D:\Documents and Settings\1\Local Settings\Temp\
    D:\Documents and Settings\秘密\Local Settings\Temp\
    この違いは単純に全角を使ってるか否かだけかな?
    "秘密"の部分が日本語だったとして。

    E:\Temp\
    ここはレスから推察するにSSDになるのかな?
    "E:\Temp\"だからダメなのか、想定された記憶媒体でないから弾いたのか、気になるところ。

    つか>>508はSilverlightでひどい目に会ったのに意外と協力的だよね。
    個人的な見解だけど、このスレにはFlash信者が時々アンチとして湧くので
    ネガティブなレスに敏感なってるように感じる。多少トゲのあるレスにはめげず
    書き込んでくれると助かる。
    517 : デフォルトの名無 - 2009/09/12(土) 22:16:11 (+70,+30,-236)
    >>516
    協力的とか好意的とかそうゆー心情的なものではなくて、技術的な問題には真摯にというポリシー
    (これも信条か)なので、まともな質問には答えたくなる。
    もちろん「秘密」というのは、「そんなの公開できるか」という意味合いであって単なるボカシだ。
    管理人はPIYOPIYOエプロンという固定概念の持主だと知れたら恥ずかしいだろ?

    あとDドライブがSSDであって、寿命の点から煩雑に書き換えしたくないという理由でEドライブ
    にTempを置いている。(スピ-ド重視ではなく寿命重視ということで)。

    しかし>>512のような事例があるとすると、E:\Temp\にナニかが居るからだというセンも考えられるが
    518 : デフォルトの名無 - 2009/09/12(土) 22:21:40 (+57,+29,-25)
    もしこのままSilverlightが順調にシェアを伸ばしたら
    Flash使いとの醜い争いが本格化するんだろうな。
    そういうのはお腹いっぱい
    519 : デフォルトの名無 - 2009/09/13(日) 00:02:21 (+57,+29,-36)
    口汚く罵るしか能が無い奴は、どちらの案件でも開発なんかやったことない
    外野の素人だから放置しておけばいいよ。
    520 : デフォルトの名無 - 2009/09/13(日) 01:03:20 (+3,-29,-107)
    話は超・横にそれるが将来的にこの手のはRIAは
    処理負荷の高いアプリ→Native Client
    そうでもないアプリ→Silverlight
    携帯端末、家電UI→Flash
    になるんじゃないかと思う。プラットフォームを切り捨ててる分
    Native Client>Silverlight>Flash
    という速度の壁は越えられないと思う。逆にFlashはどこかでこの二社と
    正面からぶつかるのをやめ、最も多くのハードで動く所を長所とした
    差別化をしていくんじゃないかな。
    521 : デフォルトの名無 - 2009/09/13(日) 18:18:44 (+3,-29,-65)
    Silverlight3でOutOfBrowserできるようになって、
    業務で十分使える状況になってきたけど、みなさん
    帳票印刷はどーなさるおつもりですか?

    ブラウザ上で動いていればWeb帳票のソリューション
    で解決しそうなもんだけどOutOfBrowserからだと
    厳しそうな気がすんですが。。。

    OutOfBrowser状態からWebページ開いたりできる?
    522 : デフォルトの名無 - 2009/09/13(日) 19:33:33 (+3,-29,-148)
    印刷はいまのところ、PDFとかをサーバ側で生成するとかしか無いんでないかな。

    Out Of Browserってオフライン時にも実行できるから、
    分離ストレージにデータ蓄積してネットワークが接続できたら、
    サーバと通信するみたいな使い方を想定していると思う。

    そうすると分離ストレージにデータを格納できるSQLServer小型版のSilverlight版が欲しいだよな。
    523 : デフォルトの名無 - 2009/09/13(日) 20:52:09 (+93,-30,+0)
    以下の現象で困っています。分かる方がいらっしゃれば教えてください。
    VS2008で Silverlight3.0 Webアプリを作成しているのですが、WebClientでファイルを取得するたびに
    Tempフォルダに XCP???.tmpという 20MBのファイルが次々追加されてしまいます。
    数十秒に一度の頻度で取得するので、大容量になってしまい無視できません。

    この XCP???.tmpファイルを作成しないようにする方法、またはすぐに消す方法や情報等がありましたら
    教えてください。

    これまでに試したこと。
    ・Webサーバ(geocities)に、作成した zapファイルを配置して実行すると tmpが作成される。(Debug、Release共に)
     (VSからのテスト実行では tmpは作成されない。(Debug、Release共に))
    ・WebClientの AllowReadStreamBufferingは true、false共に効果なし。
    ・ボタンClickの処理で毎回 _webClient = new WebClient();を行っても tmpは削除されない。
    ・_webClientをクラス変数ではなく btnStart_Click()内で作成しても効果なし。
    524 : デフォルトの名無 - 2009/09/13(日) 20:53:27 (+3,-30,+0)
    以下はビハインドコードです。XAMLにはボタンのみあり、btnStart_Clickが呼ばれます。
    ボタンを押すごとに tmpが次々増えていきます。
    (ブラウザを終了すると自動で削除されます)

    namespace SL_Test1 {
    public partial class MainPage : UserControl {

    WebClient _webClient = new WebClient();

    public MainPage() {
    InitializeComponent();
    _webClient.DownloadStringCompleted +=
    new DownloadStringCompletedEventHandler(mWebClient_DownloadStringCompleted); // DL完了イベント登録
    _webClient.AllowReadStreamBuffering = false; // インターネット リソースから読み取ったデータをバッファリングするかどうか
    }

    private void mWebClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e) {
    if (e.Error != null) return;
    if (e.Cancelled) return;
    MessageBox.Show(e.Result);
    }

    private void btnStart_Click(object sender, RoutedEventArgs e) {
    _webClient.DownloadStringAsync(new Uri(Application.Current.Host.Source, "hoge.txt"), "hoge.txt");
    }
    }
    }
    525 : デフォルトの名無 - 2009/09/14(月) 13:45:12 (+9,-29,-35)
    データをロードするSilverlightを表示した状態で
    TMPファイル内を"XCP*.tmp"で検索かけてみたけど出てこなかった。
    そのtmpファイル内の内容はなんでしょう?実はエラーログ的な何かとか。
    526 : デフォルトの名無 - 2009/09/14(月) 19:31:45 (+11,-30,+0)
    >525 確認ありがとうございます。
    > TMPファイル内を"XCP*.tmp"で検索かけてみたけど出てこなかった。
    *の部分は2桁以上の16進のようです。
    実行するたびに数値が増えていきますが、必ずしも1ずつ増えるわけでもありません。
    私は環境変数 TEMPと TMPを C:\Temp に変更しているのですが、このフォルダを見てると、
    上で書いているボタンを押すたびに、ファイルが1つずつ増えていってしまいます。

    > そのtmpファイル内の内容はなんでしょう?実はエラーログ的な何かとか。
    「プロセスはファイルにアクセスできません。別のプロセスが使用中です。」
    と出て、メモ帳とかバイナリエディタで確認することができません。作成されたファイル全て。

    ログの線だと、どの設定でそうなるのかよくわかりません。
    (プロパティはアセンブリ情報くらいしか触ってないはず…)
    Debugビルドだけでなく Releaseビルドでも同じ現象でもありますし。

    通信時なので、非同期通信のデータを溜めておくバッファではないかとも想像しています。
    (データ量が多すぎたときに RAMを圧迫しないようにこのファイルに溜めていく?)
    そうだとしても、設定で通信処理後自動削除、もしくはメソッド等で削除ができないと
    溜まるばかりですし。(それを一部試したのが AllowReadStreamBuffering)

    以下はM$のFileMonで見たログです。
    Process Request Path Result Other
    iexplore.exe CREATE C:\Temp\XCP23.tmp SUCCESS Options: Create Access: Read
    iexplore.exe CLOSE C:\Temp\XCP23.tmp SUCCESS
    iexplore.exe CREATE C:\Temp\XCP23.tmp SUCCESS Options: OverwriteIf Access: 0013019F
    iexplore.exe DIRECTORY C:\Temp\ SUCCESS FileBothDirectoryInformation: XCP23.tmp
    iexplore.exe QUERY INFORMATION C:\Temp\XCP23.tmp SUCCESS Length: 0
    iexplore.exe SET INFORMATION C:\Temp\XCP23.tmp SUCCESS Length: 20971520
    iexplore.exe READ C:\Temp\XCP23.tmp SUCCESS Offset: 0 Length: 32768
    ↑ここまでで止まります。
    IEを閉じたときには↓
    iexplore.exe CLOSE C:\Temp\XCP23.tmp SUCCESS
    527 : デフォルトの名無 - 2009/09/14(月) 19:57:30 (+41,-29,-54)
    >>526
    > > そのtmpファイル内の内容はなんでしょう?実はエラーログ的な何かとか。
    > 「プロセスはファイルにアクセスできません。別のプロセスが使用中です。」
    > と出て、メモ帳とかバイナリエディタで確認することができません。作成されたファイル全て。

    開けなくてもエクスプローラでファイルのコピーはできることはあるから、
    とりあえずコピーして開くとどうなる。
    528 : 523 - 2009/09/14(月) 20:08:21 (+68,+29,-35)
    >527
    作成された直後のも、その前のも以下のメッセージでコピーできません。
    「XCP30 をコピーできません。ほかの人またはプログラムによって使用されています。」

    消されたファイルは、ゴミ箱にも残ってませんし、Nortonゴミ箱の保護ファイルにも残されていません。
    何とか中が見えればいいのですが…。
    529 : デフォルトの名無 - 2009/09/14(月) 20:53:38 (+9,-29,-86)
    Debugで作成したものをネット上に置き、DBCon等
    デバッグコンソールを表示するソフトを起動してSilverlightを
    実行すると、ブラウザ側の警告込みで情報が得られるかもしれません。

    後、自分が作成したもの以外のアプリでもされるのでしょうか?
    530 : デフォルトの名無 - 2009/09/14(月) 20:55:31 (+55,+27,-37)
    ×後、自分が作成したもの以外のアプリでもされるのでしょうか?
    ○後、自分が作成したもの以外のアプリでも生成されるのでしょうか?
    531 : 523 - 2009/09/14(月) 21:25:08 (+4,-30,-138)
    >529
    > Debugで作成したものをネット上に置き、DBCon等…(略)
    DBConから分かりませんので、それも含めて調べてみます。

    > 後、自分が作成したもの以外のアプリでもされるのでしょうか?
    @ITの「Webサービスを利用するSilverlightアプリを作ろう」
    http://www.atmarkit.co.jp/fdotnet/vblab/silverlight2develop_02/silverlight2develop_02_01.html
    にあるガソリン情報取得アプリで、住所を入れて価格取得ボタンを押すと、
    しばらく間をおいて作成されます。(同じく XCP*.tmp。16進値は前の値から連続しています)
    最初はn個一気に作成されます。住所を変えないで再度ボタンを押すと、1つずつ増えていきます。
    住所を変更してボタンを押すと、またn個一気に増えます。
    同様の現象は出ますでしょうか?
    532 : 523 - 2009/09/14(月) 21:34:59 (+3,-30,-146)
    環境を補足しておきます。
    OS:WindowsXP SP3
    Silverlight:VS2008 SP1用 Silverlight 3 Toolsをインスト

    以下はVSのバージョン情報からの抜粋
    VS2008:9.0.30729.1 SP
    .NET Framework:3.5 SP1
    Silverlight Projects 2008:9.0.30730.126
    記述言語はC#。
    533 : デフォルトの名無 - 2009/09/14(月) 22:24:47 (+3,-29,-231)
    挙動が違いますが、XCP*.tmpファイルは確認できました。
    こちらの環境で最大で1つ以上作成されませんでした。
    >ttp://www.atmarkit.co.jp/fdotnet/vblab/silverlight2develop_02/silverlight2develop_02_01.html
    上記アプリで価格取得ボタンを押した時に作成されますが、しばらくすると消えます。
    それ以降、再度ボタンを押しても エクスプローラー上には現れませんでした。(IE8,FF3)

    挙動から推察するに、ダウンロードリソースの一時ファイルかと思います。
    どこまでも仮説ですが、ハードやウイルスソフトなどの環境要因でダウンロードの終了が
    Silverlightに通知されず、次のダウンロードリクエストで更に一時ファイルが‥ということが
    繰り返されているのではないでしょうか?
    起動中のソフトを1つ1つ終了させていくと、どこかで問題が解決するかもしれません。
    534 : デフォルトの名無 - 2009/09/14(月) 22:38:49 (+46,+18,-35)
    すいません、質問してもいいですか?
    シルバーライトのテキストボックスにクリップボードのテキストをVBでPasteできないんですか?
    535 : デフォルトの名無 - 2009/09/14(月) 23:35:22 (+32,+9,+0)
    自己解決、出来ました。
    536 : 523 - 2009/09/14(月) 23:50:45 (+3,-30,-214)
    > 533
    検証ありがとうございます。
    tmpファイルが1つしか作成されないということは、IE7と8の差、もしくはIEのオプション設定が
    怪しいのかも。
    (スクリプトデバッグのON/OFFでは変化ありませんでした。スクリプトエラー表示をONにしても
    何もエラー表示なしです。)
    IE8必須にするにはまだ時期尚早と考えてますので、IE7でもう少し粘って調べてみます。

    > どこまでも仮説ですが、ハードやウイルスソフトなどの・・・(略)
    ダウンロードは mWebClient_DownloadStringCompletedが発生しているので終了通知は受け取っていると
    思います。
    とすると、随時の削除通知がOSに伝わってないとしたら・・・。
    ブラウザ終了時に tmpが消えるのも不自然ということか・・・。
    ウイルスソフトだとちょっと困りますね。
    (NTT提供の TREND MICRO セキュリティ対策ツールVer16を使用。アップデート済)

    > 起動中のソフトを1つ1つ終了させていくと、どこかで問題が解決するかもしれません。
    OS起動時の新鮮な時に試してみます。
    537 : 523 - 2009/09/15(火) 00:10:19 (+3,-30,-175)
    > 529
    DBCon試してみました。
    (これすごく役に立ちます。今まで別途テキストボックス作って出してました。ありがとうございます。)
    特にエラー等は検知できませんでした。
    mWebClient_DownloadStringCompleted() 処理で例外も発生していませんでした。

    <DBConメモ>
    Debugビルドでは、以下で出力した内容を表示してくれます。
      Debugger.Log()
      Debug.WriteLine()
    Releaseビルドでも、以下は取得できます(出力しています?)。(レベル引数は5で試しました)
      Debugger.Log()

    (Console.WriteLine()はどちらのビルドでも不可)
    538 : デフォルトの名無 - 2009/09/15(火) 15:14:01 (+3,-30,+0)
    黒で塗りつぶされた四角形を作るクラスを作りたいのですが、
    どうもうまくいきません。(表示されない)
    どこが悪いか教えていただけませんでしょうか?
    黒塗りの四角形のクラスは以下のとおりです。

    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Media;
    using System.Windows.Shapes;
    namespace SilverlightApplication1
    {

    public class Block : Shape
    {
    Rectangle colorRectangle = new Rectangle();
    SolidColorBrush testBlack = new SolidColorBrush();

    public Block()
    {
    testBlack.Color = Color.FromArgb(0xFF, 0x00, 0x00, 0x00);
    colorRectangle.Width = 100;
    colorRectangle.Height = 50;
    colorRectangle.Fill = testBlack;
    }
    }
    }
    このクラスをメインプログラムから、以下の命令で読み出します。
    Canvas.SetLeft(testblock, 550);
    Canvas.SetTop(testblock, 100);
    testblock.Height = 100;
    testblock.Width = 50;
    canvas.Children.Add(testblock);
    539 : デフォルトの名無 - 2009/09/15(火) 15:21:15 (-1,-29,-30)
    無理
    Shapeの派生クラスは作れない
    540 : デフォルトの名無 - 2009/09/15(火) 15:29:07 (+3,-30,-236)
    そもそも、クラス内で作っているcolorRectangleがどこにも使われていない件について。

    public class Block
    {
    Rectangle colorRectangle = new Rectangle();
    SolidColorBrush testBlack = new SolidColorBrush();

    public Block(Panel owner)
    {
    testBlack.Color = Color.FromArgb(0xFF, 0x00, 0x00, 0x00);
    colorRectangle.Width = 100;
    colorRectangle.Height = 50;
    colorRectangle.Fill = testBlack;
    owner.Children.Add(colorRectangle);
    }
    }
    とかにして、
    Block block = new Block(canvas);
    で出るんでないかな。
    541 : デフォルトの名無 - 2009/09/15(火) 15:56:04 (-1,-29,-48)
    わざわざクラスを作る必要もない
    各プロパティを設定するスタイルをXAMLのリソースで宣言して
    Rectangleに設定すればいいだけ
    542 : 523 - 2009/09/15(火) 19:23:20 (+62,+29,-128)
    試しに会社のPC & ネット環境から見に行くと、私が↑で書いたプログラムだと tmpは1、2個程度で
    それ以上増えませんでした。
    しかし、@ITのサイトは住所を変更しなくてもボタンを押すたびに次々増えていきました。
    現象に統一性がないのがアレですが、IEもしくはPC環境の問題も絡んで面倒なことになりそうな
    気がしてきました。;;
    (IEの設定は持ち帰りましたので、この後調べます。)

    ちなみに自PC起動直後に試してみたところ、両サイトとも tmpが10個前後まで増えたあと、
    急に2、3個に減りました。(しばらく待ってもゼロ個になることはありません)
    現象が変わってます。ん~~、よくわかりません。
    コンピュータなんだから、毎回同じ動きしてほしいものです。w

    取り急ぎ報告まで。
    543 : 523 - 2009/09/15(火) 22:49:45 (+3,-30,+0)
    対処療法ですが、tmpの作成個数を抑える方法が見つかりました。
    それはガベージコレクション(以下GC)。
    通常は自動にまかせて問題ないし、メモリにしか関係しないと思っていました。
    (少なくとも私はメモリを食いつぶされた経験はありません。今回もメモリは十分残っていました。)

    私の↑のプログラムで言えば、mWebClient_DownloadStringCompleted(…)の処理の最後に以下を記述します。
    GC.Collect();
    すると、最新の tmpのみ残りそれ以前のは即時削除されました。

    元々問題となっていた、ループ中で通信して数十GBも食いつぶすプログラムでは、10~15個 tmpが溜まった後
    最新以外が一気に消えるという繰り返しになりました。
    (こちらも GCは通信処理の末尾に記述)
    このプログラムの処理をもう少し詳しく書くと、
    (1) メインの処理は、0.5秒間隔のTimerで常にある処理をしている。
    (2) 上記処理を行いながら、約10秒ごとに非同期でファイルを取得する。← DownloadStringAsync
    のようなことをしています。
    この場合は、(2)で毎回GCを行っても、必ずしも削除されるわけではないようです。

    Bestな解決方法とは言えませんが、とりあえず回避はできるようですので〆ようと思います。
    (ここはずっと見てますので、根本解決が見つかれば書き込んでいただければ幸いです。)
    協力してくださった皆様、ありがとうございました。m(_ _)m

    GCが tmp削除に関連している理由は予想しかできないので書きませんが、この対処方法を見つけた時は、
    「何でやねん」と叫んだことを付記しておきます。w
    544 : デフォルトの名無 - 2009/09/16(水) 00:03:33 (-6,-29,+0)
    Dispose関係じゃね
    545 : デフォルトの名無 - 2009/09/16(水) 00:38:23 (+57,+29,-22)
    他のSLアプリでも起きてるので環境だと思う。
    めちゃくちゃメモリが乗っかっててGCが発生しにくいとか。
    546 : デフォルトの名無 - 2009/09/16(水) 01:01:05 (+47,+19,-13)
    こういう時は、多少面倒でもWebRequestを使ったほうが良いかもしれないな。
    547 : デフォルトの名無 - 2009/09/16(水) 01:03:13 (+64,+2,-7)
    > 他のSLアプリでも起きてるので環境だと思う。
    全く根拠になってねぇ
    548 : デフォルトの名無 - 2009/09/16(水) 03:30:50 (+66,+29,-11)
    >>547
    ごめん。言い直すよ。


    他のSLアプリでも起きてるので環境だと思う。根拠はない。
    549 : デフォルトの名無 - 2009/09/16(水) 06:43:07 (+55,+29,-33)
    他のSLアプリも馬鹿が作ってたらその理屈は通らないだろw
    550 : デフォルトの名無 - 2009/09/16(水) 10:14:31 (+62,+29,-63)
    GCでアンマネージリソースが廃棄されると言われると、
    普通の人はファイナライザで廃棄されてるんだなと考える。
    そしてリクエスト毎にwebclientをnewし、不要になったものからDisposeしてみることから試すと思う。





    やってみてないけど。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / silverlight スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について