═α≈φσ∞ ± ∩≡ε±≥επε ∩≡Φ∞σ≡α: Γ√ τα∩εδφ σ≥ ⌠ε≡∞≤ Γ HTML ±≥≡αφΦ÷σ. ┼±δΦ φσΩε≥ε≡√σ ∩εδ τα∩εδφσφ√ φσΓσ≡φε, ≥ε ∩ε±δσ ε≥∩≡αΓΩΦ ⌠ε≡∞√, ±σ≡Γσ≡, ±Ωε≡σσ Γ±σπε, ∩≡σΣδεµΦ≥ Φ±∩≡αΓΦ≥ⁿ φσΓσ≡φ√σ τφα≈σφΦ . ╧ε±δσ Φ±∩≡αΓδσφΦ Γ√ ∩εΓ≥ε≡φε ε≥∩≡αΓδ σ≥σ ⌠ε≡∞≤ Φ ≥αΩ Σε ≥σ⌡ ∩ε≡, ∩εΩα Γ±σ Σαφφ√σ φσ ß≤Σ≤≥ τα∩εδφσφ√ ∩≡αΓΦδⁿφε.
╚δΦ ∩≡σΣ∩εδεµΦ∞, ≈≥ε ∩≡Φ ∩σ≡σταπ≡≤τΩσ ±≥≡αφΦ÷√ φσεß⌡εΣΦ∞ε ±ε⌡≡αφΦ≥ⁿ ±ε±≥ε φΦσ ∩σ≡σΩδ■≈α≥σδσΘ Γ HTML ±≥≡αφΦ÷σ ΦδΦ τφα≈σφΦ πδεßαδⁿφ√⌡ ∩σ≡σ∞σφφ√⌡ Γ ±Ω≡Φ∩≥σ. ─δ ²≥επε ∩≡Φ⌡εΣΦ≥± ΦΣ≥Φ φα ∞αφΦ∩≤δ ÷ΦΦ ± HTML (φα∩≡Φ∞σ≡, hidden ∩εδ Γ ⌠ε≡∞σ Σδ ∩σ≡σΣα≈Φ Σε∩εδφΦ≥σδⁿφ√⌡ Σαφφ√⌡) ΦδΦ ±ετΣαΓα≥ⁿ ±δεµφ√Θ ±Ω≡Φ∩≥ ΓταΦ∞εΣσΘ±≥ΓΦ .
┬ εß∙σ∞ ±δ≤≈ασ, Γσ≡φ√∞ ß≤Σσ≥ ±δσΣ≤■∙σσ ≤≥Γσ≡µΣσφΦσ: Σδ εßσ±∩σ≈σφΦ Φφ≥σ≡αΩ≥ΦΓφεπε ΓταΦ∞εΣσΘ±≥ΓΦ ± ±σ≡Γσ≡ε∞ φσεß⌡εΣΦ∞ε ≈α±≥ε ∩σ≡σπ≡≤µα≥ⁿ ±≥≡αφΦ÷≤.
╩αΩ φσ≥≡≤Σφε ΣεπαΣα≥ⁿ± Remote Scripting ≡σ°ασ≥ ε∩Φ±αφφ√σ Γ√°σ ∩≡εßδσ∞√. ╥αΩ ≈≥ε µσ ≥αΩεσ Remote Scripting.
Remote Scripting (RS) û ²≥ε ∞σ⌡αφΦτ∞, εßσ±∩σ≈ΦΓα■∙ΦΘ Γ√τεΓ ±σ≡Γσ≡φ√⌡ ∩≡ε÷σΣ≤≡ Φτ ΩδΦσφ≥±Ωεπε ±Ω≡Φ∩≥α. ╤ ∩ε∞ε∙ⁿ■ RS, ∩≡ε÷σΣ≤≡√ Φ ⌠≤φΩ÷ΦΦ, ε∩Φ±αφφ√σ φα ±σ≡Γσ≡σ, ∞επ≤≥ Γ√τ√Γα≥ⁿ± Φτ ±Ω≡Φ∩≥α HTML ±≥≡αφΦ÷√, Φ±∩εδφ ■∙σπε± Γ ß≡α≤τσ≡σ ∩εδⁿτεΓα≥σδ . ┬√τ√Γασ∞√σ ∩≡ε÷σΣ≤≡√ Φ ⌠≤φΩ÷ΦΦ ß≤Σσ∞ ≥αΩµσ φατ√Γα≥ⁿ ±σ≡Γσ≡φ√∞Φ ∞σ≥εΣα∞Φ, Σαδσσ Γ√ ∩εΘ∞σ≥σ ∩ε≈σ∞≤. ╤σ≡Γσ≡φ√σ ∞σ≥εΣ√ ε∩Φ±√Γα■≥± Γ ASP ±≥≡αφΦ÷σ Φ Σδ Φ⌡ ≡σαδΦτα÷ΦΦ ∩εΣ⌡εΣΦ≥ δ■ßεΘ τ√Ω ±÷σφα≡ΦσΓ (JavaScript, VBScript). ╧≡Φ ≤Σαδσφφε∞ Γ√τεΓσ ∩≡ε÷σΣ≤≡√ Φ ⌠≤φΩ÷ΦΦ Φ±∩εδφ ■≥± φα ±σ≡Γσ≡σ ± ∩εδφ√∞ Σε±≥≤∩ε∞ Ω ±Φ±≥σ∞φ√∞ ≡σ±≤≡±α∞, α ≡στ≤δⁿ≥α≥ ≡αßε≥√ ΓετΓ≡α∙ασ≥± Γ ΩδΦσφ≥±ΩΦΘ ±Ω≡Φ∩≥.
╥σ∩σ≡ⁿ ≡ατ≡αßε≥≈ΦΩΦ ∞επ≤≥ ±ετΣαΓα≥ⁿ Φφ≥σ≡αΩ≥ΦΓφ√σ Web ∩≡ΦδεµσφΦ , Γ Ωε≥ε≡√⌡ ∩ε Γδ σ≥± Γετ∞εµφε±≥ⁿ Φ±∩εδφ ≥ⁿ ±σ≡Γσ≡φ√Θ ±Ω≡Φ∩≥ ßστ εßφεΓδσφΦ ±≥≡αφΦ÷√.
C Φ±∩εδⁿτεΓαφΦσ∞ RS Web ∩≡ΦδεµσφΦΦ ∞εµσ≥ ∩≡εΓσ≡Φ≥ⁿ Ωε≡≡σΩ≥φε±≥ⁿ ΓΓεΣΦ∞√⌡ ∩εδⁿτεΓα≥σδσ∞ Σαφφ√⌡ Γ ∩≡ε÷σ±±σ τα∩εδφσφΦ ⌠ε≡∞√, Φτßσπα ∩σ≡σταπ≡≤τΩΦ.
╤ ∩ε ΓδσφΦσ∞ RS, Web ∩≡ΦδεµσφΦσ ∞εµσ≥ Φ±∩εδⁿτεΓα≥ⁿ ΩαΩ ΩδΦσφ≥±ΩΦΘ, ≥αΩ Φ ±σ≡Γσ≡φ√Θ ±Ω≡Φ∩≥. ╩δΦσφ≥±ΩΦΘ ±Ω≡Φ∩≥ ≈α±≥ε Φ±∩εδⁿτ≤σ≥± Σδ ≤∩≡αΓδσφΦ ∩εδⁿτεΓα≥σδⁿ±ΩΦ∞ Φφ≥σ≡⌠σΘ±ε∞, φα∩≡Φ∞σ≡, ΣΦφα∞Φ≈σ±Ωεσ Φτ∞σφσφΦσ ±εΣσ≡µΦ∞επε Web ±≥≡αφΦ÷√ ΦδΦ εß≡αßε≥Ωα ΣσΘ±≥ΓΦΘ ∩εδⁿτεΓα≥σδ . ╩δΦσφ≥±ΩΦΘ ±Ω≡Φ∩≥ Γ√∩εδφ σ≥± δεΩαδⁿφε Γ ß≡α≤τσ≡σ Φ εßσ±∩σ≈ΦΓασ≥ Φφ≥σ≡αΩ≥ΦΓφ√Θ Φφ≥σ≡⌠σΘ±.
┬ετ∞εµφε±≥Φ ∩≡Φ∞σφσφΦ ±σ≡Γσ≡φεπε ±Ω≡Φ∩≥α επ≡αφΦ≈ΦΓα■≥± ≥εδⁿΩε Γα°σΘ ⌠αφ≥ατΦσΘ. ╤σ≡Γσ≡φ√Θ ±Ω≡Φ∩≥ ∞εµσ≥ Φ±∩εδⁿτεΓα≥ⁿ± Σδ Σε±≥≤∩α Ω ßατσ Σαφφ√⌡ ΦδΦ Γ√∩εδφσφΦ τΓσφα ßΦτφσ± δεπΦΩΦ Γ ∞φεπε±δεΘφ√⌡ ∩≡ΦδεµσφΦ . ╧≡Φ ²≥ε∞ ±σ≡Γσ≡φ√Θ ±Ω≡Φ∩≥ Φ±∩εδφ σ≥± φα ±σ≡Γσ≡σ ± ∩εδφ√∞ Σε±≥≤∩ε∞ Ω ≡σ±≤≡±α∞ ±σ≡Γσ≡α, α Φτ ΩδΦσφ≥±Ωεπε ±Ω≡Φ∩≥α σπε Γ√τεΓ ∩ε≈≥Φ φΦ≈σ∞ φσ ε≥δΦ≈ασ≥± ε≥ Γ√τεΓα δεΩαδⁿφ√⌡ ∩≡ε÷σΣ≤≡ Φ ∞σ≥εΣεΓ.
╥αΩ ΩαΩ ∩≡Φ Γ√τεΓσ ±σ≡Γσ≡φεπε ±Ω≡Φ∩≥α ≥σΩ≤∙α ±≥≡αφΦ÷α φσ ∩εΩΦΣασ≥± , ≥ε σσ ±ε±≥ε φΦ ±ε⌡≡αφ σ≥± , α Γ∞σ±≥σ ± φσΘ Φ ±ε±≥ε φΦσ ∩σ≡σΩδ■≈α≥σδσΘ Φ πδεßαδⁿφ√⌡ ∩σ≡σ∞σφφ√⌡.
RS ≡σαδΦτεΓαφ ΩαΩ ßΦßδΦε≥σΩα ⌠≤φΩ÷ΦΘ, Ωε≥ε≡√σ Γ√τ√Γα■≥± Φτ ΩδΦσφ≥±Ωεπε ±Ω≡Φ∩≥α ∩≡Φ φσεß⌡εΣΦ∞ε±≥Φ Γ√τεΓα ±σ≡Γσ≡φεπε ∞σ≥εΣα. ╧≡Φ Γ√τεΓσ ±σ≡Γσ≡φεπε ∞σ≥εΣα, τα∩≡ε± Γ√Σσδ σ≥± Γ ∩≡εΩ±Φ ∩≡ε÷σ±±, Ωε≥ε≡√Θ τα∩≤±Ωασ≥± α±Φφ⌡≡εφφε Γ ß≡α≤τσ≡σ (φα Σαφφ√Θ ∞ε∞σφ≥ ∩≡εΩ±Φ ≡σαδΦτεΓαφ ΩαΩ Java α∩∩δσ≥√). ╧≡εΩ±Φ ∩≡ε÷σ±± ∩ε±√δασ≥ τα∩≡ε± Γ ASP ±≥≡αφΦ÷≤, ±εΣσ≡µα∙≤■ Γ√τ√Γασ∞√Θ ∞σ≥εΣ. ╧ε ΩδΦσφ≥±Ωε∞≤ τα∩≡ε±≤ ±σ≡Γσ≡ ταπ≡≤µασ≥ ASP ±≥≡αφΦ÷≤, Φ ±∩σ÷Φαδⁿφα ∩≡ε÷σΣ≤≡α ∩ε±√δασ≥ τα∩≡ε± φσεß⌡εΣΦ∞ε∞≤ ∞σ≥εΣ≤. ┼±δΦ ∞σ≥εΣ ΓετΓ≡α∙ασ≥ τφα≈σφΦσ, ≥ε εφε ε≥±√δασ≥± εß≡α≥φε Γ ∩≡εΩ±Φ ∩≡ε÷σ±±, Ωε≥ε≡√Θ ≤∩αΩεΓ√Γασ≥ σπε ΩαΩ εß·σΩ≥ û call εß·σΩ≥ - ±εΣσ≡µα∙ΦΘ ≡στ≤δⁿ≥α≥ ≡αßε≥√ ∞σ≥εΣα Φ Σ≡≤π≤■ ∩εδστφ≤■ Φφ⌠ε≡∞α÷Φ■.
╤≤∙σ±≥Γ≤σ≥ ΣΓα Γα≡Φαφ≥α Γ√τεΓα ±σ≡Γσ≡φ√⌡ ∞σ≥εΣεΓ:
─δ Φ±∩εδⁿτεΓαφΦ RS φσεß⌡εΣΦ∞√ ±δσΣ≤■∙Φσ ⌠αΘδ√ Γ Σε∩εδφσφΦΦ Ω Γα°Φ∞ ΩδΦσφ≥±ΩΦ∞ (*.htm) Φ ±σ≡Γσ≡φ√∞ (*.asp) ⌠αΘδα∞:
▌≥Φ ⌠αΘδ√ ≡αßε≥α■≥ ΩαΩ ßΦßδΦε≥σΩΦ, Γ√ ∩≡ε±≥ε ΓΩδ■≈ασ≥σ φσεß⌡εΣΦ∞√σ ⌠αΘδ√ (Rs.htm ΦδΦ Rs.asp) Γ Γα°≤ ΩδΦσφ≥±Ω≤■ ΦδΦ ±σ≡Γσ≡φ≤■ ±≥≡αφΦ÷≤, Φ Γ√τ√Γασ≥σ φσεß⌡εΣΦ∞√σ ±σ≡Γσ≡φ√σ ∞σ≥εΣ√.
┬±σ φσεß⌡εΣΦ∞√σ ⌠αΘδ√ Σεδµφ√ ß√≥ⁿ Σε±≥≤∩φ√ φα ±σ≡Γσ≡σ, ∩ε ≤∞εδ≈αφΦ■ ∩≡σΣ∩εδαπασ≥± , ≈≥ε ²≥Φ ⌠αΘδ√ φα⌡εΣ ≥± Γ ∩α∩Ωσ _ScriptLibrary.
RS εßσ±∩σ≈ΦΓασ≥ ≥αΩεΘ µσ ≤≡εΓσφⁿ ßστε∩α±φε±≥Φ ΩαΩ Java α∩∩δσ≥√ Φ IFrames. ╧ε ≥≡σßεΓαφΦ ∞ ßστε∩α±φε±≥Φ, ±σ≡Γσ≡φ√σ ∞σ≥εΣ√ φσ ∞επ≤≥ ∩≡ΦφΦ∞α≥ⁿ Γ Ωα≈σ±≥Γσ ∩α≡α∞σ≥≡εΓ ±≥≡≤Ω≥≤≡Φ≡εΓαφφ√σ Σαφφ√σ (εß·σΩ≥√ ΦδΦ ∞α±±ΦΓ√). ╩ ≥ε∞≤ µσ, ≤Σαδσφφ√σ ∩≡ε÷σΣ≤≡√ Σεδµφ√ Γ√∩εδφ ≥ⁿ± φα ≥ε∞ µσ ±σ≡Γσ≡σ, ε≥Ω≤Σα ß√δα ταπ≡≤µσφα ±≥≡αφΦ÷α.
─δ εßσ±∩σ≈σφΦ RS ± ΩδΦσφ≥±ΩεΘ ±≥ε≡εφ√ φσεß⌡εΣΦ∞ε:
═σεß⌡εΣΦ∞ε ±ετΣα≥ⁿ ∩≤±≥εΘ JavaScript ßδεΩ, Ωε≥ε≡√Θ ±±√δασ≥± φα ⌠αΘδ Rs.htm, ΩαΩ ∩εΩαταφε φΦµσ:
<script language = "JavaScript" src = "../_ScriptLibrary/RS.htm">
┬ ΩδΦσφ≥±ΩεΘ ±≥≡αφΦ÷σ ²≥ε≥ ßδεΩ ∞εµσ≥ ≡α±∩εδαπα≥ⁿ± Γ δ■ßε∞ ∞σ±≥σ, φε Σε ∩σ≡Γεπε ≤Σαδσφφεπε Γ√τεΓα.
╥αΩµσ Φτ ΩδΦσφ≥±ΩεΘ ±≥≡αφΦ÷√ φσεß⌡εΣΦ∞ε Γ√∩εδφΦ≥ⁿ Γ√τεΓ ∞σ≥εΣα RSEnableRemoteScripting(). ╧ε ≤∞εδ≈αφΦ■ ²≥ε≥ ∞σ≥εΣ ∩≡σΣ∩εδαπασ≥, ≈≥ε α∩∩δσ≥ Rsproxy.class φα⌡εΣΦ≥± Γ ∩α∩Ωσ _ScriptLibrary, σ±δΦ ²≥ε φσ ≥αΩ φσεß⌡εΣΦ∞ε ≤Ωατα≥ⁿ ∩≡αΓΦδⁿφ√Θ ∩≤≥ⁿ Γ Ωα≈σ±≥Γσ ∩α≡α∞σ≥≡α. ▌≥ε≥ ±Ω≡Φ∩≥-ßδεΩ Σεδµσφ ≡α±∩εδαπα≥ⁿ± Γ ∩≡σΣσδα⌡ ≥σδα ΣεΩ≤∞σφ≥α, φε ∩ε±δσ ±Ω≡Φ∩≥-ßδεΩα ±±√δα■∙σπε± φα Rs.htm.
<body> <script language = "JavaScript"> RSEnableRemoteScripting("../_ScriptLibrary"); </script>
Note: ╥απ <APPLET> ±ετΣαΓασ∞√∞ ∞σ≥εΣε∞ RSEnableScriptong() φΦπΣσ Γφ√∞ εß≡ατε∞ Γ ±≥≡αφΦ÷σ φσ ⌠Φπ≤≡Φ≡≤σ≥.
╩α≡Ωα± ΩδΦσφ≥±ΩεΘ ±≥≡αφΦ÷√ Φ±∩εδⁿτ≤■∙σΘ Γ√τεΓ ≤Σαδσφφ√⌡ ∩≡ε÷σΣ≤≡ Γ√πδ ΣΦ≥ ∩≡Φ∞σ≡φε ≥αΩ:
<html> <head> <title>Remote Scripting Test</title> </head> <body> <script language = "JavaScript" src = "../_ScriptLibrary/RS.htm"> </script> <script language = "JavaScript"> RSEnableRemoteScripting("../_ScriptLibrary"); </script> </body> </html>
╬ßσ±∩σ≈σφΦσ RS ± ±σ≡Γσ≡φεΘ ±≥ε≡εφ√
─δ ≡αßε≥√ ± RS φσεß⌡εΣΦ∞ε ≥αΩµσ φα±≥≡εΦ≥ⁿ Φ ±σ≡Γσ≡φ√σ ±≥≡αφΦ÷√. ─δ ²≥επε φσεß⌡εΣΦ∞ε:
╧ε ≤∞εδ≈αφΦ■ ASP ±≥≡αφΦ÷√, Γ√τ√Γασ∞√σ Φτ ΩδΦσφ≥±Ωεπε ±Ω≡Φ∩≥α, φσ ε≥εß≡αµα■≥± Γ ß≡α≤τσ≡σ - εφΦ ∩≡ε±≥ε Γ√∩εδφ ■≥± φα ±σ≡Γσ≡σ, α ≡στ≤δⁿ≥α≥ ε≥±√δασ≥± ΩδΦσφ≥≤. ╤δσΣεΓα≥σδⁿφε, φσ≥ φσεß⌡εΣΦ∞ε±≥Φ ΓΩδ■≈α≥ⁿ HTML ≥απΦ Γ ASP ±≥≡αφΦ÷≤.
─δ ∩εΣΩδ■≈σφΦ Φ ΦφΦ÷ΦαδΦτα÷ΦΦ ±σ≡Γσ≡φ√⌡ ßΦßδΦε≥σΩ ≤Σαδσφφεπε Γ√τεΓα ∩≡ε÷σΣ≤≡ φσεß⌡εΣΦ∞ε:
<!-- #INCLUDE FILE = "../_ScriptLibrary/RS.ASP" -->
<% RSDispatch %>
Note: ╧≡Φ Γ√τεΓσ ≤Σαδσφφ√⌡ ∩≡ε÷σΣ≤≡ Γ±σ ∩α≡α∞σ≥≡√ ∩≡σεß≡ατ≤■≥± Γ ±≥≡εΩΦ Φ σ±δΦ Γ√ Φ±∩εδⁿτ≤σ≥σ Σ≡≤πΦσ ∩≡ε±≥√σ ≥Φ∩√ φσεß⌡εΣΦ∞ε Γ≡≤≈φ≤■ ∩≡ΦΓεΣΦ≥ⁿ Φ⌡ Ω φ≤µφε∞≤ ≥Φ∩≤ Γ Γ√τ√Γασ∞εΘ ∩≡ε÷σΣ≤≡σ.
╧ε±δσ ±ετΣαφΦ ⌠≤φΩ÷ΦΘ Φ ∩≡ε÷σΣ≤≡ φσεß⌡εΣΦ∞ε εß· ΓΦ≥ⁿ Φ⌡ ±σ≡Γσ≡φ√∞Φ ∞σ≥εΣα∞Φ. ─δ ²≥επε ±ετΣασ≥± εß·σΩ≥ public_description ±εΣσ≡µα∙ΦΘ ε∩Φ±αφΦσ φ≤µφ√⌡ ⌠≤φΩ÷ΦΘ Φ ∩≡ε÷σΣ≤≡. ┬ ±δσΣ≤■∙σ∞ ∩≡Φ∞σ≡σ Γ Ωα≈σ±≥Γσ Ωεφ±≥≡≤Ω≥ε≡α εß·σΩ≥α public_description Γ√τ√Γασ≥± ⌠≤φΩ÷Φ MyServerMethod():
<script languge = "JavaScript"> var public_description = new MyServerMethods();
┬ Ωεφ±≥≡≤Ω≥ε≡σ ±ε∩ε±≥αΓδ ■≥± Φ∞σφα Γ√τ√Γασ∞√⌡ ⌠≤φΩ÷ΦΘ Φ Φ∞σφα ±σ≡Γσ≡φ√⌡ ∞σ≥εΣεΓ.
function constructor() { //for JavaScript methods this.methodName = functionName; //for VBScript methods this.methodName = Function('p1','p2','return functionName(p1,p2)') }
├Σσ:
Note: ╠σ⌡αφΦτ∞ εß· ΓδσφΦ Φφ≥σ≡⌠σΘ±α ∩ε±≡σΣ±≥Γε∞ εß·σΩ≥α public_description ≡σαδΦτεΓαφ ≥εδⁿΩε Γ JavaScript.
╤δσΣ≤■∙ΦΘ ∩≡Φ∞σ≡ Σσ∞εφ±≥≡Φ≡≤σ≥ ASP ±≥≡αφΦ÷≤, Γ Ωε≥ε≡εΘ εß· Γδ σ≥± ΣΓα ±σ≡Γσ≡φ√⌡ ∞σ≥εΣα square Φ add:
<% RSDispatch %> <!--#INCLUDE FILE="../_ScriptLibrary/RS.ASP"--> <script runat = server language = "JavaScript"> var public_description = new MyServerMethods(); function MyServerMethods() { this.square = squareNumber; this.add = Function( 'n1','n2','return addNumbers(n1,n2)' ); } function squareNumber(numberToSquare){ return numberToSquare * numberToSquare; } </script> < script runat = server language ="VBScript"> Function addNumbers(num1, num2) addNumbers = CInt(num1) + CInt(num2) End Function </script>
RS ∩ετΓεδ σ≥ ±ετΣα≥ⁿ εß·σΩ≥, Ωε≥ε≡√Θ ±±√δασ≥± φα ASP ±≥≡αφΦ÷≤, ±εΣσ≡µα∙≤■ ε∩Φ±αφΦσ ±σ≡Γσ≡φ√⌡ ∞σ≥εΣεΓ. ▌≥ε ∩ετΓεδ σ≥ Φ±∩εδⁿτεΓα≥ⁿ ±≥αφΣα≡≥φ√Θ object.method() ±Φφ≥αΩ±Φ± Σδ Γ√τεΓα ≤Σαδσφφ√⌡ ∞σ≥εΣεΓ. ─αδσσ ²≥ε≥ εß·σΩ≥ ß≤Σσ∞ Σδ ∩≡ε±≥ε≥√ φατ√Γα≥ⁿ page εß·σΩ≥ε∞.
╫≥εß√ ±ε±δα≥ⁿ± φα ASP ±≥≡αφΦ÷≤ ΩαΩ φα εß·σΩ≥ φσεß⌡εΣΦ∞ε Γ ΩδΦσφ≥±Ωε∞ ±Ω≡Φ∩≥σ Γ√τΓα≥ⁿ ∞σ≥εΣ RSGetASPObject(), ∩σ≡σΣαΓα URL Φ Φ∞ ASP ±≥≡αφΦ÷√ Γ Ωα≈σ±≥Γσ ∩α≡α∞σ≥≡α.
ASPobj = RSGetASPObject(url)
╧ε±δσ φα±≥≡εΘΩΦ RS Γ√ ∞εµσ≥σ Γ√τ√Γα≥ⁿ ±σ≡Γσ≡φ√σ ∞σ≥εΣ√ Φτ ΩδΦσφ≥±Ωεπε ±Ω≡Φ∩≥α. ╧ε ≤∞εδ≈αφΦ■ Γ√τεΓ ±σ≡Γσ≡φεπε ∞σ≥εΣα ε±≤∙σ±≥Γδ σ≥± ±Φφ⌡≡εφφε û ΩδΦσφ≥±ΩΦΘ ±Ω≡Φ∩≥ ε±≥αφαΓδΦΓασ≥± Σε εΩεφ≈αφΦ ≡αßε≥√ Γ√τ√Γασ∞επε ∞σ≥εΣα Φ ΓετΓ≡α∙σφΦ ≡στ≤δⁿ≥α≥α ≡αßε≥√.
┬ Ωα≈σ±≥Γσ ≡στ≤δⁿ≥α≥α ≡αßε≥√ Γ ΩδΦσφ≥±ΩΦΘ ±Ω≡Φ∩≥ ΓετΓ≡α∙ασ≥± εß·σΩ≥ call, Ωε≥ε≡√Θ ±εΣσ≡µΦ≥ ≡στ≤δⁿ≥α≥ ≡αßε≥√ Φ Σε∩εδφΦ≥σδⁿφ≤■ ±≥α≥≤±φ≤■ Φφ⌠ε≡∞α÷Φ■. ╤ΓεΘ±≥Γε return_value εß·σΩ≥α call ±εΣσ≡µΦ≥ ≡στ≤δⁿ≥α≥ ≡αßε≥√ ≤Σαδσφφεπε ∞σ≥εΣα. ─≡≤πΦσ ±ΓεΘ±≥Γα εß·σΩ≥α call ∩ετΓεδ ■≥ ∩εδ≤≈Φ≥ⁿ Φφ⌠ε≡∞α÷Φ■ ε ±≥α≥≤±σ Γ√τεΓα ≤ΣαδσφφεΘ ∩≡ε÷σΣ≤≡√.
┼±δΦ Γ√ ±ετΣαδΦ page εß·σΩ≥, ≥ε ∞εµφε Φ±∩εδⁿτεΓα≥ⁿ ±≥αφΣα≡≥φ√Θ object.method() ±Φφ≥αΩ±Φ± Σδ Γ√τεΓα ∩≡ε÷σΣ≤≡√. ═ε Ω≡ε∞σ ²≥επε σ±≥ⁿ Γετ∞εµφε±≥ⁿ Γ√τεΓα ±σ≡Γσ≡φ√⌡ ∞σ≥εΣεΓ ßστ page εß·σΩ≥α.
─δ Γ√τεΓα ±σ≡Γσ≡φεπε ∞σ≥εΣα ±Φφ⌡≡εφφε:
JavaScript:
callObject = ASPObject.methodName(p1, p2[,...])
VBScript:
set callObject = ASPObject.methodName(p1, p2[,...])
JavaScript:
callobject = RSExecute(url, methodName, p1, p2[,...])
VBScript:
set callobject = RSExecute(url, methodName, p1, p2[,...])
├Σσ:
┬ Ωα≈σ±≥Γσ ∩≡Φ∞σ≡α ≡α±±∞ε≥≡Φ∞ ±Ω≡Φ∩≥, Γ Ωε≥ε≡ε∞ ∩≡Φ φαµα≥ΦΦ φα Ωφε∩Ω≤ btnAdd Γ√τ√Γασ≥± ±σ≡Γσ≡φ√Θ ∞σ≥εΣ Add. ┬ Ωα≈σ±≥Γσ ∩α≡α∞σ≥≡εΓ ∩σ≡σΣασ≥± ±εΣσ≡µΦ∞εσ ∩εδσΘ ΓΓεΣα txt1 Φ txt2, α ≡στ≤δⁿ≥α≥ Γ√ΓεΣΦ≥± Γ ≥σΩ±≥εΓε∞ ∩εδσ txt3:
<script language = "JavaScript" for = "btnAdd" event="onclick"> rsMath = RSGetASPObject("../myPages/RSMath.asp"); number1 = txt1.value; number2 = txt2.value; co = rsMath.Add(number1,number2); txt3.value = "The sum is " + co.return_value; </script>
└φαδεπΦ≈φ√Θ Γ√τεΓ, φε ßστ Φ±∩εδⁿτεΓαφΦ page εß·σΩ≥α:
<script language = "JavaScript" for = "btnAdd" event="onclick"> number1 = txt1.value; number2 = txt2.value; co = RSExecute("RSmath.asp","add",number1,number2); txt3.value = "The sum is " + co.return_value; </script>
╩αΩ ΓΦΣφε Φτ Γ≥ε≡επε ∩≡Φ∞σ≡α Σδ ≤Σαδσφφεπε Γ√τεΓα Φ±∩εδⁿτ≤σ≥± ⌠≤φΩ÷Φ RSExecute(). ┬ Ωα≈σ±≥Γσ ∩α≡α∞σ≥≡εΓ ∩σ≡σΣασ≥± URL ASP ±≥≡αφΦ÷√, Φ∞ ±σ≡Γσ≡φεπε ∞σ≥εΣα Φ ∩α≡α∞σ≥≡√.
╠εµφε Γ√τ√Γα≥ⁿ ≤Σαδσφφ√σ ∞σ≥εΣ√ α±Φφ⌡≡εφφε û ΩδΦσφ≥±ΩΦΘ ±Ω≡Φ∩≥ ∩≡εΣεδµασ≥ ≡αßε≥α≥ⁿ ∩εΩα ±σ≡Γσ≡φ√Θ ∞σ≥εΣ Φ±∩εδφ σ≥± Φ ±δσΣεΓα≥σδⁿφε ±≥≡αφΦ÷α ε±≥ασ≥± Σε±≥≤∩φεΘ Σδ ∩εδⁿτεΓα≥σδ .
┬√τεΓ ±σ≡Γσ≡φεπε ∞σ≥εΣα α±Φφ⌡≡εφφε ±⌡εµ ± ±Φφ⌡≡εφφ√∞ Γ√τεΓε∞, τα Φ±Ωδ■≈σφΦσ∞ ∩ε ΓδσφΦ Σε∩εδφΦ≥σδⁿφ√⌡ ∩α≡α∞σ≥≡εΓ ∩≡Φ Γ√τεΓσ:
╩αΩ Φ ∩≡Φ ±Φφ⌡≡εφφε∞ Γ√τεΓσ, α±Φφ⌡≡εφφ√Θ Γ√τεΓ ±ετΣασ≥ εß·σΩ≥ call, ±εΣσ≡µα∙ΦΘ ≡στ≤δⁿ≥α≥ ≡αßε≥√ ±σ≡Γσ≡φεπε ∞σ≥εΣα Φ Σε∩εδφΦ≥σδⁿφ≤■ ±≥α≥≤±φ≤■ Φφ⌠ε≡∞α÷Φ■.
╧≡Φ α±Φφ⌡≡εφφε∞ Γ√τεΓσ εß·σΩ≥ call ∩σ≡σΣασ≥± Γ callback ⌠≤φΩ÷Φ■ Γ Ωα≈σ±≥Γσ ∩α≡α∞σ≥≡α. ╤δσΣεΓα≥σδⁿφε, Γ√ ∞εµσ≥σ ∩≡εΓσ≡Φ≥ⁿ ±≥α≥≤± Γ√τεΓα Φ ∩εδ≤≈Φ≥ⁿ ≡στ≤δⁿ≥α≥ ≡αßε≥√ ∞σ≥εΣα.
╥αΩ ΩαΩ ∩≡Φ α±Φφ⌡≡εφφε∞ Γ√τεΓσ φσεß⌡εΣΦ∞ε ∩σ≡σΣα≥ⁿ ±±√δΩ≤ φα callback ⌠≤φΩ÷Φ■, ≥ε Φ±∩εδⁿτ≤σ≥± ≥εδⁿΩε JavaScript.
─δ Γ√τεΓα ±σ≡Γσ≡φεπε ∞σ≥εΣα α±Φφ⌡≡εφφε:
callObject = ASPObject.methodName(p1, p2[,...], callbackFunction, errorCallbackFunction, context);
callobject = RSExecute(url, methodName, p1, p2[,...], callbackFunction, errorCallbackFunction, context)
├Σσ:
═α∩≡Φ∞σ≡, Γ ±δσΣ≤■∙σ∞ ±Ω≡Φ∩≥σ α±Φφ⌡≡εφφε Γ√τ√Γασ≥± ±σ≡Γσ≡φ√Θ ∞σ≥εΣ square. ╧ε±δσ ≡αßε≥√ ∞σ≥εΣα Γ√τ√Γασ≥± ⌠≤φΩ÷Φ showResults(). ╚∞ ε∩σ≡α÷ΦΦ ∩σ≡σΣασ≥± ΩαΩ context-∩α≡α∞σ≥≡.
<script language = "JavaScript" for = "btnSquare" event = "onclick"> rsMath = RSGetASPObject("../myPages/RSMath.asp"); number1 = txt1.value; context = "squaring"; co = rsMath.square(number1,showResults,context); </script>
└φαδεπΦ≈φ√Θ ∩≡Φ∞σ≡ ± Φ±∩εδⁿτεΓαφΦσ∞ RSExecute ∞σ≥εΣα:
<script language = "JavaScript" for = "btnSquare" event = "onclick"> number1 = txt1.value; context = "squaring"; co = RSExecute("RSmath.asp","square", number1,showResults,context); </script>
╘≤φΩ÷Φ showResults, Ωε≥ε≡α Γδ σ≥± callback ⌠≤φΩ÷ΦΘ Γ ∩≡σΣ√Σ≤∙σ∞ ∩≡Φ∞σ≡σ, ∞εµσ≥ Γ√πδ Σσ≥ⁿ ±δσΣ≤■∙Φ∞ εß≡ατε∞:
<script language = "JavaScript"> function showResults(co) { typeOp = co.context; rValue = co.return_value; txt2.value = "Result of " + typeOp + "operation = " + rValue; } </script>
┬ Σαφφε∞ ±δ≤≈ασ callback ⌠≤φΩ÷Φ ±δ≤µΦ≥ Σδ Γ√ΓεΣα ≡στ≤δⁿ≥α≥α ≡αßε≥√ ε∩σ≡α÷ΦΦ. ╘≤φΩ÷Φ Σσ∞εφ±≥≡Φ≡≤σ≥, ΩαΩ Γ√ ∞εµσ≥σ Φ±∩εδⁿτεΓα≥ⁿ context ±ΓεΘ±≥Γε Σδ ε∩≡σΣσδσφΦ ≥επε, ΩαΩα ε∩σ≡α÷Φ α≡Φ⌠∞σ≥Φ≈σ±Ωα ∩≡Φ∞σφ δα±ⁿ.
┬√ ∞εµσ≥σ ∩≡εΓσ≡Φ≥ⁿ ±ε±≥ε φΦσ ≡αßε≥√ ≤Σαδσφφεπε ∞σ≥εΣα. ╧≡Φ α±Φφ⌡≡εφφε∞ Γ√τεΓσ, ∞εµφε ∩≡εΓσ≡Φ≥ⁿ ±ε±≥ε φΦσ ≡αßε≥√ ±σ≡Γσ≡φεπε ∞σ≥εΣα. ─δ ²≥επε Φ±∩εδⁿτ≤σ≥± ±ΓεΘ±≥Γα status εß·σΩ≥α call ┬ετ∞εµφ√σ τφα≈σφΦ ±ΓεΘ±≥Γα status:
└±Φφ⌡≡εφφ√Θ Γ√τεΓ ∞εµφε ∩≡σ≡Γα≥ⁿ, Σδ ²≥επε Φ±∩εδⁿτ≤σ≥± cancel() ∞σ≥εΣ εß·σΩ≥α call.
╧≡Φ Γ√τεΓσ ≤Σαδσφφ√⌡ ±σ≡Γσ≡φ√⌡ ∞σ≥εΣεΓ ∞επ≤≥ ∩≡εΦ±⌡εΣΦ≥ⁿ ≡ατφεπε ≡εΣα ε°ΦßΩΦ: ±Φφ≥αΩ±Φ≈σ±ΩΦσ ε°ΦßΩΦ, ε°ΦßΩΦ Γ≡σ∞σφΦ Φ±∩εδφσφΦ , ε°ΦßΩΦ ∩≡Φ Γ√τεΓσ ∞σ≥εΣεΓ. RS Φ∞σσ≥ ∞σ⌡αφΦτ∞√ ε∩εΓσ∙σφΦ ε ∩≡εΦ±⌡εΣ ∙Φ⌡ ε°ΦßΩα⌡.
╨σαΩ÷Φ φα ε°ΦßΩΦ φσ∞φεπε ≡ατδΦ≈ασ≥± ∩≡Φ ±Φφ⌡≡εφφε∞ Φ α±Φφ⌡≡εφφε∞ Γ√τεΓσ. ┼±δΦ ∩≡Φ ±Φφ⌡≡εφφε∞ Γ√τεΓσ ∩≡εΦτε°δα ε°ΦßΩα, ∞σ⌡αφΦτ∞ εß≡αßε≥ΩΦ ε°ΦßεΩ Γ√ß≡α±√Γασ≥ ±εεß∙σφΦσ εß ε°ΦßΩσ Γ εΩφε ß≡α≤τσ≡α. ╥σΩ±≥ε∞ ±εεß∙σφΦ Γδ σ≥± message ±ΓεΘ±≥Γε call εß·σΩ≥α. ┼±δΦ ε°ΦßΩα ∩≡εΦ±⌡εΣΦ≥ ∩≡Φ α±Φφ⌡≡εφφε∞ Γ√τεΓσ, ≥ε Γ√ ∞εµσ≥σ σσ ∩σ≡σ⌡Γα≥Φ≥ⁿ, ε∩≡σΣσδ error callback ⌠≤φΩ÷Φ■.
╧≡Φ α±Φφ⌡≡εφφε∞ Γ√τεΓσ ∩σ≡σΣασ≥σ ±±√δΩ≤ φα error callback ⌠≤φΩ÷Φ■ Γ Ωα≈σ±≥Γσ ∩α≡α∞σ≥≡α. ╥. Ω. ∩σ≡σΣασ≥± ≤Ωατα≥σδⁿ φα ⌠≤φΩ÷Φ■, ≥ε ∩≡Φ ≥αΩε∞ Γ√τεΓσ ∞εµφε Φ±∩εδⁿτεΓα≥ⁿ ≥εδⁿΩε JavaScript. ╧≡Φ∞σ≡√ ± Φ±∩εδⁿτεΓαφΦσ∞ εß·σΩ≥α ±±√δα■∙σπε± φα ±σ≡Γσ≡φ≤■ ±≥≡αφΦ÷≤ Φ ßστ:
callObject = ASPObject.methodName(p1, p2[,...], callbackFunction, errorCallbackFunction, context) callobject = RSExecute(url, methodName, p1, p2[,...], callbackFunction, errorCallbackFunction, context)
╧≡Φ ±Φφ⌡≡εφφε∞ Φ α±Φφ⌡≡εφφε∞ Γ√τεΓσ Γ√ ∞εµσ≥σ ∩εδ≤≈α≥ⁿ Φφ⌠ε≡∞α÷Φ■ ε ∩≡εΦ±⌡εΣ ∙Φ⌡ ε°ΦßΩα⌡ ≈σ≡στ ±ΓεΘ±≥Γα call εß·σΩ≥α. ┼±δΦ Γ√ ε∩≡σΣσδ σ≥σ error callback ⌠≤φΩ÷Φ■, ≥ε call εß·σΩ≥ ∩σ≡σΣασ≥± Γ Ωα≈σ±≥Γσ ∩α≡α∞σ≥≡α ΩαΩ Φ Γ ±δ≤≈ασ callback ⌠≤φΩ÷ΦΦ. ╧εδστφ√σ ±ΓεΘ±≥Γα call εß·σΩ≥α ∩≡Φ εß≡αßε≥Ωσ ε°Φßε≈φ√⌡ ±Φ≥≤α÷ΦΘ:
╤δσΣ≤■∙ΦΘ ∩≡Φ∞σ≡ Σσ∞εφ±≥≡Φ≡≤σ≥ ≡αßε≥≤ error callback ⌠≤φΩ÷ΦΦ Γ ΩδΦσφ≥±Ωε∞ ±Ω≡Φ∩≥σ.
<script language = "JavaScript" for = "btnSquare" event = "onclick"> rsMath = RSGetASPObject("rsadd.asp"); number1 = txt1.value; context = "squaring"; co = rsMath.square(number1,showResults,showErrors, context); function showErrors(co){ msg = "The raw data returned by the remote method call is " msg = msg + co.data alert(msg); msg = "The following error occurred during the " msg = msg + co.context msg = msg + " remote scripting call:\n" msg = msg + co.message; alert(msg); } </script>
╧≡Φ Γ√τεΓσ ±σ≡Γσ≡φεπε ∞σ≥εΣα ΓετΓ≡α∙ασ≥± φσ return-τφα≈σφΦσ Γ√τ√Γασ∞επε ∞σ≥εΣα, α εß·σΩ≥, ±εΣσ≡µα∙ΦΘ ≡στ≤δⁿ≥α≥ ≡αßε≥√ ∞σ≥εΣα ∩δ■± Σε∩εδφΦ≥σδⁿφ≤■ ±≥α≥≤±φ≤■ Φφ⌠ε≡∞α÷Φ■. ┬ ±δσΣ≤■∙σΘ ≥αßδΦ÷√ ±ΓσΣσφ√ ±ΓεΘ±≥Γα Φ ∞σ≥εΣ√ call εß·σΩ≥α.
╤ΓεΘ±≥Γε | ╬∩Φ±αφΦσ |
id | ╙φΦΩαδⁿφ√Θ ΦΣσφ≥Φ⌠ΦΩα≥ε≡ call εß·σΩ≥α, ±ετΣασ≥± ∩≡Φ ∩σ≡Γε∞ Γ√τεΓσ. |
return_value | return-τφα≈σφΦσ Γ√τ√Γασ∞επε ∞σ≥εΣα. |
data | ═σεß≡αßε≥αφφ√σ ±≥α≥≤±φ√σ Σαφφ√σ Γ XML ⌠ε≡∞α≥σ. |
status |
╥σΩ≤∙σσ ±ε±≥ε φΦσ Γ√τεΓα, Γετ∞εµφ√σ τφα≈σφΦ :
|
message | ╥σΩ±≥εΓα Φφ⌠ε≡∞α÷Φ ε Γ√τεΓσ. ┼±δΦ Γ√τεΓ ≤±∩σ°φ√Θ, ≥ε message ±εΣσ≡µΦ≥ "Complete". ┼±δΦ ∩≡εΦτε°δα ε°ΦßΩα, message ±εΣσ≡µΦ≥ ±εεß∙σφΦσ εß ε°ΦßΩσ. |
callback | ╚∞ callback ⌠≤φΩ÷ΦΦ Σδ Σαφφεπε Γ√τεΓα. |
error_callback | ╚∞ error callback ⌠≤φΩ÷ΦΦ Σδ Σαφφεπε Γ√τεΓα. |
context | ╩εφ≥σΩ±≥φ√Θ ∩α≡α∞σ≥≡, ∩σ≡σΣασ≥± ∩≡Φ Γ√τεΓσ Φ ßστ Φτ∞σφσφΦΘ ΓετΓ≡α∙ασ≥± ± call εß·σΩ≥ε∞. |
╠σ≥εΣ | ╬∩Φ±αφΦσ |
wait | ╬±≥αφαΓδΦΓασ≥ ≡αßε≥≤ ΩδΦσφ≥±Ωεπε ±Ω≡Φ∩≥α Σε ταΓσ≡°σφΦ ≡αßε≥√ α±Φφ⌡≡εφφε Γ√τΓαφφεπε ±σ≡Γσ≡φεπε ∞σ≥εΣα. |
cancel | ╬±≥αφαΓδΦΓασ≥ ≡αßε≥≤ α±Φφ⌡≡εφφε Γ√τΓαφφεπε ∞σ≥εΣα. |