2014-03-25 18 views
0

我需要編寫一個函數,我必須在應用程序的web.config中找到會話狀態標記/設置。在web.config中查找會話狀態標記

我會將web.config文件作爲參數傳遞給這個函數,函數應該檢測標籤並刪除它,然後返回web.config而沒有會話狀態標記。

我可以有一些功能或正則表達式來實現嗎?

會話標籤格式:

<sessionState mode="StateServer" stateConnectionString="tcpip=CTSINTCOVOCPRD4:42424" /> 

<sessionState mode="StateServer" stateConnectionString="tcpip=CTSINTCOVOCPRD4:42424"></sessionState> 
+0

會話標籤格式: <的sessionState模式= 「的StateServer」 stateConnectionString這一= 「TCPIP = CTSINTCOVOCPRD4:42424」/> 或 <的sessionState mode =「StateServer」stateConnectionString =「tcpip = CTSINTCOVOCPRD4:42424」> Kabir

回答

0

這是提取ViewState的一個例子,你可以修改這個拉會話狀態。

html = Regex.Replace(html, "<div\\s*class=\"aspNetHidden\"[\\s\\S]*?<\\/div\\>", string.Empty, RegexOptions.IgnoreCase); 

這是會話狀態正則表達式:(測試regexhere.net)

正則表達式

<sessionState\s*mode=\"StateServer"\s*stateConnectionString=\"tcpip=([^"]+)"\s*\/> 

輸入

<sessionState mode="StateServer" stateConnectionString="tcpip=CTSINTCOVOCPRD4:42424" /> 

,您可以撥打函數來讀取w ebconfig然後替換使用狀態串regex.replace [未測試親自]

+0

我不確定視圖狀態是如何從這個正則表達式中提取的,您能否提供正則表達式來提取會話狀態。 您可以使用regex101.com並在我的評論框中添加會話狀態標籤? 我正在嘗試適當的正則表達式,但仍然沒有得到。 如果你還可以解釋你的答案中使用的變量? – Kabir

+0

這不會工作。這是硬編碼類的事情。 我可以具有像1語法<的sessionState模式= 「的StateServer」 stateConnectionString這一= 「TCPIP = CTSINTCOVOCPRD4:42424」/> 2. <的sessionState模式= 「的StateServer」 stateConnectionString這一= 「TCPIP = CTSINTCOVOCPRD4:42424」> 3. <的sessionState模式= 「的StateServer」 stateConnectionString這一= 「TCPIP = CTSINTCOVOCPRD4:42424」> 這所有標籤應該僅由正則表達式1得到檢測。 – Kabir