Added standardized metadata blocks to the top of each project and repo documentation file. These blocks define project type, and for repos, include layer and dependencies, improving clarity and enabling better tooling support. |
||
|---|---|---|
| .. | ||
| DynamicMethods | ||
| Logins | ||
| AyCode.Models.Server.csproj | ||
| README.md | ||
README.md
AyCode.Models.Server
@project { type = "framework" }
Server-side models: authentication state and dynamic method dispatch for SignalR message routing.
Folder Structure
| Folder | Purpose |
|---|---|
Logins/ |
Server-side logged-in user model |
DynamicMethods/ |
Reflection-based method registry for SignalR message tag routing |
Key Files
Logins/
AcLoggedInModelServer.cs— ImplementsIAcLoggedInModelBase<...>. TracksLoggedInUser,AccessToken,LoginErrorCode. Methods:AddLoggedInUser(),Logout().
DynamicMethods/
AcMethodInfoModel.cs— Wraps aMethodInfo+ itsTagAttribute+ParameterInfo[]. Generic overTAttribute : TagAttribute.AcDynamicMethodCallModel.cs— Binds an object instance to its attributed methods. StaticConcurrentDictionary+FrozenDictionarycache — reflection runs once per type. Lookup byMessageTag(int).AcDynamicMethodRegistry.cs— Per-request registry for dynamic method dispatch.Register()stores instances,GetMethodByMessageTag()resolves method + instance with lazy search and static cache. Optimized for small instance counts (array-backed, no List).
Dependencies
| Dependency | Purpose |
|---|---|
AyCode.Core |
Error codes |
AyCode.Core.Server |
Server-side core |
AyCode.Entities |
Entity base classes |
AyCode.Entities.Server |
Server entities |
AyCode.Interfaces |
Interface contracts |
AyCode.Interfaces.Server |
IAcLoggedInModelBase |
AyCode.Models |
Shared models |
AyCode.Services |
TagAttribute for SignalR method tagging |