生成静态页面 报500错误

lorinzhang 2010-06-04 10:16:26
远程服务器返回错误: (500) 内部服务器错误。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Net.WebException: 远程服务器返回错误: (500) 内部服务器错误。

源错误:


行 64:
行 65: System.Net.WebClient wc = new System.Net.WebClient();
行 66: Byte[] pageData = wc.DownloadData(Url);
行 67: str = System.Text.Encoding.UTF8.GetString(pageData);
行 68: //读取

...全文
268 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
lorinzhang 2010-06-04
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 mmm306306 的回复:]
请求的路径不对吧!
[/Quote]

[Quote=引用 10 楼 findcaiyzh 的回复:]
应该是
Byte[] pageData = wc.DownloadData(Url);

在这里设个断点。
取得Url的值,在IE中浏览。
估计(500) 内部服务器错误。是从这个Url得到的
[/Quote]
哇哈哈....
多谢......我真晕,经调试Url里面少了个参数!!!
搞定了...我还想问问..样式问题怎么解决?
因为现在都新建了文件夹了css样式肯定找不到了怎么解决?都改成从"/"往下找吗?

phoebuswei 2010-06-04
  • 打赏
  • 举报
回复
html/" + fileName + " ??
你把路径写全了
如www.xxx.con/html/???.html
宝_爸 2010-06-04
  • 打赏
  • 举报
回复
应该是
Byte[] pageData = wc.DownloadData(Url);

在这里设个断点。
取得Url的值,在IE中浏览。
估计(500) 内部服务器错误。是从这个Url得到的
lorinzhang 2010-06-04
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 winner2050 的回复:]
你这种方法生成html还得多出个下载html的时间,而且还浪费带宽。

在aspx 页面里面写保存html文件代码就可以了。
[/Quote]
请指点...怎么写法?
原本是只想用Url重写呢,好不容易重写成功了,上面还是不愿意说必须生成真实的html并给列出一大串优点
现在弄到这老是报这玩意错..都说程序员是有自信的,可是我被诸多问题折磨的一点没了.....悲哀..
发发牢骚..大家别介意..
winner2050 2010-06-04
  • 打赏
  • 举报
回复
你这种方法生成html还得多出个下载html的时间,而且还浪费带宽。

在aspx 页面里面写保存html文件代码就可以了。
lorinzhang 2010-06-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 findcaiyzh 的回复:]
很有可能是没有权限写文件"/html/"+MemberName+"/"

需要给Network service(2003) 或者Aspnet(xp)这个账户,对你html目录写的权限。
在资源管理器中右键点击html目录
在属性的security中设置。
[/Quote]
我用的xp,刚才按你说的添加了html文件夹安全改成了Everyone 完全控制,可是还是不行..
马老虎 2010-06-04
  • 打赏
  • 举报
回复
请求的路径不对吧!
lorinzhang 2010-06-04
  • 打赏
  • 举报
回复
异常信息:

远程服务器返回错误: (500) 内部服务器错误。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Net.WebException: 远程服务器返回错误: (500) 内部服务器错误。

源错误:


行 64:
行 65: System.Net.WebClient wc = new System.Net.WebClient();
行 66: Byte[] pageData = wc.DownloadData(Url);
行 67: str = System.Text.Encoding.UTF8.GetString(pageData);
行 68: //读取
宝_爸 2010-06-04
  • 打赏
  • 举报
回复
很有可能是没有权限写文件"/html/"+MemberName+"/"

需要给Network service(2003) 或者Aspnet(xp)这个账户,对你html目录写的权限。
在资源管理器中右键点击html目录
在属性的security中设置。
宝_爸 2010-06-04
  • 打赏
  • 举报
回复
把异常信息贴出来。否则没办法帮你。
lorinzhang 2010-06-04
  • 打赏
  • 举报
回复

//根据URL生成静态页面
protected void tohtml(string Url,int ID)
{
Encoding code = Encoding.GetEncoding("utf-8");
//StreamReader sr = null;
StreamWriter sw = null;
string str = null;

//读取远程路径
//WebRequest temp = WebRequest.Create(Url);
//WebResponse myTemp = temp.GetResponse();
//sr = new StreamReader(myTemp.GetResponseStream(), code);

System.Net.WebClient wc = new System.Net.WebClient();
Byte[] pageData = wc.DownloadData(Url);
str = System.Text.Encoding.UTF8.GetString(pageData);
//读取
//try
//{
// sr = new StreamReader(myTemp.GetResponseStream(), code);
// str = sr.ReadToEnd();

//}
//catch (Exception ex)
//{
// throw ex;
//}
//finally
//{
// sr.Close();
//}
string fileName = "Niche_"+ID + ".html";

//写入
try
{
sw = new StreamWriter(Server.MapPath("/html/"+MemberName+"/") + fileName, false, code);
sw.Write(str);
sw.Flush();

}
catch (Exception ex)
{
throw ex;
}
finally
{
sw.Close();
Response.Write("恭喜<a href=html/" + fileName + " target=_blank>" + fileName + "</a>已经生成,保存在html文件夹下!");
}
}


都在这里了
  • 打赏
  • 举报
回复
帮顶.....

代码贴出来一起研究...

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