Dav.AspNetCore.Server.Extensions.SqlServer 1.0.0

dotnet add package Dav.AspNetCore.Server.Extensions.SqlServer --version 1.0.0
NuGet\Install-Package Dav.AspNetCore.Server.Extensions.SqlServer -Version 1.0.0
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="Dav.AspNetCore.Server.Extensions.SqlServer" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Dav.AspNetCore.Server.Extensions.SqlServer --version 1.0.0
#r "nuget: Dav.AspNetCore.Server.Extensions.SqlServer, 1.0.0"
#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.
// Install Dav.AspNetCore.Server.Extensions.SqlServer as a Cake Addin
#addin nuget:?package=Dav.AspNetCore.Server.Extensions.SqlServer&version=1.0.0

// Install Dav.AspNetCore.Server.Extensions.SqlServer as a Cake Tool
#tool nuget:?package=Dav.AspNetCore.Server.Extensions.SqlServer&version=1.0.0

SqlServer

Installation

Install Dav.AspNetCore.Server.Extensions.SqlServer via dotnet cli or through the package manager provided by your favorite IDE.

> dotnet add package Dav.AspNetCore.Server.Extensions.SqlServer

Getting started

This packages provides both: a property store, as well as a lock manager implementation. Based on what you want add either or both service registrations:

builder.Services.AddWebDav(davBuilder =>
{
    davBuilder.AddLocalFiles(options =>
    {
        options.RootPath = "/tmp/";
    });

    davBuilder.AddSqlLocks(options => options.ConnectionString = "Server=127.0.0.1;Port=5432;Database=webdav;User Id=root;Password=root;");
    davBuilder.AddSqlPropertyStore(options =>
    {
        // This would also allow not defined properties to be accepted
        options.AcceptCustomProperties = true;
        options.ConnectionString = "Server=127.0.0.1;Port=5432;Database=webdav;User Id=root;Password=root;";
    });
});

Schema

The schema needs to be created beforehand, there is no migration on app start.

CREATE TABLE dav_aspnetcore_server_resource_lock
(
    Id varchar(max) NOT NULL,
    Uri varchar(max) NOT NULL,
    LockType INTEGER NOT NULL,
    Owner varchar(max) NOT NULL,
    Recursive bit NOT NULL,
    Timeout BIGINT NOT NULL,
    Issued BIGINT NOT NULL,
    Depth INTEGER NOT NULL
);
CREATE TABLE dav_aspnetcore_server_property
(
  	Uri varchar(max) NOT NULL,
  	ElementName varchar(max) NOT NULL,
  	ElementNamespace varchar(max) NOT NULL,
  	ElementValue varchar(max) NOT NULL
);
Product Compatible and additional computed target framework versions.
.NET 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
1.0.0 139 6/10/2023