Server.MapPath()缺少一个级别



我们有一个。net应用程序,我们有三个完全相同的副本。一个在我们的服务器上开发,一个在我们客户的服务器上测试和运行。我们必须在服务器上创建pdf文件,并将它们保存在指定的文件夹中。它适用于开发和测试应用,但不适用于实时应用。当它应该保存文件时,它向上跳一个文件夹。

我玩了一段时间的服务器。Mappath,得到如下结果:在live应用程序中,如果相对路径不包含"."或"..",那么它会再上升一级(路径不包含"LiveApplication"文件夹),但它会对其他文件夹起作用。

你对此有什么想法吗?谢谢你

生活应用:

xFileSystemDir:
../FileSpace/
Server.Mappath(xFileSystemDir):
C:AppDirFileSpace
Server.Mappath("..FileSpace"):
C:AppDirFileSpace
Server.Mappath("../FileSpace"):
C:AppDirFileSpace
Server.Mappath(xFileSystemDir & "Temp/" & xDir & "/" & PDFFileName):
C:AppDirFileSpaceTempPDF20130517-143114Invoice.pdf
Server.Mappath(".")
C:AppDirLiveApplicationScript
Server.Mappath(".."):
C:AppDirLiveApplication

测试应用程序:

xFileSystemDir:
../FileSpace/
Server.Mappath(xFileSystemDir):
C:AppDirTestApplicationFileSpace
Server.Mappath("..FileSpace"):
C:AppDirTestApplicationFileSpace
Server.Mappath("../FileSpace"):
C:AppDirTestApplicationFileSpace
Server.Mappath(xFileSystemDir & "Temp/" & xDir & "/" & PDFFileName):
C:AppDirTestApplicationFileSpaceTempPDF20130517-143442Invoice.pdf
Server.Mappath(".")
C:AppDirTestApplicationScript
Server.Mappath(".."):
C:AppDirTestApplication

客户端服务器上的物理文件夹树:

c:
  AppDir
    TestApplication
      FileSpace
        Temp - here goes the new files
    LiveApplication
      FileSpace
        Temp - the new files should be created here
    FileSpace - this folder should not exists, but the live app creates the new files here
      Temp

听起来像你的网站运行在C:AppDir而不是C:AppDirLiveApplication。您检查过HttpRuntime吗?查看AppDomainAppPath是否在某处设置不正确

相关内容

  • 没有找到相关文章

最新更新