Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从asp.net web窗体访问网络共享时出现问题_C#_Asp.net_Shared Directory - Fatal编程技术网

C# 从asp.net web窗体访问网络共享时出现问题

C# 从asp.net web窗体访问网络共享时出现问题,c#,asp.net,shared-directory,C#,Asp.net,Shared Directory,我有一个asp.net网络表单,它将显示一个PDF文件。此pdf存储在另一台服务器的网络共享上。该共享对每个人都具有读取权限 当我尝试引用\\server\sharename\file.pdf之类的文件时,会出现以下错误: “/NCLWeb”应用程序中出现服务器错误。 HTTP错误400-请求错误 我还尝试了在前面使用file://的变体,并反转斜杠。我做错了什么 我应该如何正确地引用这个 编辑:我正在使用VisualStudio的内置开发服务器测试代码。代码用法包括: Response.Red

我有一个asp.net网络表单,它将显示一个PDF文件。此pdf存储在另一台服务器的网络共享上。该共享对每个人都具有读取权限

当我尝试引用\\server\sharename\file.pdf之类的文件时,会出现以下错误:

“/NCLWeb”应用程序中出现服务器错误。 HTTP错误400-请求错误

我还尝试了在前面使用file://的变体,并反转斜杠。我做错了什么

我应该如何正确地引用这个

编辑:我正在使用VisualStudio的内置开发服务器测试代码。代码用法包括:

Response.Redirect(@\\server\sharename\file.pdf);

ShowPdf1.FilePath = @\\server\sharename\file.pdf;

其中ShowPdf1是我以前在浏览器中显示pdf的控件。

Asp.net工作进程需要读取网络资源的权限

查看关于CodeProjectt的文章,这篇文章是在2007年写的,但它一步一步地写下了基础知识。

这是微软的KB


希望对您有所帮助

我怀疑该文件夹是否为虚拟目录。如果您想从应用程序访问任何共享文件夹,您需要为该文件夹创建一个虚拟目录。

您的asp.net运行的帐户是什么?例如,它是localservice吗?现在我正在开发机器上测试。如何检查?取决于您使用的服务器:Cassini、iis、iis express等。可能首先:您使用的\\server\share确切地说是什么代码?你能展示一下吗?我很好奇你对马克问题的回答。Redirect是获取不同资源的浏览器指令。asp.net工作进程实际上并没有触及共享,它只是告诉客户端这样做。当然,这就引出了一个问题:您告诉浏览器做什么,以及在应用程序上下文之外这样做是否合法。ShowPdf1.Filepath可疑。如果不包括这些,会发生什么?仅仅因为共享具有读取权限,并不意味着Web服务器具有跳出框的权限。Web服务器是沙盒。如果您使用的是VS的开发工具,那么如果您可以打开该文件,它应该可以工作。但是对于IIS,您必须进行不同的配置。您能否共享ShowPdf1对文件路径所做操作的代码?此外,MarcGravell就像是C上的一个该死的老板,所以我真的会听他的[他写这个网站]将密码更改为IUSR_MACHINENAME不会有副作用吗?此外,即使我做了所有这些,它也不能解释为什么我的代码在Visual Studio开发服务器上失败。@MAW是的,将密码更改为IUSR_XXX会有副作用。我想还有其他方法可以首先探索。如何在我的开发环境中设置它?右键单击共享文件夹->Web共享,然后使其成为Windows 2000 Server上的虚拟目录共享。没有Web共享选项。在您的服务器上安装了IIS?该站点由其他服务器提供服务。我需要在哪个服务器上创建虚拟目录?