我有一个ASP.NET Web角色,它在调用特定Controller方法时生成的声音文件上运行音频效果实用程序。我完全理解如何使用Process对象来执行进程,设置工作目录,等待退出,并检查退出代码。
以下是我的具体问题:
如果我在我的ASP.NET项目的文件夹中有EXE文件及其依赖项,我需要做什么,以便在Web角色发布到的时将它们放在非公共目录中Azure的?或者他们是否作为已发布包的一部分复制到网站?如果是这样,我如何获得EXE文件的最终位置?我假设我不能通过一个朴素的" //。exe"来引用EXE。路径。换句话说,我需要知道如何处理EXE文件和依赖项(如果有的话),以便它正确运行,我还需要知道我将在已发布的目录结构中找到它,以便我可以通过info对Process对象的StartInfo属性。
是否需要更改我需要进行的web.config文件更改或目录权限设置我需要更改才能使其正常工作?
注意:由于可伸缩性和超时问题,我知道从ASP.NET线程运行进程的注意事项:
Launching new process from ASP.NET
但是,大多数情况下,实用程序不需要运行,因为Controller方法返回的大多数声音文件已经生成并且正从数据库中的BLOB字段中提取。此外,我已经对转换进行了定时,使用单个核心在最坏情况下运行大约需要200到500毫秒。
答案 0 :(得分:1)
这样做的一种方法是:
<location path="MyFolder">
<system.web>
<authorization>
<deny users="*"/>
</authorization>
</system.web>
</location>
可能有其他方法阻止通过以下方式访问此文件夹: