【質問】ASP.NETスレ Part4【議論】at PHP
【質問】ASP.NETスレ Part4【議論】 - 暇つぶし2ch600:nobodyさん
08/06/07 15:50:23
>>596
ViewStateで保持すればいいので?

601:nobodyさん
08/06/07 16:25:08
>>599
もうちょっと詳しく教えてください。
どこかが提供しているwebサービスを使うという意味ですか?

602:601
08/06/07 16:39:50
601取消。
検索したら郵便番号のWebサービスはたくさんあるようでした。

郵便番号データベースは12万件のレコードがあるらしい。
普通のasp.netのDB処理するとパフォーマンスが心配。

こういう大きなテーブルを高いパフォーマンスで処理するには
どんな技がありますか?
サーバ起動時に予めメモリ上のDataSetに読み込んでおいたら
激速になりそうですが、そういうことはできますか?

URLリンク(www.post.japanpost.jp)

603:nobodyさん
08/06/07 16:42:28
12万件程度なら全然大きくない。

604:nobodyさん
08/06/07 17:07:49
むしろ小さいね

605:nobodyさん
08/06/07 17:08:30
>>602
つ「適切なINDEX作成」
つ「実行計画確認」

606:nobodyさん
08/06/07 18:29:25
>>602
Webサービスを利用するならDB処理なんて必要ないわけで。
(自前でDB用意するなら指摘されてるようにインデックスを作ることになるかと。)


607:nobodyさん
08/06/07 23:26:09
>>603-606
ありがとうございます。
割とシンプルな処理のようなのでSQLにインポートして
インデックス作ってみます。

608:nobodyさん
08/06/08 00:10:11
AjaxZIP使ってサーバサイドから分離しちまうのが一番手軽では

ってそれだとスレ違いか

609:nobodyさん
08/06/10 15:32:26
社外へほいほいアクセスできる環境も少ないしね。
ってイントラの話じゃない?

610:nobodyさん
08/06/10 21:50:34
ASP.NETってIFRAMEで別のサイトを表示とかしても問題ないのでしょうか?

611:nobodyさん
08/06/10 22:52:01
ほとんどプログラム言語に触れたことが無くて、
2週間前までASP.NETが何なのか知らなかった状態から
言語はC#で、という縛りもつけて
「やれ」という指示で課題に取り組み始めたんですがさっぱり。

参考書籍を買おうかと思っているんですけど
ASP.NETの参考書でオススメのものってありますか?

612:nobodyさん
08/06/11 01:07:01
Visual Studio 2005によるWebアプリケーション構築技法

613:nobodyさん
08/06/11 08:31:41
MovableTypeのように、
ページやコントロールで出力されるHTMLをファイルに出力したいのですが
出力されるHTMLはどうやれば取得できるのでしょうか?

614:nobodyさん
08/06/11 22:38:50 wlI2c4q6
質問よろしいでしょうか。
Visual Web Developer 2005 Express Edition でウェブページ作成の勉強をしてます。
そこで、ぐぐってもわからない問題が出てきました。
データベースSQLserverの情報をページ上に表示するのに、
DataSetのTableAdapter、ObjectDataSource、GridViewを用いて表示しています。
表示の際、検索で表示させるためにTableAdapterで検索パラメータを持つクエリを追加し、
ObjectDataSourceでそのクエリを選択してGridViewに表示させようと試みました。
そこでObjectDataSourceでクエリを設定する時に、パラメーターソースの選択の設定を
するのですが、そこのDefaultValueの設定を何も設定しない場合、デバッグでのページ表示
でエラーが起こってしまいます。
エラーについては
「System.ArgumentNullException: 値を Null にすることはできません。」
と表示されます。

どなたかこのエラーの原因についてわかりませんでしょうか?
ちなみに色々試してみると検索する項目がint型の場合はエラーが起きず、DefaultValueを
設定していなくても、値が0で検索され表示されるようです。

615:nobodyさん
08/06/12 05:47:44
>>614
デフォルト値をブランクにしないで、
何か適当に設定すればいいんじゃね?


616:nobodyさん
08/06/13 10:47:27
XMLファイルをDataSetに読み込んで、加工(アンカーをつけたり)して
ページに表示しているサイトなのですが、
アクセスが集中(1秒間に10~20アクセス)すると使用メモリが極端に大きくなり
しまいにはすべて403エラーになってしまいます。

