Westwind.AspNetCore
4.0.7
dotnet add package Westwind.AspNetCore --version 4.0.7
NuGet\Install-Package Westwind.AspNetCore -Version 4.0.7
<PackageReference Include="Westwind.AspNetCore" Version="4.0.7" />
paket add Westwind.AspNetCore --version 4.0.7
#r "nuget: Westwind.AspNetCore, 4.0.7"
// Install Westwind.AspNetCore as a Cake Addin #addin nuget:?package=Westwind.AspNetCore&version=4.0.7 // Install Westwind.AspNetCore as a Cake Tool #tool nuget:?package=Westwind.AspNetCore&version=4.0.7
Westwind.AspNetCore
Utility library providing useful helpers, formatters and extensions for ASP.NET Core
This is a small helper package that provides a number of small helper and extension classes that facilitate common operations in ASP.NET Core and MVC applications.
Installation
You can install the package from NuGet in Visual Studio:
Westwind.AspnetCore Package
PM> install-package westwind.aspnetcore
or the dotnet
command line:
dotnet add package westwind.aspnetcore
Features
MVC Functionality
BaseController and BaseViewModel implementation
A common base controller class that adds support for an auto-initialized BaseViewModel from which other VMs can inherit. Allows for automatic initialization of common features like ErrorDisplay and Base View models.ViewRenderer
Render Razor/MVC view output to a string using a controller context.FormVariable to Object Instance Binder
Request.Form
unbind routine that allows you to unbind form variables into an existing object only updating properties that are are available in the request form context.AppUser ClaimsPrincipal and Cookie Authentication Helper
AAppUser
class that wraps aClaimsPrincipal
and makes it easier to add and retrieve claims as well as easily login and logout all from a single helper object.Bootstrap Alert ErrorDisplay Tag Helper and Controller Support Feature
In most MVC applications you need some sort of error display and this ErrorDisplay TagHelper makes it quick easy to display an Alert box from a customErrorDisplayModel
input. Helper methods likeShowError()
orShowInfo()
onBaseViewModel
make it very easy to display error and informational messages on pages.
Api Functionality
BaseApiController API base class that includes exception trapping and display and can be used with UserState that is passed through requests from Auth tokens or other custom auth mechanism. Similar to BaseControl but optimized for API operation.
ApiExceptionFilter Error Handling and ApiException
A custom API error filter implementation that returns JSON API responses on exceptions. Also provides a standardizedApiExecption
class that can be used to easily throw exceptions that returns specific HTTP response codes.Api Base Response Object
ApiResponse
base class that can be used to return consistent API results that include error status, error message, status code as well as the actual data. Both typed and untyped versions.RawRequest Body String Formatter
API formatter that allows for receiving raw non-json content tostring
andbyte[]
parameters, which otherwise isn't supported by MVC's API implementation. More info in blog post.User Token Manager
Moved to Westwind.Utilities.Data
A database driven token manager that can create, store, validate and manage the life time of short lived generated tokens. Useful for creating tokens that are assigned after an initial authentication and then used for API access.JWT Helper Make it easier to create JWT Tokens in the ASP.NET Auth configuration
General ASP.NET Core
Custom Headers Middleware
Allows adding and removing of HTTP headers to every request using middleware configuration.HttpRequest Extensions
GetBodyStringAsync()
andGetRawBodyBytesAsync()
- retrieve raw Request contentParams()
- Return an item from Form, Query or Session collections.IsFormVar()
- checks to see if a form variable existsIsPostback()
- Checks to see if current operation is a POSTIsLocal()
- Determines whether the current request runs on a local IPGetUrl()
- Returns an absolute Url from a site relative urlUnbindFormVars()
- Unbinds form variables into an object
HttpContext Extensions
SetUserLocale()
- set user local based on browser language or explicitlyMapPath()
- Map a physical path from a virtual path
DataProtector Wrapper
Helper to make it easier to use the DataProtector API to create secure tokens.UserState Helper
The UserState object greatly simplifies working with auth 'cached' token data more easily by storing a single value in a user claim or forms auth ticket that can be easily restored into an typed object. The class supports easily serialization and auto-loading from Claims. Can be extended by subclassing and adding your own values. Integrated with the Base controller classes.
License
The Westwind.Web.MarkdownControl library is an open source product licensed under:
All source code is © West Wind Technologies, regardless of changes made to them. Any source code modifications must leave the original copyright code headers intact if present.
There's no charge to use, integrate or modify the code for this project. You are free to use it in personal, commercial, government and any other type of application and you are free to modify the code for use in your own projects.
Give back
If you find this library useful, consider making a small donation:
<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=BA3NHHFHTMXD8" title="Find this library useful? Consider making a small donation." alt="Make Donation" style="text-decoration: none;"> <img src="https://weblog.west-wind.com/images/donation.png" /> </a>
Update History
Version 4.0
Physically removed UserTokenManager from the package (seev3.20
for initial deprecation).Version 3.20
Removed the UserTokenManager class from this package and moved it into Westwind.Utilities.Data in order to remove the default footprint for the SQL libraries from this package.
Breaking Changes
The structure of the UserTokens table for UserTokenManager
has changed with some additional fields. The table has to be updated to include additional fields. If your DB has write access for the connection string you can delete the table and let it rebuild. Otherwise look at the UserTokenManager.CreateUserTokenSqlTable()
method for the latest structure and SQL statement.
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 is compatible. 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. |
-
net6.0
- System.IdentityModel.Tokens.Jwt (>= 8.0.1)
- Westwind.Utilities (>= 5.0.8)
-
net7.0
- System.IdentityModel.Tokens.Jwt (>= 8.0.1)
- Westwind.Utilities (>= 5.0.8)
-
net8.0
- System.IdentityModel.Tokens.Jwt (>= 8.0.1)
- Westwind.Utilities (>= 5.0.8)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Westwind.AspNetCore:
Package | Downloads |
---|---|
Tyle_Evmos
Package Description |
|
Tyle.Nft
Package Description |
|
TyleCSC
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
4.0.7 | 358 | 8/4/2024 |
4.0.6 | 97 | 7/27/2024 |
4.0.5 | 228 | 7/18/2024 |
4.0.4 | 265 | 6/26/2024 |
4.0.3 | 486 | 4/28/2024 |
4.0.2 | 817 | 2/17/2024 |
4.0.1 | 126 | 2/15/2024 |
4.0.0 | 138 | 2/10/2024 |
3.20.0 | 195 | 2/10/2024 |
3.11.0 | 136 | 2/6/2024 |
3.9.2 | 120 | 1/19/2024 |
3.9.0 | 254 | 11/30/2023 |
3.8.7 | 1,545 | 8/15/2023 |
3.8.5 | 605 | 6/10/2023 |
3.7.0 | 4,083 | 12/12/2022 |
3.6.3 | 709 | 10/6/2022 |
3.6.2 | 520 | 9/18/2022 |
3.6.0 | 459 | 9/11/2022 |
3.5.5 | 2,533 | 7/6/2022 |
3.5.2 | 655 | 6/19/2022 |
3.5.1 | 475 | 6/17/2022 |
3.4.5 | 12,172 | 8/27/2021 |
3.4.3 | 821 | 3/9/2021 |
3.4.2 | 411 | 3/8/2021 |
3.4.0 | 413 | 2/12/2021 |
3.2.15 | 5,654 | 2/25/2020 |
3.2.9 | 1,685 | 6/6/2019 |
3.2.8 | 794 | 5/2/2019 |
3.2.1 | 118 | 2/10/2024 |
3.2.0 | 1,781 | 12/7/2018 |
3.0.38 | 1,055 | 9/6/2018 |
3.0.30 | 961 | 9/2/2018 |
3.0.29 | 1,078 | 7/23/2018 |
3.0.18 | 1,163 | 4/5/2018 |
3.0.15 | 1,034 | 2/18/2018 |
3.0.14 | 1,094 | 2/14/2018 |
3.0.12 | 1,133 | 1/28/2018 |
3.0.11 | 1,083 | 1/26/2018 |
0.1.0 | 1,046 | 10/4/2017 |