トップページphp
982コメント364KB

==ASP== Part 2

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん02/07/30 19:28ID:FEU9c2CH
ASP について語るスレ その2

前スレはこっち
http://pc.2ch.net/test/read.cgi/php/984840107/
0067nobodyさん02/08/09 09:47ID:???
>>66
特に要望もないのにASPで客に提案するドキュソに仕切られてもな〜
0068  02/08/09 11:43ID:???
>67
ASPをこばかにしているお前は、厨房か?
0069人をムカつかせるのが好きな人02/08/09 14:25ID:???
ASPとHSPてちがうの?
0070nobodyさん02/08/09 14:34ID:???
>>69
同じ。
0071nobodyさん02/08/09 22:33ID:3EG8YomG
ttp://www.panabyc.co.jp/products/asp/CTLGdetail.asp?Syasyu=B-TW87

なんだ?このエラー?
Server.MapPath() エラー 'ASP 0175 : 80004005'
許可されていない Path の文字です
0072nobodyさん02/08/09 22:47ID:???
>>71
「アプリケーションの構成」
→「アプリケーションのオプション」
→「親のパスを有効にする」

検索しろって言ってんだろうがヴォケが!
0073apholist02/08/10 02:17ID:v7Yh7Q4E
>>66
参考までに聞きたいがなんで拒否されたん?
IISだから?
00746602/08/10 03:44ID:83c1YuEg
そういうことだよ。イントラだったらIISでも我慢できるらしいが・・・
ASPぐらいしかできない折れはマジでヤバイ
3社でASP以外だったら・・・こんな話聞いて鬱だよ
設計やるしかないのかな・・・
0075nobodyさん02/08/10 04:14ID:???
煽るつもりはないが、
>イントラだったらIISでも我慢できるらしいが・・・
そりゃそうだよ。IISの評判も気にしなきゃ。
Apache+PHPもできるようにしる!と気休めを言っておく。
0076nobodyさん02/08/10 12:09ID:???
>>74
その程度のこともわからなかった貴方に乾杯です。
つうか普通イントラ以外にWin系を薦める場合はエンドからの要望が
ある場合に限るだろ。

さらに言えばASPは便利だし、それなりに使える言語(?)だけど、
ASPしかできないのはにエンジニアとして問題があるだろ。
オープン系やりたいなら少なくともJAVAくらいはできるようになっとけよ。
00776602/08/10 13:59ID:rIyDMChh
おめーたちの言うとおりだよ
しかし折れクライアントアプリ出身なんでIISの評判がここまで悪いとは知らなかった。
たまたま言われた3社とも過去にIISで嫌な経験があったらしいが
しかしSQL Server同様過去になんかあるのはきついよな
0078apholist02/08/10 15:43ID:v7Yh7Q4E
>>77
今の季節ならちょうど去年のことが
思い出されたのかもね。
0079工房02/08/10 19:18ID:tBiC4GdB
やっぱASPはVBに似ているね
簡単で厨使いが多いけど、主流になれない限定されてた言語だね
0080nobodyさん02/08/10 19:26ID:???
ASPっていう言語があるの?
0081nobodyさん02/08/10 19:28ID:???
無い。
0082apholist02/08/10 21:42ID:v7Yh7Q4E
>>80
CGIと同じぐらいメジャーな言語だけど?w
0083nobodyさん02/08/10 22:01ID:???
言語ではないが?



Active Server Pages

 WWWサーバ側で、JavaScriptやVisualBasic Scriptなどのスクリプト言語や、各種ActiveXコンポーネントを動作させるためのフレームワーク。

 ASPとして記述されたWebページは、まずサーバ側で解釈・実行されるため、参照時の状態によってダイナミックなコンテンツをクライアントに提供することが可能である。

