ASP.NET Routing. Как я могу использовать маршрутизацию в универсальном обработчике? - PullRequest
2 голосов
/ 03 августа 2011

Я пытался использовать ASP.Net в следующем универсальном обработчике, но я получаю эту ошибку на Page.RouteData

Reference to a non-shared member requires an object reference

Что я делаю не так?

<%@ WebHandler Language="VB" Class="MainHandler" %>

Imports System
Imports System.Web
Imports System.Xml


    Public Class MainHandler : Implements IHttpHandler, System.Web.SessionState.IRequiresSessionState

        Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest

            Dim lng As String = Page.RouteData.Values("locale")

        End Sub

        Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
            Get
                Return False
            End Get
        End Property

    End Class

Для любых ответов, пожалуйста, имейте в виду, что я новичок, и мой язык - VB.NET :) Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 10 сентября 2012
 Dim lng As String = HttpContext.Current.Request.RequestContext.RouteData.Values("locale")
0 голосов
/ 04 августа 2011

Попробуйте следующее. Вам нужно получить таблицу маршрутов и прочитать из нее.

Dim rd AS RouteData
rd = RouteTable.Routes.GetRouteData(new HttpContextWrapper(context))

Dim val AS String
val = rd.Values["locale"].ToString()

Взгляните на эту ссылку и msdn для получения дополнительнойподробности о маршрутизации.

...