asp.net5中程序根目录的获取

最近在写一个asp.net5的应用,其中要实现的一个功能是生成一个文件,并且存储到应用程序根目录(这里指project.json所在的文件夹)下的export文件夹下。生成文件内容什么的都做好了,忽然发现不知道如何存储,因为asp.net5的特性,不好直接得到根目录。按照以前的思路,通过AppDomain.CurrentDomain.BaseDirectory得到的是dnx的bin文件夹,毕竟应用程序是dnx负责启动的,这个路径一般是"C:\\Users\\daxia\\.dnx\\runtimes\\dnx-clr-win-x86.1.0.0-rc1-final\\bin\\",很显然不是我们需要的。后来,经过分析源程序,找到了获取应用程序根目录的方法,具体代码如下:AppDomain.CurrentDomain.GetData("APP_CONTEXT_BASE_DIRECTORY")。通过该方法,能获得需要的文件夹,在我的这个程序里是:"D:\\HeatDataWebApi\\HeatDataApi\\src\\HeatDataApi"。

时间: 2024-11-03 22:35:53

asp.net5中程序根目录的获取的相关文章

ASP.NET中Server.MapPath方法获取网站根目录

在ASP.NET网站应用程序中,可以通过Server.MapPath方法来获取跟服务器有关的目录信息,如获取网站的根目录.获取当前代码文件所在的目录路径.获取当前代码所在路径的上级路径等.Server.MapPath获得的路径都是服务器上的物理路径,也就是常说的绝对路径,如D:\website\content这种形式.以下是一些Server.MapPath常用的获取网站目录的方法.(1)Server.MapPath("/") :获取网站的根目录(2)Server.MapPath(&qu

asp.net5中使用NLog进行日志记录

asp.net5中提供了性能强大的日志框架,本身也提供了几种日志记录方法,比如记录到控制台或者事件中等,但是,对大部分程序员来说,更喜欢使用类似log4net或者Nlog这种日志记录方式,灵活而强大.asp.net5中也包括NLog的实现,下面把最简单的使用方法写出来,抛砖引玉,让更多对此不熟悉的同学们能借此入门. 1.在project.json中添加对Microsoft.Framework.Logging.NLog的引用,目前最新是beta8版本: 2.然后添加NLog.config配置文件到

[转]asp.net5中使用NLog进行日志记录

本文转自:http://www.cnblogs.com/sguozeng/articles/4861303.html asp.net5中使用NLog进行日志记录 asp.net5中提供了性能强大的日志框架,本身也提供了几种日志记录方法,比如记录到控制台或者事件中等,但是,对大部分程序员来说,更喜欢使用类似log4net或者Nlog这种日志记录方式,灵活而强大.asp.net5中也包括NLog的实现,下面把最简单的使用方法写出来,抛砖引玉,让更多对此不熟悉的同学们能借此入门. 1.在project

ASP.NET5 中静态文件的各种使用方式

所谓静态文件,包含HTML文件,css文件.图片文件和js文件等,他们是服务器直接读取到客户端的一些资源,在这篇文章中,我们将解释关于ASP.NET5和静态文件的一些内容. 服务端的静态文件 默认情况下,静态文件被存放在项目的wwwroot目录下,而wwwroot的地址被定义在project.json文件中: { "webroot": "wwwroot", ... } 静态文件被存储在wwwroot下的任何目录中,它被客户端以相对路径的方式访问,例如,当你在Visu

ASP.NET中修改从数据库获取的datatable中的值

有些时候,我们从数据库表中获取一个实体的对象,但有些内容并不是最终显示的内容,格式也都是不一样.经过一番尝试,发现datatable中的数值如果跟想要改变的类型不一致,就无法更改,只有添加新列,然后把想要显示的最终的数据赋给这一新列.在进行数据展示的时候,展示这一新列即可. 下附代码: public DataTable GetDT(string attName, int typeValue) { DataTable dt=dal.GetDT(attName,typeValue); DataCol

ASP.NET5实践01:Web项目创建、结构概述、程序运行、发布部署

1.项目创建 ASP.NET5项目模板有三种: 新建项目: 选择模板: 2.结构概述 References对应配置是project.json中: "frameworks": { "dnx451": { }, "dnxcore50": { } }, ASP.NET5开发时支持多版本的clr共存,但运行时是使用其中一种. dnxcore50是跨平台.模块化的coreclr.它有多种,如:dnx-coreclr-win-*,dnx-coreclr-li

让ASP.NET5在Jexus上飞呀飞

就在最近一段时间,“Visual Studio 2015 CTP 5”(以下简称CTP5)发布了,CTP5的发布不仅标志着新一代的VisualStudio正式发布又向前迈出了一步,还标志着距离ASP.NET5(vNext)的正式发布不远.跟随者CTP5,KRE也从Kre beta-1.0升级到了Kre beta-2.0. 与众多.NET开发者一样,我们也一直在密切的关注ASP.NET5的发展,而作为领先的Linux.NET WebServer服务器更是如此,早在Kre beta-2.0发布前后,

ASP.NET5最佳实践:技术选择+依赖注入+配置文件读写

1.技术选择 页面: html静态页面很好,但模板(代码块)重用怎么办? 再有与后台交互,比如绑定数据又如何办? 模板不能重用,无解.后台交互,无怪乎可以使用js代码.特别现在流行SPA应用,html+angularjs类的框架…… cshtml可以使用Layout页(类似webfroms master模板页),也可以使用ViewsComponets(类似于webfroms web控件) 它使用Razor视图引擎解析,页面甚至可以使用c#语言.和后台交互式很Easy的. 如果说cshtml结构代

ASP.NET5+EntityFramework7开发实践(三)

1.说明 在<ASP.NET5+EntityFramework7开发实践(一)>介绍过仓储模式,只是没有在控制器中如何使用? 本章重新补充一下.注意,也会使用ASP.NET5中的依赖注入. 2.仓储模式 先看接口: 1 public interface IRoleRepository:IDisposable 2 { 3 //IEnumerable和IQueryable 4 //二者在EF都会延迟加载,不同的是: 5 //IEnumerable是数据加载到内存,刷选在内存中的数据上执行 6 //