我有两台服务器,A和B。
服务器A:Windows Server 2008R2;服务器B:Windows Server 2003。
网页使用4.0框架,用VS2013 Pro RC创建。
在服务器A上,我的asp.net/c#网页在IIS7上运行。在服务器B上,我有一个共享文件夹。
现在,我已经将这个共享文件夹从服务器B映射到服务器A,并且可以在桌面/Windows资源管理器中完全访问它,但是从网页访问该文件夹就是另一回事了。
为了访问该文件夹,我在IIS7中创建了一个虚拟文件夹,指向映射的驱动器。
如果该文件夹在同一台服务器A上,则会起作用,但由于它在不同的服务器B上,我收到以下错误消息:
找不到路径的一部分'L:\a\b\file.pdf'。现在路径是100%正确的,因为我已经检查过了。
以下是一些额外的调试信息:
找不到路径的一部分'L:\a\b\file.pdf'。
描述:在执行当前网页请求时发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源代码的更多信息。
异常详细信息:System.IO.DirectoryNotFoundException: 找不到路径的一部分'L:\a\b\file.pdf'。
源错误:
在当前网页请求执行期间生成了未处理的异常,可以使用下面的异常堆栈跟踪标识异常的起源和位置。
堆栈跟踪:
[DirectoryNotFoundException: 找不到路径的一部分'L:\a\b\file.pdf'。] System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) +216 System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options,
SECURITY_ATTRIBUTES secAttrs,String msgPath,Boolean bFromProxy,Boolean useLongPath)+2481 System.IO.FileStream..ctor(String path,FileMode mode,FileAccess access,FileShare share,Int32 bufferSize,FileOptions options,String msgPath,Boolean bFromProxy)+229
System.IO.FileStream..ctor(String path,FileMode mode,FileAccess access,FileShare share)+102
System.Web.HttpResponse.WriteFile(String filename,Boolean readIntoMemory)+166 Reloc.Client.Contracts.openLinkClick(Object sender,EventArgs e)in c:\Users\x\Documents\Visual Visual Studio2013\Projects\p\p\S\Listdoc.aspx.cs:230
System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e,Boolean causesValidation,String validationGroup)+1192
System.Web.UI.WebControls.GridViewRow.OnBubbleEvent(Object source, EventArgs e)+164 System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args)+52
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)+3707
我认为这可能与权限或相关的问题有关,尝试了很多方法,但都没有成功。所以请在这里帮助我。提前感谢。