Page MenuHomeAITSYS Dev

[Core] Net Hosting & Configuration implementation
Open, NormalPublic

Description

Implemenation of Hosting & Configuration

See PR https://github.com/Aiko-IT-Systems/DisCatSharp/pull/35 for details

Event Timeline

aiko created this object with edit policy "DisCatSharp (Project)".

In my opinion you'll want to separate functionality by packages as you've done with Interactivity and what not.

Configuration

As a developer I want to use IConfiguration to load any config settings. Once configuration "works" you could automatically add an extension such as interactivity if it detects that config section. I strongly urge IConfiguration implementation as it would allow users to modify a json file and restart versus making a code change for something trivial.


DisCatSharp.Hosting

I don't believe creating a new "client" class is totally necessary as we can create a wrapper for DiscordClient which implements BackgroundService aka IHostedService

For configuration purposes I suggest having an overall keyname of DisCatSharp with all extensions located within.

"DisCatSharp": {
     "Discord": {
         "Token": "asdfasdfasdfasdf",
         "HttpTimeout": "00:10:00"   // HH:mm:ss
     },

    "Interactivity": {
          // stuff here
    }
}

Avoid making an opinionated approach towards dependency injection. The fancy extension methods will come in the form of opt-in nuget packages. As a result, you should list all the things a developer needs to add to IServiceProvider, if any, for this to run properly.

DisCatSharp.Hosting.DependencyInjection

Developers should be able to pick and choose their DI approach.... by convention this package would utilize Microsoft's approach. For something such as Autofac you'd name it

DisCatSharp.Hosting.DependencyInjection.Autofac


aiko renamed this task from [Core] Net Hosting implementation to [Core] Net Hosting & Configuration implementation.Mon, Oct 4, 06:45
aiko reassigned this task from Geferon to Badger_2-3.
aiko moved this task from Backlog to Features on the DisCatSharp board.
aiko updated the task description. (Show Details)
aiko updated the task description. (Show Details)
aiko added a subscriber: Geferon.