Akka.Net - Create a child actor through DI - akka.net

I'm looking for references on how to create a child actor through dependency injection. I've found this example I found in this link:
var actorProps = Context.DI().Props<MyActor>()
But I don't seem to have that extension method available (I'm currently using V1.4.18). In addition to that, The same link has this warning:
There is currently still an extension method available for the actor Context. Context.DI().ActorOf<>. However this has been officially deprecated and will be removed in future versions.
So what is the new and correct way to create child actors via dependency injection?

https://petabridge.com/blog/akkadotnet-dependencyinjection/ - came out in January of this year and the documentation you linked to explains that the new module is Akka.DependencyInjection, which has all of the new methods for doing DI in Akka.NET: https://getakka.net/articles/actors/dependency-injection.html#integrating-with-microsoftextensionsdependencyinjection

Related

INotificationConfiguration does not contain a definition for 'Notifiers'

Im following the aspboilerplate documentation to add a custom email notified as per the example on this page:
https://aspnetboilerplate.com/Pages/Documents/Notification-System#multiple-notifiers
The document states the following:
Add it in the PreInitialize method of your module:
Configuration.Notifications.Notifiers.Add<EmailRealTimeNotifier>();
However i get the following error:
INotificationConfiguration does not contain a definition for
'Notifiers'
Ive tried adding what i think are the obvious using statements but thing has worked
The only extension methods that i can see are for Providers and Distributors which error if i attempt to inject the EmailRealTimeNotifier i created.
Can someone help with an explanation or workarround please.
Thanks in advance
Update to ABP v4.4+ to use multiple notifiers.
v4.4 was released in March.
v4.6 (the latest version) was released in May.

Failure in creation of feature class: Unable to create object class extension COM component

I am working with ArcGIS 10.5, installed on-premise, and are developing our feature class in .NET.
I have an issue with registering feature classes. We have created a Feature Class and registered the DLL through “ESRIRegAsm.exe”, and it appears in ArcCatalog:
Trigger appearing image
But when I try to create the Feature Class, I get the following error:
Failed to create feature class. Unable to create object class extension COM Component
Which isn't very helpful, unfortunately.
The odd thing is, that we have another trigger registered on another Feature Class, that works as expected. And the new trigger is based on a copy of the old trigger's code (with changed GUID's).
The steps I have done so far:
I have tried to add the feature class to the component category using categories.exe.
Registered it using ESRIRegAsm.exe for both Desktop and Engine.
Checked that there are .ecfg config files - and there are.
Checked that the CLSID's appear in the windows registry.
The essential parts of our trigger source-code can be found here: here.
Any help would be greatly appreciated, as we are stuck on this.
Our issue was that our ID's were wrong in the code.
The ClassExtensionCLSID should return the same ID as TriggerExtension has.
Moreover, InstanceCLSID should always return 52353152-891A-11D0-BEC6-00805F7C4268, and should hence not get a new ID.

How to consume a graphql API with Vue

Pretty simple you'd think given the popularity of both, but I am encountering a few hurdles.
I am using scaphold.io to be able to quickly show off a working UI. That is, if Vue can interact with Scaphold.
I have investigated two resources:
https://github.com/kristianmandrup/vue2-apollo-scaphold
Which seems to be a Scaphold production. Tried it. Many, many vague bugs.
Then there is also:
https://github.com/Akryum/vue-apollo
But this is too much. I don't need a server, the server is on Scaphold.
I also tried building the whole thing up by using the tutorial on howtographql, but this one is also outdated.
Ideally I want to instantiate an as up to date Vue 2 app using (I guess) the npm vue-cli, then install only the required apollo (or whatever, but I guess apollo) add-ons that I need. The minimum.
Shouldn't be too hard, I'll figure it out eventually, but some help is more than welcome.
You can consume a graphql api using your favorite regular request module (ajax, fetch, axios). Take the scalphold docs for example, but in the callback do this.vueUserData = body.data.getUser;
instead of
console.log(JSON.stringify(body, null, 2));
(edited to add one gotcha I remembered: if you encounter a problem where the callback doesn't know that this is supposed to be the component, you can do var self = this before the request function, then reference self.vueUserData instead.)

Getting "NotesException: Not implemented" exception while invoking session.getCalendar(string,string)

I am using Lotus Domino 9.0.1.Was using Notes API for Java(Remotely) to get the calendar items.Copied NCSO.jar from server(domino\data\domino\java\NCSO.jar) and given the same as a classpath in my eclipse.But when i try to invoke session.getCalendar(string,string) method it is giving "NotesException: Not implemented" error.
I have a slightly different answer than Richard's. Since Notes & Domino 9.0, the Java Session interface does include a getCalendar method documented here. It's the way you get an instance of NotesCalendar.
However, there are two implementations of Session: 1) The "local" implementation exported by Notes.jar, and 2) the "remote" implementation exported by NCSO.jar. The getCalendar method is only implemented in Notes.jar.
Of course, if you really need to use NCSO.jar, this amounts to the same answer. The "remote" version of Session.getCalendar() is not implemented.
The getCalendar method is not available in the Session class of Notes API for Java. See the API documentation here.
That method is only exposed in the classes for SSJS.

ArcObjects - IWorkspaceExtension and Component Category Registration

I have coded an implementation of IWorkspaceExtension (along with IWorkspaceExtensionControl, which declares the Init method), and registered it in the ESRI Geodatabase Workspace Extensions Component Category. However, when I connect to the Workspace, the Extension is not "Init"ed.
I was able to get the implementation "Init"ed when I register the IWorkspaceExtension with the Geodatabase, but that is not an option because I cannot install the Extension on all clients, only on the one that will use the functionality.
I hope someone can answer in a couple of minutes what I have been struggling with for a couple of days. =D
Thanks.
Did you register it with IWorkspaceExtensionManager.RegisterExtension?
http://resources.esri.com/help/9.3/ArcGISEngine/dotnet/d50974a4-d67a-4cf0-9041-20cdb9f3a052.htm#GDBReg
Keep in mind that without the DLL, or if the DLL crashes, you will not be able to open the workspace. This wouldn't be a problem if ESRI allowed assemblies to be stored in the geodatabase, the way SQL Server does.