下面的代码在visual studio的调试中工作正常但是当我将它发布到IIS服务器时却无法正常工作。什么都没发生。我猜测一些安全问题。问题是System.Diagnostics.Process.Start是否有任何替代方法可以在新窗口或选项卡中打开网址?或者如何使Process.Strat在IIS中工作? 感谢
public void ProcessRequest(HttpContext context)
{
Context = context;
if (context.Request.QueryString["path"] == null)
{
return;
}
string path = Context.Server.UrlDecode(Context.Request.QueryString["path"]);
var item = DataServer.GetItem(path);
if (item == null) return;
System.Diagnostics.Process.Start(item["sourcePath"].ToString());
}
答案 0 :(得分:1)
您的文件正在服务器端打开,这就是客户端什么也看不见的原因。如果您希望客户端打开文档,则需要创建响应,在响应中写入文件内容并指定mime类型(在ContentType属性中)。这样,客户端的浏览器将找出用于打开该文档的程序(例如ContentType" application / pdf"使用Acrobat打开," application / msword"随Microsoft打开Word等。)
请参阅:ASP.NET file download from server 并http://www.sitepoint.com/web-foundations/mime-types-summary-list/