Попытка добавить поддержку WebDAV в веб-API ASP.NET Core.C#

Место общения программистов C#
Ответить
Anonymous
 Попытка добавить поддержку WebDAV в веб-API ASP.NET Core.

Сообщение Anonymous »

На сервере я запускаю веб-API ASP.NET Core. Этот API используется приложением и веб-интерфейсом для предоставления необходимой информации. Одной из данных является контактная информация.
Теперь я хочу синхронизировать свою контактную информацию с адресной книгой смартфона без дополнительного приложения. Для этого я выбираю WebDAV.
Проблема в том, что у меня возникают проблемы с расширением веб-API ASP.NET Core с помощью WebDAV из-за пользовательского атрибута HttpAttribute, такого как PROPFIND. Кто-нибудь знает, как добавить WebDAV?
Это мой контроллер:
using Microsoft.AspNetCore.Mvc;

namespace Playground.Controllers
{
[Route("api/webdav")]
[ApiController]
public class WebDAVController : ControllerBase
{
private readonly string _baseDirectory = Path.Combine(Directory.GetCurrentDirectory(), "WebDAVData");

public WebDAVController()
{
// Ensure base directory exists
if (!Directory.Exists(_baseDirectory))
{
Directory.CreateDirectory(_baseDirectory);
}
}

// PROPFIND - Retrieve properties (a simple version)
[AcceptVerbs("PROPFIND")]
public IActionResult Propfind([FromQuery] string path)
{
var fullPath = Path.Combine(_baseDirectory, path ?? "");

if (!System.IO.File.Exists(fullPath) && !Directory.Exists(fullPath))
{
return NotFound();
}

// Return file or folder properties (you can extend this to include more detailed properties)
var fileInfo = new FileInfo(fullPath);

var properties = new Dictionary
{
{ "CreationDate", fileInfo.CreationTime.ToString() },
{ "LastModified", fileInfo.LastWriteTime.ToString() },
{ "Size", fileInfo.Length.ToString() }
};

return Ok(properties);
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/793 ... re-web-api
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»