Learn More, Pay Less!
Limited Time Offer!

Activities of "berkansasmaz"

When I create a solution from scratch, I can see this screen as in the screen below:

However, you have stated that you have updated from ABP 8 to ABP 9. Therefore, in order to better understand your problem, can I ask which template you are using and its details? Also, if there is a method called ConfigureExternalProviders in the module class in the host project of your application, can you send its content?

I think this question and that(#8779) question are the same, so I'll close this one and we can go from there. If you think it's not the same, feel free to open it again.

Hello,

To better understand your question, does the template you are using have a Tiered architecture? I created a non-tiered Blazor Web App project and tried to reproduce the problem, but I had almost no wait time. Below you can see a GIF about this experience.

How can I reproduce the problem through the startup template, what are the steps you have followed for this?

To better understand the problem, I would like to leave some information about Blazor Web App:

A Blazor Web App UI consists of two main projects: Blazor and Blazor.Client:

Blazor: This is actually a Blazor Server project. When the application is first opened in a browser, it runs on the server and renders the initial UI. Communication between the client and the server happens through SignalR, ensuring that UI elements like menus appear without noticeable delay.

Blazor.Client: This functions as a Blazor WebAssembly (WASM) project. After the initial page load, the application begins downloading the .NET runtime into the browser. This process may take some time depending on the internet speed. However, since the UI has already been rendered by the Blazor Server, the user does not experience significant delays. Once the WebAssembly runtime is fully loaded, it seamlessly takes over execution from the Blazor Server, allowing the app to function as a client-side WebAssembly application.

Let us examine your problem in this direction:

When clicking the refresh I can see the full left side menu but didn't see the application logo and the application was blocked I cannot click on any menu.

In this case, if you put Logo only in the Client project's assets, it is very normal that you cannot see it when the page is first loaded. Also, as you can see in the gif I provided, I was not able to reproduce the issue of not being able to click somewhere, I think this problem may be caused by your interactivity selection of components or page. But as I said, I am not sure.

Answer

Hello,

In order to better answer your question, I will ask you which template your application uses and if there is a ConfigureAuthentication method in the module class of the host project of your application, I will ask you to send it to its content.

The problem seems to be related to redirectUri, but I am not completely sure, I am forwarding other answers below that I think may be related to the subject, you can look here:

  • https://abp.io/support/questions/6712/OpendIdConnect-Configuration-with-multitenant-url#answer-3a10dcb3-cabf-fa0e-c374-f50c76e013b8
  • https://abp.io/support/questions/6712/OpendIdConnect-Configuration-with-multitenant-url#answer-3a10ddcb-e5a3-5b16-673d-6e0360262643

Great, I'm glad it worked out.

Happy coding đź‘‹

Hi Berkan, I think you got support from AI while answering my question :) no problem but I find the answer wrong. MySmsSender class is just like EfCoreProductRepository and should not be in domain or application layer. What I asked was can we host it in .HttpApi project, until now we have always progressed by making a separate project. For example BookStore.Integration. I was just wondering if there could be other alternatives before starting my new project. I will continue to host such classes in a new project (module). Thanks anyway.

Yes, I used AI, but if you give AI your question, you will see that you will get very different answers. I explained to AI my thoughts on the subject and asked him to help me create a text that was more descriptive and clean than my views. In short, the thoughts in my answer are my own thoughts but it was the AI that made the wording more descriptive.

As a result, it is obvious that this decision should be made according to your domain, if you think that designing it as a separate integration package will be better for your project in the future, you can proceed in that way.

Hello,

We have updated the microservice template, and you can download the latest microservice solution using the newest version of ABP Studio.

In this updated solution, as you mentioned, AuditLogging has been positioned as a separate service. You will find concrete code examples demonstrating how this has been implemented, which you can use as a reference to apply the same approach to your own solution.

If you encounter any issues or have any questions, feel free to reach out. We’re happy to assist you!

Can you execute abp logout and abp login again in the terminal?

If the problem persists, it would be great if you could send the log of your application and the output of the abp login-info command.

Where Should You Implement ISmsSender?

When deciding where to place your ISmsSender implementation, it’s essential to consider the role of your application layer and domain layer. In Domain-Driven Design (DDD), we typically categorize domain logic into two types:

  1. Core Domain: Business rules that are fundamental and shared across all applications.
  2. Application Domain: Application-specific logic that varies based on the type of client (e.g., web, mobile, third-party API).

How This Applies to Your Scenario?

Let’s say you have a Web Application, and in the future, you plan to build:

  • A Mobile Application with a simplified user experience that doesn’t require all the same functionalities as the web.
  • A Third-Party API where authorization might be handled differently.

In such cases:

  • Each of these would have its own Application layer, because their use cases and workflows differ.
  • However, if a feature (e.g., sending SMS) is universal across all applications, it should belong to the Core Domain (Domain Layer).
  • If the implementation is specific to the Web application (e.g., sending SMS only for web users), then it belongs in the Application layer of that specific project.

Where Should You Implement ISmsSender?

  • If SMS sending is a fundamental part of your business logic and will be used across multiple applications, place it in the Domain Layer.
  • If SMS sending is specific to your current Web Application, and it may have different implementations for mobile or third-party APIs in the future, place it in the Application Layer of your Web project.

This approach helps reduce code duplication and keeps your architecture scalable and maintainable.

Hello, our relevant team member will respond to you as soon as possible.

Showing 71 to 80 of 468 entries
Made with ❤️ on ABP v9.2.0-preview. Updated on February 17, 2025, 05:40