Activities of "maliming"

The requested service 'Volo.Abp.Users.IUserRepository`1[[Test.Users.AppUser, Test.Domain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]' has not been registered

Can you resolve IUserRepository< AppUser> service in App Service?

Have you tried upgrading the Blazorise package? Then run abp bundle again.

You can create a new project to check the package version.

hi

We will use netstandard as the target framework of the package as much as possible, but some services of net6 used in Volo.Abp.AspNetCore cannot use netstandard. Contracts package does not have this case.

hi

You can search it on Google. Identity Server is also integrated in the default template.

https://www.codemag.com/Article/2105051/Implementing-JWT-Authentication-in-ASP.NET-Core-5

We will introduce it in the blog.

https://blog.abp.io/abp https://github.com/abpframework/abp/blob/dev/docs/en/Blog-Posts/2021-10-05%20v5_0_Beta1/POST.md

hi

The AbpUserTokens table has nothing to do with user login. It's represents an authentication token for a user.

Maybe you can check if tempkey.rsa exists in your docker?

https://github.com/abpframework/abp/blob/dev/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/tempkey.rsa

hi

The new MyFormController.


using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CsvHelper;
using CsvHelper.Configuration;
using Volo.Abp;
using Volo.Abp.Application.Dtos;
using Volo.Abp.AspNetCore.Mvc;
using Volo.Forms;
using Volo.Forms.Forms;
using Volo.Forms.Localization;
using Volo.Forms.Permissions;
using Volo.Forms.Questions;
using Volo.Forms.Responses;

namespace test.formsurvey.Controllers
{
	[RemoteService(Name = FormsRemoteServiceConsts.RemoteServiceName)]
	[Area("form")]
	[ControllerName("Form")]
	[Route("api/forms")]
	[Authorize(FormsPermissions.Forms.Default)]
	public class MyFormController : AbpController, IFormApplicationService
    {
        protected IFormApplicationService FormApplicationService { get; }

        public MyFormController(IFormApplicationService formApplicationService)
        {
            FormApplicationService = formApplicationService;
            LocalizationResource = typeof(FormsResource);
        }

        [HttpGet]
        public virtual Task<PagedResultDto<FormDto>> GetListAsync(GetFormListInputDto input)
        {
            return FormApplicationService.GetListAsync(input);
        }

        [HttpGet]
        [Route("{id}/responses")]
        public Task<PagedResultDto<FormResponseDetailedDto>> GetResponsesAsync(Guid id, GetResponseListInputDto input)
        {
            return FormApplicationService.GetResponsesAsync(id, input);
        }

        [HttpGet]
        [Route("{id}/responses-count")]
        public Task<long> GetResponsesCountAsync(Guid id)
        {
            return FormApplicationService.GetResponsesCountAsync(id);
        }

        [HttpDelete]
        [Route("{id}/responses")]
        public Task DeleteAllResponsesOfFormAsync(Guid id)
        {
            return FormApplicationService.DeleteAllResponsesOfFormAsync(id);
        }

        [HttpPost]
        [Route("/invite")]
        public Task SendInviteEmailAsync(FormInviteEmailInputDto input)
        {
            return FormApplicationService.SendInviteEmailAsync(input);
        }

        [HttpGet]
        [Route("{id}/download-responses-csv")]
        public async Task<IActionResult> ExportCsvAsync(Guid id, GetResponseListInputDto input)
        {
            var form = await FormApplicationService.GetAsync(id);
            var questions = form.Questions.OrderBy(q => q.Index).ToList();
            var responseList =
                await FormApplicationService.GetResponsesAsync(id, new GetResponseListInputDto
                {
                    Sorting = "id asc"
                });

            var headers = questions.Select(q => q.Title).ToList();
            headers.AddFirst("Date");

            var csvConfiguration = new CsvConfiguration(new CultureInfo(CultureInfo.CurrentUICulture.Name))
            {
                ShouldQuote = (field, context) => true
            };

            using (var memoryStream = new MemoryStream())
            {
                using (var streamWriter = new StreamWriter(stream: memoryStream, encoding: new UTF8Encoding(true)))
                {
                    using (var csvWriter = new CsvWriter(streamWriter, csvConfiguration))
                    {
                        foreach (var header in headers)
                        {
                            csvWriter.WriteField(header);
                        }

                        foreach (var response in responseList.Items)
                        {
                            await csvWriter.NextRecordAsync();

                            var date = response.LastModificationTime ?? response.CreationTime;

                            csvWriter.WriteField(date.ToString("yyyy-MM-dd HH:mm:ss"));

                            foreach (var question in questions)
                            {
                                var questionResponse = response.Answers.FirstOrDefault(x => x.QuestionId == question.Id);

                                csvWriter.WriteField(questionResponse?.Value ?? string.Empty);
                            }
                        }
                    }

                    await memoryStream.FlushAsync();

                    var file = File(memoryStream.ToArray(), "text/csv",
                        $"{form.Title}.csv");

                    return file;
                }
            }
        }

        [HttpPost]
        public virtual Task<FormDto> CreateAsync(CreateFormDto input)
        {
            return FormApplicationService.CreateAsync(input);
        }

        [AllowAnonymous]
        [HttpGet]
        [Route("{id}")]
        public virtual Task<FormWithDetailsDto> GetAsync(Guid id)
        {
            return FormApplicationService.GetAsync(id);
        }

        [HttpPut]
        [Route("{id}")]
        public virtual Task<FormDto> UpdateAsync(Guid id, UpdateFormDto input)
        {
            return FormApplicationService.UpdateAsync(id, input);
        }

        [HttpPut]
        [Route("{id}/settings")]
        public virtual Task SetSettingsAsync(Guid id, UpdateFormSettingInputDto input)
        {
            return FormApplicationService.SetSettingsAsync(id, input);
        }

        [HttpGet]
        [Route("{formId}/settings")]
        public virtual Task<FormSettingsDto> GetSettingsAsync(Guid formId)
        {
            return FormApplicationService.GetSettingsAsync(formId);
        }

        [AllowAnonymous]
        [HttpGet]
        [Route("{id}/questions")]
        public virtual Task<List<QuestionDto>> GetQuestionsAsync(Guid id, GetQuestionListDto input)
        {
            return FormApplicationService.GetQuestionsAsync(id, input);
        }

        [HttpPost]
        [Route("{id}/questions")]
        public virtual Task<QuestionDto> CreateQuestionAsync(Guid id, CreateQuestionDto input)
        {
            return FormApplicationService.CreateQuestionAsync(id, input);
        }

        [HttpDelete]
        [Route("{id}")]
        public virtual Task DeleteAsync(Guid id)
        {
            return FormApplicationService.DeleteAsync(id);
        }
    }
}

hi

Can you share your project with me? liming.ma@volosoft.com

We not block any ip but we will check this.

Can you try to remove protocolVersion?

Showing 9201 to 9210 of 10645 entries
Learn More, Pay Less
33% OFF
All Trainings!
Get Your Deal
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v10.0.0-preview. Updated on September 12, 2025, 10:20