У меня есть ситуация, когда мне нужно отправить данные JSON (файл JSON, а не конвертировать в JSON) в Insight Time Series через концентраторы событий.Но я не могу отправить данные из-за недостатка опыта в C #.
Я могу отправлять другие примеры сообщений, но не JSON.Как я могу это сделать?
Буду признателен за любую помощь или понимание.
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Globalization;
using System.IO;
using Microsoft.ServiceBus.Messaging;
namespace ConsoleApp5
{
class Program
{
static string _connectionString = "Endpoint..;
static async Task MainAsync(string[] args)
{
var client = EventHubClient.CreateFromConnectionString(_connectionString, "eventhub");
var json = File.ReadAllText(@"C:\Users\Shyam\Downloads\personal.json");
var eventData = new EventData(Encoding.UTF8.GetBytes(json));
await EventHubClient.SendAsync(eventData);
}
}
}
Это выдает ошибку в асинхронном методе.
Код серьезности Описание Файл проектаОшибка состояния подавления строки CS0120 Ссылка на объект требуется для нестатического поля, метода или свойства 'EventHubClient.SendAsync (EventData)' ConsoleApp5 C: \ Users \ Shyam \ source \ repos \ ConsoleApp5 \ ConsoleApp5 \ Program.cs 21 Active
ОБНОВЛЕНИЕ:
namespace jsonData
{
using System;
using System.Text;
using System.IO;
using System.Threading.Tasks;
using Microsoft.Azure.EventHubs;
public class Program
{
private static EventHubClient eventHubClient;
private const string EhConnectionString = "Endpoint=sb://";
private const string EhEntityPath = "hub";
public static void Main(string[] args)
{
MainAsync(args).GetAwaiter().GetResult();
}
private static async Task MainAsync(string[] args)
{
// Creates an EventHubsConnectionStringBuilder object from the connection string, and sets the EntityPath.
// Typically, the connection string should have the entity path in it, but this simple scenario
// uses the connection string from the namespace.
var connectionStringBuilder = new EventHubsConnectionStringBuilder(EhConnectionString)
{
EntityPath = EhEntityPath
};
eventHubClient = EventHubClient.CreateFromConnectionString(connectionStringBuilder.ToString());
var json = File.ReadAllText(@"D:\Sample.json");
var eventData = new EventData(Encoding.UTF8.GetBytes(json));
await eventHubClient.SendAsync(eventData);
await eventHubClient.CloseAsync();
Console.WriteLine("Press ENTER to exit.");
Console.ReadLine();
}
}
}