C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 >>
■6560  Re[1]: セキュリティ
□投稿者/ はつね -(2007/08/18(Sat) 06:22:19)
    No6559 (ああああ さん) に返信
    > セキュリティで聞きたいのですが自分のいっています会社はWEBサーバをしようしみんながそこにブラウザから
    > アクセスするようにASP.NETを使用しています。

    外部からのアクセス制限は、WebサーバでIPアドレスで内部か外部かを判断するのではなく、ファイアウォールなどにより物理的な接続を意識して制限したりもします。
    心配事があるのならば、自社のネットワーク管理者など管理をしている部門や人に質問してみては如何でしょうか。

    とにかく、自社のネットワークセキュリティの事は公開された掲示板で質問すべき事ではありません。


    > 自分の中では串は自分の身元がわからないだけのものだと思い込んでいるのですがその考えは違いますか?

    Proxyは身元を隠すためのものではありません。
    結果的に隠しているように見えもしますが、隠しきれるものでもありません。興味があるのならばProxyの原理から調べてみると良いでしょう。
記事No.6559 のレス /過去ログ17より / 関連記事表示
削除チェック/

■87385  キャストのエラー
□投稿者/ Ponta -(2018/05/16(Wed) 17:15:07)

    分類:[C#] 


    こんにちは
    Datatable(ds.Tables["TableB"])のデータを用いて、以下の計算を試みましたが
    キャストが上手くいきません(エラー:指定されたキャストが有効ではありません)
    現状はobject型(中は整数値)からint型にキャストしています。



    for (int i = 0; i < ds.Tables["TableA"].Rows.Count; i++)
    {
    var data2 = new DataPoint();
    data2.SetValueXY(ds.Tables["TableB"].Columns[0],
    (int)ds.Tables["TableB"].Rows[i+1][0]-(int)ds.Tables["TableB"].Rows[i][0]);   ←ここでエラー
    totalSrs.Points.Add(data2);
    }
    chart1.Series.Add(totalSrs); //グラフにシリーズを追加


    キャストの仕方が間違っているのか、そもそもキャストだとできないのかわかりません。
    以上、よろしくお願いします。
親記事 /過去ログ150より / 関連記事表示
削除チェック/

■87386  Re[1]: キャストのエラー
□投稿者/ WebSurfer -(2018/05/16(Wed) 17:28:08)
    No87385 (Ponta さん) に返信

    > data2.SetValueXY(ds.Tables["TableB"].Columns[0],
    > (int)ds.Tables["TableB"].Rows[i+1][0]-(int)ds.Tables["TableB"].Rows[i][0]);   ←ここでエラー

    その DataTable(即ち ds.Tables["TableB"])の当該列の型は何でしょう?
記事No.87385 のレス /過去ログ150より / 関連記事表示
削除チェック/

■87387  Re[1]: キャストのエラー
□投稿者/ 魔界の仮面弁士 -(2018/05/16(Wed) 17:42:37)
    2018/05/17(Thu) 10:29:11 編集(投稿者)

    No87385 (Ponta さん) に返信
    > for (int i = 0; i < ds.Tables["TableA"].Rows.Count; i++)
    ここは TableB で無いようですが、あえてそうしているのでしょうか。

    TableA と TableB の関係次第ではあるのですが、ループ内では
    TableA を見ておらず、むしろ
    TableB の行差分を取っているように見えたので、
     i < ds.Tables["TableB"].Rows.Count - 1
    といった継続条件になるのではないか、と思ってみたり。


    > 現状はobject型(中は整数値)からint型にキャストしています。
    その整数値は int ですか。それとも long とか short だったりしますか?
    string 値ということは無いですよね?

    念のため、ds.Tables["TableB"].Columns[0].DataType を確認しておいた方が良いかと。


    > キャストの仕方が間違っているのか、そもそもキャストだとできないのかわかりません。
    ボックス化解除するためには、object 内のデータの型を正しく把握している必要があります。

    int intValue = 10;
    long longValue = 10L;
    short shortValue = 10;
    string stringValue = "10";

    object oInt = intValue;
    object oLong = longValue;
    object oShort = shortValue;
    object oString = stringValue;

    Console.WriteLine((int)oInt); // OK
    // Console.WriteLine((int)oLong); // InvalidCastException
    // Console.WriteLine((int)oShort); // InvalidCastException
    // Console.WriteLine((int)oString); // InvalidCastException
    Console.WriteLine((int)(long)oLong); // OK
    Console.WriteLine((int)(short)oShort); // OK
    Console.WriteLine(int.Parse((string)oString)); // OK



    > var data2 = new DataPoint();
    > data2.SetValueXY(ds.Tables["TableB"].Columns[0], (int)ds.Tables["TableB"].Rows[i+1][0]-(int)ds.Tables["TableB"].Rows[i][0]);   ←ここでエラー

    DataPoint クラスの
    public void SetValueXY(object xValue, params object[] yValue)
    というメソッドを呼び出しているようですが、ここで
    第一引数 xValue に対して、System.Data.DataColumn を渡していますよね。

    SetValueXY の第一引数には、データポイントの X 値を渡すべきなのでは?
    https://referencesource.microsoft.com/#System.Windows.Forms.DataVisualization/Common/DataManager/DataPoint.cs,2086
    https://referencesource.microsoft.com/#System.Windows.Forms.DataVisualization/Common/DataManager/DataSeries.cs,a83419cfea834cf1,references

    上記の実装を見る限りでは、第一引数のデータ型は、
    数値や文字列が求められているように見受けられます。

    …と思ったんですが、こっちは私の勘違いでした。
    var data2 = new DataPoint();
    data2.SetValueXY(xValue, yValue);
    の場合は、xValue が DataColumn でもいけますね。

    もしもこれが、
    chart1.Series[a].Points[b].SetValueXY(xValue, yValue);
    の場合は、xValue が DataColumn だとエラーになりますが。
記事No.87385 のレス /過去ログ150より / 関連記事表示
削除チェック/

■87394  Re[2]: キャストのエラー
□投稿者/ Ponta -(2018/05/17(Thu) 13:30:59)
    No87387 (魔界の仮面弁士 さん) に返信

    Console.WriteLine(int.Parse((string)oString)); エラーが消えました。。
    ありがとうございます。
記事No.87385 のレス / END /過去ログ150より / 関連記事表示
削除チェック/

■87390  Re[1]: キャストのエラー
□投稿者/ furu -(2018/05/17(Thu) 09:52:33)
    No87385 (Ponta さん) に返信

    ORACLEなどのDBからGetDataTableで取得したデータの場合
    小数部がない数値列でもdecimalになったりします。

    もとのデータが整数だとわかっている場合
    Convert.ToInt32で変換してはどうでしょうか?

    整数でない場合、丸めが発生しますが例外にはなりません。
記事No.87385 のレス /過去ログ150より / 関連記事表示
削除チェック/

■101693  Re[1]: VB.NET_SOCKET通信で受信イベントが発生しなくなる
□投稿者/ KOZ -(2023/04/03(Mon) 11:03:05)
    No101690 (KAZUMA さん) に返信
    > ・常時接続に対して、下記の組み方はあっているのでしょうか?
    > ・パケットキャプチャでは受け取っているENQが、動作しているEXEが受け取れとれていないとすると、
    >  なにが原因が考えられるでしょうか
    > なにか、これ調べたらというヒントだけでも頂けたましたら、ありがたいです。

    コードの一部だけでは原因を特定できませんし、アドバイスもしにくいです。
    現象が発生する最低限のコードを提示してください。
    コードを整理しているうちに原因が判明することもあります。

    とりあえず、気になった箇所は以下の2点。

    (1) Listen する Socket に ReuseAddress オプションは不要です。何か理由がありますか?
    (2) キープアライブ設定は EndAccept で得られた Socket に設定しなければ無意味では?

記事No.101690 のレス /過去ログ177より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -