在Windows 10上搭建WebDAV服务器
要在Windows 10上搭建WebDAV服务器,但不想使用IIS
1.使用IIS
Windows操作系统通过WebClient服务为WebDAV协议提供支持。 必须首先启动此服务,以便命令行工具和Windows API功能可以支持指向WebDAV服务器的UNC路径。
sc query webclient
sc start webclient
guide:https://juejin.cn/post/7403165140718125075
2..NET WebDAV Server Library - IT Hit WebDAV Server Engine
WebDAV Server Engine for .NET (收費)
https://www.webdavsystem.com/server/download/
WebDAVServer.FileSystemStorage
https://www.webdavsystem.com/server/server_examples/cross_platform_asp_net_core_file_system/
3. .NET WebDAV Server Library - FubarDev.WebDavServer (not updated)
Open-Source Library
https://github.com/FubarDevelopment/WebDavServer
4. Callback Technologies DAV SDK
5. WebDAV.NET
https://www.showapi.com/news/article/66c1dc4e4ddd79f11a1041be
using Dav.AspNetCore.Server;
using Dav.AspNetCore.Server.Store;
var builder = WebApplication.CreateBuilder(args);
// 1. 注册 WebDAV 服务并配置本地文件存储
builder.Services.AddWebDav(davBuilder =>
{
davBuilder.AddLocalFiles(options =>
{
// 设置WebDAV服务器文件的根路径
options.RootPath = @"C:\WebDAVRoot";
});
// 可选:添加基于内存的锁管理器和XML属性存储
davBuilder.AddInMemoryLocks();
davBuilder.AddXmlFilePropertyStore(options =>
{
options.AcceptCustomProperties = true;
options.RootPath = @"C:\WebDAVMetaData";
});
});
var app = builder.Build();
// 2. 映射WebDAV请求处理路径
app.Map("/dav", davApp =>
{
davApp.UseWebDav();
});
// 3. 可以添加一个简单的欢迎页
app.MapGet("/", () => "WebDAV Server is running. Connect to /dav endpoint.");
app.Run();
using Dav.AspNetCore.Server;
using Dav.AspNetCore.Server.Store;
var builder = WebApplication.CreateBuilder(args);
// 1. 注册 WebDAV 服务并配置本地文件存储
builder.Services.AddWebDav(davBuilder =>
{
davBuilder.AddLocalFiles(options =>
{
// 设置WebDAV服务器文件的根路径
options.RootPath = @"C:\WebDAVRoot";
});
// 可选:添加基于内存的锁管理器和XML属性存储
davBuilder.AddInMemoryLocks();
davBuilder.AddXmlFilePropertyStore(options =>
{
options.AcceptCustomProperties = true;
options.RootPath = @"C:\WebDAVMetaData";
});
});
var app = builder.Build();
// 2. 映射WebDAV请求处理路径
app.Map("/dav", davApp =>
{
davApp.UseWebDav();
});
// 3. 可以添加一个简单的欢迎页
app.MapGet("/", () => "WebDAV Server is running. Connect to /dav endpoint.");
app.Run();