

The complete list of available parameter/property validators are here Public bool ShouldRun(MethodInfo containingMethod, IInjector currentScope) =>ĬurrentScope.Get().GetAssignedRoles(null).Equals(MyRoles.LoggedInUser)

Public class IfLoggedIn : IConditionalValidatior Void ConditionallyValidated( string arg) Void DoSomething( string arg1, object arg2) IgnoreAttribute: Marks the method "remotely invisible".Īspects are also supported. Useful if your module has overloaded methods. There are some control attributes that can be applied on (module) interface methods:ĪliasAttribute: Specifies the alias of the method. Public Calculator(IRequestContext context) => FContext = context ? throw new ArgumentNullException(nameof(context)) į() You can access the request context as a dependency Private readonly IRequestContext FContext Task AddAsync(int a, int b) // async methods also supported
XML RPC CLIENT EXAMPLE GITHUB INSTALL
Since modules are stored in a IServiceCollection you may need to install the Injector.NET package as well.ĭefine an interface and implementation for your module: public interface ICalculator // Since clients may want to use it as well, it may be worth to put this interface into a common assembly If the remote method has a Stream return value (and the invocation was successful) then the content-type is application/octet-stream and the response body contains the raw data."Message": "Exception of type 'System.Exception' was thrown.", "TypeName": "System.Exception,, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e", The result is a wrapped object that contains the actual outcome of the method or the error description: If the remote method has a non Stream return value then the content-type is application/json and the response body contains the (UTF-8) JSON stringified result.The type of response depends on the kind of the result:.The request body is an (UTF-8) JSON stringified array that contains the method arguments. May contain the sessionid and/or custom data (in the query component).Identifies the remote module and method (in the query component).The client sends a HTTP POST to the server where.This documentation refers the version 5.X of the library Name Simple, lightweight RPC implementation for.
