|
|
@ -35,7 +35,7 @@ namespace MyCompanyName.MyProjectName |
|
|
typeof(MyProjectNameApplicationModule), |
|
|
typeof(MyProjectNameApplicationModule), |
|
|
typeof(MyProjectNameEntityFrameworkCoreDbMigrationsModule), |
|
|
typeof(MyProjectNameEntityFrameworkCoreDbMigrationsModule), |
|
|
typeof(AbpAspNetCoreSerilogModule) |
|
|
typeof(AbpAspNetCoreSerilogModule) |
|
|
)] |
|
|
)] |
|
|
public class MyProjectNameHttpApiHostModule : AbpModule |
|
|
public class MyProjectNameHttpApiHostModule : AbpModule |
|
|
{ |
|
|
{ |
|
|
private const string DefaultCorsPolicyName = "Default"; |
|
|
private const string DefaultCorsPolicyName = "Default"; |
|
|
@ -57,10 +57,7 @@ namespace MyCompanyName.MyProjectName |
|
|
|
|
|
|
|
|
private void ConfigureCache(IConfiguration configuration) |
|
|
private void ConfigureCache(IConfiguration configuration) |
|
|
{ |
|
|
{ |
|
|
Configure<AbpDistributedCacheOptions>(options => |
|
|
Configure<AbpDistributedCacheOptions>(options => { options.KeyPrefix = "MyProjectName:"; }); |
|
|
{ |
|
|
|
|
|
options.KeyPrefix = "MyProjectName:"; |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private void ConfigureVirtualFileSystem(ServiceConfigurationContext context) |
|
|
private void ConfigureVirtualFileSystem(ServiceConfigurationContext context) |
|
|
@ -71,10 +68,18 @@ namespace MyCompanyName.MyProjectName |
|
|
{ |
|
|
{ |
|
|
Configure<AbpVirtualFileSystemOptions>(options => |
|
|
Configure<AbpVirtualFileSystemOptions>(options => |
|
|
{ |
|
|
{ |
|
|
options.FileSets.ReplaceEmbeddedByPhysical<MyProjectNameDomainSharedModule>(Path.Combine(hostingEnvironment.ContentRootPath, $"..{Path.DirectorySeparatorChar}MyCompanyName.MyProjectName.Domain.Shared")); |
|
|
options.FileSets.ReplaceEmbeddedByPhysical<MyProjectNameDomainSharedModule>( |
|
|
options.FileSets.ReplaceEmbeddedByPhysical<MyProjectNameDomainModule>(Path.Combine(hostingEnvironment.ContentRootPath, $"..{Path.DirectorySeparatorChar}MyCompanyName.MyProjectName.Domain")); |
|
|
Path.Combine(hostingEnvironment.ContentRootPath, |
|
|
options.FileSets.ReplaceEmbeddedByPhysical<MyProjectNameApplicationContractsModule>(Path.Combine(hostingEnvironment.ContentRootPath, $"..{Path.DirectorySeparatorChar}MyCompanyName.MyProjectName.Application.Contracts")); |
|
|
$"..{Path.DirectorySeparatorChar}MyCompanyName.MyProjectName.Domain.Shared")); |
|
|
options.FileSets.ReplaceEmbeddedByPhysical<MyProjectNameApplicationModule>(Path.Combine(hostingEnvironment.ContentRootPath, $"..{Path.DirectorySeparatorChar}MyCompanyName.MyProjectName.Application")); |
|
|
options.FileSets.ReplaceEmbeddedByPhysical<MyProjectNameDomainModule>( |
|
|
|
|
|
Path.Combine(hostingEnvironment.ContentRootPath, |
|
|
|
|
|
$"..{Path.DirectorySeparatorChar}MyCompanyName.MyProjectName.Domain")); |
|
|
|
|
|
options.FileSets.ReplaceEmbeddedByPhysical<MyProjectNameApplicationContractsModule>( |
|
|
|
|
|
Path.Combine(hostingEnvironment.ContentRootPath, |
|
|
|
|
|
$"..{Path.DirectorySeparatorChar}MyCompanyName.MyProjectName.Application.Contracts")); |
|
|
|
|
|
options.FileSets.ReplaceEmbeddedByPhysical<MyProjectNameApplicationModule>( |
|
|
|
|
|
Path.Combine(hostingEnvironment.ContentRootPath, |
|
|
|
|
|
$"..{Path.DirectorySeparatorChar}MyCompanyName.MyProjectName.Application")); |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
@ -93,7 +98,7 @@ namespace MyCompanyName.MyProjectName |
|
|
.AddJwtBearer(options => |
|
|
.AddJwtBearer(options => |
|
|
{ |
|
|
{ |
|
|
options.Authority = configuration["AuthServer:Authority"]; |
|
|
options.Authority = configuration["AuthServer:Authority"]; |
|
|
options.RequireHttpsMetadata = true; |
|
|
options.RequireHttpsMetadata = Convert.ToBoolean(configuration["AuthServer:RequireHttpsMetadata"]); |
|
|
options.Audience = "MyProjectName"; |
|
|
options.Audience = "MyProjectName"; |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
@ -191,14 +196,11 @@ namespace MyCompanyName.MyProjectName |
|
|
app.UseAuthorization(); |
|
|
app.UseAuthorization(); |
|
|
|
|
|
|
|
|
app.UseSwagger(); |
|
|
app.UseSwagger(); |
|
|
app.UseSwaggerUI(options => |
|
|
app.UseSwaggerUI(options => { options.SwaggerEndpoint("/swagger/v1/swagger.json", "MyProjectName API"); }); |
|
|
{ |
|
|
|
|
|
options.SwaggerEndpoint("/swagger/v1/swagger.json", "MyProjectName API"); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
app.UseAuditing(); |
|
|
app.UseAuditing(); |
|
|
app.UseAbpSerilogEnrichers(); |
|
|
app.UseAbpSerilogEnrichers(); |
|
|
app.UseConfiguredEndpoints(); |
|
|
app.UseConfiguredEndpoints(); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |