【发布时间】:2013-12-10 13:36:16
【问题描述】:
网站在本地工作,但在服务器上却不行。
我正在使用免费托管 somee.com
网站链接:http://multiple-search.somee.com/
本网站从文本框中获取搜索查询,并在 google、yahoo 等中进行搜索。 输入搜索查询并按下按钮时,我收到一条错误消息。错误是:
[Win32Exception (0x80004005): Access is denied]
System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo) +614
System.Diagnostics.Process.Start() +56
System.Diagnostics.Process.Start(ProcessStartInfo startInfo) +49
System.Diagnostics.Process.Start(String fileName) +31
_Default.Button1_Click(Object sender, EventArgs e) +159
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565
如何消除此错误?我的代码是:
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
// Getting Text from textbox
string input = TextBox1.Text;
//Parsing criteria: New Line
string[] lines = input.Split('\n');
foreach (string ln in lines)
{
if (CheckBox1.Checked == true)
{
System.Diagnostics.Process.Start("https://www.google.com/#q=" + ln.Substring(0));
}
if (CheckBox2.Checked==true)
{
System.Diagnostics.Process.Start("http://search.yahoo.com/search;_ylt=AmGbBTVg4RHlgJHNOZ4AaA2bvZx4?p=" + ln.Substring(0) + "&toggle=1&cop=mss&ei=UTF-8&fr=yfp-t-900");
}
if (CheckBox3.Checked == true)
{
System.Diagnostics.Process.Start("http://www.bing.com/search?q=" + ln.Substring(0) + "&go=&qs=n&form=QBLH&pq=chris+brown&sc=8-11&sp=-1&sk=");
}
if (CheckBox4.Checked == true)
{
System.Diagnostics.Process.Start("http://www.ask.com/web?q=" + ln.Substring(0) + "&search=&qsrc=0&o=0&l=dir");
}
if (CheckBox5.Checked == true)
{
System.Diagnostics.Process.Start("http://search.aol.com/aol/search?s_chn=prt_ct9&enabled_terms=&s_it=comsearch50ct17&q=" + ln.Substring(0));
}
}
}
}
【问题讨论】:
-
您介意发布错误消息吗,@arunelis?
-
天哪,你真的使用
Process.Start来执行HTTP 请求吗?请查看HttpWebRequest类,它允许您发送任何 HTTP 请求并接收数据。无论如何,它所做的就是在服务器上打开一个新的浏览器窗口,这100% 不是你想在网络服务器上做的! -
伙计们,感谢您的回答,您回答了为什么它不起作用。我最终使用了 JavaScript 代码 >>> stackoverflow.com/questions/14547783/for-loop-opening-urls
标签: c# asp.net web-hosting