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

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

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

全過去ログを検索

<< 0 >>
■3454  Re[3]: 指定した文字列
□投稿者/ επιστημη -(2007/05/10(Thu) 17:58:20)
>
    > OKなどのボタンを押した後の方法がいいです。

    ならば問題ないですね。

    [OK]-clickのハンドラで、
    "入力された文字列ないに不正な文字が存在するか否か"
    を調べればいいですね。


    >>2. ある文字が不正な文字か否かを判定するコードは書けますか?
    > なのですが、正直わかりません。
    > 繰り返し処理などで行うのですか?

    たとえば文字列 "あいうえおかきくけこ....わをん" の中に
    その文字が含まれているか否かを判定するコードは書けますか?
    これができれば問題ありませんね。
記事No.3447 のレス /過去ログ12より / 関連記事表示
削除チェック/

■39646  Re[4]: GPIB制御
□投稿者/ オショウ -(2009/08/11(Tue) 23:44:21)
    No39639 (匿名希望 さん) に返信
    > そういうコマンドっぽいのはあるんですけど、実際にどういうふうにプログラムを書いていけばよいのかわからないで困っています。
    > ちなみに使用スペアナは
    > E4404Aです。

      コマンドっぽい?
      SCPIのリファレンスは見ました?

      それと『E4404A』?
      現行商品ですか?型式間違ってませんか?
      E4404B-STD ESA-E スタンダード・アナライザ、9 kHz - 6.7 GHz ではない?

      E4404B として話を進めると・・・
      http://www.home.agilent.com/agilent/product.jspx?cc=JP&lc=jpn&ckey=1000003731:epsg:pro&nid=-35491.536882050.00&id=1000003731:epsg:pro
      http://www.home.agilent.com/agilent/product.jspx?cc=JP&lc=jpn&ckey=1000000186:epsg:pro&nid=-35189.536881612.00&id=1000000186:epsg:pro

      こういうソフトもあるので、動作させてみるのも知る上では有用かと。

      次にSCPI関連・・・
      http://www.home.agilent.com/agilent/editorial.jspx?cc=JP&lc=jpn&ckey=887742&nid=-11143.0.00&id=887742
      http://www.home.agilent.com/agilent/redirector.jspx?action=ref&cname=AGILENT_EDITORIAL&ckey=424087&lc=jpn&cc=JP&nfr=-11143.0.00

      それらの中に.NETサンプルがあるかは未確認

      別途、.NETサンプルなら・・・
      http://www.home.agilent.com/agilent/editorial.jspx?cc=JP&lc=jpn&ckey=887875&nid=-11143.0.00&id=887875
      http://www.home.agilent.com/agilent/editorial.jspx?cc=JP&lc=jpn&ckey=887963&nid=-11143.0.00&id=887963

    > 調べ方というのは・・・マニュアルを読むしかないですよね?

      はい!その通り・・・

      因みに、アジレントのサポートに問い合わせたとか・・・
      で、話的には、NI社ボードを使ったケースで適切な技術的説明が
      為されるのですが、インターフェース社ボードを使っていると言
      えば、APIを置き換えて頑張って下さい!と言われるはず・・・

      私も昔、言われました・・・

    > インターフェース社より簡易なのでしょうか。

      インターフェース社のボードに付随するライブラリは・・・
      2種類あって、高機能版は、APIも大量にあってどう使うか、初
      心者には無理!

      で、NI社のものは、逆にAPI的にインターフェース社のものより
      少なく、ライブラリ・ドライバー間で、結構なことを自動的に
      やってくれるので、あまり知らなくてもAPI数少ないので、使い
      やすい傾向にあるかと。(個人的私見ですが)

      アジレントを含めアドバンテックやGP-IB使う計測機器メーカー
      は、大抵NI社標準(推奨)になっていますので・・・

      ただし、高速性や複数台機器を繋いだケースの場合・・・
      細工ができないので、タクトタイムを短縮化できない場合があ
      ります。ケースバイケースですが・・・

    ● まずは、SCPIのサンプルコードで、どのようなコマンドを送信
      して、どういうステータスを受信しているか
      を調べ・・・

      次にインターフェース社のサンプルで、GP-IBの制御の流れを
      読破し・・・

      インターフェースのサンプルにSCPIで使われている実質的な
      GP-IBコマンド(文字列)を導入して、動作するように改造を
      してみる。

      と言う流れでしょう。

      上記のサンプルは既に両社より公開されているものですので
      まずはそれらコードを読破するのが先決かと。

    ※ これ以上書くならば・・・
      もう.NETのコードを書くしか無いのですが・・・
      実際にそれはあなたの仕事なんですから、あなたがお手上げ
      で仕事に差し支える・・・と言うならば、それらができる外
      注探して依頼するしか無いかと

      今時、GP-IB通信の実績あるソフト屋、そんなに無いと思い
      ますし、『できる』と言っても高価な金額になるのでは・・・

      一応、私も自営でFAのソフト屋26年ほどやってますので
      仕事の範疇ではありますが・・・

      何はともあれ、調べて勉強し方法を習得して、仕事に活かし
      ましょう!

    以上。
