RavenDB FS 安装使用 介绍

前言

最近项目因为要存储图片和文件,折腾了RavenDB,使用RavenDB的FS系统统一管理图片和文件。

安装

RavenDB 的FS文件系统,需要用到windows的远程差分压缩功能:

安装好之后下载RavenDB的zip包。

解压之后将目录下的Web 文件夹添加到IIS中:

IIS新站点设置完毕之后,接下来需要设置其对应的应用程序池,将版本设置为4.0 的集成模式:

按照官网的要求,还需将 禁用重叠回收设置为True:

设置RavenDB存储文件夹的读写权限,RavenDB的存储文件夹在web.config中:

以上说明RavenDB存储在E:\Raven文件夹中

运行

一切按照完毕,现在在IIS就直接运行,但万事开头难:

以上错误的以上,Raven.Web.Startp和系统的Startup冲突了,在appseting中我们要显示的设置那个class:

<add key="owin:AppStartup" value="Raven.Web.Startup, Raven.Web, Version=3.5.4.0, Culture=neutral, PublicKeyToken=37f41c7f99471593" />

现在设置都完毕,以下就是我RavenDB的 studio界面,因为我已经添加了一些文件,界面和各位的不太一致:

代码上传下载文件

一切准备就绪,现在使用代码来上传文件试试,首先在nuget上获取:

根据官网的文档,IFilesStore 为具体操作的入口,而且是线程安全的,所以建议一个应用程序使用一个IFilesStore,代码如下:

public class FilesStoreHolder
{
    private static readonly Lazy<IFilesStore> store = new Lazy<IFilesStore>(CreateStore);

    public static IFilesStore Store
    {
        get { return store.Value; }
    }

    private static IFilesStore CreateStore()
    {
        IFilesStore fsStore = new FilesStore()
        {
            Url = "http://127.0.0.1:8090",
            DefaultFileSystem = "NorthwindFS"
        }.Initialize();

        return fsStore;
    }
}

然后上传用的接口为IAsyncFilesSession,通过其方法RegisterUpload就可以进行上传操作,具体代码如下:

IFilesStore store = FilesStoreHolder.Store;

using (var session = store.OpenAsyncSession(
    new OpenFilesSessionOptions()
    {
        FileSystem = "NorthwindFS"
    }))
{
    session.RegisterUpload("世界之窗.jpg", File.OpenRead(@"D:\DSCN6900.JPG"));
    await session.SaveChangesAsync();
}

下载的代码通过方法DownloadAsync,其返回是Stream:

using (IAsyncFilesSession session = store.OpenAsyncSession())
{
    using (Stream content = await session.DownloadAsync("世界之窗.jpg"))
    {
        content.CopyTo(new FileStream("aaa.jpg", FileMode.Create));
    }

}

总结

RavenDB的安装配置还算是简单,但还是有些坑需要注意,其api的使用都是异步的,这个在使用过程中也需要稍微注意下。

时间: 2024-08-08 17:46:54

RavenDB FS 安装使用 介绍的相关文章

2.EVE-NG安装过程介绍

文章列表(关注微信公众号EmulatedLab,及时获取文章以及下载链接) 1.EVE-NG介绍(EVE-NG最好用的模拟器,仿真环境时代来临!) 2.EVE-NG安装过程介绍 3.EVE-NG导入Dynamips和IOL 4.EVE-NG导入QEMU镜像 5.EVE-NG关联SecureCRT,VNC,Wireshark 6.EVE-NG网卡桥接,带您走进更高级的实验 7.EVE-NG硬盘扩容,存储海量镜像 8.EVE-NG定制个人镜像,脚本快速导入 9.EVE-NG容纳H3C.Huawei,

mysql 源代码目录及安装目录介绍

1.源代码目录介绍: 1.BUILD    BUILD目录是编译.安装脚本目录,绝大部分以compile-开头,其中的SETUP.sh脚本为C和C++编译器设置了优化选项.2.client    client目录包括常用命令和客户端工具代码,这些源代码文件中包括密码确认功能get_password.c.SSL连接可行性检查.MySQL客户端mysql.cc.mysqladmin工具和mysqladmin用于服务器的运作mysqladmin.c.显示数据库及其表和列的mysqlshow.c等.3.

