トップページ⇒tech
1001コメント280KB

ふらっとVisual C#,C♯,C#(初心者用) Part105

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2013/06/23(日) 09:41:13.50
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

他のスレッドでは書き込めないような低レベルな質問。
質問者自身なんだか意味がよく分からない質問。
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。

内容に応じて、他スレ・他板へ行くことを勧められることがあります、ご了承下さい。

なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

前スレ
ふらっとVisual C#,C♯,C#(初心者用) Part104
http://toro.2ch.net/test/read.cgi/tech/1366503422/
関連スレ
C#, C♯, C#相談室 Part79
http://toro.2ch.net/test/read.cgi/tech/1363632378/

コード貼るなら↓使ってください
http://ideone.com/
0232デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>228-229
こういうセンスの人はプログラミング向いてない
0233デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
夏休みにしては手の込んだ釣りが横行してるな
ふらっとスレにも来てた
0234デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>232
センスある人はどうやるのです?
0235デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>229
レスありがとうございます
動作させてみたのですが、よくわかりませんでした
0236デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
釣りとかセンスとか
煽りはなしでお願いします
0237デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>230
List<T>.Enemerator が IEnumerator<T> を実装しているのは当然です。
現在問題にしているのは、ジェネリックメソッド内で、GetEnumerator() を呼ぶ時に、IEnumerable<T> というインターフェース型に『ボックス化』して呼んでいるのか、という点です。もともとは、新しくヒープにインスタンスが作られないように、という問題でしたし。

シグニチャについては、where で指定したインターフェースの方になることは、先ほどのテストからも理解しました。しかし、これではそのオブジェクト自体がボックス化されるかがわからないため、これを確認するテストも行いました。
その結果、setter のあるプロパティを持つインターフェースについては、ボックス化は起きていないと考えました。

以上から、>>220 のように考えました。
これがあっているのかを確認したいのです。
0238デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>234
Formが他に参照を握られるのではなく、
Formが他の参照を握るようにする。
0239デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>232
>>1を読め
ドヤ顔して上から言いがかるようなスレじゃないぞ
0240デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>237
>>220で合ってるよ
ジェネリックは実行時に特殊化されるが、
メンバのバインドはあくまでコンパイル時に行われる

実行時にはすべてのメソッドはその名前や引数だけでなく
それを定義してる型の型名によって明確に区別されていて、ダックタイピングのような動作は一切しない
0241デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>239
残念ながらこれはセンスの問題で初心者かどうかはあまり関係がない。

っていうか、こういうのに限っていつもは誰かを罵倒してるご都合主義野郎なんじゃないの。
言っとくけど俺は初心者に上から目線で物を言ったことも罵倒したこともないんで。
0242デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
勉強はできるが頭は悪いアスペの典型だな
0243デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>240
なるほど。

C# でインターフェースのメソッドを呼ぶ時は、
型キャストを行って呼ぶようなコードしか見たことがなかったので、
こういう動作があることを知りませんでした。

ありがとうございます。
0244デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
どうでもいいけど値型をasでキャストするのキモい
nullになることはないんだからCスタイルのキャストで書けよ
0245デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
デザインとロジックの分離がされていると、とても見やすいコードになります。
マインスイーパーを例に取れば、フィールドを表す変数や、フィールド上のマスを開けるなどの操作 (メソッド) は、ロジック用のクラスで行います。
デザイン、つまり、Form 側ではそのロジック用のクラスをインスタンスとして持ち、その情報通りに表示することを徹底します。ロジック用のクラスでフィールドが更新されたかどうかを得るには、イベントを実装すると良いと思います。

もし、その自作のクラスがデザイン用である場合、>>229 のように関連するオブジェクトがデザイン用であってもインスタンスとして受け取ることは普通です。
ただし、テキストボックスのみを対象にしているならその TextBox のインスタンスのみを渡す方が良いです。これは、その自作クラスからアクセスできるオブジェクトの数が少なくなり、他には変更できない、ということになるのでコードが見やすくなるためです。
また、同様の理由で、TextBox の基底クラス程度で済むものなら、基底クラスのインスタンスを渡す、というようにします。
0246デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>241
だからさ1読め