0084nobodyさん02/08/10 22:05ID:???
>>82
CGIも言語ではない。
0085apholist02/08/11 01:32ID:9oLdQXRh
>>84
マジレスされますた。
00868002/08/11 01:37ID:???
つっこみを入れたつもりだけど、つられたのか・・・?
0087apholist02/08/11 02:17ID:9oLdQXRh
>>86
79を見てなかった。誤爆スマソ。
0088工厨02/08/11 03:27ID:6CsMEhty
たくさん釣れますた
0089nobodyさん02/08/11 04:31ID:ZG4CY6/G
自分の無知を隠そうとしなくていいよ。
0090nobodyさん02/08/11 10:27ID:lak1U4b7
>>77
ASP(Windows)+トラブル経験+無知=MSが悪い
オープンソース(Unix) +トラブル経験+無知=自分が悪い

こういう理屈になりがち、MS以外を使っている方が、
世の中に受け入れられやすい。

結構、オープンソースもワケのわからんトラブルやバグに
泣かされるが、あちらは、それが普通なので、なんとなく許される。

人のイメージは怖い、プロの世界にも、こうまでイメージと
いうのが強く影響するのは、ある意味面白すぎ(w
0091     02/08/11 10:48ID:???

IISもアパッチも大して変わらんぞ。
知らないやつが、どッかの記事読んで、IISはだめ〜とか
いってるみたいだけど。

WEBサーバーよりもそれを管理する人間の問題だろ。
ちなみに米国ではIISを使うmedium-smallサイトはごまんと有ります。
で、ASPの仕事もごまんとあります。ただし、CrystalReportとかThird
PartyのSOFTとか他のMS製品とのIntegrationとかを
使いこなせないとだめだけど。

あ、おれ、IBM派です
0092あぼーんNGNG
あぼーん
0093折れはアポ02/08/11 16:40ID:pdbwTgBb
しかしどこで仕入れたかわからんがASP、IISと聞いただけで拒絶する客多いよ
日本人は馬鹿なのか?
0094nobodyさん02/08/11 18:14ID:OYL1VmuY
http://www.kabu.com/feature/system/

ASPマンセーだ、ゴルア!
金融でこの構成はちっとこわいぞ。
0095nobodyさん02/08/11 18:58ID:???
>>94
いかにも人海戦術で構築しましたって感じで怖いな。
0096apholist02/08/11 22:43ID:9oLdQXRh
>>93
その割にパッチあてずにOutlook使ってたりするんだよな。w
0097ミー02/08/12 00:44ID:3wiK7T+j
未だにアウトルック使ってる企業なんてあるんですか?
0098apholist02/08/12 01:12ID:OS+0wvpC
>>97
中小企業はまだ結構多いはず。
逆にOutlook以外なら何が主流なんかな。企業で使うメーラーって。

ASP自体は便利なんだけどねぇ。
すぐ作れるし。Apacheでまだ動かなかったっけ。
0099    02/08/12 02:27ID:???
>>94

ちゃんとTuneUPしてれば大丈夫だとおもうけど。
0100nobodyさん02/08/12 21:31ID:Zy1Vq6v/
切りのいいところで終了だべ
0101apholist02/08/13 00:38ID:dAqzhev3
じゃあ、part3か。早いな。







とかいってみるとか言ってみたかった。
0102nobodyさん02/08/16 15:19ID:WEr2/Fmu
ASPでアクセス97に接続するシステムで、

アクセスには各支店の勤怠表テーブルとユーザーIDテーブルを作成。

ログインしたら、例えばA店の店長ならA店の勤怠が、
B店の店長ならB店の勤怠がブラウザで見れて、かつ勤怠の修正もできるような
ものを構築したいのですが、どこか参考になるサイトや入門書を知っていたら教えてください。

現状は、ODBC経由で勤怠データがブラウザで表示できるようになったのですが、
ユーザーIDテーブルとの照合、各店ごとの表示のさせ方がわからず詰まっている
という状況です。
0103nobodyさん02/08/16 15:38ID:???
>>102
テーブル構造がよくわからないが、そっちに問題がありそうな気もする。
0104nobodyさん02/08/16 15:56ID:NVK2StIc
>>102
もっとASPを勉強しましょう。
そうですね。書籍なら5冊くらい読破したらいいでしょう。

よくあるいい本いいサイト教えてくださいの書き込みだけど、そんなもん自分で調べましょう。
そのテクノロジーに精通している人はリファレンスしか見ないし、サイトを調べるんじゃなくってキーワードでこういう機能をって探すからあなたの望み通りのサイトをキープはしていない。
0105nobodyさん02/08/16 17:52ID:???
>>102
ASPも勤怠システムも分からんの?
なぜ自分の力量以上のことをやらなきゃならん羽目に?

ユーザーIDテーブルとの照合は、SQLのJOINを使うか、
ユーザ数が少ないなら、ユーザIDをキーにしたコレクションを使う。

各店ごとの表示のさせ方は、相手が誰か分からんとダメだから、
ログイン画面で認証させてSessionに保持するか、
IPか何かで端末と店舗を結びつけるかだな。
010610502/08/16 17:58ID:???
>>102
MDBだと更新が競合するらしいんで、>>49あたりも読んどけ
Access97なら大丈夫かも。
0107nobodyさん02/08/17 02:38ID:???
>>106
大 丈 夫 な わ け な い
0108nobodyさん02/08/17 14:33ID:lJbNCq+m
>>107
禿同
ASPでACCESS使わないこれ常識
0109あぼーんNGNG
あぼーん
0110nobodyさん02/08/17 15:50ID:???
>>102
普通にユーザー認証させて権限のないユーザーは自分に関連しないデータ以外は
いじれないようにすれば大丈夫。

だけど君の考えているシステムをMDBでやるのば無謀だ。
DB接続が複数重なるとレスポンスが非常に悪くなるぞ。
せめてMSDEくらいはつかったほうがいいんじゃないか?
もしどうしてもMDBを使いたいならdatetime型のフィールドの取り扱いには気をつけたほうがいい。
一般的なSQLとは文法がチト違うから。
0111nobodyさん02/08/17 18:17ID:???
>>109
スレ違い

・・・と、たまにはマジレス。
0112102です02/08/19 13:18ID:jw//q5pz
>105

勉強を兼ねてつくっています

Set DBadb = Server.CreateObject("ADODB.Connection")
DBadb.Open "DSN=kinmu"
Set cmdTemp = Server.CreateObject("ADODB.Command")
cmdTemp.CommandText = "SELECT * FROM 支店名"
Set cmdTemp.ActiveConnection = DBadb
Set RS = cmdTemp.Execute
     
   〜以下略

こんな感じのものを店舗の数だけ用意しないと駄目なので、
一つですませられないかと。

同時更新の問題は置いといて、とりあえず作ってみたいんですが。

画面はログイン画面→メニュー画面→勤怠表となってます。

店ごとの表示は、ユーザーIDテーブルにYES/NO型のメニュー1、メニュー2・・・というフィールド
を作って、その値をもとにメニュー画面で特定の店舗名が表示されるように設定しています。

テーブルは店舗ごとに一つ一つ存在します。

なので、後は店舗ごとのASPファイルを1つにまとめるのと、修正ができるようになればよいのですが。
0113nobodyさん02/08/19 13:48ID:???
>>112
どこから突っ込んでいいか分からないくらい突っ込みどころ満載なんで、とりあえず
基本的な部分を指摘。

1)SQL文は動的生成させろ。
基本中の基本。

