我正在构建一个Web项目,我需要一些txt文件来进行Azure身份验证
string authFile = @"C:\absolutepath\myfile.auth";
Environment.SetEnvironmentVariable("AZURE_AUTH_LOCATION", authFile);
问题在于绝对路径。它将在Debug模式下工作,仅在路径相同时才在Published中工作。我已将这些文件添加到我的项目中,当我发布项目时,我可以在zip文件中看到它们。
在Debug和Published中使文件可用的规范/更好的形式是什么?
答案 0 :(得分:1)
不要硬编码文件路径。
使用配置文件为每个系统本身设置文件路径。
此配置文件还可能包含myfile.auth
文件中的内容。
请记住正确构建配置文件,使其不仅可以存储一个信息。
答案 1 :(得分:0)
我认为您可以检查请求类型。如果是本地请求,请使用绝对路径,否则使用规范路径。
string authFile = "";
if (Request.IsLocal) {
authFile = @"C:\absolutepath\myfile.auth"; //absolute path;
}
else {
authFile = "server path" //canonical path
}