>こういうセンスの人はプログラミング向いてない
なんてレスいらねースレなの

>っていうか、こういうのに限っていつもは誰かを罵倒してるご都合主義野郎なんじゃないの
>言っとくけど俺は初心者に上から目線で物を言ったことも罵倒したこともないんで。

妄想癖やばいだろ。
>>239に対してなんで、罵倒やらご都合主義やらが出てくるんだよw
思考が飛躍しすぎて恐いわ
0247デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
こっちも精神年齢は大差なさそーだな
0248デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>244
where で指定されているため、
キャストで例外が飛ぶことがないので、
速い as にしました。

例外を飛ばしたい時は別として、
as の方が括弧の数が少ないので見やすくて好きです。
0249デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>246
馬鹿だろお前。
0250デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
構造体をインターフェイスにキャストしたらボックス化してしまわないか?
0251デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
>>248
例外が発生しない限りは速度に差はない
asの方が見やすいのは同意だが、asは失敗する可能性がある場合に使うという住み分けがある以上、
それに従わないのは混乱の元
0252デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
普通はForm1にプロバティ作って、間接的にアクセスできる様ににしないか?

public string なんとかText
{
  get{return form1.Text;}
  set{form1.Text = value;}
}
0253デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
あ。 form1.Textじゃなくて form1.TextBox.Textだわなw

public string なんとかText
{
  get{return form1.TextBox.Text;}
  set{form1.TextBox.Text= value;}
}
0254デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
質問が>>228だから>>229で十分だな
>>235な質問者を置き去りにして、こうした方がいいよ〜ってのがそのほかのレス
誰か>>229の説明してやれよ
0255デフォルトの名無しさん2013/07/23(火) NY:AN:NY.AN
そして誰からもスルーされる>>231
0256デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
>>254
つか_form1.text って所がバグっていると思うが
0257デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
はじめまして。
floatからintへの変換を行っているのですが、
整数と小数点以下を分けたいと思い以下のコードを書きました。

float version = 1.3f;
float xx = (version * 10.0f);
float xxx = xx % 10f;
int a1 = (int)(xxx);
int a2 = (int)(version / 1f);
Console.WriteLine("{0}.{1}",a2,a1);

しかし、Releaseで実行してみると「1.2」と表示されます。
Debugだと「1.3」と正常に表示されるため、参っています
キャストがおかしいのでしょうか? だとすればどのように記述するべきでしょうか?
0258デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
float xxx = ((int)xx) % 10;
0259デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
話は少しずれるけど、
version なら float よりも string の方がいいよ。
float だと version 1.1.02 みたいなのに対応できないし。
0260デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
>>258
残念ですが変わりませんでした。

>>259
なるほど…文字列での管理も検討してみます
0261デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
文字なら
var versions = version.Split('.'); だな
0262デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
バージョン表記なら標準でこんなのもある。
msdn.microsoft.com/ja-jp/library/vstudio/system.version.aspx
0263デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
結局変えられなかったのでこうなりました。

string moji = version.ToString("F1");
string[] versions = moji.Split('.');
int a1 = int.Parse(versions[1]);
int a2 = int.Parse(versions[0]);
0264デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
何のためにバージョンを整数部と小数部で分けてんの?
そのまま使えばいいじゃないのよ
0265デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
こういうのはよく見る
int majorVer = 1;
int minorVer = 3;
int version = ((majorVer << 16) & 0xffff0000) | (minor & 0xffff);

// get high-order word.
major = (version >> 16) & 0xffff;
//get low-order word.
minor = version & 0xffff;
0266デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
int major = 1;
int minor = 3;
int version = ((major << 16) & 0xffff0000) | (minor & 0xffff);

