budul.CredentialChannelFactory
2.0.0
dotnet add package budul.CredentialChannelFactory --version 2.0.0
NuGet\Install-Package budul.CredentialChannelFactory -Version 2.0.0
<PackageReference Include="budul.CredentialChannelFactory" Version="2.0.0" />
<PackageVersion Include="budul.CredentialChannelFactory" Version="2.0.0" />
<PackageReference Include="budul.CredentialChannelFactory" />
paket add budul.CredentialChannelFactory --version 2.0.0
#r "nuget: budul.CredentialChannelFactory, 2.0.0"
#:package budul.CredentialChannelFactory@2.0.0
#addin nuget:?package=budul.CredentialChannelFactory&version=2.0.0
#tool nuget:?package=budul.CredentialChannelFactory&version=2.0.0
CredentialChannelFactory
A .NET library for secure credential management and WCF channel creation, supporting both .NET 8 and .NET Standard 2.1.
Features
- Secure credential handling with WCF services
- Thread-safe channel factory utilities
- Async/await support with proper cancellation handling
- Configurable SSL certificate validation
- Unit tests included for robust validation
- Cross-platform support via .NET Standard 2.1
Installation
Via NuGet Package Manager
Install-Package CredentialChannelFactory
Via .NET CLI
dotnet add package CredentialChannelFactory
Via PackageReference
Add this to your .csproj
file:
<PackageReference Include="CredentialChannelFactory" Version="1.0.0" />
Quick Start
using CredentialChannelFactory;
// Create factory
using var factory = new Factory<IMyService>(
url: "https://api.example.com/MyService.svc",
userName: "your-username",
password: "your-password");
// Create channel and make service call
var service = factory.Get();
var result = service.GetData("test");
// Clean up
if (service is IClientChannel channel)
channel.Close();
Getting Started
Prerequisites
- .NET 8 SDK or compatible runtime
- Optionally, any environment supporting .NET Standard 2.1
Build from Source
Clone the repository:
git clone https://github.com/yourusername/CredentialChannelFactory.git
cd CredentialChannelFactory
Restore dependencies:
dotnet restore
Build the solution:
dotnet build
Running Tests
To run the included unit tests:
dotnet test
Usage in Your Project
After installing the NuGet package, import the relevant namespaces:
using CredentialChannelFactory;
using System.ServiceModel;
Then use the provided factories and helpers as needed in your WCF client applications.
Configuration
var config = new WcfConfiguration
{
SendTimeout = TimeSpan.FromMinutes(5),
MaxBufferSize = 1024 * 1024,
IgnoreCertificateErrors = false // Never true in production!
};
var endpoint = new WcfEndpoint("api.example.com", 443, "service.svc");
using var factory = new Factory<IMyService>(endpoint, "user", "pass", config);
Contributing
Contributions are welcome! Please open issues or submit pull requests for improvements and bug fixes.
License
This project is licensed under the MIT License.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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 is compatible. 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Microsoft.Extensions.Logging (>= 9.0.8)
- System.ServiceModel.Http (>= 8.1.2)
- System.ServiceModel.Primitives (>= 8.1.2)
-
net8.0
- Microsoft.Extensions.Logging (>= 9.0.8)
- System.ServiceModel.Http (>= 8.1.2)
- System.ServiceModel.Primitives (>= 8.1.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.