We are wondering why some projects are .NET standard and others .NET 6.
We think we need make references from Application to several .NET 6 projects, we can off course 'upgrade' the Module 'Application' project to .NET 6 but we're not sure why it is a .NET standard project and what the consequences of this upgrade would be.
Are the .NET standard projects there for compatibility reasons, so they can be referenced by other type of solutions or platforms ?
Can you explain the reason behind that?
Kind regards, Jurjen.
Module:
Application .NET standard
Application.Contracts .NET standard
Blazor .NET 6.0
Blazor.WebAssembly .NET 6.0
Domain .NET standard
Domain.Shared .NET standard
EntityFramework .NET 6.0
HttpApi.Client .NET standard
HttpApi .NET 6.0
Application:
Application .NET 6.0
Application.Contracts .NET standard
Blazor .NET 6.0
DbMigrator .NET 6.0
Domain .NET 6.0
Domain.Shared .NET standard
EntityFramework .NET 6.0
HttpApi .NET 6.0
HttpApi.Client .NET standard
HttpApi.Host .NET 6.0
thank you. I'll look into that.
If you're creating a bug/problem report, please include followings:
We'd like to be able to, on the fly, retrieve an object from DI/IOC. In our situation it's not possible to do this through injection in the class constructor.
With ASP.NET Zero we could use IocManager.Resolve<type>
Is something similar possible with ABP.IO
kind regards, Jurjen.
Yes, that works !! :-D Thank you!
Hi,
The code does not work.
Looking at the gitbhub link, I see that
Response.HasStarted
has not been added to the 'if' statement.
if (context.HttpContext.Response.StatusCode == (int)HttpStatusCode.OK && context.HttpContext.Response.HasStarted == false && // <-- this one context.Result == null) {
Goodmorning Maliming,
Thanks for you quick response :-) I have added the code to the solution.
The AbpNoContentActionFilter class from your response needs to be MyNoContentActionFilter?
When running the code I still get the exception.
When I remove the code from OnActionExecutionAsync(...) which sets the Response.Statuscode, then the exception does not occur.
Is that correct ?
public class MyNoContentActionFilter : IAsyncActionFilter, ITransientDependency
{
public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
{
await next();
}
}
When you correct this in a next release will this be mentioned in the release notes? So we can remove this custom code from our solution ?
Good afternoon,
We’re experiencing some problems when using CSLA.NET (https://cslanet.com/)with your product (commercial).
In project HttpApi.Host we are using a DataPortalController (api-controller) wich does NOT inherit from AbpController. This controller can be used from various clients to retrieve Csla-businessobjects.
We’ve been prototyping this in the beginning of Q2 using ABP.IO v4.3 and back then it worked fine.
Last week we picked up where we left of in April and for some reason it doesn’t work anymore. We’re getting errors in the HttpApi.Host project (see Error-StackTrace in logs.txt below)
We’ve spent several days chasing this problem and we think there’s some middleware or ‘hook’ into the http pipeline which tries to change something in the response.
We’ve isolated the CSLA.NET in a separate solution, not using ABP.IO, just a regular WebApi Core project in combination with a regular Blazor client and that works fine. We think that there’s something in the ABP http-pipeline causing this. Maybe it’s the ABP-Auditing? (We tried to disable auditing for this controller with [DisableAuditing] attribute but that doesn't seem to make a difference, still throws an exception)
We were wondering if you could help us in locating the problem (and resolving the problem) as you’re far more familiar with how http works in ABP.IO.
Flow:
[BlazorClient] BusinessObject Person
[BlazorClient] Person.Get(23) // Get person where Id =23
[BlazorClient] Remote DataPortal is called over http https://localhost:<port>/DataPortal
[HttpApi] Call is received, Fetch is called on BusinessObject Person
[HttpApi] Normally the Fetch will do a DB call but in this example we just fill properties with
some fixed values.
[HttpApi] When the response is sent/returned from the DataPortal to the requesting client it
seems that there is ‘something’ wich interveens and somehow causes a problem.
As you can see in the log (in StepsToReproduce.PDF), the controller-method PostAsync is successful after wich something is done resulting in ‘Added 0 entity changes to the current audit log’ (twice) and the an exception occurs.
As we cannot attach files I've created a weTransfer link : <Removed> This download contains the example code + database backup and StepsToReproduce.PDF If the link has expired, please contact me via info@idas.nl for a new link of I can send the files to you directly.
Please don't hesitate to contact me if you cannot reproduce the problem or if you're having questions.
Kind regards
Jurjen de Groot Idas BV
I'm looking into creating some BackgroundJobs. How to create them and how to use the args is pretty straight forward I guess but it's not clear to me in wich (application or module) project the backgroundjobs should be created.
I guess not in the UI, EF or DB-related projects, but could you indicate for application and for module where to create these classes ?
Application
Application.Contracts
Domain
Domain.Shared
HttpApi
HttpApi.Client
{Application}.HttpApi.Host
I have read the documentation and see examples of how to use and enqueue the job but WHERE to create these jobs is not in the documentation. Maybe this could be added to the documentation for future use?
Kind regards, Jurjen.
https://docs.abp.io/en/abp/latest/Background-Jobs https://docs.abp.io/en/abp/latest/Modules/Background-Jobs (= TODO)
maliming,
Thanks, I got this to work.
OnLogOutSucceeded/OnLogInSucceeded are now caught :-)
I have added this 'Authentication.razor' component to my PROJECT.Blazor project. Then I added the Authentication component to my index.razor (her on line 9)
@page "/"
@inherits appFileManagerComponentBase
<div class="row entry-row">
<div class="col-auto">
<h1 class="content-header-title">Welcome to appFileManager!</h1>
</div>
</div>
<Authentication /> // <---- Authentication Inserted here ---->
<Card>
<CardBody>
<h2>
The Tutorial
</h2>
<p>
See the <a href="https://docs.abp.io/en/commercial/latest/tutorials/book-store/part-1?UI=Blazor" target="_blank">Web Application Development Tutorial</a> to learn how to develop
web applications with the ABP Commercial and the Blazor UI.
</p>
</CardBody>
</Card>
However, I'm getting the follwing error
-- Unhandled exception rendering component: Invalid action ''.
I have tried putting 'Login' in action but then the login page is automatically shown and not the index page. Also when I do login, the event 'OnLogInSucceeded' seems to be fired many times...
I'm not sure how proceed from here ...