// get high-order word.
major = (version >> 16) & 0xffff;
//get low-order word.
minor = version & 0xffff;
0267デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
int major = 1;
int minor = 3;
int version = ((major << 16) & 0xffff0000) | (minor & 0xffff);

// get high-order word.
major = (version >> 16) & 0xffff;
//get low-order word.
minor = version & 0xffff;



あれ、2chって&書き込めないのか
0268デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
バージョン65536以上はどうすんだよ

冗談は置いといてもふつうにVersionクラスでいいだろ
等値演算子もオーバーロードされてるし
なにより分かりやすい
0269デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
浮動小数点数の演算誤差だろ。
Debug/Releaseでビルドオプションに差違があるからだろうけど、素直にVersionクラスを使うか、個々の要素をintで持ってUIに見せるときだけ文字列連結するべき。
0270デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
俺だったら小数点じゃなくて、整数で管理するな。っていうかしてた
Ver1.05だったら105
数値の大小で新しいバージョンの判別できるし、文字列にも変換しやすい
0271 忍法帖【Lv=2,xxxP】(1+0:5) 2013/07/24(水) NY:AN:NY.AN
>>270
俺も最初そうしてた。
そして、バージョンが5.10.0とかになってくると
6.0.0(600)<5.10.0(5100)となって破綻した。
0272デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
>>271
6.00.00=60000、5.10.00=51000
お馬鹿な管理方法使うときは仕様限界を考えておかないとw
0273デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
誤差がいやなら弟子丸でいいじゃない
0274デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
linqをsql serverストアドでも使いたいよ
なんで同じメーカーなのにあんなに使い勝手悪いんだろう
0275デフォルトの名無しさん2013/07/24(水) NY:AN:NY.AN
今時ストアドは無いわ
0276デフォルトの名無しさん2013/07/25(木) NY:AN:NY.AN
CLR統合でストアド書けばLINQつかえるんじゃまいか
0277デフォルトの名無しさん2013/07/25(木) NY:AN:NY.AN
テーブルまるごと持って来てLINQが基本だろ
0278デフォルトの名無しさん2013/07/25(木) NY:AN:NY.AN
1000万行のテーブルから1行だけ読み込みたいのに、1000万行全部取得するの?
テーブルまるごと持ってくるとか、それで出来るならDB使う必要ないじゃん
素直にクライアントサイドでLINQ to SQLが正解なんじゃね
0279デフォルトの名無しさん2013/07/25(木) NY:AN:NY.AN
ストアドとか旧世代の遺物
0280デフォルトの名無しさん2013/07/25(木) NY:AN:NY.AN
旧世代には違いないがDBとのIOが多い処理では今でも選択肢に入るだろう
0281デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
C#2010でプログラムして保存する前に電源が落ちたのですが、
どこかに跡形は残っていないでしょうか?
0282デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
C:\Users\ユーザー名\AppData\Local\Temporary Projects\ にあるかもね
ないかもね
0283デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
もう一回VS立ち上げると「正常に終了しませんでしたテヘ復活させますか?」って言ってくれるかもね
ないかもね
0284デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
プロは一分に一回差分バックアップをとる
データ喪失は事故責任だよ
0285デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
>>282
にゃい!orz
0286デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
まあそういう経験は誰しもあるってことで
0287デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
Ctrl+Sを頻繁に実行するのは常識だと思っていたんだが
0288デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
VisualStudio2012Expressを使ってますが、
コード画面の横(ツールボックス欄やソリューションエクスプローラー欄など)
に、現在開いているコードのメソッド一覧を表示できないでしょうか?

ソリューションエクスプローラに似たような表示はできますが、
プロパティなども表示され情報が多い、現在開いているコード画面に追随していない、
といった理由で使い勝手はイマイチです。

