我是一个更新鲜的人,正在使用ASP.Net C#4.5,VS 2012开发Web应用程序。 我想打开" ixo-global"另一台服务器上的文件夹\ 10.23.23.23 \ ixo-global \(只是这个文件夹)。我使用以下代码完成了此操作:
代码1
ProcessStartInfo startInfo = new ProcessStartInfo(FolderPath);
startInfo.WindowStyle = ProcessWindowStyle.Normal;
Process.Start(startInfo);
代码2
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo()
{
FileName = FolderPath,
UseShellExecute = true,
Verb = "open"
});
当我在Localhost上运行此代码时,每个都有效。但是在IIS上发布后,它不会在客户端的浏览器中打开文件夹。这可能是由于安全措施。 我可以使用安装了IIS的Run on server访问此文件夹。 我提到this link,代码运行,但文件夹无法在客户端浏览器中打开。
我该怎么办? TIA。
答案 0 :(得分:1)
您正在服务器上启动进程,而不是在浏览器的桌面上。当您在本地运行它时,您是服务器,因此您会看到资源管理器窗口打开。当您发布到其他服务器时,资源管理器会在服务器上打开,因此您无法看到它。
除非客户端有以下内容,否则无法打开资源管理器窗口查看服务器上的文件:
您还可以查看第三方控件,让您“浏览”#34;服务器'类似浏览器的窗口中的文件,或者客户端 可以直接访问该文件夹(意味着客户端可以浏览到资源管理器中的文件夹),然后您可以将该文件夹的路径放入file://
在客户的浏览器中链接并显示 。
答案 1 :(得分:0)
您是否检查过该文件夹是否仅具有读取权限?
答案 2 :(得分:0)
“System.Diagnostics.Process.Start”不适用于Web上下文,仅适用于桌面应用程序。