記事No.39484 のレス /過去ログ68より / 関連記事表示
削除チェック/

■47886  Re[3]: JPEG画像からバーコードを読んで数字を取り出したい
□投稿者/ みきぬ -(2010/03/17(Wed) 09:58:59)
    > Code39などのバーコードであれば英数字が読めればいいので、

    それはバーコードを読んではないと思うんだけど…ありなの?
記事No.47881 のレス /過去ログ81より / 関連記事表示
削除チェック/

■54823  Re[4]: PSPで動画
□投稿者/ 002 -(2010/11/03(Wed) 21:33:19)
記事No.54733 のレス /過去ログ92より / 関連記事表示
削除チェック/

■87875  Re[6]: ASPもしくはIISでhttpレスポンスボディを確認する方法
□投稿者/ WebSurfer -(2018/07/09(Mon) 18:46:06)
    No87874 (abc さん) に返信
    
    > もし何かヒントがありましたらコメント頂ければ幸いです。
    
    紹介した記事のように HttpContext.Items を使うという話はどうなったのですか?
    
    IIS のクラシックモードを使うのは諦めて統合パイプラインモードでやることにしたのですか?
    
    そのあたりをクリアにしてもらえないと、この先私がお役に立てるかどうか分からないのですが・・・
    
    とりあえず、検証に使った HTTP モジュールのコードをアップしておきます。環境は Windows 10
    Pro 64-bit, ローカル IIS10, Visual Studio 2015 Cimmunity, .NET 4.6.1 です。
    
    HTTP モジュールが動かないとか文字化けするという問題はありません。
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.IO;
    
    public class ResponseContentLogHttpModule : IHttpModule
    {
        public ResponseContentLogHttpModule()
        {
        }
    
        public String ModuleName
        {
            get { return "ResponseContentLogHttpModule"; }
        }
    
        // In the Init function, register for HttpApplication 
        // events by adding your handlers.
        public void Init(HttpApplication application)
        {
            application.BeginRequest += new EventHandler(this.Application_BeginRequest);
            application.EndRequest += new EventHandler(this.Application_EndRequest);
        }
    
        private void Application_BeginRequest(Object source, EventArgs e)
        {
            // Create HttpApplication and HttpContext objects to access
            // request and response properties.
            HttpApplication application = (HttpApplication)source;
            HttpContext context = application.Context;
            string filePath = context.Request.FilePath;
            string fileExtension = VirtualPathUtility.GetExtension(filePath);
            if (fileExtension.Equals(".aspx"))
            {
                HttpResponse response = context.Response;
                var filter = new OutputFilterStream(response.Filter);
                response.Filter = filter;
                context.Items["OutputFilterStream"] = filter;
            }
        }
    
        private void Application_EndRequest(Object source, EventArgs e)
        {
            HttpApplication application = (HttpApplication)source;
            HttpContext context = application.Context;
            string filePath = context.Request.FilePath;
            string fileExtension = VirtualPathUtility.GetExtension(filePath);
            if (fileExtension.Equals(".aspx"))
            {
                var filter = (OutputFilterStream)context.Items["OutputFilterStream"];
                string responseContent = filter.ReadStream();
                WriteLog(responseContent);
            }
        }
    
        private void WriteLog(string log)
        {
            string responseLogPath = HttpContext.Current.Server.MapPath("~/App_Data/log.txt");
            using (var sw = new StreamWriter(responseLogPath, true))
            {
                sw.WriteLine(log);
            }
        }
    
        public void Dispose() { }
    }
    
    public class OutputFilterStream : Stream
    {
        private readonly Stream InnerStream;
        private readonly MemoryStream CopyStream;
    
        public OutputFilterStream(Stream inner)
        {
            this.InnerStream = inner;
            this.CopyStream = new MemoryStream();
        }
    
        public string ReadStream()
        {
            lock (this.InnerStream)
            {
                if (this.CopyStream.Length <= 0L ||
                    !this.CopyStream.CanRead ||
                    !this.CopyStream.CanSeek)
                {
                    return String.Empty;
                }
    
                long pos = this.CopyStream.Position;
                this.CopyStream.Position = 0L;
                try
                {
                    return new StreamReader(this.CopyStream).ReadToEnd();
                }
                finally
                {
                    try
                    {
                        this.CopyStream.Position = pos;
                    }
                    catch { }
                }
            }
        }
    
    
        public override bool CanRead
        {
            get { return this.InnerStream.CanRead; }
        }
    
        public override bool CanSeek
        {
            get { return this.InnerStream.CanSeek; }
        }
    
        public override bool CanWrite
        {
            get { return this.InnerStream.CanWrite; }
        }
    
        public override void Flush()
        {
            this.InnerStream.Flush();
        }
    
        public override long Length
        {
            get { return this.InnerStream.Length; }
        }
    
        public override long Position
        {
            get { return this.InnerStream.Position; }
            set { this.CopyStream.Position = this.InnerStream.Position = value; }
        }
    
        public override int Read(byte[] buffer, int offset, int count)
        {
            return this.InnerStream.Read(buffer, offset, count);
        }
    
        public override long Seek(long offset, SeekOrigin origin)
        {
            this.CopyStream.Seek(offset, origin);
            return this.InnerStream.Seek(offset, origin);
        }
    
        public override void SetLength(long value)
        {
            this.CopyStream.SetLength(value);
            this.InnerStream.SetLength(value);
        }
    
        public override void Write(byte[] buffer, int offset, int count)
        {
            this.CopyStream.Write(buffer, offset, count);
            this.InnerStream.Write(buffer, offset, count);
        }
    }
