2011-01-12 4 views
2

奇妙なタイトルのビットですが、ここでは対処しています。私が取り組んでいるウェブサイトでは、瞬時に準3Dイメージを生成する必要があります。基本的にはアートサイト用ですから、2D画像(jpg)を与えられたCanvasの3D表現を表示する必要があります。 WPF 3D APIを活用してコード内にViewport3Dを作成し、正しい次元で点群を追加してから、元のjpgのテクスチャを適切に適用するというアプローチがあります(具体的な内容については、hereを参照してください)。 。WebアプリケーションでWPFを使用してメモリ内に3Dビジュアルを作成する。 IISで動作しない、Cassiniで動作します

これをテストしている間、サンドボックス環境とVisual StudioのCassini Webサーバーに組み込まれていました。それを実際のコード・リポジトリーに移行してそこでテストしようとしている間、それは動作を停止しました。ポンプアウトされるイメージは正しいサイズですが、完全に空白です。それは完全に黒です。私の頭を壁に叩いた後、私はそれがIISの問題だと分かりました。

私は単純なサンプルアプリケーションを作成して問題を実演しましたが(画像は追加されませんが、すべての面が緑色に塗りつぶされます)、ほとんどのコードは質問とはほとんど関係がないので、

protected void buttonClick(object sender, EventArgs e) 
    { 
     var path = @"C:\test\output\output.png"; 
     IISvsCassini.WpfImageCreator.CreateWPFImage(path); 
    } 
:あなたはこれを参照してくださいよDefault.aspxのの背後には、コードで、それをダウンロードし、それを実行したいならば

http://www.box.net/shared/55bznpfns1

:むしろ、私はそれへのリンクを投稿します

自由にそのパスを変更してそこにファイルを保存しようとするときに正しいアクセス権があることを確認してください。

Cassiniを使用してVisual Studioでそのサンプルを試してもうまくいくので、緑の3Dキューブを持つ「output.png」という新しいファイルが必要です。 IISで試してみると、空のイメージが表示されます。

いくつかの点:誰かが尋ねる前に、はい、私はすべての適切なフォルダに適切な権限の問題を与えました。私はまた、STAに設定されたアパートの状態で別のスレッドで実際の3D生成とイメージの保存を行います。

私はこれがWPFとASP.Netを融合させる珍しいケースであることは知っていますが、何らかのチャンスがありましたら、誰にもアイデアはありますか?変更する必要があるIISにいくつかの設定がありますか? WPF APIにIISの不足を許さない制限がいくつかありますか?

答えて

1

Core Server(UIなし)としてインストールされている2008 Server上で実行している場合、DUCEとMILCOREがレンダリングする必要があるWPFビット+ドライバはRenderTargetBitmap()などにはありません。 MSはこれを実行して、サーバー上の攻撃面と信頼性を低下させます。

残念ながら、あなたはOSを再インストールする必要がありコアサーバーから完全にアップグレードすることはできません - https://serverfault.com/questions/4945/install-gui-on-windows-server-2008-core

+1

私の開発マシンは、実際にはWindows Server 2008 R2 Enterpriseのフルインストールを実行しています。私はWPFがASP.Netでサポートされていないように見えると思っています。これは本当に残念です... – BFree

関連する問題