' ' で実行されている Web.API サービスがhttp://mywebserver/report
あり、コントローラーで次のようにサーバー上に静的な html ファイルが存在するかどうかを確認します。
bool exists = File.Exists( Path.Combine( HostingEnvironment.MapPath( @"\atlas" ), "report.html") );
これは正常に動作し、私のファイルは正常であることがわかりました。'atlas' は仮想ディレクトリ パスであるため、' http://mywebserver/atlas/report.html
' を開くことができるはずです。問題は、ファイルが存在し、開くことができるという bool をクライアントに返すときに、jQuery からファイルを開こうとすると、元の URL に配置され、' http://mywebserver/report/report.html
' を開こうとすることです。仕事。
http://mywebserver/atlas/
IIS では、仮想ディレクトリとアプリケーション ディレクトリを同じ場所にマップすることはできません... また、window.open(" " + "のように、クライアントで完全な Web サービス URL をハード コードしたくありません。 report.html")。
これを回避する方法はありますか?おそらく、コントローラーが正しい URL をクライアントにプッシュして開くようにする方法はありますか? 仮想ディレクトリへの URL マッピングを取得するにはどうすればよいですか? 私はこれを難しい方法でやっていると思います...ファイルが見つかった場合、新しいウィンドウで開かれるようにしたいだけです....