こういう場合、どのように回避すれば良いでしょうか?

そのページのアンカーからはパラメータを渡して
また同じページにリンクしています。

検索エンジンが来るとサーバが落ちてしまい、
困っています。

617:nobodyさん
08/06/15 00:28:40
あのさー、せめてどの程度のデータをDataSetに入れてるとか、
アンマネージドなリソースの有無とか説明してくれないと・・・

618:nobodyさん
08/06/15 00:49:01
>617が言うとおり状況がよくわかんねえけど、
DataSetをキャッシュするかページをキャッシュするかどっちかしたら。

619:616
08/06/15 12:10:06
>>617-618
すみません、DataSetに読み込んでいるデータ量は200KB程度のXMLです。
アンマネージドのリソースはありません(DBなし)。

ブログのように毎日の報告をリンク付きで表示していて、
その固まりを10日分表示しています。

キャッシュですね、考えてみます!
ありがとうございました!

620:nobodyさん
08/06/17 19:41:06
FormView の ItemTemplateにDropDownListを入れて
そのDropDownListに DataSourceの指定とかしたいんですが出来ません。

((DropDownList)HeaderFormView.FindControl("List")).DataSource = DS
((DropDownList)this.HeaderFormView.Row.FindControl("List")).DataSource = DS

上記2個試しましたが、オブジェクトがインスタンスされていません。 とエラーになります。
FormView の ItemTemplateはどの時点で有効になったりとか調べたり出来ませんか?

621:620
08/06/17 21:19:54
自己解決 4時間もかかったよ・・・
FormVireのItemTemplateはPageLoadではまだいないみたいで
使いたいコントロールのprerenderでDataSourceを指定したらうまくいきました。

まだまだ知識が足りないと実感した日だった・・・

622:nobodyさん
08/06/18 20:28:21 HnUDlBar
開発環境から運用環境へWebサイトの発行をしました。
ところが運用環境ではGACの参照設定ができてないようです。
Web.configに記述はあります。
運用先環境にこの参照設定を追加するにはどうしたらいいでしょうか。エスパーしてください。

追加したいのは以下の参照
<add assembly="Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxx"/></assemblies></compilation>


623:nobodyさん
08/06/18 20:32:52
【環境】
ASP.NET
.NET Framework2.0
OS:Windows2003R2
IIS:6.0
です。

624:nobodyさん
08/06/18 22:28:59
Webインストーラ組み上げて、GACに登録するようにすれば?

625:nobodyさん
08/06/19 17:14:38
VS2008 でWebアプリを作っているのですが
VSに付属しているASP.net WEBサイト管理ツールでログインユーザを作成しようと
「セキュリティ」タブをクリックすると、SQL Serverがないと叱られました。

このWEBサイト管理ツールを使うにはSQL Serverが必須なのでしょうか?

626:nobodyさん
08/06/20 16:30:05
>>625
ログインユーザの登録管理をSQLでやってるから必要ですね。

627:nobodyさん
08/06/20 17:08:53
>>626
そうなんですか、勝手にmdbファイルでも作成されると誤解してました。
ありがとうございました。

628:nobodyさん
08/06/22 13:06:38
<俺用メモ>
ICallbackEventHandlerの使い方
・指定のメソッドを実装する
・テーブルにSELECTかけてDataSetに読み込んだ後、
 return DataSet.getXMLで文字列をJScriptに返してから、
 new ActiveXObject("MSXML2.DOMDocument");で
 resultを読み込んでやればおk
・ボタン押下なんかのイベントにしこむと
 押下時に画面更新が発生する件は
 Me.Button1.Attributes.Add("onclick", callbackRef & ";return false;")
 と、return false;を追加してやればおk

VB側からJScriptを呼び出すのは、無理っぽい。
</俺用メモ>

629:nobodyさん
08/06/22 16:39:00
畜生!俺がバカなだけだがMS死ね!何が__pendingCallbacksだ!
ソリューション見ても意味が全然わからねぇ、MS死ね!

630:nobodyさん
08/06/22 17:23:20
VBが既に時代遅れなのです

