GET /hello
-> IIS URL Rewrite rule "WscMvc-Hello" (^hello/?$)
-> /Default.asp?route=/hello
-> Server.CreateObject("WscMvc.Application")
-> Application.Run("/hello", statusLine, contentType, body) [Framework/Application.wsc]
-> CreateObject("WscMvc.HomeController")
-> HomeController.Hello(body) [Controllers/HomeController.wsc]
-> Default.asp sets Response.Status/ContentType, writes body
Default.asp is the only file that touches ASP intrinsic objects (Request, Response, Server). It contains no business logic — only reading the route query parameter, invoking WscMvc.Application, and writing the response.Framework/Application.wsc and Controllers/HomeController.wsc never reference Request/Response/Server/Session. All data crosses the ASP-to-WSC and WSC-to-WSC boundaries as VBScript scalars (strings), passed by VBScript's default ByRef semantics for “out” values. See docs/DECISIONS.md for why this sidesteps SPEC §15's open question about passing ASP intrinsics into WSC.If pathInfo = "/hello" check inside Application.Run. This is intentionally minimal and will be replaced by the explicit allowlisted route table in M3 (Router.wsc); do not extend it ad hoc before that milestone.| Component | ProgID | CLSID |
|---|---|---|
Framework/Application.wsc |
WscMvc.Application |
{851C7763-1638-42FE-A166-BF3DD3A96A88} |
Controllers/HomeController.wsc |
WscMvc.HomeController |
{87488446-60BE-4068-8368-0B709BB68F3F} |
CLSIDs are fixed at creation and must never be recycled for a different component (AGENTS.md).
WscMvc, binding *:8090, physical path C:\Projects\wsc-mvc.WscMvc, 64-bit, no managed code.web.config hides Framework/, Controllers/, tests/, tools/, docs/ (path-segment based, anywhere in the tree) and denies .wsc/.vbs/.ps1/.md by extension.Default.asp; /hello is served via a rewrite rule, not the default document.Per SPEC §3 non-goals and IMPLEMENTATION_PLAN M2+: request/response context object, central error mapping, explicit route table, HTML views/templates, ADODB, auth, logging. M1's error handling is intentionally local (Default.asp and Application.wsc each guard their own CreateObject/method-call boundary) rather than centralized.
Powered by TurnKey Linux.