コード内をアウトラインで折りたたんだ場合は、
コード確認に一手間かかるのでこれもまた使い勝手がイマイチです。
0289デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
>>288
エディタの上部の右側のドロップダウンがそう。

本当はオブジェクトブラウザかクラスビューにエディタと同期して表示する機能が
あるといいと思うんだが、おそらくそういう機能は実装されてない
0290デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
>>288
Expressだから多分自分で作っているソフトだと思うが
一つのクラスにメソッドやプロバティーを詰め込み過ぎじゃないかな?
今作っているものをやり直せとは言わないけど、次に作るときはクラスの肥大化を意識した方がいいよ
0291デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
>>289
ありがとうございます。
こいつもメソッドとプロパティ変数が混在して表示されてるんですね・・・

情報後出しになりますが、元々の目的は、GUIアプリの作成でソリューションエクスプローラだと
Formファイルの情報とデザイナーファイルの情報がまとめて表示されて邪魔だったのでなんとかしたいってのがありまいた。

教えてもらった方法だと、開いているコード以外の情報は灰色で表示されるので若干マシになったという感じです。
自作クラスの情報はそれだけがまとまって表示されるので、ソリューションエクスプローラよりはだいぶマシになりまいた。


>>290
GUI機能と、その他の機能は別クラスに分けて開発しています。
ただ、GUIだけでもかなり入り組んでるので辟易している次第です

