StilauGamer
StilauGamer
Explore posts from servers
CC#
Created by StilauGamer on 11/13/2024 in #help
Inject IDbContextFactory or DbContext directly?
Hey, I was working with a project earlier that I've made and I saw I was injecting the db context with IDbContextFactory<ApplicationDbContext> and then manually creating a db context every time I was going to use it. I was doing this: await using var dbContext = await _dbContextFactory.CreateDbContextAsync(); I read somewhere that you should just inject the DB Context directly, and let the DI handle the lifetime of it, but I was unsure if this was bs or not? Does anyone have any tips surrounding this? Thanks 🙂
15 replies
CC#
Created by StilauGamer on 4/18/2024 in #help
gRPC with HTTP/2.0
No description
1 replies
CC#
Created by StilauGamer on 1/21/2024 in #help
Is Inside a polygon algorithm..
No description
3 replies
CC#
Created by StilauGamer on 11/23/2023 in #help
UniTask VS Task
Idk if this is the correct place to ask, but I am modding for some Unity games and one of the frameworks there is utilizing UniTask. What does that benefit from using Task? Should I use UniTask when working with shit I want to await, etc? I cannot find any good examples on the differences between them, so I figured I'd ask here lol
1 replies
CC#
Created by StilauGamer on 11/20/2023 in #help
Discord.Net + MagicOnion, heheh
Hey! So I am working on a discord bot that I want to intergrate into a server using websockets, I found MagicOnion and wanted to test it out, but I can only find documentation to how to use it with Asp.Net. Does anyone know how I would implement it with Discord.Net? I have a test service that uses the ServiceBase<> and IService<> This is my current code for my bot:
public static Task Main()
=> new Program().MainAsync();

private async Task MainAsync()
{
try
{
var client = new DiscordSocketClient();

using var host = Host.CreateDefaultBuilder()
.ConfigureServices((_, services) =>
{
services
.AddSingleton(client)
.AddSingleton(i => new InteractionService(i.GetRequiredService<DiscordSocketClient>()))
.AddSingleton<InteractionHandler>()
.AddTransient<ITestService, TestService>();

services.AddGrpc();
services.AddMagicOnion();
}
).Build();

await RunAsync(host);
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
}

private async Task RunAsync(IHost host)
{
using var serviceScope = host.Services.CreateScope();
var serviceProvider = serviceScope.ServiceProvider;


var commands = serviceProvider
.GetRequiredService<InteractionService>();
var client = serviceProvider
.GetRequiredService<DiscordSocketClient>();

await serviceProvider
.GetRequiredService<InteractionHandler>()
.InitializeAsync();


await client.LoginAsync(TokenType.Bot, Token);
await client.StartAsync();

client.Log += Log;
client.Ready += async () =>
{
await commands.RegisterCommandsToGuildAsync(DiscordGuildId);
};

await Task.Delay(-1);
}
public static Task Main()
=> new Program().MainAsync();

private async Task MainAsync()
{
try
{
var client = new DiscordSocketClient();

using var host = Host.CreateDefaultBuilder()
.ConfigureServices((_, services) =>
{
services
.AddSingleton(client)
.AddSingleton(i => new InteractionService(i.GetRequiredService<DiscordSocketClient>()))
.AddSingleton<InteractionHandler>()
.AddTransient<ITestService, TestService>();

services.AddGrpc();
services.AddMagicOnion();
}
).Build();

await RunAsync(host);
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
}

private async Task RunAsync(IHost host)
{
using var serviceScope = host.Services.CreateScope();
var serviceProvider = serviceScope.ServiceProvider;


var commands = serviceProvider
.GetRequiredService<InteractionService>();
var client = serviceProvider
.GetRequiredService<DiscordSocketClient>();

await serviceProvider
.GetRequiredService<InteractionHandler>()
.InitializeAsync();


await client.LoginAsync(TokenType.Bot, Token);
await client.StartAsync();

client.Log += Log;
client.Ready += async () =>
{
await commands.RegisterCommandsToGuildAsync(DiscordGuildId);
};

await Task.Delay(-1);
}
137 replies