Как добавить общий код (особенно для методов, отмеченных WebMethod ()) - PullRequest
0 голосов
/ 22 января 2009

У меня есть несколько методов ASP.NET Page и WebService WebMethod (), к которым я хотел бы добавить общий код. Например:

<WebMethod()> _
Public Function AddressLookup(ByVal zipCode As String) As Address
    #If DEBUG Then
        ' Simulate a delay
        System.Threading.Thread.Sleep(2000)
    #End If
    Return New Address()
End Function

В настоящее время у меня есть код #If Debug во всех моих методах WebMethod (), но я думаю, что должен быть лучший способ сделать это без необходимости фактически вводить код.

Есть ли способ определить, относится ли запрос к WebMethod в Application_EndRequest, чтобы я мог добавить этот проект задержки в ширину?

Обратите внимание, что некоторые методы являются методами Page, а некоторые - методами веб-служб.

Ответы [ 2 ]

1 голос
/ 22 января 2009

Инкапсулируйте код #if DEBUG в методе и пометьте его <Conditional("DEBUG")>. Таким образом, вы просто пишете вызов метода в каждом <WebMethod>. Может быть полезным.

1 голос
/ 22 января 2009

Вы можете проверить URL запроса в Application_EndRequest, чтобы определить, является ли это вызовом веб-метода. Например. как то так (извините, это в C #):

protected void Application_EndRequest(Object sender, EventArgs e)
{
  if (Request.Url.ToString().IndexOf("MyWebService.asmx") > 0)
  {
    // Simulate a delay
    System.Threading.Thread.Sleep(2000);
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...