記事No.87867 のレス /過去ログ151より / 関連記事表示
削除チェック/

■87878  Re[8]: ASPもしくはIISでhttpレスポンスボディを確認する方法
□投稿者/ abc -(2018/07/10(Tue) 17:49:07)
    No87875 (WebSurfer さん) に返信
    コードの提示ありがとうございます。勉強になります。
    HttpContext.Itemsを使うという意味がよく分からず、使わないやり方でも一応は動作していたためそのまま使っていましたが、ご提示頂いたコードでクラシックモードでも動作しました。ですので現状No87875のコードでクラシックモードです。
    HttpContext.Itemsで保持するのと、フィールド変数で保持するのとで動作が変わるのは何故なのでしょうか?

    文字化けは現在も発生していますが、文字化けが起こっていたのはAjaxToolKitに関する下記リクエストに対するレスポンスボディ部のみでした。OutputStreamを読むStreamReader部とログファイル出力のStreamWriter部で文字コードを指定してみましたがダメでした。対応方法はありますでしょうか。
    GET http://localhost:8080/hoge.aspx?_TSM_HiddenField_=ToolkitScriptManager1_HiddenField&_hogehoge
    Connection: Keep-Alive
    Accept: application/javascript, */*;q=0.8
    Accept-Encoding: gzip, deflate
    Accept-Language: ja-JP

    No87877 (PANG2 さん) に返信
    ご紹介頂きありがとうございます。
    現行の方法でほぼ期待する動作ができたため今はこのまま進めますが、Page派生クラスのPage.Renderを使う方法は分かりやすく次回検討させて頂きます。


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



<< 0 >>

パスワード/

- Child Tree -