Skip to content

FileUltimate v9.7.5

Choose a tag to compare

@GleamTech GleamTech released this 26 Sep 22:29
· 11 commits to master since this release

Version 9.7.5 - September 26, 2025

  • Improved: The default value for GleamTechConfiguration.TemporaryFolder will now be [AppData Temporary Folder]
    if current user has read/write access, if not it will be [System Temporary Folder].

    This change is done so that developer is only concerned about write permissions to [AppData Temporary Folder]
    when publishing to production and not system temporary folders such as C:\Windows\Temp.
    This way, everything will be on the table i.e. all generated files (AssemblyResolver files, cache files, log files) will be in a single place.
    Files from old system temporary folder will be migrated/moved to this new location on application startup (if has write access).

    [AppData Temporary Folder] can be different for different environments:

    • For ASP.NET Core apps, the resolved result of ~/App_Data:
      • [AppBase]\wwwroot\App_Data\Temporary
    • For ASP.NET Classic apps, the resolved result of ~/App_Data:
      • [AppBase]\App_Data\Temporary
    • For Console or other non-web apps:
      • [AppBase]\AppData\Temporary

    [System Temporary Folder] can be different for different environments:

    • For ASP.NET Core apps, the result of Path.GetTempPath() which
      depends on "TMP", "TEMP" and "USERPROFILE" environment variables:
      • %WINDIR%\Temp\GleamTech\[AppName]-[AppHash]
      • %LOCALAPPDATA%\Temp\GleamTech\[AppName]-[AppHash]
        (if "Load User Profile" is enabled for AppPool in IIS)
    • For ASP.NET Classic apps:
      • %WINDIR%\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\[AppName]\[AppHash]\GleamTech
      • %WINDIR%\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\[AppName]\[AppHash]\GleamTech
        (if 32-bit AppPool)
      • %LOCALAPPDATA%\Temp\Temporary ASP.NET Files\vs\[AppHash]\GleamTech
        (when debugging in Visual Studio)
    • For Console or other non-web apps, the result of Path.GetTempPath() which
      depends on "TMP", "TEMP" and "USERPROFILE" environment variables:
      • %LOCALAPPDATA%\Temp\GleamTech\[AppName]-[AppHash]
      • %WINDIR%\Temp\GleamTech\[AppName]-[AppHash]
    • For apps running on unix-like platforms:
      • /tmp/GleamTech/[AppName]-[AppHash]
  • Improved: ImpersonationContext is improved to support multi-threads and async threads.
    Ensured ImpersonationInfo and LogonCredential do not lose access tokens (re-cache when necessary).

  • Improved: TemporaryFolder, FileCache and DbProvider will now do two tries for access, if first one fails,
    will try again by reverting possible impersonation.

  • Changed: Removed legacy GleamTechConfiguration.AlphaFileSystemEnabled property.

  • Fixed: FileUploader upload queue was not resuming (or stopping when there was only 1 file) when there was an error
    for current file from the server, e.g. a permission error (Access to the path is denied).
    The UI was stuck displaying "Cancel all" button, where it should be reset to new upload queue mode (stop and hide progress bars).

Included example projects:

  • ASP.NET Core (C#) - Visual Studio 2019+
  • ASP.NET Core on .NET Framework (C#)- Visual Studio 2017+
  • ASP.NET MVC (C#) - Visual Studio 2015+
  • ASP.NET MVC (VB) - Visual Studio 2015+
  • ASP.NET WebForms (C#) - Visual Studio 2015+
  • ASP.NET WebForms (VB) - Visual Studio 2015+