【質問】ASP.NETスレ Part4【議論】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/07/17(火) 23:49:46ID:pyJr9yIyPart1 - 【質問】 ASP.NETスレ 【議論】
http://pc5.2ch.net/php/kako/1040/10406/1040698263.html
【質問】ASP.NETスレ Part2【議論】
http://pc8.2ch.net/test/read.cgi/php/1111480331/
【質問】ASP.NETスレ Part3【議論】
http://pc11.2ch.net/test/read.cgi/php/1160355849/
0673668
2008/07/06(日) 20:16:22ID:???>>671
クライアントにWindowsフォームを使って、
ロジック部分だけサーバー上に置くのって不可能ですか?
>>668
>>672
.NETエンタープライズWebアプリケーション開発技術大全と
silverlightの本買ってきます。
0674668
2008/07/06(日) 20:17:17ID:???>>668
>>672
VSのヘルプって見たことないので、
ゆっくりと見てみようと思います。
ありがとうございました。
0675nobodyさん
2008/07/06(日) 22:09:37ID:???>クライアントにWindowsフォームを使って、
>ロジック部分だけサーバー上に置くのって不可能ですか?
それなら(ASP.NETで作れる)XMLウェブサービスを開発すれば良いと思うよ。
まぁウェブアプリケーションでWindowsフォームに似せた
リッチクライアントを開発したいならば,>>672の言うとおり
「ようこそSilverlightの世界へ!」と言うのも楽しいね。
0676nobodyさん
2008/07/06(日) 22:36:46ID:???いいと思うけど多分いろんなところではまると予想しておこう。
0677nobodyさん
2008/07/06(日) 22:47:42ID:???Webアプリを作るという前提で。
>.NETエンタープライズWebアプリケーション開発技術大全
↑これは定番のバイブル的な本だけど、1.1ベースなのと読むのがしんどい。
まずは、同じ著者のこっちの方をお勧めする。
「Microsoft Visual Studio 2005によるWebアプリケーション構築技法」
可能であれば店頭で見比べてみて。
0678nobodyさん
2008/07/07(月) 01:31:49ID:???これはオレも推薦する。
小手先の技術じゃなくて、必要性や目的・手段などの解説が秀逸
0679nobodyさん
2008/07/07(月) 01:53:23ID:???0680nobodyさん
2008/07/09(水) 17:41:50ID:???UpdatePanel の外に UpdateProgressを配置しています。
GridViewはページングを有効にしており、たとえばページ2をクリックをし、読み込み中にページ3をクリックすると
UpdateProgressがエラーをはきます。
エラー内容は
Microsoft JScript 実行時エラー: Sys.InvalidOperationException: ScriptLoader が
スクリプトを既に読み込み中の場合、ScriptLoader.loadScripts を呼び出すことはできません。
というものです。
スクリプトの二重読み込み禁止にするにはどうすればよいでしょうか?
0681nobodyさん
2008/07/10(木) 09:54:12ID:???0682nobodyさん
2008/07/11(金) 14:11:21ID:???(処理の経過はDBに書き込んでそれを見ています)
この、非同期にしたメソッドがしばらくすると(0:30〜1:30程度で一定していません)
「スレッドを中止しようとしました」(ThreadAbortException)とのエラーで終了してしまいます。
1.このエラーはなぜ起こるのでしょうか?
2.時間のかかる処理を待たずに処理を進めるにはどうしたらよいのでしょうか?
0684nobodyさん
2008/07/11(金) 15:45:03ID:???ありがとうございます。そのあたりは使っていません。
ネットで調べても「ThreadAbortException」はその辺りで発生するという情報しかなくて困っています。
0685nobodyさん
2008/07/11(金) 21:24:08ID:???処理結果はどこで見てるのとか、処理の実行自体は出来てるのかとか。
そのやり方でやるなら、このへん参考になるんじゃね?
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=901201&SiteID=7
ただ・・・ASP.NET 2.0じゃん?
Ajaxのフレームワーク利用するなり
http://www.microsoft.com/japan/msdn/asp.net/learnajax/default.aspx
クライアントコールバック実装するなり
http://msdn.microsoft.com/ja-jp/library/ms178208.aspx
その方が楽じゃねーかなー
0686nobodyさん
2008/07/12(土) 21:28:30ID:???ThreadAbortException発生してページ表示完了になるから、後からサブ側の結果を
反映するのは無理だよ。メイン側では必ずサブ側の待ち受けする必要あるから
0687nobodyさん
2008/07/12(土) 22:36:06ID:???こっちもうまく理解できてないけど。
> 2.時間のかかる処理を待たずに処理を進めるにはどうしたらよいのでしょうか?
・画面上の非同期
と、
・サーバ処理上の非同期
は分けて考えないと。
前者の目的は
・ユーザの待ちを減らして操作感を良くすること。
方法としては、
・AJAX(あるいはComet?)使ったり、
・別ウィンドウでリクエストを飛ばしたり、
・結果は次にポストバックした時に調べるようにしたり、
するといいかも。
後者の目的は
・ASP.NETのスレッドを節約したり、
・並行処理で処理時間を縮めたりすること。
0688nobodyさん
2008/07/13(日) 19:53:16ID:PNe/o1jf0689nobodyさん
2008/07/13(日) 20:13:53ID:???0690nobodyさん
2008/07/14(月) 05:26:17ID:???0691nobodyさん
2008/07/14(月) 09:36:44ID:???ありがとうございます。
説明が下手で申し訳ありませんしたいのはこういう事です。
1.メイン側はBeginInvokeして画面には処理を開始しましたと表示して終了
2.サブ側は処理を行い状況をDBに書き込む
(この処理は夜間にしたいクライアントは電源を切る)
3.状況確認画面ではそのDBを表示して状況確認
とこんな感じです。
>>685 さんの
>Ajaxのフレームワーク利用するなり
>クライアントコールハ゛ック実装するなり
の案はクライアントを切ってしまう関係でちょっと採用しがたいです。
>>687 さんの
>・サーハ゛処理上の非同期
にあたると思うのですが非同期にしたい理由は2.の通りです。
>>686 さんの話で
>メイン側の処理が終わったらThreadAbortException発生して
と言うのがあるのですがこの方法は根本的に間違っているのでしょうか?
ただ、メイン側が終わった時点ではThreadAbortExceptionは発生していないようなのです。
0692nobodyさん
2008/07/16(水) 02:02:24ID:???>メイン側が終わった時点ではThreadAbortExceptionは発生して
>いないようなのです。
よく知らんから勘だけで感想。
アプリケーションプログラムから見える処理終了と、スレッドの
ライフサイクルの関係なんて、どうなってるのか普通はわからない。
だからThreadAbortExceptionの発生するタイミングを単純に
あてにしていいかどうかわからない。(裏付けがあれば別だけど。)
あと、ASP.NETのプロセス自体、いつ再起動しても文句言わないでよね、
っていう仕様になってるから、長時間の処理には向いてない。
別のプロセス(Windowsサービス)にやらせるのがいいのかなあ、多分…。
0693nobodyさん
2008/07/18(金) 01:09:30ID:???じゃあThread.Abort()かThread.Sleep()使ってないか?
これら使うとThreadAbortException発生するよ。
0694nobodyさん
2008/07/20(日) 22:18:43ID:iFuM44Naphpでいうreadfileみたいな。
0695nobodyさん
2008/07/20(日) 22:57:36ID:???php知らんけど、やりたいことは
// ファイルの内容を出力
Response.WriteFile()
// バイナリを出力
Response.BinaryWrite()
どっちかだと思う。
0696nobodyさん
2008/07/21(月) 14:37:33ID:???0697nobodyさん
2008/07/21(月) 20:10:11ID:???の方がいいと思うんだ。
0698nobodyさん
2008/07/22(火) 17:01:26ID:???aspxファイルにjavascriptを直接書くことはできますが
jsファイルをaspxファイルから参照するにはどうすればよろしいでしょうか?
0699nobodyさん
2008/07/22(火) 19:00:50ID:???0700nobodyさん
2008/07/23(水) 12:57:43ID:???503エラーをクライアントに返したいのですが、エラーを返すにはどのようにすれば
良いかわかりません。
Page_LoadでResponse.Writeしてもうまくいきませんでした。
どなたかヒントだけでも教えてください。
0701nobodyさん
2008/07/23(水) 13:00:27ID:???何をWriteしたんだ??
503とか書いたのか??
0702nobodyさん
2008/07/23(水) 13:06:33ID:???入ってないなら HttpExceptionをスローが手っ取り早いのかな。
0703nobodyさん
2008/07/23(水) 23:20:21ID:???昔っからできるんとちゃうのん?
0704700
2008/07/23(水) 23:44:14ID:???Response.Write("503 Service Unavailable");
としてみたのですが、ページの先頭に表示されるだけでした。。。
>>702
StatusCode = 503;
は何も起こりませんでした。
throw new HttpException(503, "Service Unavailable");
とすると、目的のエラーが返されました!
ありがとうございます!
0705nobodyさん
2008/07/24(木) 00:45:29ID:???だって解説に
StatusCode は、.NET Framework version 3.5 で導入されました。
ってかいてあったんだもん
0706nobodyさん
2008/07/24(木) 10:24:37ID:???System.Data.Odbc.OdbcConnection odbcConn = new System.Data.Odbc.OdbcConnection(
"data source=サーバのIPアドレス;password=pass;persist security info=True;user id=PostgreSQLユーザID;"
);
odbcConn.Open();
と記述して実行すると、下記のエラーがでます
ERROR [IM002] [Microsoft][ODBC Driver Manager]
データ ソース名および指定された既定のドライバが見つかりません。
ちなみに、サーバエクスプローラのデータ接続には表示されています。
原因わかる人いましたら教えていただけますか?
よろしくお願いします。
0707nobodyさん
2008/07/24(木) 10:39:33ID:???0708nobodyさん
2008/07/25(金) 11:20:08ID:???お返事ありがとうございます。
サーバエクスプローラから見たプロパティの接続文字列をつかって試して
みましたが、前回と同じエラーがでてしまいました。
よろしければ、もう少し詳しく教えていただけると助かります。
0709nobodyさん
2008/07/25(金) 13:05:21ID:???0710nobodyさん
2008/07/25(金) 13:05:59ID:???0711nobodyさん
2008/07/25(金) 13:07:25ID:???"Dsn=test"); でいけると思いますが。
0713nobodyさん
2008/07/27(日) 02:16:16ID:PuhlOnPoただの text だけを書いた aspx ファイルを設置して、
まず ASP.Net が動作しているかだけを確認したんだけど
同ファイルで web共有フォルダ上のみ動作しないだわ。
1) http://a.xxx.co.jp/folder1/sample.aspx
--> ok
2) http://a.xxx.co.jp/folder2/sample.aspx
--> '/folder2' アプリケーションでサーバー エラーが発生しました。
物理パス
X:\wwwroot\folder1 <-- 名前のとおり root 設定
X:\folder2 <-- web共有で設定。スクリプトのみ許可
IIS のフォルダ別設定は見比べてみたんだけど違いはなかった。
ローカルでエラー内容確認しようとしたけど AD forest の
認証と SSL の関係で、うまくいかず... orz
ほかに何か確認すべきことはある?
0714nobodyさん
2008/07/28(月) 23:29:04ID:HmIeNyld0715sage
2008/07/29(火) 00:49:41ID:jQQEt0MC自己レス。
X:\folder2 について "NETWORK SERVICE" に
read/write 権限を与えてないことが問題だった。
すまん。首吊ってくるわ orz
0716nobodyさん
2008/07/29(火) 01:40:17ID:???0717nobodyさん
2008/07/29(火) 03:02:45ID:???俺には無理だな
0718nobodyさん
2008/08/04(月) 23:22:14ID:ssJofGpT記述して、各画面がロードされる時に共通で行う処理を記述したら、
Gifとか、インポートしている?CssやJsファイルとかまで
このイベントへ飛んできたのですが、
たとえば、要求のあったaspxだけイベントとしてあがってくるようにするなどの
制御ができますでしょうか?
0719nobodyさん
2008/08/05(火) 00:11:24ID:???あたりまえだろ
拡張子で判断するのが邪道だが手軽かな。
PostMapRequestHandler とかできちんとハンドラかくにんしてもいいが。
0720nobodyさん
2008/08/05(火) 00:12:35ID:???>あたりまえだろ
って書いたけどIIS6とかまでのデフォルトの構成では飛んでこないな。
ASP.NETまで来たやつは全部飛んでくる、という意味での当たり前ね。
0721nobodyさん
2008/08/05(火) 01:38:14ID:???IISで動かすとデフォルトではaspxしか来ないと思うよ。
VisualStudioの開発Webサーバーだとなんでも飛んでくる感じ。
0722nobodyさん
2008/08/05(火) 01:45:08ID:???ISAPIのマッピング見りゃ、あーやっぱチェックいるわってなる。
0723nobodyさん
2008/08/08(金) 09:42:45ID:???.aspxファイルだけで作成されたアプリならVSでのコンパイルとかは
しなくてもいいんですか?
0724nobodyさん
2008/08/08(金) 10:17:54ID:???Visual Studioは必須ではないよ。
最初のリクエストがあったときにIISでコンパイルされるはず。
パフォーマンス挙げるためにプリコンパイルすることもできる。
必須ではないけれど、Visual StudioのExpress Editionに
Visual Web Developerという無料の開発環境があるから
それいれるといろいろ便利だと思うよ。デバッグとかもしやすいしね。
0726nobodyさん
2008/08/08(金) 11:15:38ID:???aspxだけ置いておく
→IISでコンパイルされたdllがキャッシュにたまる
→それをbinフォルダに設置する
…なんて荒技を1.0のころにやった覚えが…。
0727nobodyさん
2008/08/08(金) 11:36:12ID:???0728nobodyさん
2008/08/09(土) 01:02:07ID:???そうでもない。
0729nobodyさん
2008/08/09(土) 11:50:46ID:???加えてASP.NETなんてイントラ案件がほとんどだろうし、
一人が一回のみ遅くなったとしてもそれ程問題にもならん。
0730nobodyさん
2008/08/09(土) 11:54:58ID:???やっぱりサードパーティー(ExcelCreater?)とか使った方がいいんですか?
COMを使用する場合に気をつける事とかって何かありますか?
0731nobodyさん
2008/08/09(土) 12:08:15ID:???http://support.microsoft.com/kb/257757/ja
0732nobodyさん
2008/08/09(土) 12:10:48ID:???0733nobodyさん
2008/08/09(土) 12:11:37ID:???0734nobodyさん
2008/08/09(土) 15:17:16ID:x2zTbblsありです^^
助かりました^^
フィルタしておくようにします。
0735nobodyさん
2008/08/10(日) 01:07:18ID:???0736nobodyさん
2008/08/12(火) 08:16:55ID:???インデックス2にチェックを入れた時だけ
その横のテキストボックスをreadonlyにしたいのですが、ポストバック無しでやれる
スクリプトがわかる方いますでしょうか?
0737nobodyさん
2008/08/12(火) 08:21:17ID:???http://www.futomi.com/lecture/javacss/radio_disabled.html
0739nobodyさん
2008/08/14(木) 17:49:57ID:???GridView内のテンプレフィールドでDropDownListを置いた状態で
そのDropDownListが変更されたとき、その行番号取得してUpdateしたいんですけど
どうにかならないでしょうか?
0740nobodyさん
2008/08/17(日) 19:13:49ID:???VS2005でASP.NET2.0の開発をすることになりました。
基本的な画面構成として、画面左側に検索条件入力部があり、
画面右側に検索結果表示やその他の操作をする形になっています。
右と左を分けるのはマスタページにて行っています。
このうち、画面左側で入力された検索条件の処理を共通化しようと思い、
これをascx化(hogefind.ascx)し、各画面のaspxにてContentPlaceHolder内に配置しています。
また、OnLoad時の共通処理のため、Pageクラスを継承したHogePageクラスを作成しています。
ここで、HogePageクラスにてhogefind.ascxに関連付けられた?クラスhogefindを
オブジェクト変数として使用したいのですが、型がわからない、とされてしまいます。
どのようにすれば、このhogefindを認識できますか?
0741nobodyさん
2008/08/17(日) 19:57:45ID:???0743740
2008/08/17(日) 22:02:53ID:???ascxのユーザーコントロールにひもづいたクラスを使用するには?
ということが知りたいです。
dim hoge as hogefind
と書いても、hogefindという型は使えない、となります。
インテリセンスの候補にも出てこないのです。
0744nobodyさん
2008/08/18(月) 00:37:35ID:???0746740
2008/08/19(火) 10:15:10ID:???>>745
それは実施済なのです。
HogeFind.ascx:ユーザーコントロール
HogeFind.ascx.vb:ユーザーコントロールにひもづいたクラス
Class HogeFind
Inherits System.Web.UI.UserControl
HogePage.vb:pageクラスを継承した自作クラス(App_Code内に配置)
Public Class HogePage
Inherits System.Web.UI.Page
このHogePage中でのにHogeFindクラスのオブジェクト変数を使う方法がわからないのです。
dim hoge as HogeFind ← ここで型'HogeFind'は定義されていません、となる
0748740
2008/08/19(火) 13:05:13ID:???hogepageクラスはデザインに依存せず、
全画面の共通処理を定義しているため、
普通のクラスで作成しました。
aspxのコードビハインドからはHogeFindクラスは認識されますね。
通常のクラスからは使うにはどうしたらいいのか・・・
そもそもやろうとしてることが間違ってる・・・?
空っぽのaspxのコードビハインドのクラスを共通化クラスにしたほうがよいのかな。
0749nobodyさん
2008/08/19(火) 21:39:27ID:???新しく生成したら別物になっちまうからな。
0750nobodyさん
2008/08/19(火) 21:44:28ID:???0751nobodyさん
2008/08/19(火) 23:15:14ID:???まあそれやると他にも影響あるから微妙だけどな…
0752nobodyさん
2008/08/20(水) 05:09:23ID:???0753nobodyさん
2008/08/21(木) 03:19:39ID:???global::じゃなかったっけ?これはC#だけど・・・
0754nobodyさん
2008/08/21(木) 06:59:26ID:???名前空間とかそういう問題以前に。
0755nobodyさん
2008/08/21(木) 07:55:39ID:???0756nobodyさん
2008/08/21(木) 10:14:57ID:???1月前にASP.NET2.0の本を2、3冊買って読みました。
仕組みはわかったのですが、実際に何かを作って理解したい。
最初はどんなものから作ればいいでしょうか?
Hello World
0759nobodyさん
2008/08/21(木) 12:19:23ID:???とんでもなくばかにされてるなw
0760nobodyさん
2008/08/21(木) 12:22:09ID:???PHP+Smarty+Mysqlな感じでやってました。
ASPに関してはまったく素人なので、ご伝授お願いします。
別に馬鹿にしてませんよ。
私はsmartyが何なのか良く知らないのですが
ASP.NET的にいうと、hoge.aspxに相当するんですかね
phpスクリプトの方は、コードビハインドのhoge.aspx.vb(cs)でしょうか
今まで作られたコードを移植してみてはいかがですか?
使った事は無いですが、MysqlにConnector/NETとか言う
ADO.NET用ドライバもあるようですし
0762740
2008/08/21(木) 20:36:37ID:???WEBサイトモデルだと参照できないようですね。
微妙な制限だなぁ・・・
別の手段を考えることにします。
>>760
自分もLAMP+Smartyでずっとやってました。
自分もまだASP.NETを始めたばかりなので的確なアドバイスはできませんが、
PHPとは考え方を大きく変えないといけないと思います。
WEBの基本的な部分は忘れずに、あくまでイベントドリブンで作る、とかでしょうか。
Pageやコントロールのイベントの発生順序を把握すことが大事かと。
0763nobodyさん
2008/08/21(木) 22:51:06ID:???0764760
2008/08/22(金) 09:47:10ID:???>phpスクリプトの方は、コードビハインドのhoge.aspx.vb(cs)でしょうか
そんな感じで大丈夫と思います。
>今まで作られたコードを移植してみてはいかがですか?
そうですね。両者の違いを比較できるので面白そうですね。
>使った事は無いですが、MysqlにConnector/NETとか言う
>ADO.NET用ドライバもあるようですし
はい、mysqlのサイトにmysqlのODBCのドライバがありました。
ありがとうございます。
>>762
そうですよね。考え方全然違いますよね。
そこで考えちゃんですよね・・・
アドバイスありがとうございます。
イベントドリブン+イベントの発生順序を見てみます。
>>763
脳内変換お願いします!
0765nobodyさん
2008/08/23(土) 10:11:50ID:???ASPはじめて間もないのですが、DNS-LessでAccessに接続しています。
参照はできるのですが、レコードの書き込みや削除をしようとすると
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] 指定されたテーブルから削除できませんでした。
/kensaku.asp, line 490
のエラーが出ます。
ソースは本のサンプルそのまんまなんですが、IISの設定か何かでしょうか?
0766nobodyさん
2008/08/23(土) 10:39:33ID:???ObjConn.Execute(StrSQL)
ここでエラー出ます。
0767nobodyさん
2008/08/23(土) 10:58:59ID:???コードもないのに原因がわかるエスパーはいない。
イントラ用途でもちゃんとしたDBつかったほうがいいんじゃないの。
フリーのでもいろいろあるんだし。
アクセスなんてロックもいいかげんでしょ。
0768nobodyさん
2008/08/23(土) 11:03:29ID:???ソースは下記。
ttp://www2.uploda.org/uporg1627366.zip.html
pass: asp
ちゃんとしたDBかー。
データベースをファイルとして持ち出せるのが素敵だなぁと思って、Accessを選んだんだけど、裏目に出たのかなぁ。
0769nobodyさん
2008/08/23(土) 11:24:17ID:???サンプルにAccess使うあたりちょっと古い本じゃないかと思ったが予感的中。
(asp.netだと気の利いた本は、まともなデータベース使って解説するから)
これ(新しい)asp.netじゃなくて(古い)aspだよね。ASPは別スレ。
もしasp.netが使えるならそっち使った方が開発は楽だよ。
便利な新機能多いし。
あとざっとしかコードは見てないけど、SQL文の生成で
文字列を連結して作るのはセキュリティ上、危険だとおも。
公開するWebサーバなら絶対やっちゃいけない書き方。
近頃、ハッキングされて個人情報漏洩する事件はだいたいが
SQLインジェクションでやられてる。
asp.netではSQL文に変数いれたいところはパラメータ化する。
旧ASPでのSQLインジェクション対策は知らない。
0770nobodyさん
2008/08/23(土) 11:48:04ID:???asp.net新機能
http://msdn.microsoft.com/ja-jp/library/fa1h9d0d.aspx
aspってマスタページも使えなかったんだな。
asp.net知ってしまうとaspは耐えられない不便さかも。
0771nobodyさん
2008/08/23(土) 21:44:48ID:???とりあえず、Visual Studio 2008 Express Editionsダウンロードしてきた。
一から作ります。
■ このスレッドは過去ログ倉庫に格納されています