2)ASPの前にDBの勉強をしたほうがいいぞ(マジで)
例えば店舗毎にテーブルを用意するなんて事をしてはいけない。
店舗の増減があった場合に対応できないだろ。
ほかにも「ユーザーIDテーブルにYES/NO型のメニュー1、メニュー2・・・
というフィールドとつくって・・・」なんて事もあまりやらない。
よほど特殊なケースを除き、メニュー表示はユーザー権限によりプログラムの
中で判定させるのが普通。

3)ASPの入門書くらい買って読め
すくなくとも実用的なものを作るレベルにはない。
っていうか基礎的な事すらわかっていない。
市販の少し厚めの本を一冊熟読するべし。
011402/08/19 15:06ID:vgyLeW4t
>>112
同時更新問題はおいといてって置いとくな。

そんなもんはDB設計の段階で解消しろ。

といってDBのいろはのいもわかってなさそうだけどな。

ASPをやるんだったら、ASPの本、HTMLの本、DBの本、これくらいは読めれ。
HTMLの本は偽者、悪書が多いから気をつけて。

あとASPなのにAccessでやってみましょうという本も捨てて、それ以外の本をあされ。

Webで質問して何でも解決しようとするやつには、誰も答えてくれないぞ。

あ、答えてしまった。藁
0115nobodyさん02/08/20 16:13ID:???
<%
Dim DBadb   'コネクション
Dim cmdTemp   '更新クエリー
Dim RS   'レコードセット
Dim Siten   '支店名
Dim strSql   'SQLステートメント