631:nobodyさん
08/06/22 17:53:57
フォームのテキストボックスに入力した値をDBに登録する、って処理をするときにHTMLエンコードとかした方がいいものですか?
必要ならしなかった場合にどんな危険性があるでしょうか?

632:nobodyさん
08/06/22 18:01:30
>>631
クロスサイトスクリプティングの危険があるんじゃなかったっけ。
ユーザ入力のはしつこいぐらいチェックしたほうがいいよ

633:nobodyさん
08/06/22 19:37:14
>>631
チェック不要で何でも突っ込んでOKな仕様なら不要だろ。
入力値のクリーニングが少しでも必要との認識があるなら、
>>632の対応で良いとオモ。




634:nobodyさん
08/06/22 21:49:19
>>631
DB格納時にわざわざHTMLエンコードした文字入れるのは止めましょう。
実際のHTML生成時に必ずHTMLエンコードするようにしてください。

中途半端にならずに納得できるまで調べると理由も理解できるかと。

635:nobodyさん
08/06/23 11:10:40
VS2008です
実行後の画面に差異が生じます。

1.デザイン画面ではCSSが適用された見た目になります。
2.デバッグ実行のブラウザではCSSが適用されない見た目になります。
3.ブラウザでIISを通してみるとCSSが適用された見た目になります。

デバッグ実行(仮想サーバ?)ではCSSは適用されないのでしょうか?

aspxファイル、cssファイルは同一のディレクトリにあり、パスの間違いではなさそうです。

636:635
08/06/23 15:15:53
特徴としてマスターページを使用しています。

637:nobodyさん
08/06/23 15:49:01
>>635
デバッグ環境での実行時だけ、
cssまでのパスが辿れないとか
そういうオチなんじゃね?

アドレスバーにcssファイルのパス記述して、
参照できるか確認してみたら?


638:nobodyさん
08/06/23 21:48:45
フォーム認証で許可してなかったわっとか

639:635
08/06/24 08:59:10
>>637,638
アドレスバーにcssファイルのパスを打ち込んだところ
古いCSSが出てきました。
インターネット一時ファイルをすべて削除したらデバッグでもCSSが適用されました。
ありがとうございました。

