2011-02-24 19 views
1

我正在研究一個包含圖像的asp.net應用程序,該應用程序的處理非常繁重,但同時不能預先生成,因爲它需要大量的參數和來自SQL Server的數據。我決定使用XNA並在GPU上處理圖像,並使用GDI + I管理器在CPU上處理幾分鐘,然後使用着色器將時間降至1秒。 Visual Web Developer真的很好,在開發這個網站時不會給我任何麻煩,但是一旦我嘗試將它放到IIS上,惡夢開始了。經過2天的戰鬥,我終於有XNA程序集正確加載,但GraphicsAdapter.Adapters返回空數組。IIS7中的XNA(ASP.NET)

是什麼阻止XNA在IIS中工作?

我在IIS 7.5 express的同一臺機器上試過我的網站,它工作的很好,但快速服務器僅供本地使用。在同一臺機器上,該網站也直接從Visual Web Developer工作。

我瞭解它的方式IIS只是無法訪問圖形適配器,它真的很難過,無法使用GPU進行並行處理。

回答

0

在哪個帳戶下運行您的ASP.Net進程?

這只是一個預感:您的XNA代碼可能需要交互式Windows會話才能訪問GraphicsAdapter信息。

我想你可以嘗試配置IIS服務以允許它「與桌面交互」(這是Windows服務屬性對話框中的複選框)。

+0

我很興奮嘗試,但沒有運氣......我必須做些什麼來應對這種變化?我只重新啓動了IIS服務。 – Aleks 2011-03-02 21:22:48

+0

我認爲重新啓動應該沒問題。如果可以的話,當你的XNA應用程序正在執行時,看看'System.Environment.UserInteractive'和'System.Environment.UserName'屬性的值。 同樣,我不知道在_iteractive_模式下運行是否會幫助你,所以我不會承諾任何事情!我只是好奇,看看它是否有幫助:) – MetaFight 2011-03-03 11:23:54

+0

我終於有一段時間再次混亂。 System.Environment.UserInteractive爲false :(儘管「允許服務與桌面交互」被選中。 – Aleks 2011-03-23 21:35:38

1

爲什麼它不工作,我不知道。我不是一個大的IIS或XNA的傢伙。

我雖然可以提出一個解決辦法:

你可以有XNA工作與輸入參數的一個單獨的程序。 IIS可以像調用任何其他程序一樣調用該程序。然後,您可以讀取圖像並正常顯示。

+0

我有這個選項,但我的ASP已經有了所有的SQL DB連接和網站上的其他一些數據所需的東西。如果我在獨立應用程序中完成這項工作,我必須在該應用程序內部實現所有SQL內容,否則我必須向其傳輸大量數據。這可能必須通過一個文件。 – Aleks 2011-02-25 00:01:05

+0

管道中的大量數據不應該是一個問題。這是一個流。導出到文件會更慢,但可能不會太多。實施可能不需要很長時間,如果您真的需要,您可以隨時實施和優化。 – corsiKa 2011-02-25 00:03:46

1

這可能只是一個安全問題。如果您正在開發人員計算機上運行,​​請嘗試配置應用程序池以使用管理預設運行並查看將要發生的情況。