2010-11-10 61 views
0

我使用ShDocVW.InternetExplorer類產卵一個新的Internet Explorer對象,並做一些表格填寫的東西(對某些作品的SharePoint)。它工作正常,在我自己的機器擁有Windows 7作爲操作系統。但是當我在Windows Server 2003機器上部署相同的東西時,它不會彈出Internet Explorer窗口。當我檢查任務管理器時,我可以看到一個新的iexplore進程,但會話ID = 0(但在Windows 7中會話ID = 1)。所以,我看到這是關於IIS會話隔離的東西。那麼,是否可以將ShDocVW.InternetExplorer實例分配給新的System.Diagnostics.Process並實現此任務?或者我們可以啓動一個新的ShDocVW.InternetExplorer實例,會話ID = 1?IIS會話隔離問題

在此先感謝。

+0

爲什麼你需要啓動IE來填寫表格?你爲什麼不編程式地發佈這些值? – 2010-11-10 04:22:11

+0

因爲我需要找到返回的網頁後,填寫表格的東西的狀態......這是由在'shDocVw.internetexplorer' – Asanka 2010-11-10 04:29:55

回答

0

Yap ...我得到了問題的答案,在IIS中我們無法用默認設置生成使用Shell Execution的進程......如果我們需要這樣做,需要設置2個解決方法,可從here找到。順便說一下,thanx非常適合你們的輸入和支持,這有助於我弄清楚這一點。歡呼聲......

0

我不是很清楚你在做什麼,但如果產生ShDocVW.InternetExplorer進程的應用程序是一個ASP.NET應用程序,那麼你將看不到該窗口,因爲IIS作爲Windows服務運行,因此Windows服務使用與您登錄的桌面不同的「桌面」。所以你永遠不會看到任何Windows和Windows服務應用程序啓動。

,我認爲你應該做的就是創建一個實例你的資源管理器窗口中的GUI應用程序。

+0

的DocumentCompleted方法分析,但我想要的是,當我要生成一個新的Internet Explorer實例做點擊aspx頁面中的一個控件。 – Asanka 2010-11-10 04:53:55

+0

在服務器或客戶端上?如果創建ShDocW實例的代碼是服務器端代碼,那麼您將在IIS服務器進程的進程空間中創建該代碼,正如我之前解釋的那樣,它是Windows服務,因此您將永遠不會看到該實例IE – 2010-11-10 11:12:13

0

基本上,問題是,你正在試圖通過代碼做什麼,因爲這會在服務器上的工作,你會看到一個過程入門催生了服務器上...而不是在客戶端上爲你承擔。它正在開發你的機器,因爲你一直在爲你的項目使用FileSystem,並且你的項目的頁面由cassini服務--Web Development Server在你自己的機器上啓動。

填寫表單的做法是錯誤的。您應該使用POST請求並讀取服務器上的值,以便對發佈的數據進行必要的處理。