Could you please share a simple project with me? I will check it .thanks.
my email is shiwei.liang@volosoft.com
Hi,
Unfortunately, It can't be done.
You can consider creating a local event handler to subscribe to delete events to publish the DeletedProductEto.
For example:
public class MyHandler
: ILocalEventHandler<EntityDeletedEventData<Product>>,
ITransientDependency
{
public async Task HandleEventAsync(
EntityDeletedEventData<Product> eventData)
{
// Publish DeletedProductEto here.
}
}
Good to see you find a way
Ok.
Hi,
I made a mistake.
Try this:
context.Services.AddStaticHttpClientProxies(
typeof(ContractsModule).Assembly,
"MyService"
);
I have two more questions, Im reviewing class DistributedEventBusBase.cs method protected virtual async Task<bool> AddToOutboxAsync(Type eventType, object eventData) and i cant insert to AbpEventOutbox table values on ExtraProperties column when overriding the method.
I think you can do it without any problem.
var outgoingEventInfo = new OutgoingEventInfo(
GuidGenerator.Create(),
eventName,
Serialize(eventData),
Clock.Now
);
outgoingEventInfo.ExtraProperties["test"] = "value"
My second question, Im working with google protobuff to publish binary messages on Azure Service Bus, using MyAzureDistributedEventBus from previous questions, and casting Etos to proto generated classes before publishing on Azure Service Bus. I dont know if it is possible to instead of working on distributed events with Etos and IEntityEto<TKey> interface, is possible to work with a custom interface or a IMessage interface from google protobuff protocol.
I don't know much about google protobuff protocol, you can give it a try.
Hi,
This is a problem, we will fix it in the next patch version.
Hi,
This article also applies to Angular UI https://community.abp.io/posts/implementing-passwordless-authentication-with-asp.net-core-identity-c25l8koj
You just need to redirect to the angular website in the publicclassPasswordlessController.
For example:
using System;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.Identity;
using Volo.Abp.Identity.AspNetCore;
namespace PasswordlessAuthentication.Web.Controllers
{
public class PasswordlessController : AbpController
{
protected IdentityUserManager UserManager { get; }
protected AbpSignInManager SignInManager { get; }
public PasswordlessController(IdentityUserManager userManager, AbpSignInManager signInManager)
{
UserManager = userManager;
SignInManager = signInManager;
}
public virtual async Task<IActionResult> Login(string token, string userId)
{
var user = await UserManager.FindByIdAsync(userId);
var isValid = await UserManager.VerifyUserTokenAsync(user, "PasswordlessLoginProvider", "passwordless-auth", token);
if (!isValid)
{
throw new UnauthorizedAccessException("The token " + token + " is not valid for the user " + userId);
}
await UserManager.UpdateSecurityStampAsync(user);
await SignInManager.SignInAsync(user, isPersistent: false);
var ngAppUrl = "http://localhost:4200/account/login"
return Redirect(ngAppUrl);
}
}
}
I'm closing this, free open.