Redis 的安装配置介绍

redis 是一个高性能的key-value数据库. redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部 分场合可以对关系数据库起到很好的补充作用.它提供了Python,Ruby,Erlang,PHP客户端,使用很方便.问题是这个项目还很新,可能还不足够稳定,而且没有在实际的一些大型系统应用的实例.此外,缺乏mc中批量get也是比较大的问题,始终批量获取跟多次获取的网络开销是不一样的. 性能测试结果: SET操作每秒钟 110000 次,GET操作每秒钟 81

CyanogenMod刷机以及Google Play应用商店安装方法介绍

http://blog.csdn.net/zcynical/article/details/19241595 写在前面: 本文介绍的方法除第一步外,适用于所有CM系统支持的设备,第一步由于用到了PC上的Odin3软件刷入Recovery,因此只适用于三星设备,其他品牌的机器需要另找方法刷入Recovery,之后依然可以使用本文方法进行刷机和安装Google  play等服务. 在刷机前请确保重要信息已经备份,在用Odin3刷入CWM Recovery过程中要避免PC断电或者USB线断开,这样都会

mySQL 教程 第2章 安装和介绍mySQL

第2章 安装和介绍mySQL 设置mySQL字符集 支持中文的字符集是utf8,该设置可以更改mySQL配置文件进行全局设置,也可以针对数据库设置,也可以针对表设置,也可以针对列设置.字符集更改后新插入的数据生效,对以前不生效. 练习1:更改MySQL的默认字符集 直接修改 my.cnf,增加一行内容,然后重启 MySQL,使之全局生效,影响新建的所有数据库. default-character-set = utf8 重启mySQL服务 [email protected]:~# /etc/ini

Visual Studio 2017正式版离线安装及介绍

Visual Studio 2017 RTM正式版离线安装及介绍. 首先至官网下载:https://www.visualstudio.com/zh-hans/downloads/ VS 2017 正式版介绍: https://www.visualstudio.com/zh-hans/vs/whatsnew/ VS 2017 离线模式只离线.NET Core部分: Visual Studio Professional 2017: vs_professional.exe --layout D:\vs

Cloudera Manager (centos)安装详细介绍

文章全部来自:Cloudera Manager (centos)安装详细介绍http://www.aboutyun.com/thread-9190-1-1.html(出处: about云开发) 这里已经有很多关于CDH的文章,此篇虽然不是把所有的问题都描述了.但是整体的过程还算描述的比较清楚.问题导读: 1.安装需要做哪些准备? 2.如何安装CM? 3.如何通过CM安装CDH? 4.CM及CDH安装的过程都包含什么? 相信通过这篇文章大家都对Cloudera Manager及CDH安装有一个整体

Linux lynx的安装和介绍

lynx命令是纯文本模式的网页浏览器.可以在linux命令行模式下直接输入lynx URL访问某个网站, yum安装lynx: yum list | grep lynx ## 有结果返回说明可以用yum安装 yum -y install lynx ## 安装 lynx介绍: lynx - a general purpose distributed information browser for the World Wide Web 语法: lynx [options] [path or URL]

neo4j 图数据库安装及介绍

neo4j 图数据库安装及介绍 一.neo4j图数据库介绍 图数据库,顾名思义就是利用了"图的数据结构来作为数据存储逻辑体现的一种数据库",所以要想学好图数据库当然需要了解一些关于图数据结构的算法!同样的作为图数据结构中很多常用的算法在图数据库中是默认提供支持的,对数据进行查询.计算的操作,比如常见的最短路径算法.pagerank算法等等这些算法,都是图数据结构中常见的算法!当然了neo4j作为一个图数据库当然也会提供这些算法的实现,方便使用者对数据进行操作! 那么图数据结构具体又包含