/// <summary> /// 初始化路由(出现重复路由地址会抛异常) /// </summary> /// <param name="ounit">方法单元</param> /// <returns>Task</returns> public Task AddOrThrow(OUnit ounit) { var ounits = InMemoryStoragebox.ForNewOrExisted().UnitStoreRouterMapper; if (ounits.ContainsKey(ounit.RequestPath)) { throw new Exception($"存在相同的路径!"); } ounits[ounit.RequestPath] = ounit; return(Task.FromResult(0)); }
/// <summary> /// 回收 /// </summary> /// <param name="ounit">方法单元</param> /// <param name="instance">方法所在类型的实例</param> /// <returns>Task</returns> public Task Recycle(OUnit ounit, object instance) { var oapimethods = InMemoryStoragebox.ForNewOrExisted().OAPIMethodsStoreTypeMapper; if (!oapimethods.ContainsKey(ounit.TypeofInstance)) { oapimethods[ounit.TypeofInstance] = new Stack <OAPIMethodsBase>(); } var typeofinstance = (OAPIMethodsBase)instance; typeofinstance.SetHttpContext = null; oapimethods[ounit.TypeofInstance].Push(typeofinstance); return(Task.FromResult(0)); }