首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET MapPath

ASP.NET MapPath
EN

Stack Overflow用户
提问于 2009-03-26 06:19:17
回答 1查看 1.5K关注 0票数 0

我有这样一部分代码:

代码语言:javascript
复制
Process proc = null;
try
{
    proc = new Process();
    string dir = HttpContext.Current.Server.MapPath("~/Other/");
    proc.StartInfo.WorkingDirectory = dir;
    p.StartInfo.FileName = "batch.bat";
    p.StartInfo.CreateNoWindow = true;
    p.Start();
    p.WaitForExit();
}
catch (Exception e) { }

只有当我将"dir“替换为

代码语言:javascript
复制
string.Format(@"C:\AbsolutePathHere")

为什么?

编辑:代码在一个按钮中工作,单击事件处理程序。当它是一个预定的Quartz.NET作业时,它不起作用。当我有绝对的路径时,它总是起作用的。所以我的问题可能是:我如何让Quartz.NET和MapPath表现得很好?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-03-26 06:27:20

调用MapPath后的值或'dir‘是多少?抛出什么例外?工作进程可能没有执行batch.bat文件的权限。

没有更多的细节,很难给你一个明确的答案。

编辑您考虑过Quartz.NET没有访问HttpContext.Current的权限,因此MapPath不会解决这个问题吗?

Edit2是否可以使用AppDomain.CurrentDomain.BaseDirectory来确定您想要的路径,而不是~ (tilda)替换?我还看到了对System.Web.Hosting.HostingEnvironment.MapPath()的引用,您也可以尝试使用这些引用。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/684705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档