XmlDataSource를 사용할 때 원격 XML 파일을 사용할 수 없을 때 발생하는 예외를 처리하는 좋은 방법이 있습니까? 나는 .NET에 다소 익숙하며 C#을 사용하고있다.원격 XML 소스를 사용할 수 없을 때 XmlDataSource 처리
0
A
답변
1
이와 같은 예외가 발생하면 응용 프로그램에 적합한 것이 무엇인지 결정하는 것은 정말로 당신에게 달려 있습니다. 당신이해서는 안되는 유일한 일은 그것을 무시하는 것입니다.
옵션은 포함했다 :
- 자동으로 예외를 연결 문제가 일시적
- 돌아 사용자에게 적절한 오류 메시지입니다 경우, 여러 번 재 시도 아마도 로그인하거나 이메일을 보내
- 새로운 복사본을 가져올 수있을 때까지 XML 파일의 이전에 캐시 된 버전을 사용하십시오.
- 예외를 호출 레이어로 버블 링하고 처리하도록합니다 (아마도 먼저 로깅 할 것입니다).
당신이해야 할 수도있는 일은 모든 리소스를 정리하는 것입니다. 연결을 엽니 다).
0
다른 처리를 트리거하기 위해 예외를 catch하는 방법을 시도했지만 어떤 이유로 작동하지 않습니다. ErrorMessage를 표시하는 예외 대신 Repeater1을 숨기려면 페이지를 죽이는 예외가 발생합니다. 예외 정보 : System.Net.WebException : 원격 서버에서 오류를 반환했습니다. (404) 찾을 수 없습니다.
예외를 catch 한 다음 다른 조치를 취할 수없는 이유는 무엇입니까?
protected void Page_PreRender(object sender, System.EventArgs e)
{
try
{
RssSource.DataFile = "http://www.example.com/rss/feed/index1.aspx";
RssSource.XPath = "/rss/channel/item[position()<3]";
RssSource.EnableCaching = true;
RssSource.CacheDuration = 43200;
RssSource.CacheExpirationPolicy = DataSourceCacheExpiry.Absolute;
}
catch (Exception ex)
{
ErrorMessage.Visible = true;
Repeater1.Visible = false;
}
}
<asp:Label ID="ErrorMessage" runat="server" Text="News not unavailable" Visible="false" />
<asp:XmlDataSource ID="RssSource" runat="server" />
<asp:Repeater ID="repeater1" runat="server" DataSourceID="RssSource">
<ItemTemplate>
<p><%# XPath("description")%></p>
</ItemTemplate>
</asp:Repeater>
0
나는이 문제가 해결되었다고 생각하지만 누군가 다른 사람이이 게시물에 문제가있어이 질문에 답하는 경우를 대비하여 답변하고 있습니다. 당신은 또한 당신의 try 블록 내에서 XmlDataSource에 바인딩 할 필요가
...
try
{
xdsRSS.DataFile = Configuration.BeaconConfigurationSection.Current.SyndicatedJobs.RssUrl;
xdsRSS.XPath = Configuration.BeaconConfigurationSection.Current.SyndicatedJobs.XPath;
xdsRSS.EnableCaching = true;
xdsRSS.CacheExpirationPolicy = DataSourceCacheExpiry.Absolute;
xdsRSS.CacheDuration = 6000;
dlRSS.DataSource = xdsRSS;
dlRSS.DataBind();
}
catch
{
dlRSS.Visible = false;
pnlLinkToJobSite.Visible = true;
}
... 리피터에서 DataSourceID 속성을 제거해야합니다, 당신은 갈 수 있어야한다.
관련 문제
- 1. 는 xmldatasource
- 2. 데이터를 사용할 수 없을 때 Socket.EndReceive() 블로킹을 피하는 방법
- 3. 앵커 태그가 없을 때 이미지에 Colorbox를 사용할 수 있습니까?
- 4. web.config를 사용할 수 없을 때 applicationSettings에 대한 참조를 해결하는 방법
- 5. DBCP 데이터베이스를 사용할 수 없을 때 연결을 반환하는 데 문제가
- 6. 원격 파일을 읽을 때 시간 초과 처리
- 7. HTTP 처리기에 XMLDataSource 바인딩
- 8. PDO를 사용할 수 없을 때 MySQL을 사용할 때, MDB2 또는 배 DB_DataObject를 사용해야합니까?
- 9. Silverlight XML 데이터 소스를 찾을 수 없습니다.
- 10. 네트워크 \ SQL Server를 사용할 수 없을 때 응용 프로그램 일시 중지
- 11. 테스트 소스를 사용할 수 없습니다 vs 2010
- 12. 찾을 수 없을 때 예외가 발생했습니다.
- 13. 디렉토리를 찾을 수 없을 때 404 리디렉션
- 14. ASP.NET 개발 서버 - 소스를 사용할 수 있습니까?
- 15. XmlDataSource 데이터 없음 조건
- 16. 프로그램에 포커스가 없을 때 바코드를 읽으십니까?
- 17. 추적 점이 없을 때 gdb 동작
- 18. tableView에 사용할 수있는 데이터가 없을 때 맞춤 라벨 표시
- 19. 원격 컴퓨터의 WMI에 연결할 때 RPC 서버를 사용할 수 없음
- 20. iPhone에서 스트리밍 SAX XML 처리
- 21. RSS 피드 XMLDataSource 필터 RSS 항목
- 22. 행이 없을 때 어떻게 계산합니까?
- 23. android : setOnClickListener 때 소스를 찾을 수 없습니다.
- 24. JSP 용 XML 데이터 처리
- 25. 리버스 프록시를 사용할 수 없을 때 Cherokee가 fallback/default 페이지를 제공 할 수 있습니까?
- 26. 안드로이드 위치를 얻고 공급자를 사용할 수 없을 때 "알 수 없음"또는 null을 반환하십시오.
- 27. 플리커 사진을 사용할 수 없을 때 어떻게 감지 할 수 있습니까?
- 28. 백그라운드에서 APNS 원격 알림 처리
- 29. NSData를 사용할 때 어떻게 연결 문제를 처리 할 수 있습니까?
- 30. 도메인이 없을 때 호스팅에서 URL을 다시 쓸 수 없습니까?