we are running anz10 angular .net5 combined
i have been doing webdeploy from visual studio to Azure deployment slot, then moving all of the files from wwwroot/wwwroot/dist/ to wwwroot/wwwroot using filezilla after every deploy. this has been very time consuming. I have tried changing the angular.json outputPath to wwwroot, but that causes errors when trying to publish because several files are then missing. i can change it to any folder name below wwwroot, but not to the actual wwwroot that Azure expects to find the app.
Can the angular project be setup to run from inside the dist folder so that the files don't need to be moved up one folder?
thanks, Red Cedar
Could you provide a follow-up here? We also have "Response already started" littering our log files.
the error message references the following line in Startup.cs
app.Use(async (context, next) => { await next(); if (context.Response.StatusCode == 404 && !Path.HasExtension(context.Request.Path.Value)) { context.Request.Path = "/index.html"; await next(); } });
are there any examples or documentation for having a separate seeders per tenant?
we do have a standard schema across all tenants, but the data is tenant specific. we need a methodology for updating the data in each tenant database when running the backend before the frontend brings up the login screen. that seems like it would be in the seedhelper. I don't want the seedhelper to run against the default host db, it needs to run against the tenant dbs. when my devs are running localhost to their 3 databases (host, tenant1, tenant2) we would want a seedhelper1 to run against tenant1 connectionstring and then run seedhelper2 against tenant2 connectionstring.
Running ANZ10 Angular/Core
we are adding a new tenant to our system. we have a host database and a db for each tenant.
we are using migrations for Code First EF and SeedHelper to maintain some stock metadata.
since the tenants have different data, a migration written for one db won't necessarily be right for another.
is it possible to use migrations for tenant specific db data updates?
a) can a migration be run only for one tenant?
b) how does anz support separate databases per tenant with the db snapshot?
-Rocco-
We are are using ANZ 10.1 Angular/Core combined version deployed to an Azure app service deployment slot.
When we publish changes to the Angular front-end, we occasionally have users stuck in a spinning wheel. Debugging has determined that their front end code was cached for their browser. Having them clear their browser history resolved the issue. Our customer should not have to deal with our application hung up by their users' browser cache. Is there a way to set our ANZ Angular code to not cache the html and ts files?
Thanks, Rocco
We are upgrading ANZ to the latest (v10.4) and updating third party controls as well. The new PrimeNg controls are Angular 12. Will upgrading to Angular 12 break our ANZ solution?
we are using ANZ v10.1 Angular .Net5 combined
I am using localization to handle tenant specific wording translation. we use english for the base site and each tenant has a different default english variant for its default language. I would like to create new languages for each state in the US. Of course, these are not standard language cultures. For example, we could use Eng-CA (Canada) for California, but there is no existing Eng-FL for Florida. So, replacing Eng-BB (Barbados) with our Florida language works, but it would be nicer to have an Eng-FL. these are just examples, having all 50 states would be the goal.
Is this possible?
Thanks
We are using ANZ v10.1 Angular dotNet 5 Combined version.
When we deploy to an Azure AppService Deployment Slot using Visual Studio, the backend API is published to ourdomain\wwwroot. The Angular frontend app is published to wwwroot\wwwroot\dist. Overall, it's about 7000 files being pushed to the cloud. Since the dist folder is not where the files need to be, I then have to use Filezilla to re-upload local wwwroot\wwwroot\dist to Azure wwwroot\wwwroot, or delete the files in Azure wwwroot\wwwroot so that I can move/rename the files from wwwroot\wwwroot\dist up one folder. This is a very time consuming process because the files aren't copied to where they need to be in the first place. On a slow internet day, it has taken a full hour to deploy our application, with much of that time just shuffling the Angular app files to where they belong.
So, is there a more efficient process?
Thanks
or did you mean that the TokenAuthController should just send the LogoutUrl from the configuration file?
thanks
You can return the OpenID connect logout URL on TokenAuthController.cs
I added a string output to the Logout to return the OpenId connect logoutUrl
public async Task<string> LogOut()
I added a call to my previously posted function to get the LogoutUrl
return _openIdConnectAuthProviderApi.SendLogout();
I added a string output to the SendLogout function from above to return the LogoutUrl
public string SendLogout()
Then, handle it on Angular side here in app-auth.service.ts I added a parameter to the XmlHttpRequestHelper.ajax call I added a redirect to the LogoutUrl
XmlHttpRequestHelper.ajax('GET',AppConsts.remoteServiceBaseUrl + '/api/TokenAuth/LogOut',customHeaders,null,
*** (logoutUrl:string) *** => {abp.auth.clearToken();abp.auth.clearRefreshToken();
new LocalStorageService().removeItem(AppConsts.authorization.encrptedAuthTokenName);
if (reload !== false) {if (returnUrl) {location.href = returnUrl;} else {location.href = '';}}
*** location.href = logoutUrl;} ***
I still don't know how to send the request to the external server Logout Endpoint as I asked in both previous questions.
public string SendLogout()
{
var issuer = ProviderInfo.AdditionalParams["LogoutUrl"];
var configurationManager = new ConfigurationManager<OpenIdConnectConfiguration>(
issuer + "/.well-known/openid-configuration",
new OpenIdConnectConfigurationRetriever(),
new HttpDocumentRetriever());
//var validatedTokenResult = await ValidateToken(token, issuer, configurationManager);
***return "THE URL FROM THE LOGOUT REQUEST GOES HERE BUT HOW DO I SEND THE REQUEST?"; ***
}
thank you