Могу ли я передать Json данные из asp. net приложения для использования в качестве api без создания api - PullRequest
0 голосов
/ 09 июля 2020

У меня есть веб-приложение, созданное с использованием ядра asp. net. В будущем я хотел бы использовать те же данные из этого веб-приложения и, возможно, создать приложение xamarin.

Было бы неплохо просто создать действие, которое запрашивает данные и передает их в представление как json, а затем использовать приложение xamarin для загрузки этого json с URL-адреса? Или мне нужен настоящий api?

Если да, могу ли я добавить аутентификацию из веб-приложения и сохранить такую ​​же аутентификацию для приложения xamarin, что позволит получить доступ к этому URL-адресу? Похоже на ключ api, но просто обычная аутентификация входа.

1 Ответ

0 голосов
/ 09 июля 2020

Я бы просто добавил вызов веб-службы к существующей веб-странице или, возможно, создал бы отдельную страницу веб-службы, которую вы используете для обработки вызовов.

Одна из действительно замечательных функций asp. net - все, что вам действительно нужно сделать, это создать функцию publi c на веб-странице, и вы отправляетесь в гонку.

итак, ваш код написан как обычный код.

<WebMethod()>
Public Shared Function SaveNames(FirstName As String, LastName As String) As String

    ' do whatever with first name and last name

    Return "ok"

End Function

И теперь вы JavaScript звоните (jQuery для простоты) будет так:

например:

    $.ajax({  
        type: "POST",  
        url: 'WebForm1.aspx/SaveNames',
        contentType: "application/json",  
        datatype: "json",
        data: '{FirstName: "Albert", LastName: "Kallal"}',

        success: function(responseFromServer) {  
            alert(responseFromServer.d)  
        }  
    });  

Обратите внимание, как 2 параметра в коде позади совпадают с двумя значениями, которые я отправил. функция выше имеет два строго типизированных параметра функции (FirstName и LastName).

Когда вы создаете вышеупомянутую функцию publi c? Что ж, вы мгновенно получаете звонок SOAP.

Но вы также получаете звонок для отдыха с указанным выше.

Итак, MywebUrl / MyWebPage.aspx? & FirstName = "Albert" & LastName = " Kallal "

Итак, вы можете использовать URL-адрес и типичный вызов rest, как указанный выше URL-адрес с параметрами, или вы можете выполнить полный вызов SOAP, как в примере jQuery. Таким образом, любой вызов веб-службы, который вы настраиваете, поддерживает как стандартный подход после (отдыха), так и полный вызов SOAP и xml или jason. Выбор за вами без лишних усилий. Таким образом, приведенный выше пример будет работать с XML / SOAP, и он также работает как rest (url) и параметры. Обратите внимание на то, как в вызове использовалось json, но asp. net вычисляет это и раздвигает json на 2 именованных и строго типизированных параметра функции.

Итак, да, с Android или через веб-клиент? Я бы наверняка раскрыл некоторые методы веб-сервисов из кода. Выше эту простую заглушку кода можно разместить на существующей веб-странице. Так что для веб-приложения я часто просто добавляю несколько функций publi c или подпрограмм к существующей веб-странице, и все готово.

Для телефона? Ну, тогда, конечно же, добавьте реальную страницу веб-сервисов, и тот же код будет работать. (просто измените URL-адрес на страницу asmx, но остальная часть кода останется прежней. Так что это не большая работа - вам нужно только ввести функцию publi c с директивой WebService, и у вас есть работоспособный интерфейс который теперь может использовать любой веб-браузер или приложение для телефона.

С несколькими параметрами, указанными выше, как REST / url-адрес, подойдет. Если бы было много параметров, я бы не использовал вызов отдыха (build вверх по URL-адресу и сконцентрируйте беспорядочные параметры на этом URL-адресе), и вызовет, как указано выше, в примере jQuery.

...