- 1 名前:デフォルトの名無しさん mailto:sage [2009/06/16(火) 20:11:11 ]
- (#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。
前スレ C#, C♯, C#相談室 Part52 pc12.2ch.net/test/read.cgi/tech/1238548552/ Visual C# 2008 Express Edition 日本語版 www.microsoft.com/japan/msdn/vstudio/express/vcsharp/ その他テンプレ>>2-5くらい
- 830 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 01:40:05 ]
- ildasmの表記のほうがいいな。
.field public static literal string const_test_1 = "aaa1"
- 831 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 01:57:24 ]
- しょうがないんだろうけれど、Attributeのコンストラクタ?に普通のオブジェクト生成式とか書けるようになって欲しいお(´・ω・`)
- 832 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 02:26:21 ]
- むちゃゆうな
まあ気持ちは分かる
- 833 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 08:30:52 ]
- Expression<TDelegate>さえ書ければ解決なのに
- 834 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 02:27:35 ]
- TDelegateってなんだ。
- 835 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 06:20:06 ]
- Delegateは特殊クラスなのでこういう制約は作れないってことだと思う。
class F<T> where T : System.Delegate
- 836 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 20:09:48 ]
- IL 上作れないわけじゃないよ。実際 ECMA335 には
一例として載ってる。 要するにわざと禁止しているものなので理由を考えて みるといいと思うよ
- 837 名前:デフォルトの名無しさん mailto:sage [2009/08/13(木) 15:52:09 ]
- 1日分のログを日付フォルダごとに分けて保存していて
一定期間経過したフォルダを DirectoryInfo.Delete(true)で削除しているんだが 毎日少しずつ削除時間が延びていくんだが なんか理由知っている人いない? 削除の他にも処理をしているんだが なぜか削除だけ時間がかかる IOの問題なのかな? ちなみに、、、 OS:windows 2003 server R2 Enterprise x64 Edition Service Pack2
- 838 名前:デフォルトの名無しさん mailto:sage [2009/08/13(木) 16:39:00 ]
- 普通にコマンドで消した時は遅くないの?
- 839 名前:デフォルトの名無しさん mailto:sage [2009/08/13(木) 20:45:04 ]
- 削除してる間にログを他者が見てるって事はないの?
そもそもログの量、大きさは同じくらいなの?
- 840 名前:デフォルトの名無しさん [2009/08/14(金) 00:23:18 ]
- 処理内容がわからんから何とも胃炎。
毎日一定時間に処理をしてるんじゃないのか。 削除終了時に終了後から一定時間をセットするなら 削除処理にかかる時間分ずれていくだろ。
- 841 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 00:45:25 ]
- すいません
vista + C# express edition + excel2007です 参照設定で参照の追加でcom タブでmicrosoft excel5.0をみると microsoft excel5.0 ?????????? と出てるんですけど・・・ これって一体・・・・2007以前のexcel入れれば治るのでしょうか? とても不安です・・・ 壊れてるのかなC#・・・(涙
- 842 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 02:03:58 ]
- >>837
最初は断片化かな?とか思ったけど、メモリリークな気もする。 C#はジェネリクスとnewで管理されているけど解放されないメモリが 簡単にできちゃうから、仮想メモリにガリガリアクセスして時間が かかってしまう可能性も否めない。 Process Explorerあたりで確認して、GCのジェネレーション2が 異常にでかいサイズなら解放漏れ(ジェネリクスのClearやDisposeのし忘れ)を 確認してみたらどうだろう。
- 843 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 02:06:10 ]
- >>842
気になる これってアンマネージドで管理されているメモリの話? それともマネージドだが古すぎてpermanent(永久?)領域に直ぐに移されちゃう話? それとも両方混ざった話?
- 844 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 02:13:25 ]
- マネージドでしょ
- 845 名前:842 mailto:sage [2009/08/14(金) 02:35:11 ]
- マネージドの話。
ちょっと怖い書き方をしてしまったけど、要は使わないクラスがどっかで 参照されてるので消されずにメモリが圧迫されてるかも、という事です。 ソートとかで一時領域として使ってたDictionaryに、そのまま参照が残っちゃってて、みたいな。 開発中、デバッガ終了後なかなか処理が戻ってこない時はこの現象が起きてるか 疑ってみたほうがいいかも。と、経験者よりorz
- 846 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 05:20:44 ]
- DirectoryInfoのインスタンスは使いまわしてるか、毎回newしてるか。
Directory.Delete(String, Boolean)を使ったらどうか。
- 847 名前:841 [2009/08/14(金) 08:32:26 ]
- 初心板にまわります
- 848 名前:837 mailto:sage [2009/08/14(金) 11:20:52 ]
- みなさん、ありがとうございます。
>>838 ディレクトリのサイズが32MBぐらいで 普通に"rmdir"コマンドで削除すると1分ぐらいです。 >>839 削除しているのは、数日経過したディレクトリなので 他の人は見てないです。 >>840 日付ごとにディレクトリを作成して その配下に時間ごとのサブディレクトリを 作成してプロセスごとのログを出力しています。 "日付ディレクトリ"の日付を見て 数日経過していたら削除するという 処理を行っています。 >>842 自分も最初はメモリリークを疑っていました。 ページファイルが1日で5MBずつ増えていますが そのせいで削除処理が約30秒も伸びるんでしょうか? 削除処理だけで、他の処理は遅くなっていないのも 気になっています。 >>846 毎回newしています。 解放処理は明示的に行っていないので 参照が残ってしまっているのでしょうか?
- 849 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 12:18:00 ]
- >ディレクトリのサイズが32MBぐらいで
>普通に"rmdir"コマンドで削除すると1分ぐらいです。
- 850 名前:デフォルトの名無しさん [2009/08/14(金) 12:58:35 ]
- 削除の処理にかかる時間が延びてるってことか
- 851 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 13:54:14 ]
- 32MBで一分ってその時点で遅すぎねーか?
- 852 名前:837 mailto:sage [2009/08/14(金) 14:04:49 ]
- >>850
そうです。 削除の時間が日々伸びています。 >>851 ディスク上のサイズは204MBでした。 遅すぎですかね?
- 853 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 14:07:13 ]
- ファイル数くらい書けよ。
エスパーさせんな
- 854 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 14:08:40 ]
- シャドウコピーとかは有効になってる?
- 855 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 14:42:25 ]
- ファイル数がきっと膨大なはず
ファイルの数があまりに多いと関連の処理がどんどん重くなる 確かWindowsのファイルテーブルてツリー構造してるの見た目だけで 実際はドライブごとに一つの表があるだけだから ドライブ内のファイル/フォルダの数が多くなる度に ファイル/フォルダ絡みのあらゆる動作が遅くなる 間違ってたらごめん
- 856 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 15:14:19 ]
- NTFSだったらB木使ってるからFAT32よりも格段に速いよ
- 857 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 15:22:48 ]
- >>856
フォルダの中身ごと削除の時点で全スキャンだし
- 858 名前:837 mailto:sage [2009/08/14(金) 15:58:22 ]
- >>853
すみません。。 フォルダ数:約9500 ファイル数:約52500 膨大な数ですよね。 >>855 毎回削除する"フォルダ数"/"ディレクトリ数"は 変わらないのですが それでも段々遅くなるのでしょうか?
- 859 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 16:07:16 ]
- >>858
数日でそんなに溜まるログとか設計が狂ってる
- 860 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 16:10:39 ]
- いっその事DBにログ記録しろ
- 861 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 16:18:10 ]
- 単純に一日のログを1ファイルにまとめるだけでも
相当マシになるはず
- 862 名前:837 mailto:sage [2009/08/14(金) 17:51:15 ]
- みなさん、ありがとうございます。
設計というよりも、そういう仕様なので 仕方ない部分もあるのですが・・・ アドバイスを参考にしたいと思います。
- 863 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 18:46:36 ]
- それ、プログラム終了させて新たに起動したらあきらかに速度が違う
というのなら、今まで消したファイルもスキャンしてるとかないか?
- 864 名前:842 mailto:sage [2009/08/15(土) 01:15:55 ]
- >ページファイルが1日で5MBずつ増えていますが
>そのせいで削除処理が約30秒も伸びるんでしょうか? >削除処理だけで、他の処理は遅くなっていないのも >気になっています。 その、今の所、日を追うごとに増えているデータってのが ページファイルだけなら疑ってみる価値はあるかと。 ファイル削除とページングでハードディスクへのリクエストがかち合って ガリガリ言ってる時間が長くなれば可能性はあるかと。 削除プログラムが常駐プログラムなら一度再起動してみて速度をみてみるのはどうだろう? それ以前にgen2の値はどうなんだろう?これでリークか否かの答えは出ると思うんだけど。 毎回起動なら、そのページファイルを増やしている別のプログラムをつきとめた方がいいかも。 なんにせよ、そのサーバはリークを起こしているっぽいw
- 865 名前:デフォルトの名無しさん mailto:age [2009/08/16(日) 12:42:56 ]
- webbrowserに表示しているHTMLを画像として保存するには、
どのような方法が一番妥当ですか? クライアントの隠れている部分も含めて画像変換したいので、 PrintScreenではだめです。
- 866 名前:865 mailto:sage [2009/08/16(日) 13:00:41 ]
- ネットで探してて最初は見つからなかったのですが、
書き込んでからいろいろ見つかってきました。 homepage1.nifty.com/yasunari/VB/VB2005/WebBrowserDrawToBitmap.htm www.i-tribe.info/Blog/post/2009/06/08/e7b0a1e58d98e79a84e381abWebe38398e383bce382b7e381aee794bbe5838fe38292e4bf9de5ad98e38199e3828b.aspx すみませんでした。
- 867 名前:865 mailto:sage [2009/08/16(日) 13:04:11 ]
- ここが一番よさそうでした。
ufreyr.blog80.fc2.com/blog-date-200703.html
- 868 名前:837 mailto:sage [2009/08/17(月) 14:29:39 ]
- >>864
遅くなりましたが、「Process Explorer」で見てみました。 削除しているプログラムの値です。 #Gen0 Collection 14,220 #Gen1 Collection 5,952 #Gen2 Collection 314 Gen0 Heap Size 3,145,728 Gen1 Heap Size 30,976 Gen2 Heap Size 64,076,116 これって、リークしているのでしょうか?
- 869 名前:864 mailto:sage [2009/08/17(月) 18:07:10 ]
- Gen2を知らないなら、今だけはプログラムを起動中に常に必要なメモリサイズだと思ってください。
削除プログラムに常に必要とされているメモリが64M弱が正しいならリークしてないです。 これが削除処理を実行する度に増えているなら、かなり怪しいです。 個人的な見解としてはファイルが何ギガあっても削除するだけに64Mは異常です。 CLR Profilerで何にメモリを使っているのか調べます。 更にいうと、64M程度で体感速度に差が出るとは考えづらいです。 他のヒープも合わせ削除処理中にムチャなメモリ確保がある可能性も視野に入れます。 ただし処理時間の原因がメモリリークであり、それが改善された場合、 これ以上削除時間が延びる事は無いはずなのでクレームが来るまで放置しますw
- 870 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 23:10:33 ]
- サーバーでPaythonスクリプトを実行し、
特定の命令が呼び出されたら割り込みが入るまで待機ということをしたい。 それを実現するために、スクリプトを実行するごとにスレッドを呼び出してイベント来るまで待機ということをしているんだが、 これだと多数のユーザーがスクリプトを実行したときにリソースが枯渇しそうなことに気付いた。 スレッドプールで書き直したいんだが、ブロックするような処理をするのはまずいとMSDNに書いてあった. これってイベントが来るまで待機するような処理も含まれるの?
- 871 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 23:44:28 ]
- どの辺にC#がw
- 872 名前:870 mailto:sage [2009/08/17(月) 23:55:18 ]
- 使用言語:C#3.0
- 873 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 00:22:37 ]
- >>870
そのまえにペイソンとかいう言語はC#とどの程度相互運用できるんだ
- 874 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 00:28:52 ]
- phython≠paython
- 875 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 00:59:19 ]
- また変なエサを投下して・・・
- 876 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 01:07:01 ]
- ふぁいそん?
- 877 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 01:46:04 ]
- 北米的にはぺいずぅぁん。
- 878 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 10:24:41 ]
- SORPとかでWCF使うとか
- 879 名前:870 mailto:sage [2009/08/18(火) 16:49:05 ]
- >>873
ironpaythonを使えば、楽に相互運用ができる。
- 880 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 17:25:17 ]
- >>879
paythonって何だよ ironpaythonって何だよ
- 881 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 17:36:43 ]
- 試しにググったらここのPart42が引っかかったw
- 882 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 20:44:15 ]
- SORP?
- 883 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 20:46:14 ]
- >>879
アイロンペイソンってサーバーで動かすPaythonスクリプトにもなれるの?
- 884 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 21:22:55 ]
- おまえらペイトホンも知らねーのかよ。
>>870 マジレスしようと何度か読み直してみたがさっぱり意味が解らない。 とりあえず質問の内容は最後の2行のみ? で、ブロックしそうなのはクライアント側?サーバ側? っつか多分日本語でやりとりしてもらちがあかなそう。簡単なソース出して これはおk?ってやった方が、キミとは上手くやっていけそうな気がする。
- 885 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 21:53:42 ]
- boid mein() {
} とかってコード期待w
- 886 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 22:35:00 ]
- >>869
亀だが・・・ 64M程度ならドトネトでは普通じゃないかと思う 結局メモリ量は予約領域でもあるはずだから純粋に使用しているメモリというわけではないだろうし
- 887 名前:870 mailto:sage [2009/08/18(火) 23:54:18 ]
- >>884
ソースをさらします。 サーバーがRunScriptというパケットを受け取ると実行される void talk() { Thread t = new Thread(executeScript); t.Start(this.remoteip); } private void executeScript(object data) { PythonEngine pe = new PythonEngine(); pe.deliverVarible("_self", this); pe.deliverVarible("_target", target); pe.deliverVarible("_remoteip", (string)data); pe.execute("foo.py"); } //リモートIPとManualResetEventが対になってる static Dictionary<string, ManualResetEvent> ManualEvent = new Dictionary<string, ManualResetEvent>(); //foo.pyがwaitForSignalを実行すると呼び出させる public void waitForSignal() { if (remoteip == null) return; ManualEvent[remoteip].Reset(); ManualEvent[remoteip].WaitOne(Globals.script_wait_time); } //別スレッドから呼び出し public void setSignal() { if (remoteip == null) return; ManualEvent[remoteip].Set(); }
- 888 名前:870 mailto:sage [2009/08/18(火) 23:55:49 ]
- 訂正
×//別スレッドから呼び出し ○//同じクライアントから特定のパケットを受け取ると呼び出される(パケットを受け取る部分は非同期ソケットを使ってます)
- 889 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 00:08:34 ]
- Directory.Delete("パス",true);
これに64Mはありえない。それからgen2は回収に何度か失敗している領域。 現在使用中かつ長い間確保されている可能性が高い。 とまぁ、レスの情報と自分の経験からの推測な訳です。はい。 本当に64Mが適正か否かは>>837氏のみが知る所でしょう。
- 890 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 19:00:23 ]
- 質問です
今ちょっと頼まれて テキストボックスとボタンのフォームだけがあります。 そしてそれに必須入力チェック、桁数チェック、書式チェックと言う条件を作らないといけないのですが 当方初心者でまるでわかりません。 まず、True,Falseの場合に出すメッセージボックスを作ります。 そしてIF文でどっちに行くかを条件付けるんですが どのようにして記述していけばいいのでしょうか・・・・
- 891 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 21:30:38 ]
- ググれ
- 892 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 21:31:42 ]
- 初心者向けの本でも買え。
- 893 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 21:53:52 ]
- カスどもありがとう助かったわ
- 894 名前:デフォルトの名無しさん [2009/08/19(水) 22:19:58 ]
- タブコントロールのタブなしってあるの?
アクセスではあるらしいね。
- 895 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 22:34:11 ]
- フラットスタイルじゃなくて?
- 896 名前:デフォルトの名しさん mailto:sage [2009/08/19(水) 22:46:10 ]
- ふらっとの方でもたずねたのですが、返事がないので
C#を始めて1年くらいで、2Dグラフィック周りを主にやってます。 最近、JAVAプログラムのオープンソフトでJDrafter(hhp://jdrafter.com/)とい うソフトを発見したのですが、 このソフトは、イラレ感覚で2Dグラフィックを作成し、Javaの オブジェクトとして保存できるため、Javaプログラムからの表示やアニメーションなどにも応 用できるようなのですが、 どなたか、C#でこんなプログラムをご存知の方いないでしょうか。 もしくは、オープンソフトなので、描画周りのクラスをC#に変換して利用できないか考え ているところですが、どなたかその方法やこれに適したjava→C#変換ツールをご存知 の方があれば、ご教授をお願いします。
- 897 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 22:54:20 ]
- 何文字目?
- 898 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 22:55:30 ]
- Java使えよ
- 899 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 22:56:59 ]
- つJ#
- 900 名前:デフォルトの名無しさん [2009/08/19(水) 22:59:36 ]
- >>895
フラットスタイル… C♯にあるの?
- 901 名前:デフォルトの名しさん mailto:sage [2009/08/19(水) 22:59:48 ]
- >>898
javaに変えてもいいのですが、今までの資産や、C#の将来性を考えると簡単に は決断できません。 ググってもみましたが、どうしてもわからないのでお尋ねしているところです。
- 902 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 23:01:03 ]
- つか xaml に変換できるもの、Expression とかがまさにそのまま
イラレ感覚がいいんならイラレ -> xaml のエクスポータ使えばー
- 903 名前:デフォルトの名しさん mailto:sage [2009/08/19(水) 23:17:21 ]
- >>902
ありがとうございました。 xamlテクノロジーは始めて知りました。(勉強不足ですみません。) xamlについて調べて、フリーの(金がないので) ツールなんかがない かいググります。どうもありがとうございました。
- 904 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 23:36:49 ]
- イラレってxaml生成できんのか。おどろいた。
- 905 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 23:49:29 ]
- XPSじゃねーのと思って調べたらほんとにXAMLだった
- 906 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 00:11:20 ]
- イラレ10でも出力できますか?
- 907 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 00:59:00 ]
- プラグイン形式のやつはCS以降じゃないと無理なんじゃないかな?
Photoshop(.psd)やIllustrator(.ai)を直接取り込めるようになったBlend 3を使うのが楽だとは思うけど↓みたいなのもある。 XamlXporter for Illustrator www.codeplex.com/Wiki/View.aspx?ProjectName=xamlxporter >>903 Inkscapeがオススメ。日本語化されてて標準でXAML出力に対応してる。
- 908 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 02:14:50 ]
- (´・∀・`)ヘー
- 909 名前:デフォルトの名無しさん [2009/08/20(木) 06:44:32 ]
- イラレでコントロールを作成してWPFコントロールにすることは可能なの?
- 910 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 07:02:50 ]
- 仮にCanvasしか吐けなくても好きなルート要素で囲んでやるだけで
ユーザーコントロールでもコントロールテンプレートでも作れるはず
- 911 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 08:27:03 ]
- へーへーへー
- 912 名前:デフォルトの名無しさん [2009/08/20(木) 11:35:37 ]
- すいません。教えてくらはい。
VS2008のプロジェクトに*.iniファイルを含めて プロジェクト出力として一緒に出力したいのですが、 クラスライブラリプロジェクトの場合うまくいきません。 これは仕様でなんでしょうか? <<設定例>> ファイルプロパティ ビルドアクション:コンテンツ 出力ディレクトリにコピー:常にコピー
- 913 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 11:56:20 ]
-
質問ですが、遅延バインディングにてExcelの単一セルの中に入っている情報を取り出すにはどうすればよいでしょうか? 遅延バインディング レイトバインディング 実行時バインディング いろんな呼び方がありますね。 www6.atwiki.jp/we_hate_sunshine/pages/73.html にありましたコードの一部を参照させていただいております。 // セルデータを2次元配列にいっぺんに読み込みます。 objRange_Late = objSheet_Late.GetType().InvokeMember("UsedRange", BindingFlags.GetProperty, null, objSheet_Late, null); Object[,] tmpTable; tmpTable = (System.Object[,])(objRange_Late.GetType().InvokeMember("Value", BindingFlags.GetProperty, null, objRange_Late, null)); ↑上記コードはうまくいったのですが、 単一のセルを指定し(Rangeを使うのだと思います)そのセル内のデータを取得する方法がわかりません。 やりたいこと 例) A1セル「hoge」 の文字列hogeを取得したいです。 試しに書いたコード(実行時にエラーが出たのでできませんでしたが)を乗せておきます。 parameters = new Object[] { "A1",Missing.Value }; objRange_Late = objSheet_Late.GetType().InvokeMember("Range", BindingFlags.GetProperty, null, objSheet_Late, parameters); Object tmpTable = new object[1]; tmpTable = (System.Object[,])(objRange_Late.GetType().InvokeMember("Value", BindingFlags.GetProperty, null, objRange_Late, null)); こういう雰囲気でいけそうな気がするのですが、わかりません。よろしくお願いします。
- 914 名前:デフォルトの名無しさん [2009/08/20(木) 18:43:57 ]
- Webサーバ機能を、作ってるアプリに付けたいのですが、
単一ループ内でkeep-aliveを処理できるお手軽なアプローチ無いでしょうか? // listner起動 while (true) { // Context取得 (ブロック) // Request処理 // Response処理 if (Connection == close) { break; } } と言う様な処理を行い、 要は、ソケットの接続〜切断のモデルと近似にしたいのです。 理由は、データ管理や前回のリクエスト/レスポンスに強く依存した処理の為、簡単に回したいと言う感じです。 アドバイスと慈悲を下さい。
- 915 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 18:52:23 ]
- >>912
プロジェクト出力ってセットアッププロジェクトの話? セットアッププロジェクトでDLLだけ配布するの? >>914 プロトコルに何使うのさ >>913 Excelの質問には答えられないけど、エラーの内容ぐらい書いた方がいいんでないか
- 916 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 18:55:59 ]
- >>915
httpです
- 917 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 20:16:18 ]
- >>916
HTTP で keep-alive でのみセッションが維持されるなんて 仕様外の特殊な事考えたりしてるなら 独自プロトコルでやった方がいい
- 918 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 22:27:31 ]
- 前回のリクエスト/レスポンスに強く依存した処理ってviewstateじゃだめなん?
- 919 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 22:37:11 ]
- >>914
つまりソケットの接続〜切断のモデルと同じなんじゃね? ソケットつかえばおk
- 920 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 23:46:05 ]
- .net 3.5、 WinXP VS2008、C#で開発しています。
開発するアプリケーションの利用環境は、Win2003、Win2008、WinVistaなどを想定している開発です。 質問します。 C#でファイル名の整合性を確認する関数はあるでしょうか? ファイル名に使えない文字を取得する、System.IO.GetInvalidFileNameChars()は知っていますが、これだと CON, PRN, AUX, CLOCK$, NUL COM0, COM1, COM2, COM3…… のような文字列を調べることができません。 また、開発環境こそWinXP Proなんですけれども、開発するアプリケーションは クライアント・サーバ方式のアプリケーションで、クライアントからサーバにファイルを作成する形式のものです。 サーバはWin2003かWin2008、クライアントはWinVistaかWinXPです。 そうなってくると、いったんクライアントでファイルを作成して、実際に有効なファイル名かどうかを 確認する手段もOSの差を吸収できるかどうかに疑問が生じます。 このような場合、一体どのようにしてファイル名として有効な文字列かどうか判断したらよいか 教えてください。 お願いいたします。
- 921 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 23:48:30 ]
- 最近C#をはじめました。ワケあってちょっと急いで基本を学ばなければなりません。
質問させていただきたいのですが、sqrtやsinなどの数学系の関数を使うとき Math.Sqrt(2.0) といちいちMath.をつけるのが(複雑な式をコーディングするときにMathだらけになる) 嫌なのですがこれを書かないでいいようにするにはどうしたらいいのでしょうか。 多分Console.WriteをWriteだけにしたいというのと同じ意味だと思いますが。 よろしくお願いいたします。
- 922 名前:920 mailto:sage [2009/08/20(木) 23:54:54 ]
- ごめんなさい、よく考えたら権限の問題とかもあるので、サーバ側でディレクトリ作ってみて、失敗するかどうかで判断したほうがよさそうです。
質問を取り消します。
- 923 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 23:56:21 ]
- >>921
Math.Sinを呼び出すだけのローカル関数でも作っとけば
- 924 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 23:56:42 ]
- >>919
開発効率が悪いからもっと便利なクラスを使いたいです
- 925 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 23:58:21 ]
- 便利なクラスを作れ
- 926 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 00:00:06 ]
- static import は?と思ってしまった・・・orz
- 927 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 00:16:18 ]
- >>923>>925
それはそういうものなのですか。VC#で開発してるとあまりそういうことは みんな面倒とは思わないためでしょうか? いずれにせよ、手軽にできるわけではないんですね。ありがとうございました。
- 928 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 00:18:17 ]
- >>927
Math って書くのが普通。とくに面倒じゃないよ。
- 929 名前:デフォルトの名無しさん [2009/08/21(金) 00:36:50 ]
- >>927
オブジェクト指向というのはそういうもの。
- 930 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 00:52:29 ]
- >>927
Math.Sinをコンパクトに記述することを考えるより、 式そのものを簡単にすることをまず考えるべきだろうね。 数学の数式だって同じだと思うけど、式が複雑だっていうなら いくつかの部分に分けて部分ごとに一時変数に入れるとかね。 まあ数式の場合と違って、数値計算の場合は演算誤差に対する配慮は 必要になるけど。
|

|