2016-10-02 48 views
2

我正在使用.net爲服務器遷移任務的幾個過期組件實現COM組件。Server.CreateObject +服務器上下文+ COM :-)

舊組件用於在當前服務器上接收圖像路徑,將其轉換爲jpeg並將轉換後的圖像保存在同一路徑中。

這在.net中是微不足道的,但是我的主要問題是獲取服務器上下文。我不知道該怎麼做了下列之一:

  1. 將圖像保存到原始圖像從
  2. 檢索或直接發送圖像響應流相同的路徑(避免需要節約使用轉換圖像)

組件被稱爲類的ASP頁面內(是的,很不幸地):

Server.CreateObject("Component.Class") 

反正在implem enting .net代碼,我可以獲得創建該組件的Server對象的引用?我希望如果我可以獲得對服務器的引用,那麼我可以獲得適當的上下文以回寫回響應流。

回答

1

我已經完成了這項工作,獲得了一些互聯網和谷歌的線索。以爲我應該發佈這個以防其他人有同樣的問題。

獲取服務器上下文是包括以下引用的一個問題:

  1. COMSVCLib(應該已經在你的COM部分添加引用到你的項目時)
  2. ASPTypeLibrary:尋找:「Microsoft活動服務器頁面對象庫「。如果你沒有立即在你的COM部分看到這個,那麼你需要從「windows程序和功能」中添加它。添加以下功能:Internet信息服務 - > WWW服務 - > ASP

工作出上述是最難的事情:-)之後,它很簡單,引用您的服務器和其他內在的ASP對象:

COMSVCSLib.AppServer aspServer = new COMSVCSLib.AppServer(); 
COMSVCSLib.ObjectContext oc = aspServer.GetObjectContext(); 
ASPTypeLibrary.Server server = (ASPTypeLibrary.Server)oc["Server"]; 

您可以對其他ASP對象(如Request和Response)執行相同的操作。