問題タブ [webexception]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 2 つの WebException を適切に処理する
WebException
2 つの異なる を適切に処理しようとしています。
基本的には呼び出してから処理するWebClient.DownloadFile(string address, string fileName)
私の知る限り、これまでのところ、処理する必要があるのは2つあり、両方ともWebException
:
- リモート名を解決できませんでした (つまり、サーバーにアクセスしてファイルをダウンロードするためのネットワーク接続がありません)
- (404) File not nound (つまり、ファイルがサーバー上に存在しません)
他にもあるかもしれませんが、これが今までで最も重要だと思ったものです。
では、どちらも であるため、これを適切に処理するにはどうすればよいですか?WebException
上記の各ケースを異なる方法で処理したいと考えています。
これは私がこれまでに持っているものです:
ご覧のとおり、メッセージをチェックして、メッセージの種類を確認していますWebException
。これを行うためのより良い、またはより正確な方法があると思いますか?
.net - System.UriFormatException:無効なURI:ホスト名を解析できませんでした
突然、私のWebサイトで次のエラーが発生しました。データベースにはアクセスしません。.NET2.0を使用した単純なWebサイトです。
最近、利用可能なWindowsServer2003サービスパックを適用しました。それは物事を変えたのでしょうか?
エラーはランダムに発生し、発生し、今日と昨日も発生していることを付け加えておきます。5分間そのままにしておくと、エラーはなくなります。
'/'アプリケーションのサーバーエラー。
無効なURI:ホスト名を解析できませんでした。説明:現在のWebリクエストの実行中に未処理の例外が発生しました。エラーとエラーがコードのどこで発生したかについての詳細は、スタックトレースを確認してください。
例外の詳細:
System.UriFormatException:無効なURI:ホスト名を解析できませんでした。
ソースエラー:
現在のWebリクエストの実行中に、未処理の例外が生成されました。例外の発生源と場所に関する情報は、以下の例外スタックトレースを使用して識別できます。
スタックトレース:
[UriFormatException:無効なURI:ホスト名を解析できませんでした。]
System.Uri.CreateThis(String uri、Boolean dontEscape、UriKind uriKind)+5367536 System.Uri.CreateUri(Uri baseUri、String RelativeUri、Boolean dontEscape)+31システム。 Uri..ctor(Uri baseUri、String RelativeUri)+34 System.Net.HttpWebRequest.CheckResubmit(Exception&e)+5300867[WebException:HTTP /HTTPSプロトコルから他の異なるプロトコルへのリダイレクトを処理できません。]System.Net.HttpWebRequest.GetResponse()+5314029 System.Xml.XmlDownloadManager.GetNonFileStream(Uri uri、ICredentialscredentials)+69System.Xml.XmlDownloadManager
。 GetStream(Uri uri、ICredentials資格情報)+3929371 System.Xml.XmlUrlResolver.GetEntity(Uri AbsoluteUri、String role、Type ofObjectToReturn)+54
System.Xml.XmlTextReaderImpl.OpenUrlDelegate(Object xmlResolver)+74
System.Threading.CompressedStack.runTryCode(オブジェクトuserData)+70
System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code、CleanupCode backoutCode、Object userData)+0
System.Threading.CompressedStack.Run(CompressedStackcompressedStack、ContextCallbackコールバック、オブジェクト状態)+108
System.Xml.XmlTextReaderImpl.OpenUrl()+186
System.Xml.XmlTextReaderImpl.Read()+208
System.Xml.XmlLoader.Load(XmlDocument doc、XmlReaderリーダー、ブールpreserveWhitespace)+112 System.Xml.XmlDocument.Load(XmlReaderリーダー)+108
System.Web.UI.WebControls.XmlDataSource.PopulateXmlDocument(XmlDocument document、CacheDependency&dataCacheDependency、CacheDependency&transformCacheDependency)+303System.Web
。 UI.WebControls.XmlDataSource.GetXmlDocument()+153
System.Web.UI.WebControls.XmlDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments)+29 System.Web.UI.WebControls.BaseDataList.GetData()+39 System.Web.UI.WebControls.DataList.CreateControlHierarchy(Boolean useDataSource)+264
システム.Web.UI.WebControls.BaseDataList.OnDataBinding(EventArgs e)+55 System.Web.UI.WebControls.BaseDataList.DataBind()+75 System.Web.UI.WebControls.BaseDataList.EnsureDataBound()+
55System.Web
。 UI.WebControls.BaseDataList.CreateChildControls()+65
System.Web.UI.Control.EnsureChildControls( )+97
System.Web.UI.Control.PreRenderRecursiveInternal() +53
System.Web.UI.Control.PreRenderRecursiveInternal ()+202
System.Web.UI.Control.PreRenderRecursiveInternal()+202
System.Web.UI.Control.PreRenderRecursiveInternal() +202 System.Web.UI.Control.PreRenderRecursiveInternal(
)
+202 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint、Boolean includeStagesAfterAsyncPoint)+4588
c# - リンクチェッカー; 誤検知を回避する方法
私はリンク チェッカー/壊れたリンク ファインダーに取り組んでおり、多くの誤検知が発生しています。再確認した後、多くのエラー コードが webexceptions を返していることに気付きましたが、実際にはダウンロード可能でしたが、他の場合にはステータスコードが 404 であり、私はブラウズからページにアクセスできます。
ここにコードがありますが、かなり醜く、もっと実用的なものを用意したいと思っています。すべてのステータスコードは、有効なリンクであるため、壊れたリンクに追加したくないものをフィルタリングするために使用される場合、非常に大きなものです(すべてテストしました)。私が修正する必要があるのは、構造 (可能であれば) と false 404 を取得しない方法です。
ありがとうございました!
.net - リモート名を解決できませんでした: 'localhost'
アプリケーションが localhost をルックアップできないのはどうしてですか?
アプリケーションは数時間動作し、その後停止します。
編集サービスを webreference としてインポートし、生成された Reference.vb ファイルを使用して呼び出します。
c# - System.Net.WebExceptionHTTPステータスコード
からHTTPステータスコードを取得する簡単な方法はありますSystem.Net.WebException
か?
c# - WebException Response から internalexception を解析する方法
OData Web サービスに POST を実行する C# コードがあります。これにより、レコードがデータベースに挿入されます。主キー違反などの例外が発生した場合は、エラー メッセージをキャプチャしてログに記録したいと考えています。ただし、メッセージは XML 内に含まれています。ここに私の例外ハンドラがあります:
これがresponseTextで得られるものです:
internalerror から internalexception からメッセージを取得する必要があります。それを行う最も簡単な方法は何ですか?
c# - WebException SSL/TLS セキュア チャネルの信頼関係を確立できませんでした
私の会社では、.NET Web サービスと、その Web サービスを使用するクライアント DLL を開発しました。Web サービスは SSL 経由で当社のサーバーでホストされており、証明書は GoDaddy によって提供および署名されています。ホスト環境にクライアントがあり、Web サービスにアクセスしようとすると、クライアント dll から次のエラー メッセージが表示されます。
System.Net.WebException 基になる接続が閉じられました: SSL/TLS セキュア チャネルの信頼関係を確立できませんでした。
私たちの修正は、サーバー上で IE を開いてもらうことでした。これは、多くのホストされたサービスにとってそれ自体が課題であり、WSDL の URL に移動します。次に IE は、セキュリティ警告ダイアログを表示します。証明書の日付は有効であり、ページの名前と一致する有効な名前ですが、信頼することを選択していない会社によって発行されたことが示されています. [はい] をクリックして続行すると、クライアント dll は Web サービスに正常に接続し、通常どおり動作します。
GoDaddy が有効なパブリッシャー リストに含まれていなかった理由を知っている人はいますか? 私たちが実行しているすべてのサーバーには、有効な機関として GoDaddy があります。セキュリティ上の理由から、彼らは GoDaddy の権限をアンインストールしたと推測していますが、他に根本的な問題がないことを完全には確信していません.
残念ながら、これをローカルで再現しようとしてもうまくいきませんでした。インターネット オプションにアクセスして GoDaddy オーソリティを削除し、当社のサービスにアクセスすると、ssl は問題なく動作します。パブリッシャーのリストに戻ると、GoDaddy がすぐに表示されます。2 番目の質問は、無効な証明書の警告が表示されるように、GoDaddy を削除する方法を教えてください。
では、最後の質問です。無効な証明書を無視するように Web サービスに指示できるコードの方法はありますか。古い Web サービスではなく、WCF を使用してプログラムでこれを行うという投稿を見たことがあります。
asp.net-mvc - ASP.NET MVC で Silverlight を使用しているときに WebException NotFound を受け取りました
これを説明する方法がよくわかりませんが、基本的には、ASP.NET MVC アプリケーション内でホストされている Silverlight アプリケーションを使用しようとしています。MVC 側に、文字列パラメーターを受け入れて ActionResult を返すメソッドを含む基本的なコントローラーがあります (このプログラムの目的では、その結果は Json データです)。
Silverlight コントロール内で WebClient.OpenReadCompleted イベントを処理するときに問題が発生します。このコントロール内で WebClient.OpenReadAsync メソッドが呼び出されると、コントローラーに正常に到達し、期待どおりに関連するイベント ハンドラーにレポートを返します。ただし、それが処理されると、イベント引数には、「リモート サーバーがエラーを返しました: NotFound.」というエラーが含まれます。
以前、これは通信 URL の一部が正しくない場合に発生することに気付きましたが、この場合はそうではありません。いくつかのグーグルから、これが一般的なエラーであることにも気付きました。そういうわけで、私はかなり困惑しています。さらに紛らわしいことに、文字列の配列を取得するプログラムの別の部分で、これとまったく同じ通信試行を使用していますが、これは完全に正常に機能します。
以下のサンプル コードを参照してください (このプログラムの性質上、完全なコードを掲載することはできません)。
シルバーライト コントロール
MVC コントローラー - HomeController という名前で、"Home" でアクセスします
注 ここで、Data には型の 3 つのメンバーが含まれています。文字列、文字列、およびバイト配列。シリアル化のために、get 部分と set 部分の両方を含むパブリック プロパティを介して 3 つのメンバーすべてを公開しました。また、引数を取らないパブリック コンストラクターも追加しました。
これに関するアドバイスは大歓迎です。
よろしくお願いします。
アップデート
同じコードを異なるデータで試してみたところ、うまくいきました。データのサイズではないかと思いました (最初の試行は非常に大きなデータを使用していたため) が、呼び出しがコントローラーにヒットした場合にそれが問題になる理由がわかりません。
c# - 「リモートサーバーに接続できません」の原因
ダウンローダーアプリがあります。私にとっては問題なく動作しますが、あるユーザーからバグ レポートが送られてきて、System.Net.WebException が「リモート サーバーに接続できません」でスローされるという報告がありました。他のリンクでは機能しますが、この特定のリンクでは機能しません。この例外の原因は何ですか? そして、私のPC構成と彼のPC構成の違いは何ですか.