各位大大好 <(_ _)>
我想要用 CreateMHTMLBody(),擷取另外一個 asp 檔的內容作為信件內文,
發現只要是參考同一台電腦的另一個 asp 檔,網頁就會卡住,直到 time out。
作業系統:Windows Server 2012 R2
IIS 版本:8.5
程式碼:
<%
Dim Msgconfig,Fields,Objmail,Msgtitle,Msgbody
Set Msgconfig = Server.CreateObject("CDO.Configuration")
With Msgconfig.Fields
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 1
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") =
"Localhost"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Update
End With
Set Objmail=Server.CreateObject("CDO.Message")
Set Objmail.configuration = Msgconfig
Objmail.From = "[email protected]"
Objmail.To = "[email protected]"
Objmail.Subject = "Test Mail"
Objmail.CreateMHTMLBody "http://my_server/body.asp"
Objmail.Send
Set Objmail = Nothing
%>
這幾天測試的狀況是:
1. 直接用瀏覽器連結 http://my_server/body.asp 是看得到內容的
2. my_server 設定為執行 asp 檔的伺服器,程式會卡住
3. my_server 設定為其他伺服器,可以正常發信
4. body.asp 改成其他 html 檔或文字檔,即使在本機上也可以發信
程式一旦卡住,整個網站就會全部停擺,一直到傳回 time out 的錯誤訊息才恢復。
上網找好幾天了,連義大利網站都搭配google翻譯在嗑,都沒有解法,
請問有沒有大大遇過類似的問題的呢?
因為有 google 到微軟的網站:https://goo.gl/qxo5uf
中間有一行:
NOTE: The two ASPs should be in different virtual folders due to threading
issues.
在猜是不是原來的 asp 檔是單執行緒的,執行 CreateMHTMLBody 的時候,
要去抓另一個 asp 檔傳回來的東西,可是另外一個 asp 檔沒有執行緒可以用,
所以卡住?
如果是這樣的話,有沒有大大知道該怎麼指定用新的執行緒去執行 CreateMHTMLBody?
有任何線索都可以,感謝<(_ _)>