'支店名をロード?
Siten = Request.QueryString("siten")

Set DBadb = Server.CreateObject("ADODB.Connection")
DBadb.Open "DSN=kinmu"

'よくわからん
'Set cmdTemp = Server.CreateObject("ADODB.Command")
'cmdTemp.CommandText = "SELECT * FROM 支店名"


'SQL文
strSql = "SELECT * FROM 支店マスタ WHERE 支店名 LIKE '" & Siten & "'"

'レコードセットオープン
Set RS = Server.CreateObject("ADODB.Recordset")
RS.Open strSql, DBadb, 3, 3

(以下略)
%>
0116nobodyさん02/08/20 19:11ID:???
>>115
・支店名じゃなくて支店コードを使え
・ファイルの一番上に
<!-- METADATA TYPE="typelib" FILE="c:\program files\common files\system\ado\msado15.dll"-->
 と書いとけばadOpenForwardOnlyと書ける。
011711502/08/20 21:29ID:???
>>116
Thanks!
0118nobodyさん02/08/20 22:08ID:???

>・ファイルの一番上に
><!-- METADATA TYPE="typelib" FILE="c:\program files\common files\system\ado\msado15.dll"-->
> と書いとけばadOpenForwardOnlyと書ける。

をを!これははじめて知った。
global.asaに書くのは知ってたけど。
頭の片隅にでも置いておこう。
0119    02/08/20 23:28ID:???
>>118
もしくは
adovbs.incファイルをINCLUDEしとけばいいんちゃうん
0120nobodyさん02/08/20 23:31ID:???
>>119
global.asa使い始める前は、そうやってた。
012111602/08/21 16:11ID:???
あ、プロジェクトとして組む時は、global.asaを使います。
ファイルの先頭に書くのは、テストなどだけです。
0122nobodyさん02/08/23 19:56ID:qA86vTEx
MySQLやPostgreSQLを使っている人いますか?
MDBに比べて、スピードや信頼性などは、どんな感じなんでしょうか?
0123nobodyさん02/08/23 21:36ID:???
>>122
MDBが比較対象なのか?
普通OracleかSQLServerあたり、最低でもMSDE位が比較対象だとおもうんだが・・・

それはともかく、MDBよりは素直にコード書けるし、動作も安定している。
いくつか処理が重なったときなんかに顕著。
スピードに関しては、ベンチマークしたことないから正確な数字はわかんないけど、
体感速度はそこそこ。
一番の不安点はWinなのにわざわざMySQLやPostgreSQLを使うことかな。
0124名無しさん02/08/26 13:50ID:M8HxT9tA
ASPで利用できるテンプレートエンジンってありますか?
0125nobodyさん02/08/26 23:24ID:zqr0Hz/0
ところで「global.asa」って一体何書くファイルなん?
全く意味分からんのだよ。
0126nobodyさん02/08/27 07:07ID:???
global.yoru ってのもあるのよん
012702/08/27 09:31ID:h6QzRhId

>>125
Application_Start
Application_End
Session_Start
Session_End
を書く。

<!--METADATA ~~~~~~~
でCOMへの参照を書く

