2017-01-09 4 views
1

WebFormsレポートビューアコントロールを正常に使用しています。私はインナー「リモートサーバーに接続できません」Sytem.Net.WebExceptionを取得しています...が失敗しているのWinFormレポートビューアコントロールでMicrosoft.Reporting.WinFormsレポートビューアコントロールエラーアクセス許可で禁止されている方法でソケットにアクセスしようとしました

を正確に同じことを行いますSystem.Net.Sockets.SocketExceptionの例外 "アクセス許可(ip_address):80 "によって禁止されている方法でソケットにアクセスしようとしました。ソケット例外に(。「(IP_addressは)」私が使用しようとしているアドレスである)

Google検索のようなものを含めた結果で、スタック為替質問に着陸する傾向がある:

を実行する必要があります。これは、私を与えます 手掛かり。特に、私はファイアウォールのブロックコンセプトで興味深いです。私が思っているのは、は、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を使って何かに接続することができないような気がします。

答えて

0

私は自分の試みを単純化し、非常に単純なWebクライアントリクエストでも同じエラーで失敗していることがわかりました。

多くのトラブルシューティングを行った後、問題をさらに単純化するためにシャットダウンまたはアンインストールできるものが何か不思議に思っていました。アンチウイルスは常に問題の良いターゲットです。

ファイアウォールやその他のさまざまなコンポーネントを実行していなくても、私が実際に問題を解決したのは、Kaperskiです。また、Windows 10、Visual Studio 2015、Kaperskiを使用している他の開発者でも、同じ問題が発生していないようですが。

+0

誰でも気になるかもしれないが、それは一見ファイアウォールではなく、管理者アクセスで実行する必要もありませんでした。 – Greg

関連する問題