Base solution for your next web application

Activities of "aprsystem"

OK. I opened that page. But it is not anticipated approach. As i wrote:

  1. Client send message to server and wait for response (or not if is async)
  2. Server receives message, handle it and send response
  3. Client must receive message from server and receive method (same which sent) unlocks (or not if is async)

Client must not wait for messages byc subscription approach.

Still does not work.

Error 404 when trying to open your URL.

I have SignalR Client Hub Connection and call InvokeAsynch method and server receives message in correct way. Then i return response and client hangs on InvokeAsync.

In Asp.Net Signalr (neither core nor abp) this manner works but there was CallAsync method in HubProxy instead InvokeAsync in HubConnection.

Client side:

public async Task<bool> EdytujObszar(int elementId, int obszar)
 {
      bool res = await Connection.InvokeAsync<bool>(EnumTools.GetDescription(MessageTypeEnum.EdytujObszar), elementId, obszar);
      return res;
 } 

Server side:

public class MyHub : OnlineClientHubBase, ITransientDependency, IMyHub
{
    private readonly IHubContext<MyHub> _hubContext;
    (...)

    public bool EdytujObszar(int elementId, int obszar)
    {
         bool result;
         (some logic)
         return result;
    }
    

I would like to receive response from server but InvokeAsync hangs forever. Using On method on client side to subscribe on message does not fulfil my expectations in this scenerio.

I'm using ASP.NET Core. I have several ApplicationServices in one application project and I need to have different addresses for them between /api/services/ and service name.

For example, I have services AaApplicationService BbApplicationService CcApplicationService and I would like to have addresses for them /api/services/app/test1/test11/Aa /api/services/app/test1/test11/Bb /api/services/app/test2/Cc

How to do it?

Oh, pardon me. I've sent the message.

Hello.

We are trying to make ASP.NET Zero work with Firebird 3.0. We found a workaround for unsupported byte/tinyint mapping in Firebird, then we managed to add initial migration and successfully created database schema.

But now we're facing another issue -- when we launch the .Host project, the Firebird provider throws an InvalidOperationException, because apparently ABP is trying to commit a completed transaction ("This transaction has completed and it is no longer usable.").

We have a solution which demonstrates the issue, including the source projects for the EFCore.Firebird and FirebirdSql.Data.FirebirdClient libraries. The only deviation from upstream Firebird libraries is the aforementioned two-line workaround for byte mapping in EFCore.Firebird. When running the code, please use the .Web solution, because the .All one may have some references broken. The initial migration is already present. We also included the generated database (CORETESTDB.FDB). The Firebird 3 server is obviously required, with the WireCrypt feature disabled in server config file. The default db file location is C: root directory, as seen in the connection strings.

As we said, after the database is set up, launching the .Host project results in exception and the Swagger UI fails to load. However, the Abp tables are correctly populated on first launch with default data (AbpLanguages, AbpUsers, etc.).

When we tried catching the exception in FbTransaction.Commit() method (it is thrown by the guard method EnsureCompleted()) and then returning from the catch block, then we were able to reach the Swagger UI. Those exceptions seem to be very frequent. Then we got some other (likely unrelated) issues with SQL parameters generation when trying to log in as Admin with the Angular frontend, but that's another story.

For now, we would like to know if there is anything we can do to avoid the commit exceptions.

Showing 1 to 7 of 7 entries