这个例子只是很简单地使用了一些Global.asax 文件中的事件;重要的是要意识到这些事件是与整个应用程序相关的。这样,所有放在其中的方法都会通过应用程序的代码被提供,这就是它的名字为Global 的原因。
这里是前面的例子相应的 VB.NET 代码:
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs) Application("Title") = "Builder.com Sample" End Sub Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs) Session("startValue") = 0 End Sub Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e As EventArgs) ' Extract the forms authentication cookie Dim cookieName As String cookieName = FormsAuthentication.FormsCookieName Dim authCookie As HttpCookie authCookie = Context.Request.Cookies(cookieName) If (authCookie Is Nothing) Then ' There is no authentication cookie. Return End If Dim authTicket As FormsAuthenticationTicket authTicket = Nothing Try authTicket = FormsAuthentication.Decrypt(authCookie.Value) Catch ex As Exception ' Log exception details (omitted for simplicity) Return End Try Dim roles(2) As String roles(0) = "One" roles(1) = "Two" Dim id As FormsIdentity id = New FormsIdentity(authTicket) Dim principal As GenericPrincipal principal = New GenericPrincipal(id, roles) ' Attach the new principal object to the current HttpContext object Context.User = principal End Sub Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs) Response.Write("Error encountered.") End Sub