xuyae573 / IocManagerCore

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

IocManagerCore

Using a convention way to register the Service

The rule of Service and Interface naming Convention as below

XXXXXService: IService

The implementation type name must endwith interface's name except the 'I'

For Example

Singleton

public class DefaultGreetingService : IGreetingService, ISingletonDependency
{
    public virtual string OperationId { get; set; }

    public DefaultGreetingService()
    {
        OperationId = Guid.NewGuid().ToString()[^4..];
    }

    public virtual string SayHello()
    {
       return $"Operation ID: {OperationId}";
    }
}

Transient

public class DefaultGreetingService : IGreetingService, ITransientDependency
{
    public virtual string OperationId { get; set; }

    public DefaultGreetingService()
    {
        OperationId = Guid.NewGuid().ToString()[^4..];
    }

    public virtual string SayHello()
    {
       return $"Operation ID: {OperationId}";
    }
}

Scoped

public class DefaultGreetingService : IGreetingService, IScopedDependency
{
    public virtual string OperationId { get; set; }

    public DefaultGreetingService()
    {
        OperationId = Guid.NewGuid().ToString()[^4..];
    }

    public virtual string SayHello()
    {
       return $"Operation ID: {OperationId}";
    }
}

Startup Configuration

public void ConfigureServices(IServiceCollection services)
{
    services.AddControllersWithViews();

    services.AddIocManager();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
   .....
   app.UseIocManager();
}

About


Languages

Language:C# 67.5%Language:HTML 22.8%Language:CSS 8.3%Language:JavaScript 1.4%