Found my solution to the context error post above.,
you need to add in to moduleNameEntityFrameworkCoreModule.cs
context.Services.AddAbpDbContext<FileManagementDbContext>(options =>
{
/* Remove "includeAllEntities: true" to create
* default repositories only for aggregate roots */
options.AddDefaultRepositories(includeAllEntities: true);
});
Configure<AbpDbContextOptions>(options =>
{
options.Configure<FileManagementDbContext>(c =>
{
c.UseSqlServer(b =>
{
b.MigrationsHistoryTable("__FileManagement_Migrations");
});
});
});
and then create a connection string specifcially called FileManagement.
I've pointed it at the table maintained by my existing DBContext, so hopefully that won't cause any issues down the line.
I can however see the files uploaded by different users:
But I cannot see the API request in the console as expected from the posts above. Could this be because I'm using Blazor Server rather than WASM?
I've also noticed a bug, in which if you re-open the upload box after uploading you get a shadow entry still:
Clicking the Browse button once clears the entry but doesn't open the browse structure.
Thank you for the help so far, finally starting to make progress!
I missed a line for the audience when implementing it, That's now been fixed and the page loads. However, after a few moments it throws a new error:
[file-upload_f2322b15-f]: [10:51:08 ERR] An exception was thrown while activating Volo.FileManagement.EntityFrameworkCore.FileManagementDbContext -> λ:Microsoft.EntityFrameworkCore.DbContextOptions`1[[Volo.FileManagement.EntityFrameworkCore.FileManagementDbContext, Volo.FileManagement.EntityFrameworkCore, Version=7.2.2.0, Culture=neutral, PublicKeyToken=null]].
[file-upload_f2322b15-f]: Autofac.Core.DependencyResolutionException: An exception was thrown while activating Volo.FileManagement.EntityFrameworkCore.FileManagementDbContext -> λ:Microsoft.EntityFrameworkCore.DbContextOptions`1[[Volo.FileManagement.EntityFrameworkCore.FileManagementDbContext, Volo.FileManagement.EntityFrameworkCore, Version=7.2.2.0, Culture=neutral, PublicKeyToken=null]].
[file-upload_f2322b15-f]: ---> Volo.Abp.AbpException: No configuration found for Microsoft.EntityFrameworkCore.DbContext, Microsoft.EntityFrameworkCore, Version=7.0.5.0, Culture=neutral, PublicKeyToken=adb9793829ddae60! Use services.Configure<AbpDbContextOptions>(...) to configure it.
[file-upload_f2322b15-f]: at Volo.Abp.EntityFrameworkCore.DependencyInjection.DbContextOptionsFactory.Configure[TDbContext](AbpDbContextOptions options, AbpDbContextConfigurationContext`1 context)
I assume therefore that it is expecting a specific DB context, but it doesn't say anything about implementing that (https://docs.abp.io/en/commercial/latest/modules/file-management) But following the instructions I have the following:
using Microsoft.EntityFrameworkCore;
using Volo.Abp.Data;
using Volo.Abp.EntityFrameworkCore;
using Volo.FileManagement.EntityFrameworkCore;
namespace DragonsHoard.FileUpload.EntityFrameworkCore;
[ConnectionStringName(FileUploadDbProperties.ConnectionStringName)]
public class FileUploadDbContext : AbpDbContext<FileUploadDbContext>
{
public FileUploadDbContext(DbContextOptions<FileUploadDbContext> options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
builder.ConfigureFileUpload();
builder.ConfigureFileManagement();
}
}
Why isn't it using the context I have set up, and how do I repoint it to use the context I have? If I can't, do I need to set up a second context for the prebuilt?
In case it becomes relevant at all / later I've got it set to push files to DB at the moment.
public override void ConfigureServices(ServiceConfigurationContext context)
{
context.Services.AddAutoMapperObjectMapper<FileUploadApplicationModule>();
Configure<AbpAutoMapperOptions>(options =>
{
options.AddMaps<FileUploadApplicationModule>(validate: true);
});
Configure<AbpBlobStoringOptions>(options =>
{
options.Containers.ConfigureDefault(c =>
c.UseDatabase());
options.Containers.Configure<FileManagementContainer>(c =>
{
c.UseDatabase(); // You can use FileSystem or Azure providers also.
});
});
}
a)
Please check the permissions of admin user. Please check the logs of api&authserver.
b)
it returns a fault
Please share the details logs.
c)
I guess you need update it yourself. The suite can't handle the microservice very well.
d)
You can override the application services of FM module. See the API request on browser console.
e)
See the file uploda request on browser console.
I suggest you consider upgrading your license to get the source code of the modules.
: )
a) Dropbox link for Auth Logs:https://www.dropbox.com/s/05epchpbe8cfhta/Auth-Server-Logs.txt?dl=0 Dropbox link for File Upload Logs: https://www.dropbox.com/s/5z70tgyme3kqmnn/File-Upload-Logs.txt?dl=0
b)
[blazor_d73061ee-6]: [16:12:49 FTL] DragonsHoard.Blazor terminated unexpectedly! [blazor_d73061ee-6]: Volo.Abp.AbpInitializationException: An error occurred during ConfigureServicesAsync phase of the module Volo.Abp.AspNetCore.Components.WebAssembly.AbpAspNetCoreComponentsWebAssemblyModule, Volo.Abp.AspNetCore.Components.WebAssembly, Version=7.2.1.0, Culture=neutral, PublicKeyToken=null. See the inner exception for details. [blazor_d73061ee-6]: ---> System.InvalidOperationException: Could not find singleton service: Microsoft.AspNetCore.Components.WebAssembly.Hosting.WebAssemblyHostBuilder, Microsoft.AspNetCore.Components.WebAssembly, Version=7.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60 [blazor_d73061ee-6]: at Microsoft.Extensions.DependencyInjection.ServiceCollectionCommonExtensions.GetSingletonInstance[T](IServiceCollection services) [blazor_d73061ee-6]: at Microsoft.Extensions.DependencyInjection.AbpWebAssemblyServiceCollectionExtensions.GetHostBuilder(IServiceCollection services) [blazor_d73061ee-6]: at Volo.Abp.AspNetCore.Components.WebAssembly.AbpAspNetCoreComponentsWebAssemblyModule.ConfigureServices(ServiceConfigurationContext context) [blazor_d73061ee-6]: at Volo.Abp.Modularity.AbpModule.ConfigureServicesAsync(ServiceConfigurationContext context) [blazor_d73061ee-6]: at Volo.Abp.AbpApplicationBase.ConfigureServicesAsync() [blazor_d73061ee-6]: --- End of inner exception stack trace --- [blazor_d73061ee-6]: at Volo.Abp.AbpApplicationBase.ConfigureServicesAsync() [blazor_d73061ee-6]: at Volo.Abp.AbpApplicationFactory.CreateAsync[TStartupModule](IServiceCollection services, Action 1 optionsAction) [blazor_d73061ee-6]: at Microsoft.Extensions.DependencyInjection.ServiceCollectionApplicationExtensions.AddApplicationAsync[TStartupModule](IServiceCollection services, Action 1 optionsAction) [blazor_d73061ee-6]: at Microsoft.Extensions.DependencyInjection.WebApplicationBuilderExtensions.AddApplicationAsync[TStartupModule](WebApplicationBuilder builder, Action 1 optionsAction) [blazor_d73061ee-6]: at DragonsHoard.Blazor.Program.Main(String[] args) in C:\Users\slink\source\repos\Nezuban\DragonsHoard\apps\blazor\src\DragonsHoard.Blazor\Program.cs:line 27
c) I have updated the ocelot to include the file-management url's.
d & e) Could I have a link to this please?
While I'd love to upgrade to get access to the source code, and believe me it's pretty high on our priorites as we know how much not having it is hurting our ability to support ourselves on this, it's just not possible for our startup to get that sort of funding together. We pulled together for the individual commercial licence because we was hoping that the three modules we really needed would function out of the box. So far one has.
We want to, Don't get me wrong. The additional developer seat alone would help us out immensely, but $6k is just way beyond us right now.
Thank you, I'll update the JSON and see if that resolves the issue!
@Alper, The first thought I had was to try and remove and re-add the project, hence the date is so far apart - it was initially added alongside the product and identity service etc.
https://support.abp.io/QA/Questions/5072/File-Management-implementation-issues-and-questions
https://support.abp.io/QA/Questions/5071/Authentication-token-duration-Desync-redirecting-after-expiriation
https://support.abp.io/QA/Questions/5070/ABP-Suite-not-identifying-version--hanging-when-updating
I've split them out as requested.
Hi Navneet,
Thank you for posting this, it's helped me with an issue I have as well. For the broken Icons, I found if you goto the Default.cshtml and edit the lines near the bottom (and beware the horrible formatting of this editor):
@if (Model.UserMenu != null)
{
foreach (var menuItem in Model.UserMenu.Items)
{
var url = string.IsNullOrEmpty(menuItem.Url) ? "#" : Url.IsLocalUrl(menuItem.Url) ? Url.Content(menuItem.Url.EnsureStartsWith('~')) : menuItem.Url;<li class="outer-menu-item">
<a class="lpx-menu-item-link lpx-menu-item @menuItem.CssClass" href="@url" target="@menuItem.Target" id="@menuItem.ElementId">
<span class="lpx-menu-item-icon"><i class="lpx-icon bi @menuItem.Icon" aria-hidden="true"></i></span>
<span class="lpx-menu-item-text hidden-in-hover-trigger">@menuItem.DisplayName</span>
</a>
</li>
}
}
and remove the "bi" from the icons, it will load correctly. My line is:
@if (Model.UserMenu != null)
{
foreach (var menuItem in Model.UserMenu.Items)
{
var url = string.IsNullOrEmpty(menuItem.Url) ? "#" : Url.IsLocalUrl(menuItem.Url) ? Url.Content(menuItem.Url.EnsureStartsWith('~')) : menuItem.Url;<li class="outer-menu-item">
<a class="lpx-menu-item-link lpx-menu-item @menuItem.CssClass" href="@url" target="@menuItem.Target" id="@menuItem.ElementId">
<span class="lpx-menu-item-icon"><i class="lpx-icon @menuItem.Icon" aria-hidden="true"></i></span>
<span class="lpx-menu-item-text hidden-in-hover-trigger">@menuItem.DisplayName</span>
</a>
</li>
}
}
6 hours ago a comment was made "we will fix it today" 30 minuites ago they commented that it was fixed,
https://support.abp.io/QA/Questions/4527/error-NU1101-Unable-to-find-package-Voloxxxx-No-packages-exist-with-this-id-in-sources
Critical outage total time to repair: ~22 hours.
My solution is now updating, as is ABP Suite.