他のファイルにインクルードさせてConstを書く


このへんが役割だな。


0128nobodyさん02/08/27 10:04ID:???
>>125
ttp://www.microsoft.com/japan/developer/library/jpiis/iishelp/iis/asp/glob63vp.htm
0129優香02/08/27 18:35ID:UTh7HsUo
下の記述の中で『090』を禁止語句にするにはどうしたらいいのでしょう??

elsif ($email !~ /[\w\.\-\&]+\@[\w\.\-\&]+\.[\w\.\-\&]/){&error("メールアドレスが間違っています。");}
0130呼んだ?02/08/27 20:04ID:???
 _γ⌒⌒ヽ
 \\ノハ)ヽ)∩
  (○) ´∀`ノ丿  / ̄ ̄ ̄ ̄
  ⊂二 y /   < マルチですー。
    / _二⊃  \____
 ⊂二ノ
0131nobodyさん02/08/27 21:26ID:8Thk0Bhm
携帯用のホームページを作成中です。
ASPを使って、アクセスしている携帯の種類に応じて
三種類(imode、ezweb、J-Sky)に振り分けたいのですが、
どうしたらよいでしょうか?

調べたところによると、
Request.ServerVariables("HTTP_USER_AGENT")を使えば、
imodeの場合、「DoCoMo/1.0/D502i/c10」などが表示されるようですが、
ezweb、J-Skyの場合は、どのように表示されるでしょうか?

他に良い方法はありますか?
013202/08/28 01:15ID:Uejd6tyq
>>131
各キャリアのHPくらいしらべようよ。

If ( InStr( strUserAgent, "DoCoMo/" ) > 0 ) Then
ElseIf ( InStr( strUserAgent, "J-PHONE/" ) > 0 ) Then
ElseIf ( InStr( strUserAgent, "UP.Browser/" ) > 0 ) Then
ElseIf ( InStr( strUserAgent, "L-mode/" ) > 0 ) Then
ElseIf ( InStr( strUserAgent, "ASTEL/" ) > 0 ) Then

こんな感じ
0133nobodyさん02/08/29 15:28ID:M+/aWaG0
ASPファイル開いたらフォトショップがあがるんだけど何で?
フォルダオプションで関連付けみても、そんなんないんだけど。
0134nobodyさん02/08/29 22:00ID:???
アドビに聞いてみれば?
0135nobodyさん02/08/31 02:40ID:???
>>133
Adobe色分解ファイル、というらしいぜ。
ttp://www.adobe.co.jp/support/techguides/photoshop/cms2/cmyk2.html
0136nobodyさん02/09/04 13:58ID:bwLkbuS8
Session変数を50個くらい使いたいのですが
たとえばActiveXDLLでクラスのプロパティに持たせて
そのActiveXDLLのインスタンスをSession変数1個で管理するのと
Session変数50個用意するのとどちらがよいでしょうか?
0137nobodyさん02/09/04 15:04ID:Bi5lDa+q
>>136
漏れならSession変数に配列をぶち込む。
取り出すときもページの頭でSession変数から普通の変数に代入する。

理由はSession変数を呼ぶ = Sessionクッキーを要求する
ということは遅くなるから。






















それに漏れはActiveXDLLなんて作ったことが無い。
作る必要も今までのところ無かったし。
0138nobodyさん02/09/04 16:14ID:6IRhfmvJ
>>137
なるほど。配列ですか。いいかも。
変数の内容と番号はdefineしておけばよいのですね。
0139nobodyさん02/09/04 16:16ID:???
ASPの文字列処理は糞遅いから、
DLL作れるならロジック部はDLLで作っとけ。
0140nobodyさん02/09/04 16:38ID:IBM+YqLe
>>137
セッション変数に配列を入れてみたのですが、内容の書き換え方法がわかりませんでした。
ご教授お願いできますでしょうか。

dim arr(50)
arr(1) = "yamada"
arr(2) = "tarou"
session("ss") = arr
response.write session("ss").(1) & session("ss").(2)

とした場合、session("ss")(2) = "hanako"のようにできないでしょうか?
014114002/09/04 17:25ID:???
Webで調べたところやりかたはわかりました。

この方法はSession変数をたくさん作るより
パフォーマンスがよいということだと思いますが
この認識でよいでしょうか?
014202/09/04 17:40ID:R5TScvkz
>>137
そんなことないよ。
毎回毎回セッションクッキーを要求するわけはない。

だからわざわざローカル変数に入れてコードを汚くするなら富豪プログラミングで行こうよ。
014313902/09/04 17:51ID:???
変数を意味ごとに分け、それらを操作する関数をくっつけておくという発想はありませんか。
なければいいんです、別に。
0144nobodyさん02/09/04 18:03ID:Bi5lDa+q
>>142
要求するよ。
ネスケでクッキー要求されると警告出るようにしたらひどい目にあった。
確かこんなコード

Do Until rs.EOF
 Response.Write(rs.Fields(0) & Session("何たら")
 rs.MoveNext
Loop

ループの数だけクッキー要求してた。
0145nobodyさん02/09/04 18:15ID:nC9IUfU6

                                              _ _     .'  , .. /■\
                                      ∧  _ - ― = ̄  ̄`:, .∴ '     (    )
                                     , -'' ̄    __――=', ・,‘ r⌒>  _/ /
                                    /   -―  ̄ ̄   ̄"'" .   ’ | y'⌒  ⌒i
    ∧_∧           ∧_∧           /   ノ                 |  /  ノ |
    ( ´ー`)          ( ´ー` )          /  , イ )                 , ー'  /´ヾ_ノ
   /    \         /    \         /   _, \               / ,  ノ 
  .||   ||        .||   ||        |  / \  `、            / / /
  .||   ||        .||   ||        j  /  ヽ  |           / / ,'
   ヽ\ / /         .ヽ\ / /       ./ ノ   {  |          /  /|  |
    \_了_/           \_了_/      / /     | (_         !、_/ /   〉
   (__)(__)          (__)(__)     `、_〉      ー‐‐`            |_/
( ̄ ̄ ̄ ̄ ̄ ̄ ̄)    ( ̄ ̄ ̄ ̄ ̄ ̄ ̄)( ̄ ̄ ̄ ̄ ̄ ̄ ̄)( ̄ ̄ ̄ ̄ ̄ ̄ ̄)
  ̄ ̄ ̄ ̄ ̄ ̄ ̄      ̄ ̄ ̄ ̄ ̄ ̄ ̄   ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄
0146nobodyさん02/09/04 18:20ID:Bi5lDa+q
Respose.Writeのところ括弧が抜けてた...

>>141
For Each tmp In Session("ss")
 Response.Write(tmp)
Next

とするよりも

TmpArr = Session("ss")
For Each tmp In TmpArr
 Response.Write(tmp)
Next

としたほうが速いということ。

IIS4の場合。IIS5では確認してない。多分いっしょだと思うけど。
014714002/09/04 18:32ID:???
>>146
Session変数から取り出すのは極力少なくしたほうがよいのですね。
そのようにしたいと思います。ありがとうございました。
0148nobodyさん02/09/04 19:30ID:KeWU2CF8
>>3\\\\\\\\\\\\\.\\\\\\\\\\\\\\\\\\\\\>>4
014902/09/05 01:37ID:VTyWfKsW
>>144
<%
dim a
for a = 0 TO 10
call Response.Write( Session("何たら") )
next
%>
このソースでリクエストは

GET http://localhost/test.asp HTTP/1.0
Cookie: ASPSESSIONIDQGQGGCBC=AOAPBLBDJDUJKNCCFKKIPCNG

こんな感じで一回しか出てないよ。
0150nobodyさん02/09/05 01:45ID:h3c2Qq4z
>>144
ほぉ。サーバーサイドの処理中に、クライアントに通信しに行くのか?


>>147
DictionaryObjectをセッションにぶちこんだら?
015114402/09/05 22:35ID:TVCOVaEc
>>149
今家にいるから確認できないが、明日会社で仕事してる振りして、試してみるわ。
確かに要求していたはずだし。体感速度もずいぶん上がったんだけどなぁ。

ここまで書いてちょっと思い出した。
たしかSession("rs") = objRecord.GetRow()みたいな事やってたような...

テストしてみた結果はまたここに書き込むわ。
015214402/09/06 14:17ID:7HA1qYL/
再現できなかったYO...

IIS4でも5でも1回しか出ない。
どうもそのときのサーバの調子が悪かったような感じ。スマソ。
確かに出てたんだけど...

でもやっぱりいったんローカル変数に格納したほうが、速かった。
非力なサーバだと結構差が出る。最近のサーバなら大差は無いかもしれないが。
015302/09/06 14:41ID:aGUXJUY2
>>152
いったんローカルに格納したら早くなるのは当然だね。
それは文字解析して、その変数がどこにあるか探さなくてすむから
だからオブジェクトなら
set a = session("b")
でいい。

でもね、レコードセットそのままsessionに入れておくと今度はサーバのメモリに負荷がかかりすぎるよ。

それよりキーだけを持たせておいて再度アクセスするほうがいいと思う。
性能とかのバランスによるけどね。

ただ最新版になるし再度取り直しのほうがいい。


あと、sessionにコネクション置いたりしたらだめよと。
015414002/09/06 15:09ID:???
>>153
自作のオブジェクトだったらよいですよね?
015502/09/06 15:15ID:aGUXJUY2
>>154
いいと思うよ。
ただ簡単に作り直せる内容だったら都度作り直したほうがいい。
でも、自作オブジェクトなら普通に配列をSessionに入れてるのと
原理的に変わらないからいいんじゃない?

ADOやoo4o関連はでかいオブジェクトだからできるだけ避けたほうがいいね。
015614402/09/06 16:00ID:7HA1qYL/
>>153
>いったんローカルに格納したら早くなるのは当然だね。
>それは文字解析して、その変数がどこにあるか探さなくてすむから

まあ当り前ちゃ当り前だわな。
ただ余りに差が大きかったもので。
鯖がへっぽこなのもあるが。

>でもね、レコードセットそのままsessionに入れておくと今度はサーバのメモリに負荷がかかりすぎるよ。
>それよりキーだけを持たせておいて再度アクセスするほうがいいと思う。
>性能とかのバランスによるけどね。
>ただ最新版になるし再度取り直しのほうがいい。

言い訳させてもらうと、このスクリプトは、htmlで表示させた後、必要ならCSVでダウンロードさせる目的
で作ったんだわ。そうすると普通ならテーブルを2回読むことになる。しかも表示したのとまったく同じデータを
ダウンロードさせたい。そんなこんなでわざわざこんなことやってるんだわさ。

そのかわりScript.TimeOutは短め。

>あと、sessionにコネクション置いたりしたらだめよと。

さすがにそれはやらない。


0157nobodyさん02/09/07 01:48ID:WBngM5bY
>>152
っていうか、クッキーの仕組み知ってる?

知ってたら、どんなにサーバーの調子が悪くても、そんなこと、
あり得ないことがわかるハズだが。(つーか、サーバーの調子って(w

別に、必要になってときに、右から左にクッキーとか言うオブジェクトを
投げてるわけじゃないぞ。

しかし、セッション変数の格納にいくらコストがかかると言っても、
1スレッドで体感できるほど重い処理じゃないだろ?いくらなんでも、
情報に影響されすぎじゃないか?

一体、何個のループ回して測ったんだよ。
0158nobodyさん02/09/07 01:58ID:WBngM5bY
>>154
自作は自作でも、もし、VBで作ったActiveX DLLだったら、
こいつにデータを保持して、セッションで使いまわすのは
やめといた方が良い。

詳細は忘れたが、アパートメントスレッドの絡みで、
よろしくないと、MSのサイトで読んだが、MSのサイトは、
もうワケがわからんので、出展も見つからんのだが、
やめとけってことだけは覚えてる。
015914402/09/07 08:53ID:0ep5cIDW
>っていうか、クッキーの仕組み知ってる?

>知ってたら、どんなにサーバーの調子が悪くても、そんなこと、
>あり得ないことがわかるハズだが。(つーか、サーバーの調子って(w

>別に、必要になってときに、右から左にクッキーとか言うオブジェクトを
>投げてるわけじゃないぞ。

わかってるがなぜブラウザから警告が出てきたのが説明がつかない。
あーもう再現できないからどうでもいいや。

たぶん漏れの勘違いだろう。

>しかし、セッション変数の格納にいくらコストがかかると言っても、
>1スレッドで体感できるほど重い処理じゃないだろ?いくらなんでも、
>情報に影響されすぎじゃないか?

>一体、何個のループ回して測ったんだよ。

要求したSession変数は25×550=13768回。
ちなみにサーバのスペックはPenPro200MHz×2、Memory128MB、HDは4G。
ずいぶんかわったそ。

あー一応付け加えておくとPenIII1.13GHzだと全然わかんなかった。
016014002/09/07 11:45ID:???
>>158
Σ(゚Д゚;エーッ!
VBで作ってます。C++で作り直すかー
たいしたことないものだし。でもActiveXDLLなんて作ったことないなー
がんばろう。Variantとかめんどくさそうだなー
0161nobodyさん02/09/07 14:34ID:WBngM5bY
>159
157だが、そういえば、クライアントサイドのスクリプトでダイナミックにクッキーを
発行すればそういう現象も起きるかな?

よくエロサイトとかで、クッキーを何度も聞かれてウザイという状態は
確かに見たことあるが。
0162nobodyさん02/09/07 14:40ID:WBngM5bY
>160
だから、DictionaryObjectに、name,value(variant)でぶちこんで、
セッションで使いまわすのは足りない?

また、ASPでクラスを宣言しておいて、Dictionary経由なり直接セッションに
ぶちこむなり使いまわすのもありだと思う。多分、クラスは使うすべてのASPで
includeしておけば、永続化できると思うんだが、やったことないので、
やってみてって感じであるのだが。

ただ、セッションは参照を保持するだけらしいので、スコープに気をつけて。
016314002/09/07 14:52ID:???
>>162
どうもです。
ActiveXDLL内で普通のDLLを呼んでいるのですが
それに付随する変数群をまとめたクラスにできたら
とてもすっきりします。
0164nobodyさん02/09/07 16:40ID:???
>>162
ASPで作ったクラスをSession変数にぶち込むのはダメみたい。
前スレの222あたりにそんな話が出てる。
0165nobodyさん02/09/07 20:24ID:WBngM5bY

ためしにやってみた。
■クラス記述〜省略
クラス名:test
■オブジェクト生成→セッションに入れるASP (a.asp)
dim testA
set testA = new test
testA.setA=100
set session("Obj") = testA
■セッションから呼び出したいASP (b.asp)
dim testB
set testB = session("Obj")
response.write testB.getA
--------------------------------------
b.aspを呼び出すと、

Microsoft VBScript 実行時エラー (0x800A01B6)
オブジェクトでサポートされていないプロパティまたはメソッドです。: 'getA'
/test/b.asp, line 8

こんなんがデル。

セッションに入れてるのは参照にすぎず、ADOみたいにオブジェクトを
誰かが管理してくれないと、スコープを外れた時点で、ガベージコレクション
でさようなら・・・と。っつーか、セッションが参照してるんだから、消すなよ!

ちなみに、今までやった例では、クラス内のオブジェクトをXMLに
シリアライズして、テキストデータでデータを渡していくということなら
やったことアリ。
もちろん、わざわざ、そこまでする理由があるからやってるという
ことを付け加えておく。
0166nobodyさん02/09/08 16:43ID:???
今時ASPdesuka?
■ このスレッドは過去ログ倉庫に格納されています