XmlRpc.SourceGenerator
1.0.0
See the version list below for details.
dotnet add package XmlRpc.SourceGenerator --version 1.0.0
NuGet\Install-Package XmlRpc.SourceGenerator -Version 1.0.0
<PackageReference Include="XmlRpc.SourceGenerator" Version="1.0.0" />
paket add XmlRpc.SourceGenerator --version 1.0.0
#r "nuget: XmlRpc.SourceGenerator, 1.0.0"
// Install XmlRpc.SourceGenerator as a Cake Addin #addin nuget:?package=XmlRpc.SourceGenerator&version=1.0.0 // Install XmlRpc.SourceGenerator as a Cake Tool #tool nuget:?package=XmlRpc.SourceGenerator&version=1.0.0
.Net XmlRpc SourceGenerator
Using .Net 6 source generators to create a XML-RPC client. Serialization based on (now defunct) xml-rpc.net.
All you need to do to create a XML-RPC Client is to define the interface and decorate it with [XmlRpcClient]. The source generator will take it from there and implement the client for you.
Examples
The following example will create a class named TestXmlRpcClient
in the namespace TestSourceGenNamespace
.
It will also create an extension method for IServiceCollection, so that it can be added to DI using serviceCollection.AddTestXmlRpcClient()
.
using XmlRpc.SourceGenerator;
namespace TestSourceGenNamespace;
[XmlRpcClient]
public interface ITestXmlRpcClient
{
[XmlRpcMethod("IntegrationManager.testConnect")]
Task<string> TestConnect();
[XmlRpcMethod("IntegrationManager.getWorkshops")]
Task<string> GetWorkshops(string sysnme, string syspwd);
}
Then add it to DI using the extension method that's been generated.
...
services.AddTestXmlRpcClient(options => options.Url = "https://some-test-xml-rcp-server.example");
...
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- Microsoft.Extensions.DependencyInjection (>= 6.0.0)
- Microsoft.Extensions.Http (>= 6.0.0)
- Microsoft.Extensions.Options (>= 6.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Initial release