WebFormsレポートビューアコントロールを正常に使用しています。私はインナー内「リモートサーバーに接続できません」Sytem.Net.WebExceptionを取得しています...が失敗しているのWinFormレポートビューアコントロールでMicrosoft.Reporting.WinFormsレポートビューアコントロールエラーアクセス許可で禁止されている方法でソケットにアクセスしようとしました
を正確に同じことを行いますSystem.Net.Sockets.SocketExceptionの例外 "アクセス許可(ip_address):80 "によって禁止されている方法でソケットにアクセスしようとしました。ソケット例外に(。「(IP_addressは)」私が使用しようとしているアドレスである)
Google検索のようなものを含めた結果で、スタック為替質問に着陸する傾向がある:
- 遮断するファイアウォール
- は(そのようなan attempt was made to access a socket in a way forbbiden by it's access permissions. why?などの結果から)(ソケットでいくつかのことを行うために)管理者として
を
を実行する必要があります。これは、私を与えます 手掛かり。特に、私はファイアウォールのブロックコンセプトで興味深いです。私が思っているのは、は、SSRSレポートビューアコントロール、または基本的なSOAPレイヤーがHTTP/port-80からHTTPS/port-443へのリクエストをリダイレクトしようとしている可能性がありますか?
私は、ブラウザで試してみると、ポート443/HTTPSが私のサイトに当たらないと確信しています。私はあるネットワークから別のネットワークに行くつもりですが、そのポートはそのレベルで閉じていると思いますが、SSRSレポートサーバーがSSL/HTTPS用に構成されていないことは間違いありません。
Webフォームレポートビューアコントロールを使用してレポートにアクセスして表示することができます。
ビューアコントロールのWindowsレポートのみがこの問題を示しています。それは私が使用するために与えたものではなく、SSLを使用しようとしているのかどうか疑問に思うスタックトレースからいくつかの部分です。 SetConnectionSSLForMethodなどの部分に注意してください。
System.Net.WebException was unhandled
HResult=-2146233079
Message=Unable to connect to the remote server
Source=Microsoft.ReportViewer.WinForms
StackTrace:
at Microsoft.Reporting.WinForms.Internal.Soap.ReportingServices2005.Execution.RSExecutionConnection.GetSecureMethods()
at Microsoft.Reporting.WinForms.Internal.Soap.ReportingServices2005.Execution.RSExecutionConnection.IsSecureMethod(String methodname)
at Microsoft.Reporting.WinForms.Internal.Soap.ReportingServices2005.Execution.RSExecutionConnection.SetConnectionSSLForMethod(String methodname)
at Microsoft.Reporting.WinForms.Internal.Soap.ReportingServices2005.Execution.RSExecutionConnection.ProxyMethodInvocation.Execute[TReturn](RSExecutionConnection connection, ProxyMethod`1 initialMethod, ProxyMethod`1 retryMethod)
at Microsoft.Reporting.WinForms.Internal.Soap.ReportingServices2005.Execution.RSExecutionConnection.LoadReport(String Report, String HistoryID)
at Microsoft.Reporting.WinForms.SoapReportExecutionService.LoadReport(String report, String historyId)
at Microsoft.Reporting.WinForms.ServerReport.EnsureExecutionSession()
at Microsoft.Reporting.WinForms.ServerReport.GetParameters()
at ScheduleRunner.ReportHelper.GetParameters(String reportServerUrl, String reportPath) in C:\VS\Projects\Web\ScheduleRunner\ReportHelper.cs:line 27
at ScheduleRunner.ScheduleRunner.Start() in C:\VS\Projects\Web\ScheduleRunner\ScheduleRunner.cs:line 75
at ScheduleRunner.Program.Main(String[] args) in C:\VS\Projects\Web\ScheduleRunner\Program.cs:line 14
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException:
ErrorCode=10013
HResult=-2147467259
Message=An attempt was made to access a socket in a way forbidden by its access permissions (ip_address):80
NativeErrorCode=10013
Source=System
StackTrace:
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
InnerException:
これが実際にSSLを強制している場合、どのように防止できますか?私はHTTPを使用しています。そして、ビューア自体を使用するだけで、石鹸の層が私のコントロールの外に現れます。
私がやりたいと思ったすべてはちょうどそれらが式で算出し、刻々と変化する含有することができるようレポートは、パラメータ、特にそのデフォルトを見てもらうことでした。
私は実際に、エクスポートされたレポートを取得するためのURLベースのアクセスパターンを呼び出す際にこれらを使用する予定でした。
別のトピックでは、レポートに特定の非表示パラメータがあるかどうかを確認する必要があります。しかし、Webフォームビューアがうまく接続していても、私のマシンから開発用にローカルに実行していても、winformsビューアを接続することができないので、私はまだその部分にいません。
UPDATE 1/10/2017私はもっと簡単なコードで他の問題に気付き始めました。例えば、webclientを使って何かに接続することができないような気がします。
誰でも気になるかもしれないが、それは一見ファイアウォールではなく、管理者アクセスで実行する必要もありませんでした。 – Greg