1、vb.net 如何指定訪問來路來訪問一個URL?
'GET數據通用模板,返回源碼
Function DownBitmap(ByVal URL_Post As String, ByVal Referer_Post As String, ByVal Accept_Post As String, ByVal UserAgent_Post As String _
, ByVal KeepAlive_Post As Boolean, ByVal CookieContainer_Post As CookieContainer) As Bitmap
Dim HttpPostUrl As New System.Uri(URL_Post)
Dim reqp As HttpWebRequest
reqp = CType(WebRequest.Create(HttpPostUrl), HttpWebRequest)
reqp.Method = "GET"
reqp.Referer = Referer_Post
reqp.Accept = Accept_Post
reqp.UserAgent = UserAgent_Post
reqp.KeepAlive = KeepAlive_Post
reqp.CookieContainer = CookieContainer_Post '設置Cookie
Dim resP As WebResponse = reqp.GetResponse
Dim bmp As Bitmap = New Bitmap(resP.GetResponseStream)
resP.Close() '關閉
Return bmp
End Function
2、Asp.net里,訪問上一級目錄文件
相對路徑中:
1、"/xxx.xx" 表示從網站根目錄開始,即網站根目錄下的xxx.xx文件
2、回"./xxx.xx"表示本答目錄下的xxx.xx
3、"../xxx.xx"表示上一級目錄中的xxx.xx,當然,"../../xxx.xx"表上上一級目錄中的xxx.xx
4、"xxx/"表示當前目錄下的xxx文件夾,也相當與"./xxx/"
不過:
asp.net中有一些地方是不支持相對路徑的,如web.config
要是回答的內容有問題,或認為不妥,請發送百度消息給我,消息內容加上本頁網址哦。。
·
3、如何獲取來路(遠程)域名,不是當前域名哦,是來路的!!!
php的:$url = $_SERVER["HTTP_REFERER"]; //獲取完整的來路URL
4、asp.net 一級域名與二級域名取 session
Asp.Net中的Session要比Asp中的Session靈活和強大很多,同時也復雜很多;看到有一些Asp.Net開發人員報怨說不穩定,莫名其妙的丟失,其實這正是Asp.Net改進的地方之一。
我們知道Session與Cookie最大的區別在於:Cookie信息全部存放於客戶端,Session則只是將一個ID存放在客戶端做為與服務端驗證的標記,而真正的數據都是放在服務端的內存之中的。
在傳統web編程語言(比如asp)中,session的過期完全是按照TimeOut來老老實實處理的,超時值默認是20分鍾,但問題是:通常有很多用戶只看一眼網頁,然後就關瀏覽器走人了,這種情況下,服務端內存里還長久保存著Session的數據,如果這種用戶很多,對伺服器資源無疑是一種浪費。
而在Asp.Net中,Session的存儲策略有好幾種:
默認情況下,系統採用的是InProc模式,即進程內模式。這種情況下,Session是保存在Asp.Net工作進程映射的內存中的,問題是Asp.Net工作進程為了維護良好的平均性能,會被系統經常回收。我們在IIS里可以配置自動回收(比如按時間周期回收,或者當內存使用達到多少值時自動回收),如下圖即為IIS7中配置應用程序池回收參數的界面:
當Asp.Net工作進程被回收時,其映射的內存全部被清空並初始化,以便其它程序可以使用,所以Session也跟著一並消失了,就這是為什麼Sesssion會無故消失的主要原因。
當然默認的InProc模式也是性能最高的一種模式,如果您不能忍受這種「不穩定」,可以在web.config中把mode設置為StateServer模式:
<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424"></sessionState>
這種情況下Session會被保存在Asp.Net進程之外的aspnet_state.exe進程中,這個進程不受asp.net進程回收的影響。但要注意:aspnet_state是以windows服務形式運行的,所以請先確保127.0.0.1對應的機器上該服務已經啟動。
另外,我們也必須意識到:雖然StateServer模式下session會穩定很多,但是性能相對InProc而言是有損耗的(大概在15%~25%左右),因為系統內部要將session值序列化以後,保存到aspnet_state進程映射的內存中,讀取的時候還要反序列化。
這種模式還有一個優點:如果tcpip=127.0.0.1:42424中的IP地址指定為另外一台伺服器,意味著可以將session保存在web伺服器以外的機器上。
session信息甚至還能保存到SqlServer資料庫中:
進入vs命令行模式,輸入以下命令:
即aspnet_regsql -S 資料庫實例名 -ssadd -U 連接用戶名。注意:資料庫伺服器得先啟動Sql Server代理服務:
該命令運行後,將會自動創建一個AspState資料庫,同時會在tempdb資料庫下創建二張表ASPStateTempApplications與ASPStateTempSessions。
對應的web.config配置為:
<sessionState mode="SQLServer" sqlConnectionString="data source=JIMMYT61P;uid=sa;pwd=***"></sessionState>
註:如果想把表直接創建在資料庫ASPState中,剛才的命令行中,再加一個參數 -sstype p ,即:
aspnet_regsql -S 資料庫實例名 -ssadd -sstype p -U 連接用戶名
同樣SqlServer模式在保存讀取Session數據時,相對InProc模式也會有性能損耗(大約在25%左右),但利用SqlServer能實現Session數據的持久保存。
最後再來看看mode中的另外二個值: Off與Custom,Off 相當於禁用了session,就不多說了,Custom 允許開發人員自己定義Session如何存儲,相當於提供了一個可供編程的開發介面(我從來沒用過,所以...也談不出很深的道道來,呵呵)。
綜合一下:InProc性能最高,但是有可能會使session無故丟失,而且這種模式無法適用於web伺服器集群或負載均衡場景(因為多台伺服器之間無法實現Session同步),StateServer與SqlServer可應用於web伺服器集群場景,但是性能有所降低;如果希望Session能持久化保存,SqlServer是唯一的內置方案。
個人經驗:一般情況下,我傾向於使用cookie,從而減少對伺服器資源的消耗,但是這也要找一個平衡點,因為服務端代碼中要得到客戶端的cookie,也就意味著cookie文件必須通過瀏覽器傳遞到伺服器,同樣會消耗網路帶寬。另外在一些博客系統中,比如用戶寫文章時,如果中途離開了下,然後繼續寫,等到保存時會發現session已經失效,頁面跳到登錄頁,辛苦打了N多字卻沒了!這時可考慮用代碼一直維系session,即麒麟兄弟的心跳思想:讓你的網站"心跳"起來 ,或者用ajax每隔幾分鍾自動保存一次。再者從安全性上講,偽造session要比cookie難得多,相對更安全一些。
5、asp如何獲取域名來路參數
Request.QueryString["ip"]或Request.Form["ip"]);
6、asp.net 一級域名與二級域名 session,取值問題。
session必須在同一個域中才能共享。而「www.我的域名.com」與「changsha.我的域名.com」會被認為是不同回域,因為盡管它答們的純域名相同,但是它們是可以指向兩個毫無關聯的IP地址的,所以在網路上它們會被認為是「不同域」。
不但如此,你就是用純域名,比如 http://我的域名.com/b.aspx 同樣是取不到session["a"]的!只有域名完全相同的才會被認為「同域」!
7、在.NET中專門獲取來路URL?
說得對,先判斷一下,比專如:屬 if(Request.UrlReferrerI !== null){ string url = Request.UrlReferrer.AbsoluteUri.ToString();}
8、ASP.NET(C#)怎麼獲得當前域名?
HttpContext.Current.Request.Url.Host.ToString()
9、c# 如何獲取來路網址?
可以使用以下幾種方法獲取網站的來路,請根據需要選擇適合的方法:
一、C#代碼一
url = Request["referer"];
Response.Write("alert('" url "')");
Response.End();
或者直接使用
top.location.href
還可以使用如下的四種中的其中一種
HttpRequest.UrlReferrer
Request.UrlReferrer.AbsolutePath
HttpContext.Current.Request.Url.ToString()
Request.ServerVariables["Http_Referer"] 可以獲得上個頁面鏈接地址
二、HTML code
<script>
var url = 'js.aspx?referer=' encodeURIComponent(document.referrer);
document.write('<' 'script type="text/java script" src="' url '"><' '/script>');
</script>
三、xmlhttp代碼
var objXMLHTTP=new ActiveXObject( "MICROSOFT.XMLHTTP ");
var url = "http://www.dzwebs.net/ " "se.asp?temp= " name1.value "&id= " name2.value "&len= " name3.value;
objXMLHTTP.open( "GET ",url,false);
objXMLHTTP.send();
var strReturn=objXMLHTTP.ResponseText;
if (strReturn== "error ")
{alert( "there is error occurred! ");
10、asp.net 如何獲取上級目錄路徑
Server.MapPath("~/bg/")