Base solution for your next web application
Starts in:
01 DAYS
01 HRS
01 MIN
01 SEC

Activities of "fupanda"

If there is a possibility to do it automatically I sure want to know. I always upgrade as follows: Assuming you have all checked in to source control (we use tfs)

  • Copy all files from the new version to your workspace, overwrite the existing files
  • Go to source control and compare and merge project files. To do this in an easy way, you have to unload the project from the solution.
  • When project files merged, the source control connection is also restored
  • You have to walk trough all files, but you will see in vs if you need to compare a file, because of the source control icon
  • In vs you have to check the "show all files" In solution explorer. In that way you will see if you missed files you have to add
  • When done, build your solutions and all new NuGet packages are downloaded. If not, you kan do in manually.
  • After that make a backup of your database and upgrade your database with package manager console. You may have to create a new migration.

It took me 3 hours to upgrade. But good testing is very hard and takes a lot of time.

Hopefully this will help you, good luck!

When testing our application we ran into the problem that we couldn't register as a new user or reset the password. Looks like the Register.js and ResetPassword.js are cousing the trouble. These files are coming with the download on <a class="postlink" href="https://aspnetzero.com/Download">https://aspnetzero.com/Download</a>. If I compare sources on github there is a difference

  • <a class="postlink" href="https://github.com/aspnetboilerplate/module-zero-template/tree/master/src/AbpCompanyName.AbpProjectName.WebMpa/Views/Account">https://github.com/aspnetboilerplate/mo ... ws/Account</a>
  • <a class="postlink" href="https://github.com/aspnetzero/aspnet-zero/tree/dev/src/MyCompanyName.AbpZeroTemplate.Web/Views/Account">https://github.com/aspnetzero/aspnet-ze ... ws/Account</a> When I use the code from the first url it does work, what is the right code to use and why is the standard code downloaded not working?

Update: The PasswordComplexityHelper is causing the problems. Also if the password meets the requirements it will never submits the form. If I delete the _passwordComplexityHelper code from the javascript files everything works fine, except for the check on the password complexity of course. I think the problem is in

jQuery.validator.addMethod("passwordComplexity", function (value, element) {

there is a rule

if (setting.useUpperCaseLetters && !/[a-z]/.test(value)) {
                        return false;
                    }

This always gives false and that's why it never submits. I think it should be

if (setting.useLowerCaseLetters && !/[a-z]/.test(value)) {
                        return false;
                    }

Also if you don't configure the maxlength or min length this also goes wrong, because it compares it with zero. Of course this is always true

if (value.length < setting.minLength) {

and because of that it always give a validation error.

Thanks for the response, I think your right.

I ended up with the following code and this work fine, but is it the right way to do it?

[AbpAuthorize(AppPermissions.Pages_Tenant_Projects_Schedules_Edit)]
        protected virtual async Task UpdateProjectSchedules(CreateOrUpdateProjectScheduleInput input)
        {
            await _projectValidationManager.ValidateProjectDefaults(input.ProjectId);
            await _projectScheduleValidationManager.ValidateUpdateProjectSchedule(input);

            var existingProjectSchedule = await _scheduleRepository.GetAsync(input.Id.Value);
            existingProjectSchedule = Mapper.Map<CreateOrUpdateProjectScheduleInput, ProjectSchedules>(input, existingProjectSchedule);
        }

Hi,

Thank you for your reply. Getting the record first will work, but getting records before every update is an expensive database call. Especially when a lot of users use the application and do a lot of updates and it seems not really necsessary. I saw in debug mode that tenantId becomes 0 when doing the mapping, this is ok since it doen's know what value it should be. The strange thing is that it worked in an earlier release, and also it works with a create. Also in that case the tenantId becomes 0 when a mapping is done. Abp framework checks if it is empty or zero and adds the tenantid with the one from session.

We also have the same issue. We also using S1 from Azure. Warm up time is slow, after warmup it runs very well, but if de website is ide for about 1 min it is very slow again. I'm also curious if there is a tweak for this.

Hi Ismcagdas,

The problem still exists, but we solved it by setting the tenantId with the one from the session. But I don't think this is a nice solution. I think the tenantid is not set anymore in de abp filtering for updates. I just upgraded to the latest version 1.0.0

var projectDelivery = input.MapTo<ProjectDeliveries>();
            projectDelivery.TenantId = AbpSession.TenantId.Value;
            
            return await _deliveriesRepository.UpdateAsync(projectDelivery);

We don't use the database per tentant functionality. It also doesn't clarify why it does work with a get or create.

After upgrading to the latest version of ABP we have a problem when updating a record the tenantId becomes 0 and records will not be visible in the application anymore. When getting or creating records there is no problem, only when updating a record.

Here is some example code we use to update a record. Before the upgrade this code worked fine!

[AbpAuthorize(AppPermissions.Pages_Tenant_Projects_Deliveries_Edit)]
        private async Task<ProjectDeliveries> UpdateProjectDelivery(CreateOrUpdateProjectDeliveryInput input)
        {
            await _projectValidationManager.ValidateProjectDefaults(input.ProjectId);
            await _deliveryValidationManager.ValidateUpdateProjectDelivery(input);

            var projectDelivery = input.MapTo<ProjectDeliveries>();
            return await _deliveriesRepository.UpdateAsync(projectDelivery);
        }

Thanks ismcagdas, I didn't knew there was a logfile for that. When opening the logfile the problem was immediately clear. "Only one complex type allowed as argument to a web api controller action". Strange thing is that I didn't change that code and sometimes it worked and sometimes it didn't.

You have made up my day!!!

After changing some frontend code which has nothing to do with webapi's I get error messages in the browser

  • failed to load recources api/AbpServiceProxies/GetAll
  • Cannot read property 'app' of undefined in _header.js where abp.services.app.userLink; is not recognized

Already tried to rebuild the whole solution but no effect. It's driving me nuts!

Showing 21 to 30 of 32 entries