Я не думаю, что сейчас что-либо существует (предоставлено Microsoft или третьей стороной).
Вы можете попробовать создать реализацию IFileProvider
, используя Google Cloud Storage SDK , доступный в NuGet с пакетом Google.Cloud.Storage.V1
.
Кроме того, я предлагаю вам взглянуть на пользовательскую реализацию IFileProvider
, которая использует хранилище BLOB-объектов Azure для вдохновения. Вы можете прочитать сообщение в блоге здесь и взглянуть на код на GitHub в репозитории filipw/Strathweb.AspNetCore.AzureBlobFileProvider
.
Можно отправить данные как строку xml от набора данных DataSet.GetXml()
И, чем пользователь может десериализовать его с DataSet.ReadXml()
И получите таблицу данных от набора данных DataSet.Tables
Удачи
Если Вы выставляете его как a DataSet
/DataTable
, это сделает свою собственную сериализацию так или иначе (через IXmlSerializable
, IIRC). Отметьте это DataSet
/DataTable
не делайте для хороших типов данных на веб-сервисах, если Вы хотите, чтобы сервис был портативным к другим patforms (т.е. клиент Java, и т.д.). Но можно просто выставить его как таковой, если Вы хотите...;.NET будет иметь дело с переводом.
См. это сообщение Richard Blewett по причинам, почему Вы, вероятно, не хотели бы делать это.
Править: Суммировать вышеупомянутое:
DataSet
не совместимо. Это использует аннотации, которые только имеют смысл, когда каждый конец ссылки использует стек Microsoft.DataSet
довольно неэффективный класс для отправки данных по проводу - это содержит данные отслеживания изменений и метаданные также.Можно передать DataTable по веб-сервису. Таким образом, это - вероятно, Ваш наилучший вариант, becuase, именно это попросил клиент.
Конечно. И DataTable и DataSet являются сериализуемыми, и у них также есть ReadXml () и WriteXml () функции, которые можно использовать, также.
Самое простое и большая часть совместимого пути должны сериализировать набор данных к XML с GetXml () метод, затем передать это как строку от веб-сервиса. Клиент может затем десериализовать его с ReadXml () метод.
Мы использовали сервис, который сделал это этот путь, и это работало отлично.
Альтернатива должна выставить класс DataSet в сервисе и возвратить объект набора данных. Но это усложнит вещи, особенно если каким-либо клиентом должен быть non-.NET.