0
mahuwei created
Maui blazor 项目: program:
public static class MauiProgram {
public static MauiApp CreateMauiApp() {
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.ConfigureFonts(fonts => {
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
});
builder.Services.AddMauiBlazorWebView();
ConfigureConfiguration(builder);
builder.Services.AddApplication<KkdQueuingServiceMauiModule>(options => {
options.Services.ReplaceConfiguration(builder.Configuration);
options.UseAutofac();
});
#if DEBUG
builder.Services.AddBlazorWebViewDeveloperTools();
builder.Logging.AddDebug();
#endif
var app = builder.Build();
var abpApplication = app.Services.GetRequiredService<IAbpApplicationWithExternalServiceProvider>();
abpApplication.Initialize(app.Services);
return app;
}
private static void ConfigureConfiguration(MauiAppBuilder builder) {
var assembly = typeof(App).GetTypeInfo().Assembly;
builder.Configuration.AddJsonFile(new EmbeddedFileProvider(assembly), "appsettings.json", false, false);
builder.Configuration.AddJsonFile(new EmbeddedFileProvider(assembly), "appsettings.secrets.json", true, false);
}
}
module:
[DependsOn(typeof(AbpAutofacModule),
typeof(AbpAutoMapperModule),
typeof(AbpAspNetCoreMvcClientCommonModule),
typeof(AbpAspNetCoreComponentsWebModule),
typeof(AbpIdentityProDomainSharedModule),
typeof(AbpIdentityHttpApiClientModule),
typeof(QueuingServiceHttpApiClientModule),
typeof(AbpHttpClientIdentityModelModule))]
public class KkdQueuingServiceMauiModule : AbpModule {
public override void ConfigureServices(ServiceConfigurationContext context) {
context.Services.AddBlazorWebView();
context.Services.AddTransient<IRemoteServiceHttpClientAuthenticator, KkdRemoteServiceHttpClientAuthenticator>();
ConfigureAutoMapper();
base.ConfigureServices(context);
}
private void ConfigureAutoMapper() {
Configure<AbpAutoMapperOptions>(options => {
options.AddMaps<KkdQueuingServiceMauiModule>();
});
}
}
调用:
@page "/counter"
@using Kkd.QueuingService.Commodities
@using Volo.Abp.DependencyInjection
@inject ICommoditiesAppService CommoditiesAppService
@inject IAbpLazyServiceProvider LazyServiceProvider
@code {
private int _currentCount;
private void IncrementCount() {
_currentCount++;
}
private async Task GetCommoditiesAsync() {
try {
var tenantId = new Guid("3a1a22c2-ccbb-3f27-da9d-6e69edade96b");
var getCommoditiesInput = new GetCommoditiesInput();
// 出错代码
var commodities = await CommoditiesAppService.GetListByTenantAsync(tenantId, getCommoditiesInput);
Console.WriteLine($"Commodities count: {commodities.Count}");
}
catch (Exception ex) {
Console.WriteLine($"Error fetching commodities: {ex.Message}");
}
}
}
- Exception message and full stack trace:
- System.NullReferenceException HResult=0x80004003 Message=Object reference not set to an instance of an object. Source=Volo.Abp.Http.Client StackTrace: 在 Volo.Abp.Http.Client.ClientProxying.ClientProxyBase`1.get_ClientOptions() 在 Volo.Abp.Http.Client.ClientProxying\ClientProxyBase.cs 中: 第 44 行
- Steps to reproduce the issue:
11 Answer(s)
-
0
Hi, can you please check if your problem is the same as in this issue (https://github.com/abpframework/abp/issues/10929)?
-
0
对。
DependsOn(typeof(AbpAutofacModule), typeof(AbpAutoMapperModule), typeof(AbpAspNetCoreMvcClientCommonModule), typeof(AbpAspNetCoreComponentsWebModule), typeof(AbpIdentityProDomainSharedModule), typeof(AbpIdentityHttpApiClientModule), typeof(QueuingServiceHttpApiClientModule), typeof(AbpHttpClientIdentityModelModule))] public class KkdQueuingServiceMauiModule : AbpModule {
-
0
或者自定义的一个类,替换了
ClientProxyBase
?如何实现? -
0
你好
Volo.Abp.Http.Client.ClientProxying.ClientProxyBase 中哪个对象是 null?
如何复现呢?
-
0
- abp new Kkd.App -u blazor-webapp -pwa -sm --separate-tenant-schema -dbms MySQL --no-tests -nkc -nsl -no-gdpr --version 8.3.4
- 手工添加一个Maui Hybrid blazor 客户端
- 调用后台服务
-
0
手工添加一个Maui Hybrid blazor 客户端
你能分享一个项目吗? 我不太确定你的步骤。
liming.ma@volosoft.com
Thanks.
-
0
-
0
请使用https://wetransfer.com/ 分享项目
-
0
hi
Update
MauiProgram
to add.ConfigureContainer(new AbpAutofacServiceProviderFactory(new Autofac.ContainerBuilder()));
will fix theNullReferenceException
namespace Kkd.QueuingService.Maui; public static class MauiProgram { public static MauiApp CreateMauiApp() { var builder = MauiApp.CreateBuilder(); builder .UseMauiApp<App>() .ConfigureFonts(fonts => { fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular"); }) .ConfigureContainer(new AbpAutofacServiceProviderFactory(new Autofac.ContainerBuilder()));
-
0
好了。真郁闷啊。
-
0
: )