using NCC.Dependency;
using System;
namespace NCC.DistributedIDGenerator
{
///
/// ID 生成器
///
[SuppressSniffer]
public static class IDGen
{
///
/// 生成唯一 ID
///
///
///
///
public static object NextID(object idGeneratorOptions, IServiceProvider serviceProvider = default)
{
return App.GetService(serviceProvider ?? App.RootServices).Create(idGeneratorOptions);
}
///
/// 生成连续 GUID
///
///
///
public static Guid NextID(IServiceProvider serviceProvider = default)
{
var sequentialGuid = App.GetService(typeof(SequentialGuidIDGenerator), serviceProvider ?? App.RootServices) as IDistributedIDGenerator;
return (Guid)sequentialGuid.Create();
}
}
}