#ls2

#contents

[[ASP FAQ>http://tryasp.winscom.co.jp/faq.asp]]~

**ASPのデバッグ [#u2b41f8f]
ローカルの IIS で ASP サイトを動かしている場合う、Visual InterDev または Microsoft Script Debugger で ASP のデバッグができます。~
「Webサイトのプロパティ」→「構成」→「ASPのサーバー側のデバッグを有効にする」にチェックをつけます。~
以後、ブラウザでエラーのあるASPにアクセスすると、「デバッグしますか?」というダイアログが出て、選択したデバッガでデバッグできるようになります。~
~
#attachref(./IIS_debug.GIF)

たまに原因不明でデバッグできないこともあるようです。~
http://q.hatena.ne.jp/1144037030~
**ASPでOracleに接続するときの注意点 [#w5ad84ce]
ASP で、ORACLE との連携を行うときに、注意すべき点を挙げておきます。 ~
http://www.interq.or.jp/www-user/komurak/iis/oracle/~

**soXXX(StaticObject)について [#a23e4882]
EXXX-XxxxのASPに出てくるsoXXXという名前の変数は、global.asaで次のようにして宣言しています。~
 <OBJECT RUNAT=Server SCOPE=Session ID=xxxxxx PROGID="xxx.yyy">
 </OBJECT>
ASPでxxxxxxという変数名で最初にアクセスしたときにIISが自動的にクラスxxx.yyyを作成し、ASPに渡します。~
SCOPE=Sessionと書いてあるので、そのオブジェクトはセッションが切断されるまで存続し、~
それ以降ASPから要求があったときは、さっき作ったxxx.yyyのオブジェクトを渡します。~

参考:~
Application StaticObjects コレクション~
http://www.microsoft.com/windows/windows2000/ja/advanced/iis/htm/asp/vbob5uem.htm~
Application オブジェクト~
http://www.microsoft.com/windows/windows2000/ja/advanced/iis/htm/asp/vbob8zw4.htm~


**サーバサイドインクルード(SSI) [#b7b1c7f5]
 <!-- #Include file="../common/SessionCheck.asp" -->
これをサーバサイドインクルードといいます。~
これはIISの機能であり、HTMLの仕様ではありません(だからHTMLのコメントの中に含めている)。~
Apacheにも同じSSIの機能があります。~
~
SSIには
 <!-- #Include file="header.txt" -->
と
 <!-- #Include virtual="hoge/moge/header.txt" -->
という2種類の方法があり、違いはファイルのパスを絶対パスで指定するか相対パスで指定するかだけです(たぶん)。~
~
&color(Red){注意:};~
IISはアクセスされたASPをコンパイルしてキャッシュしておく機能があります。~
要求されたASPのタイムスタンプと前回アクセスされた時間を比較し、前回からファイルが更新されていないならキャッシュを使います。~
しかし、A.aspがB.aspをインクルードしているとして、
+A.aspにアクセス(→キャッシュされる)
+B.aspを変更
+A.aspにアクセス(→A.aspのタイムスタンプは変わっていないのでキャッシュが使われる。&color(Red){B.aspの変更は反映されない!};)

ということが起こるので注意です。~
この場合はA.aspのタイムスタンプを更新する、それでもだめならIISを再起動してみましょう。~


**Application.Lock [#ud70f6f7]
アプリケーション変数を更新するときは、排他のために必ず Application.Lock を行います。~
しかし Application.Lock を呼んだだけではロックされず、次にアプリケーション変数にアクセスしたときにはじめてロックされるという少し奇妙な仕様なので注意。~
#pre{{
> Application.Lock()
>  <排他したい処理(一意のID発行など)>
> Application.UnLock()

これだけだとロックかからなかったはずですね。
Lockの後にアプリケーション変数にアクセスしにいったときにはじめてロックされたはずです。
なので、ダミーのアプリケーション変数を一つつくって、そこに何か適当な値でもいれてみたらいいんじゃないでしょうか。
このあたりの動作はASPでも同じように動いていたと思います。 
}}
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?forum=7&topic=26090

#pre{{

Application.Lock
ここ←
ファイル操作
Application.UnLock

上記「ここ」の所で、アプリケーション変数(ダミーでかまわない)に何か値を代入してやると、結果としてファイルに対しての排他制御ができます。
}}
http://tryasp.winscom.co.jp/wbbs_qa.asp?TBL=W4_ASP_QA&CATE=&MODE=L_PARENT&NO=65590&CTL_DISP=GROUP&CTL_NO=65512

**COM(ActiveX)DLLの作り方 [#i3981cb9]
ASP関連(VisualBasic6.0によるActiveX.DLLの利用)~
http://www.asahi-net.or.jp/~ef2o-inue/asp/sub12_05.html~

ASPからコールするCOMコンポーネント:.knowledge - frog.raindrop.jp~
http://frog.raindrop.jp/knowledge/archives/000111.html~

    Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes