DNX使用Mono库运行iBoxDB与Nancy

在上一篇文章中介绍了使用 dnxcore5 运行iBoxDB, 但如果使用了其它不支持dnxcore5的组件,会出现如下提示

/dnxcore/project.json(19,27): error NU1002: The dependency Nancy 1.4.3 does not support framework DNXCore,Version=v5.0.

Nancy是一个实用的.NET Web框架,简单对它自带的服务器进行了一个请求测试,平均第秒可以处理2000个请求,也就是一天可以处理一亿个请求,这个性能对大部分网站已经足够,但当前它还不支持dnxcore。

这时可以更改运行环境配置,把DNX的 "frameworks":{ "dnxcore5"... } 换为  "frameworks":{ "net45"... }。

"dependencies": {
    "iBoxDB": "2.7.0.3",
    "Nancy": "1.4.3",
    "Nancy.Hosting.Self": "1.4.1"
},
"frameworks": {
    "net45": {
        "frameworkAssemblies": {
            "System.Runtime": "4.0.0",
            "System.IO": "4.0.0",
            "System.Collections": "4.0.0"
        }
    }
}

然后在终端上设置Mono所在的路径,不同的安装方式路径会有些区别。

export DOTNET_REFERENCE_ASSEMBLIES_PATH="/usr/lib/mono/xbuild-frameworks"

如果没设置路径,运行时会有以下提示

error DOTNET1012: The reference assemblies directory was not specified. You can set the location using the DOTNET_REFERENCE_ASSEMBLIES_PATH environment variable.

完成基本设置就可以在Program.cs上写代码了, iBoxDB与Nancy都是几行代码完成一个功能的设计,本文的演示代码在这里,几行代码启动数据库,几行代码启动Web服务器并实现插入和查询功能,不在这里再复制一次。

写完代码就可以根据上一篇文章的说明执行

dotnet restore
dotnet run

启动Web数据库应用程序。然后打开浏览器,输入 http://localhost:1234/insert 插入数据, 输入http://localhost:1234/select/1 查询数据。

  

你可能感兴趣的:(DNX使用Mono库运行iBoxDB与Nancy)