640:nobodyさん
08/06/24 14:48:16 t/jniRHC
ボタンコントロールに
Attributes.Add( "onclick", "window.open('hogehoge.aspx?id=0&type=test');";
でクライアントスクリプト登録したところクエリ文字列を結ぶ&が&にエンコードされちゃうんですけど
回避可能な方法または別な登録方法はありますでしょうか?

Attributes.Add( "onclick", @"window.open('hogehoge.aspx?id=0&type=test');";
でやってもだめでした。

ASP.NET
Framework2.0
C#



641:nobodyさん
08/06/24 14:49:23
なんか変になったので全角で書きます。。
>クエリ文字列を結ぶ&が&amp;にエンコードされちゃうんですけど

642: [―{}@{}@{}-] nobodyさん
08/06/24 16:22:53
>>640
.OnClientClick

643:nobodyさん
08/06/24 20:46:20
>>640
何がしたいの?
&amp;を渡したら、&amp;amp;になるってのはさすがに
困るかもしれないが&が&amp;になっても構わないのでは。

644:640
08/06/24 21:49:51
Attributes.Add( "onclick", "window.open('hogehoge.aspx?id=0&type=test');";
で実行するとHTMLに以下の様に展開されてしまいます。

onclick="window.open('hogehoge.aspx?id=0&amp;type=test')"
となってしまいQueryStringの「type」が正しく取得できないのです。。


645:nobodyさん
08/06/24 22:55:44
Attributes.Addよりも>>642が教えてくれたように
OnClientClickプロパティにJavaScript書く方がスマートだね。

で,ちょっと実験してみたけどAttributes.AddでもOnClientClickでも
確かに&amp;にエンコードされる。
けどどちらにしてもtypeの値は正しく取得できたよ?

以下,テストに使ったコードのサンプル
(インデントは全角スペースに置換したため注意)

protected void Page_Load(object sender, EventArgs e)
  {
    //以下の2行はどっちでも同じHTMLを出力される
    //Button1.Attributes.Add("onclick", "window.open('Default.aspx?id=0&type=test');");
    Button1.OnClientClick = "window.open('Default.aspx?id=0&type=test');";
    
    //GETパラメータの全てのキーと値をタイトルに設定
    foreach (string key in Page.Request.QueryString.Keys)
    {
      Page.Title += ":" + key + "=" + Page.Request.QueryString.Get(key);
    }
  }

ボタン(Button1)一個貼り付けて実行してみればわかるかと。

646:640
08/06/24 23:35:47
ありがとうございます。

>>645さんの動作確認ブラウザはIEでしょうか?
当方でもIE6では&amp;でエンコードされていてもtypeの値は取れました。
ただFirefox2.0ではNull参照例外が発生したため、困惑している次第です。
エンコードされていても取得できるのが正しいのか正しくないのか。。。

p.s.
OnClientClickの件、ご指摘ありがとうございます。

647:nobodyさん
08/06/25 00:08:24
>>646
Null参照例外?ASP.NET側の?
文字列がURLエンコードされていても、
それをQueryStringとして処理するのはサーバー側だぞ。
普通、ブラウザは関係ない。
もし、変数を代入したりしているなら>>645の通りベタ打ちしてみたら?

ちなみにFirefox2.0、Win2k、ASP.NET2.0、VS2005で
検証してみたがなんのエラーも出ずに正常動作した。

648:nobodyさん
08/06/25 01:55:55
>>646
エンコードされるのが正しい。わりとそのへんいい加減ではあるが、
エンコードされてない&は、犬に食われて無くなっても文句は言えない。

649:nobodyさん
08/06/25 05:10:01
いわゆる 標準 だな

650:nobodyさん
08/06/25 21:23:32
ASPからASP.NET2.0に移行したんですが、ASPより体感で遅くなりました。
ASPならほぼ瞬時に切り替わるページが、.NETだと1~2秒かかります。
SQL server profilerを見ていると、
DBとのやり取りは比べ物にならないくらい速くなっているので、
レンダリング周りだと思うのですが、そんなものなのでしょうか?
(初回コンパイルで遅いのではなく常にです)

GridViewにバインドする際に整形したいので、
dateFormatter(eval("YYYYMM"))のようなことはやっていて、
ヘルプを読むとevalはパフォーマンスに影響するというのを見ましたが、
原因はこれだけとも思えず…。
というか、eval使わないとなるとRowDataBoundイベントで1セルずつ
整形処理とかおよそ.NETらしくないように思いますし。

651:nobodyさん
08/06/25 22:59:29
せめて列数とか件数とか、ViewStateが巨大になってないかとか
認証とかどうなってるのかとか、トレースやデバッグ設定どうなってるのとか
VS上かIISかとか
あーだこーだ


652:nobodyさん
08/06/25 23:38:16
全体的に遅かったので、抽象的な質問になりました。すみません。
特に遅い画面といえば、10列 x 100行程度の一覧画面で
ローカルでの表示でも5秒程度かかります。
※クライアントの意向によりページングは使用していません
 ASPのころは同様の列、行数で切り替わりは1秒程度。

認証はwindowsで偽装はfalseにしています。
本番機でのtrace、debugはもちろんfalseですが、
bufferingはtrueにしています。
サーバースペックはCPUがXeonでメモリ4G程度としか知りません。
ViewStateのサイズは確認していませんでした。
bufferingもtrueにしていることですし、調べてみることにします。
ありがとうございます。

653:nobodyさん
08/06/25 23:53:07
連投すみません。5秒は言い過ぎでした。多分3秒くらい。

654:nobodyさん
08/06/27 00:30:25
DataSetの扱いが悪いとか

655:nobodyさん
08/06/27 00:34:39
とりあえずtrace有効にして怪しいとこがないか見てみたら。
そんなデータ量で何秒とか明らかにおかしいと思う。


656:645
08/06/27 22:44:24
>>646
返事が遅くなってすまん。
こっちで確認したのはIE7とFirefox3でした。

今別の(Firefoxが入っていない)PCにFirefox2をクリーンインストールして
試してみたけどやっぱり正常にtypeの値取れたよ?なにか別の原因かと。

>>647
確認thx

657:nobodyさん
08/06/29 13:39:00 u/QaY2OJ
テーブルアダプターを作り
それをaspxのObjectDataSourceコントロールのデータソースの構成から
作ったテーブルアダプターを紐づけたいのですが
ビジネスオブジェクトの選択のコンボボックスの中にも表示されず
プロパティのTypeNameに直接テーブルアダプター名を打ち込んでも
読み込めませんでしたとエラーが出てしまいます。
スペル間違えは確認しましたがそれはなく、迷っています
どなたか解決方法を教えていただきませんか? 宜しくお願いします。
VS2005+VB+Oacle9iです

658:nobodyさん
08/06/29 20:55:10
DataListを使って一覧表示しています。
文字列を表示するときに、Labelを使うと、文字列の中に改行文字があっても、改行してくれません。
イメージとしては、掲示板の本文みたいな表示しにしたいのですが、
ItemTemplateとしては、何を使うべきなのでしょうか?

659:nobodyさん
08/06/29 22:59:01
<br>に置換すれば?


660:nobodyさん
08/06/30 23:02:12 CMrqWlxQ
webサイトを作ろうとやっているわけなんですが、
アップの後に確認してみたところ、どうしても
Parser Error Message: Could not load the assembly 'App_Web_default.aspx.cdcab7d2'. Make sure that it is compiled before accessing the page.
と出てきてしまい
<%@ page language="C#" autoeventwireup="true" inherits="_Default, App_Web_default.aspx.cdcab7d2" %>
が悪いと出てくるわけなんですが、どうすればいいのか理解ができない状況です・・・

もし、ここが悪いんじゃね?っていうのがあれば教えていただければ幸いです。


661:nobodyさん
08/07/02 06:22:34 vJfryalk
ASP.NETこれからはじめようとおもっていて、
色々なサイトを巡り情報を収集しています。
Webアプリ開発人口がWindowsなどのアプリケーション開発者に比べて少ないようで、
多くのサイトで、Webアプリが普通のWindowsアプリケーションと比べて、
+α覚えないといけないので難しいとか、イメージが沸きにくいと書かれていました。
ASP.NETはそのような従来のWindowsアプリなどの開発者に最適で、
同じような感覚でWebアプリが書けるといったことも随所で書かれていました。
私はこれまでにPHPしかやったことがなく、
Windowsのアプリケーションなんてどういうものか想像すらつきません。
最初からWebアプリにしか興味がなく、Webアプリしか作ったことがないような人間には、
ASP.NETは理解しづらいものなのでしょうか?
PHPユーザーのためのASP.NET入門のようなサイトがあったら是非教えてください。

662:nobodyさん
08/07/02 08:50:36
逆に>>661さんに聞きたいんだけど、なんでASP.NETをやろうと思ったの?
Webアプリ作りたくてPHPを習得済みならPHPでいいんじゃないかと思うけど、


663:nobodyさん
08/07/02 23:10:09
PHPでafter Railsなフレームワークを使っていたのなら、
むしろASP.NET MVCとかの方が理解しやすいかもね。

664:661
08/07/03 01:03:09
レス遅くなってすみません。

>>662
趣味の延長線です。
より多くのことをやってみたいというだけの理由です。
他の言語(C#)をさわってみたかったというのも理由です。

>>663
フレームワークは使ったことがありません。
正確には昔CakePHPに手をつけましたがどうにも理解できませんでした。
PHPでもオブジェクト指向が中途半端にサポートされていて、
オブジェクト指向的な書き方や、使い方はできるのですが、
独学でやってるもので、オブジェクトとして正しいものがかけているのかは疑問があります。
ASP.NET MVCというのははじめてききました。
そういったものがあるなら、CakePHPをもう一度勉強してみたいと思います。

フレームワークについては全くといっていいほど知らないので、そちらの習得を最優先したいと思います。

665:nobodyさん
08/07/04 23:12:52
>>664
そういう理由なら、.NETのWindowsアプリに挑戦した方がいいよ。
ASP.NETにいきなり入ると覚えることが多すぎて頓挫しやすい。
.NETには独特の知識が必要だから、まずは.NETそのものに慣れることを勧めたい。

666:nobodyさん
08/07/06 00:33:38
<%%>で時刻をバインドしたいけどできますか?

667:nobodyさん
08/07/06 01:00:27
何の時刻を何にだよ


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch