私はこれについてどうやって行くかについてのいくつかの提案を探しています。どんな入力でも大歓迎です!
現在、ASP.NETMVCアプリケーションがあります。クライアントには、XPSドキュメントのIDを持つリンクがあります。ユーザーがリンクをクリックすると、ドキュメントの詳細が記載されたページに移動します。この情報に加えて、この情報と一緒に同じページにドキュメントを表示したいと思います。
サーバー側では、IDを取得すると、データベースからバイト配列としてシリアル化されたドキュメントを取得できます。問題は、そのシリアル化されたドキュメントをWebページに取り込むための最良の方法は何ですか?
そのドキュメントをファイルシステムにドロップしてから、ファイルパスをまとめる必要がないことを強く望んでいます。ドキュメントを「application/vnd.ms-xpsdocument」のコンテンツタイプとしてブラウザにストリーミングできるようにしたいと思います。
私はこれを処理するためにWebコントロールを使用してみました(バイナリを書き出すことができません)、これを行うためのHTTPハンドラーを作成することを考えました(どこから始めればよいかわかりません)、そしてドキュメントを取得するための他のいくつかの方法をいじくり回しましたブラウザにストリーミングします。
さらに、Webページにドキュメントを埋め込む方法の問題もあります。EMBEDタグを使用しますか?またはオブジェクト?または、iframeを使用して、ドキュメントを配信するものを指すようにソースを設定しますか?
繰り返しますが、私は解決策が弓に包まれることを期待していません。これについてのアドバイスを探しています。また、この質問はxpsドキュメントに関するものですが、ブラウザーでホストされるバイナリファイル(PDFなど)をストリーミングするすべてのアプリケーションに適用されます。
さて、ブラウザに表示することに関しては、一言:Silverlight。それは解決しました。サーバーからブラウザに送信するための最良の方法を見つけるという問題がまだあります。
それを打つ。Silverlightは、XPSドキュメントを表示するのに十分なほど進んでいないようです。httpハンドラーを指すiframeについて考えています...iframeは機能します。残念ながら、すべてがパイプに投げ込まれます。私はいつでも最初のページを取り除き、その子犬を送ることができると思います...
わお。HTTPハンドラーは必要ありません。必要なのはMVCのカスタムActionResultだけです。それはどれほど素晴らしいですか?