開発途中ですが、現在はForm1.Designer.csにプロパティが30個くらいあり、
最終的には倍以上に増える予定です。
その情報と、Form1.csにあるプロパティ、メソッドの情報が混在してしまい、非常に煩雑です。
(Form1.csは現状たかだか300line,メソッドは10個程度ですが、それでも既に('A`)ウヘァです)

GUI機能もさらに複数クラスに細分化すれば解決しそうですが、エディタ側でももうちょっとなんとかしてほしいですね
(メソッド一覧のアウトライン表示は、秀丸とかのエディタには普通についてる機能なのに・・・)
0292デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
wpfでGUI編集を使って、トグルボタンのチェックで他のコントロールの表示を制御しようとしたら
「BoolVisibiltyConverer」と言う謎クラスを持ってきやがってXamlのエラーとなるんだが、コンパイルできてしかもちゃんと動いた
ちゃんとしたクラス名の「BooleanToVisibilityConverter」に直すとXamlのエラーもなくなるし動作も問題ない
コレってなんだろうね?

「BoolVisibiltyConverer」は、謎のネームスペース xmlns:Default="clr-namespace:" に存在するらしいが、コレもエラー表示が出るんだわ
0293デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
>>281
2012には自動バックアップってオプションがあるな
2010にはない?
0294デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
コンパイル通らない状態で勝手に保存されても邪魔
0295デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
Express だけど 2010 にもあるね。
変更した覚えないからデフォルトで 5 分間隔でやってくれるっぽい。
その結果が >>283 になるんだと思うけど。
0296デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
>>295
最初のWindowsApplication1とかのまま一度も保存していない場合はバックアップはしないみたい
コンパイルするごとにそこまでは残るはずだけどプロジェクトのフォルダごと見当たらないというか
命名していないから探しようがなかったです
0297デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
>>296
ヘルプには
>ファイルが新規であり、今まで一度も手動で保存されていない場合は、ランダムに生成されたファイル名で自動的に保存されます
って書いてあるけど
0298デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
Vista以降のOSの検索機能はファイルの中身をテキストとして読んで検索する機能がないから
こういう時イラっとくるんだよね
0299デフォルトの名無しさん2013/07/28(日) NY:AN:NY.AN
OSの検索機能は遅いし俺はこれ使ってる

JGREP

http://www.hi-ho.ne.jp/jun_miura/jgrep.htm

さすがに書庫の中までは検索出来ないけど速い
0300 忍法帖【Lv=7,xxxP】(1+0:5) 2013/07/29(月) NY:AN:NY.AN
インターフェースについて勉強してるんだけど、IEnumratorインターフェースの使い道がよくわからないです
コレクションを列挙するというのはわかりますけど、どういう場面に使えばいいのでしょうか?
0301デフォルトの名無しさん2013/07/29(月) NY:AN:NY.AN
IEnumeratorはforeachを使うときに知らないうちに使ってる
自分で意識して使うことはまずない
yieldがあるのでIEnumeratorを自分で実装することもない
0302デフォルトの名無しさん2013/07/29(月) NY:AN:NY.AN
自作コレクション(IEnumerable)を作りたいときに使う

IEnumerableが列挙してくれと頼まれたときの動作を決めるのがIEnumerable
どういう順番で何を列挙するかとかを細かく自分で決めたいときに使う

逆に言えばあまり自分で実装することは今の時代はあまりないよね
0303デフォルトの名無しさん2013/07/29(月) NY:AN:NY.AN
×IEnumerableが列挙してくれと頼まれたときの動作を決めるのがIEnumerable
○IEnumerableが列挙してくれと頼まれたときの動作を決めるのがIEnumerator
0304デフォルトの名無しさん2013/07/29(月) NY:AN:NY.AN
細かく自分で制御したいときにyield使わずにIEnumerableをて実装するのはきついぞ
クソ複雑なステートマシンになる
MSですらLINQの実装では低レベルな制御を放棄してyield使いまくってるのに
0305デフォルトの名無しさん2013/07/29(月) NY:AN:NY.AN
そこまで複雑じゃないってw
逆に単純だけど面倒なだけ
0306デフォルトの名無しさん2013/07/29(月) NY:AN:NY.AN
コマンドラインでTYPE A.TXT >PRN(エンター)を打った時と同じことをフォームアプリで実行する方法を教えてください。
0307デフォルトの名無しさん2013/07/29(月) NY:AN:NY.AN
Process.Start( "cmd", "/k type a.txt > pnt" );
0308デフォルトの名無しさん2013/07/29(月) NY:AN:NY.AN
Process.Startでコマンド実行しろ
フォーム関係ない
0309デフォルトの名無しさん2013/07/29(月) NY:AN:NY.AN
/kオプションじゃなくて/cでも

詳細はコマンドプロンプトでcmd /?
0310デフォルトの名無しさん2013/07/30(火) NY:AN:NY.AN
ボタンが右クリックされたときにイベント発生させるのってどうやるんだ
0311デフォルトの名無しさん2013/07/30(火) NY:AN:NY.AN
わざわざ自分で発生させなくてもMouseDown/Upが発生するだろ?
0312nanasi2013/07/30(火) NY:AN:NY.ANID:FIRUYqVd!
さくらインターネット上のWEBサーバ上にC#より
ディレクトリを作成しようとしていますが次のエラーが出てしまいます。

レンタル中のスタンダードプラン上の
サーバだと正常に動作していたのですが、プレミアムサーバに対して下記コードを
実行するとなぜかエラーが出てしまいます。

IDやパスはあっているのですが何が問題なのでしょうか?



≪ 実行コード ≫
string id = "id123";
string pass = "pass123";
string createDirectory = "ftp://hoge_user.sakura.ne.jp/www/hoge_data/20130730";

WebRequest req = WebRequest.Create(createDirectory);
req.Credentials = new NetworkCredential(id, pass);
req.Method = WebRequestMethods.Ftp.MakeDirectory;
WebResponse res = req.GetResponse();  ← ここでエラー発生


≪ エラー内容 ≫
The remote server returned an error: (530) Not logged in.
0313デフォルトの名無しさん2013/07/30(火) NY:AN:NY.AN
>>312
エラー内容に書いてあるじゃん。
ログイン失敗でしょ。
サーバーからのレスポンスを見ないと原因は分からないけど、実はFTPSとか?
03143122013/07/30(火) NY:AN:NY.AN
>>313
そうなんです。ID・PASSがあっているのに
なぜかダメなんですよ。

しかも、さくらのスタンダードプランでは普通に動いていた
プランにも関わらず、プレミアムプランのサーバに向けて
実行すると動かないのでまったく意味不明です。
0315デフォルトの名無しさん2013/07/30(火) NY:AN:NY.AN
ネットワーク関連はまずパケットキャプチャ
普通のFTPクライアントでアクセスした場合との差異を比較
0316デフォルトの名無しさん2013/07/30(火) NY:AN:NY.AN
MSDNみると
WebRequest.CreateでFTPだと、FileWebRequestを返すとなってるぞ
FtpWebRequestの例だとそれをFtpWebRequestにキャストしてる
FileWebRequestはCredentialsもMethodも実装されてないことになってる
0317デフォルトの名無しさん2013/07/30(火) NY:AN:NY.AN
>>316
それはただのドキュメントバグだ
03183132013/07/30(火) NY:AN:NY.AN
>>314
WebRequestクラスは頭悪いから業務で使うのはおすすめしない。
とりあえず、コマンドプロンプトから「ftp /d」でログインできるか試してみて。
レスポンスが確認できるから。
0319デフォルトの名無しさん2013/07/30(火) NY:AN:NY.AN
どちらかというと問題あるのはさくら側かユーザ側かだろ
0320デフォルトの名無しさん2013/07/30(火) NY:AN:NY.AN
>>319
捜査のプロですか?
0321デフォルトの名無しさん2013/07/30(火) NY:AN:NY.AN
>>318
業務で使うのはおすすめしない?
本当か?
03223132013/07/30(火) NY:AN:NY.AN
>>321
エラーメッセージからの推測なんだけど、今回のケースだと、USERかPASSのどっちかを投げた段階でエラーが出てるはずなんだ。
でもWebRequestがレスポンスを解釈しないで次のコマンドを投げてるように見える。
そうすると本当の原因が分からなくなるから>>315が言うようにパケット取りながら再現実験するハメになる。

うまく動いてるときはいいんだけど、トラブったときが大変なんだよ。
その辺のバランスを考えて、WebRequestを使うかSocketで自作するか決めればいいんじゃないかな
03233132013/07/30(火) NY:AN:NY.AN
>>321
あ、FTPの話ね。
HTTPでは使ったことないから知らないよ。
0324デフォルトの名無しさん2013/07/30(火) NY:AN:NY.AN
>>323
FTPの話か
なるほど
03253122013/07/30(火) NY:AN:NY.AN
>>315
うーんパケキャプしないとダメですか。。。
ちょっと敷居が高いけど頑張ります。

>>319
サクラですね。
サーバ容量増やしても転送量制限は変わらないとか詐欺的な事ばっかりやってるし

>>322
Socket 作ってみます。
0326デフォルトの名無しさん2013/07/30(火) NY:AN:NY.AN
パケキャプの良いソフト教えれ
0327デフォルトの名無しさん2013/07/30(火) NY:AN:NY.AN
>>317
VS2012ではたしかにFtpWebRequest帰ってきてるな
>>322
わざわざキャプチャせんでもトレースログで十分だろ
>WebRequestがレスポンスを解釈しないで次のコマンドを投げてるように見える
WebRequestがって言うか、正確にはFtpWebRequestが、だな
それがほんとなら、もともとステートフルな通信向けじゃないのかもしれん
なんといっても「WEB」リクエストだしな
03283122013/07/30(火) NY:AN:NY.AN
パスワードの設定が間違えてました><。。。。。。。。。。

無事解決です。
皆さんありがとう。
0329デフォルトの名無しさん2013/07/30(火) NY:AN:NY.AN
>>328
・・・・・・・・・・・・・・・・・・・
0330デフォルトの名無しさん2013/07/31(水) NY:AN:NY.AN
はい、解散〜
0331デフォルトの名無しさん2013/07/31(水) NY:AN:NY.AN
今月のNo1ズコー
■ このスレッドは過去ログ倉庫に格納されています