2017-01-13 3 views
0

У нас есть старая веб-служба Asp.net 2.0, где мне нужно поставить простой HTTP-ответ. В приведенном ниже коде функция «APIValidation()» возвращает int, 200 или 404. Все, что мне нужно сделать, это отправить HttpResponse, чтобы мое веб-приложение узла могло читать код состояния (а затем делать то, что ему нужно сделать) ,Простой HttpResponse в ASPX VB

Я понятия не имею, как это сделать (я ноб с ASP), уроки, которые я нахожу, слишком сложны, кажется, что это можно решить в нескольких строках кода, я просто не знаю, ,

Вы можете увидеть его в действии здесь:

200: http://registration.imprintplus.com/imprinttest/GlobalSrvSN.aspx?sn=29820C0792024CDC8D590BF14AF42490

404: http://registration.imprintplus.com/imprinttest/GlobalSrvSN.aspx?sn=invalid

Другой вариант для узла, чтобы быть в состоянии извлечь 200 или 404 из того, что в ASP служба дает мне. Либо или работает для меня.

Option Explicit Off 
Option Strict Off 

Imports ActivationServer 

Partial Class GlobalSrvSN 
    Inherits System.Web.UI.Page 

    Public Function APIValidation(ByVal sn As String, ByVal databaseSource As String) As String 

     Dim act As New LogicProtect_ActivationServer(databaseSource) 


     Return act.APIValidation("user", "[email protected]", sn) 

    End Function 
End Class 

спасибо миллион!

+0

Где вызов, который на самом деле вызывает, что 'function'? Я бы посмотрел на эту часть, чтобы обработать фактический ответ HTTP после получения результата 'string' от него. Hth. – EdSF

ответ

1

Непонятно, как вы вызываете эту функцию, поэтому допустим несколько вещей, если это единственный код, который у вас есть.

Если вы звоните из файла .aspx, то это будет пример:

<%@ Page Language="vb" ....." %> 

<% 
    Dim foo = APIValidation(Request("sn"), "other string") 
    Response.StatusCode = CInt(foo) 
%> 

Если из "код позади" ([page].aspx.vb):

Option Explicit Off 
Option Strict Off 

Imports ActivationServer 

Partial Class GlobalSrvSN 
    Inherits System.Web.UI.Page 

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
     Dim foo = APIValidation(Request("sn"), "other string") 
     Response.StatusCode = CInt(foo) 
    End Sub 

    Public Function APIValidation(ByVal sn As String, ByVal databaseSource As String) As String 

     Dim act As New LogicProtect_ActivationServer(databaseSource)  
     Return act.APIValidation("user", "[email protected]", sn) 

    End Function 
End Class 

Примечания: Выше очень тривиально ответ, чтобы все было просто. Но:

  • выше действительно "Web Forms страницы" (технически не "веб-сервис"), который будет asmx (2,0)

  • Пропущенные любой входной проверки (queryString), проверка на наличие ошибок/обработки.

  • Response объект как бы контролировать HTTP-ответов (headers и т.д.)

НТН

+0

Hi EdSF, Похоже, что я почти там, мне нужно было поставить его .aspx-файл. Я получаю «BC30545: доступ к собственности должен присваивать свойству или использовать его значение». ошибка при использовании Dim foo = APIValidation (Запрос («sn»), «другая строка») Response.StatusCode = CInt (foo) Не уверен, что там может быть неправильно. Спасибо за помощь! – BelgoCanadian

+1

Ничего, получилось! Я ошибочно положил Response.StatusCode (foo) вместо Response.StatusCode = foo из-за копирования вставки Response.Write – BelgoCanadian

Смежные вопросы