三方整合接口配置的時候,最輕易出現問題就是各個程序的配置文件的修改了,很多網友都是在這上面出錯。比如下面這幾句:
Const API_Urls = "博客@@http://Localhost/oblog4/api/API_Response.asp"
Const DvApi_Urls = http://localhost/cms/API/API_Response.asp
Const strTargetUrls = "http://localhost/cms/API/API_Response.asp"
整合因為使用了xmlhttp,使得使用相對路徑而不使用完整URL不可行了。但是這樣一來,也限制了整合的域名。
隨著雙線空間、鏡像站點的越來越廣泛,原來的整合配置已經不能再滿足需要。有網友提出這個問題,我當時給了一個方案,就是動態獲取用戶訪問的域名,然后用到整合配置中去。當時沒有做測試,也沒有深入。
今天在動易起航教師里,又碰到網友提出這個問題。我也正好想測試和解決一下這個問題,就在本機進行了簡單的測試。結果整合成功。下面講解一下:
首先,原理就是把原來的配置文件中的接口路徑定義由常量定義改為變量,這樣支持在變量賦值中使用另外的變量。然后,我們新建一個變量用來存儲ServerVariables里讀取的Server_Name變量。再把這個變量賦值到接口路徑定義中去。也就是下面用紅色標記出來的部分:
Const API_Urls = "博客@@http://www.domain.com/oblog4/api/API_Response.asp"
Const DvApi_Urls = "http://www.domain.com/cms/API/API_Response.asp"
Const strTargetUrls = "http://www.domain.com/cms/API/API_Response.asp"
這部分就是要動態獲取的部分。
以動易的為例,原來是:
Const API_Urls = ........
改成:
Dim API_Urls
API_Urls = ........
我們首先定義一個存儲用戶訪問的域名的變量:
Dim strSiteRoot
然后從ServerVariables集合眾獲取該變量:
strSiteRoot = Request.ServerVariables("SERVER_NAME")
最后把變量用到接口路徑定義中去:
Dim API_Urls
API_Urls = "論壇@@http://" & strSiteRoot & "/bbs/dv_dpo.asp"
其它兩個程序的接口配置,也按同樣原理做即可。下面是修改好的三方整合配置文件供參考:
點擊下載此文件
新聞熱點
疑難解答
圖片精選