DSoft.Portable.WebClient.Grpc.Encryption.Tools 5.1.2508.31

dotnet add package DSoft.Portable.WebClient.Grpc.Encryption.Tools --version 5.1.2508.31
                    
NuGet\Install-Package DSoft.Portable.WebClient.Grpc.Encryption.Tools -Version 5.1.2508.31
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DSoft.Portable.WebClient.Grpc.Encryption.Tools" Version="5.1.2508.31">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="DSoft.Portable.WebClient.Grpc.Encryption.Tools" Version="5.1.2508.31" />
                    
Directory.Packages.props
<PackageReference Include="DSoft.Portable.WebClient.Grpc.Encryption.Tools">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add DSoft.Portable.WebClient.Grpc.Encryption.Tools --version 5.1.2508.31
                    
#r "nuget: DSoft.Portable.WebClient.Grpc.Encryption.Tools, 5.1.2508.31"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package DSoft.Portable.WebClient.Grpc.Encryption.Tools@5.1.2508.31
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=DSoft.Portable.WebClient.Grpc.Encryption.Tools&version=5.1.2508.31
                    
Install as a Cake Addin
#tool nuget:?package=DSoft.Portable.WebClient.Grpc.Encryption.Tools&version=5.1.2508.31
                    
Install as a Cake Tool

Portable Web Client

Cross platform web client framework for calling ASP.NET Core RESTful Web Apis and gRPC services

Functionality

The libary provides low level, bootstrapped base classes to simplify the building of client libraries for use with ASP.NET Core Web Apis and now gRPC services too.

  • Base web service client classes for RESTful Web APIs and gRPC service clients
    • Core Web Client functionality
    • Stores Url
    • Can check for connectivity
    • Stores Default Timeout
    • Supports gRPC fpr Web
  • Base service client classes for both RESTFul and Grpc services
    • Handles RestClient and Grpc channel management functionality
    • Helper methods for Get and Post method calls
    • Simplifies calls to the services
  • Base request and response classes
  • Generic methods and extensions for calling RESTful Web APIs
  • Secure request and response classes using a SecurePayload
  • Integrated encryption, with abiltiy provide override with custom implementations.
    • Uses 256-bit AES encryption by default

V3.x and abovew breaking changes

With the move to v3 some of the classes have been renamed and moved into different packages, such as ServiceClientBase which now exists in DSoft.Portable.WebClient.Rest and is now named RestServiceClientBase.

Encryption changes

v3.0 only!
You know have to set an InitVector key of your own on EncryptionProviderFactory before encrption and decryption will function.

v3.1 and Above
In v3.1 and above the InitVector key is passed explicilty to the IEncryptionProvider implementation when returned by EncryptionProviderFactory.Build. This allows for calls to multiple services using multiple IVs. Check out the test harness for an example.

v5.0 and Above
IWebClient has been removed and now constructors for GrpcServiceClientBase and RestServiceClientBase receive GrpcClientOptions and RestApiClientOptions to provide configuration data.

Build status

Build Status

Packages

Platform/Feature Package name Stable Beta
Core DSoft.Portable.WebClient.Core NuGet NuGet
Encryption DSoft.Portable.WebClient.Encryption NuGet NuGet
Grpc DSoft.Portable.WebClient.Grpc NuGet NuGet
Grpc Encryption DSoft.Portable.WebClient.Grpc.Encryption NuGet NuGet
Grpc Encryption Build Tools DSoft.Portable.WebClient.Grpc.Encryption.Tools NuGet NuGet
Rest DSoft.Portable.WebClient.Rest NuGet NuGet
Rest Encryption DSoft.Portable.WebClient.Rest.Encryption NuGet NuGet
Rest Extensions DSoft.Portable.WebClient.Rest.Extensions NuGet NuGet
EF Core Security Entities DSoft.Portable.Server.Security.Core NuGet NuGet
EF Core Secure Database contexts DSoft.Portable.EntityFrameworkCore.Security NuGet NuGet

Version History (from 4.0)

  • Version 5.1.0
    • Moved version number from RestApiClientOptions to abtract property of RestServiceClientBase
    • Added IDisposable to RestServiceClientBase
  • Version 5.0.0
    • Cleanup of API
    • Removal of IWebClient
  • Version 4.1.0
    • Updtated to the latest packages
  • Version 4.0.0
    • Added support for .NET 8.0
    • Removed EF Core libraries
    • Updated to last RestSharp
    • Improved support for Dependency Injecting GrpcClientOptions
    • Added custom HttpHandler to GrpcClientOptions
    • Cleaned up GrpcChannelManager code and add support for the custom HttpHandler in GrpcClientOptions
      • This works great for Testing you Grpc Services with WebApplicationFactory
    • Updated AesEncryptionProvider to use Aes.Create
    • Added Unit Test sample
There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

  • .NETStandard 2.0

    • No dependencies.
  • net8.0

    • No dependencies.
  • net9.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
5.1.2508.31 96 8/3/2025
5.0.2507.271 102 7/27/2025
5.0.2507.61 139 7/6/2025
5.0.2502.191-prerelease 103 2/19/2025
5.0.2502.41-prerelease 97 2/4/2025
5.0.2501.281-prerelease 105 1/29/2025
5.0.2501.272-prerelease 92 1/27/2025
4.1.2411.191 175 11/19/2024
4.1.2405.21 145 5/2/2024
4.0.2312.111 301 12/12/2023
4.0.2312.71 263 12/7/2023
3.2.2302.221 430 2/22/2023
3.1.2204.241 903 4/24/2022
3.1.2204.221 547 4/22/2022
3.1.2204.51 556 4/5/2022
3.1.2112.232 411 12/23/2021
3.1.2112.231 386 12/23/2021
3.0.2112.72-prereleaae 426 12/7/2021
3.0.2109.261-prereleaae 339 9/26/2021
3.0.2108.201 577 8/21/2021
3.0.2108.62-prerelease 271 8/6/2021
3.0.2108.61-prerelease 316 8/6/2021
3.0.2108.21-prerelease 297 8/2/2021
3.0.2107.201-prerelease 328 7/20/2021
3.0.2107.64-prerelease 404 7/6/2021
3.0.2107.63-prerelease 345 7/6/2021
3.0.2107.61-prerelease 308 7/6/2021
3.0.2107.51-prerelease 327 7/5/2021
3.0.2107.42-prerelease 403 7/4/2021
3.0.2107.41-prerelease 414 7/4/2021

v3.1 - Release