Как передать параметры POST в функцию Azure?C#

Место общения программистов C#
Ответить
Anonymous
 Как передать параметры POST в функцию Azure?

Сообщение Anonymous »

Я пытаюсь выполнить простую функцию Azure, чтобы узнать об этом. Будет 3 функции:
  • 1 функция для вставки строки в таблицу базы данных. Эта таблица будет содержать текущую дату и строковые параметры, введенные пользователем и переданные методом GET.
  • 1 функция, аналогичная предыдущей, но передающая параметр методом POST.
  • 1 функция для чтения таблицы и отображения ее содержимого.
Мне удалось сделать первую и третьи. Но я не могу передать параметр POST. Я искал примеры, но не смог их успешно запустить. Клиентское приложение представляет собой приложение Windows Forms.

Может ли кто-нибудь показать мне пример того, как передавать параметры по POST в функцию и как их читать?

Заранее спасибо

РЕДАКТИРОВАТЬ:

Вот код для передать параметры с помощью GET (это работает нормально):

Код: Выделить всё

private void button2_Click(object sender, EventArgs e)
{
string cadena = lsql1.Text + "?notas=" + tNotas.Text;

try
{
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(cadena);
HttpWebResponse res = (HttpWebResponse)req.GetResponse();

if (res.StatusCode == HttpStatusCode.OK)
{
MessageBox.Show("Grabado");
}
else
{
MessageBox.Show(res.StatusDescription);
}
}catch (WebException ex)
{
using (Stream s = ex.Response.GetResponseStream())
{
StreamReader sr = new StreamReader(s);
string text = sr.ReadToEnd();
text = text.Substring(1, text.Length - 2);
sr.Close();
text = text.Replace("\\", "");
text = "{" + text + "}";
Error mensajeError = JsonConvert.DeserializeObject(text);

MessageBox.Show(mensajeError.ExceptionMessage);
}

}
}
А вот код для его получения и вставки (это тоже работает):

Код: Выделить всё

[FunctionName("sql1")]
public static async Task Run(HttpRequestMessage req, TraceWriter log)
{
try
{
log.Info("C# HTTP trigger function processed a request.");

var cnnString = "Server=SERVIDOR;Database=base_prueba;User ID =azure;Password=0000;Trusted_Connection=False;Encrypt=False;";

using (SqlConnection connection = new SqlConnection(cnnString))
{
connection.Open();
SqlCommand cmd = connection.CreateCommand();

DateTime fecha = DateTime.Today;

string notas = req.GetQueryNameValuePairs()
.FirstOrDefault(q => string.Compare(q.Key, "notas", true) == 0)
.Value;

// insert a log to the database
cmd.CommandText = "INSERT INTO Prueba_Azure (fecha, notas) VALUES ('" + fecha.ToString() + "', '" + notas + "')";
cmd.ExecuteNonQuery();
}

// Get request body
dynamic data = await req.Content.ReadAsAsync();

return name == req.CreateResponse(HttpStatusCode.OK, "Done");
}
catch (Exception ex)
{
HttpResponseMessage res = req.CreateErrorResponse(HttpStatusCode.InternalServerError, ex);
return res;
}
}
Я хочу отправить это по почте

Подробнее здесь: https://stackoverflow.com/questions/451 ... e-function
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»