【发布时间】:2011-06-20 13:07:06
【问题描述】:
我有一个返回 HTML 块的 HTTPHandler。将其注入服务器上的控件的最佳方法是什么?
我主要通过使用 asp:literal 并使用 WebClient.downloadString() 从处理程序中获取文本来工作
<asp:Literal runat="server" ID="Text_Page1" Visible="false"></asp:Literal>
<asp:Literal runat="server" ID="Text_Page2" Visible="false"></asp:Literal>
然后在服务器端方法中:
Text_Page1.Text = new WebClient().DownloadString("http://localhost:666/" +sPage1URL);
Text_Page2.Text = new WebClient().DownloadString("http://localhost:666/" +sPage2URL);
硬编码的网址目前仅用于测试。以前我尝试只使用“~/”+URL 来尝试构建它,但是 WebClient 库抛出了一个异常,说 URL 太长(我认为这不是真的)
关于从服务器端执行此操作的最佳方法有什么想法吗?
编辑:当我说“最佳”时,我的意思是最高效并遵守“最佳实践”。当我的方法放在经过身份验证的 IIS 上时,它的效果并不好。我在验证时遇到问题。我以为这样做了
WebClient oClient = new WebClient();
oClient.Credentials = CredentialCache.DefaultCredentials;
oClient.UseDefaultCredentials = true;
String sData = oClient.DownloadString(sURL);
可以,但我收到 401 错误。有人有其他选择吗?
干杯
戈登
【问题讨论】:
-
最好的方法是什么?表现?可维护性?可读性?还有什么?
-
您要从远程站点或应用程序域获取 html 吗?还是您打算从同一个站点/应用程序中获取 HTML?
-
性能+可维护性最佳,抱歉..
-
我将从当前站点阅读
标签: asp.net .net-2.0 httphandler server-side