ashx編譯
① C#伺服器ashx頁面功能如何避免惡意攻擊形式充值怎樣避免
在前端增加一個秘鑰生成器,首先前端要驗證打開是否在微信內打開,其次採用特殊演算法生成一個秘鑰,後端也用相同演算法來解析秘鑰是否正確,在安全點可以把前端生成秘鑰的代碼進行混淆避免被發現,或者隱藏的好些。
② 在asp.net中如編譯把ashx文件
dll是通過類庫工程編譯出來的,不能編譯的原因可能是你的語法有錯誤或其它引用錯誤…
----
提示什麼錯誤。不行可以試一下重建類庫工程
③ ashx文件怎麼加密
平時系統默認創建的ashx如下格式:
<%@
WebHandler
Language="C#"
Class="Handler2"
%>
using
System;
using
System.Web;
public
class
Handler2
:
IHttpHandler
{
public
void
ProcessRequest
(HttpContext
context)
{
context.Response.ContentType
=
"text/plain";
context.Response.Write("Hello
World");
}
public
bool
IsReusable
{
get
{
return
false;
}
}
}
但是這樣的話,很可能把代碼暴露給客戶端。
通過查看
<%@
WebHandler
Language="C#"
Class="Handler2"
%>
發現其實可以把ashx文件和具體的代碼分開。
<%@
WebHandler
Language="C#"
Class="Handler2"
CodeBehind="Handle2.cs"
%>
把實現的代碼存放到app_code文件夾下面,這樣可以保證代碼的安全。
因為
①微軟給各種特定的文件夾設定了訪問許可權
②編譯之後的代碼呈現為dll格式,不容易查看源碼。
④ .ashx和.aspx的區別
看,比aspx簡潔多了吧.只有一個文件,沒有後台cs文件(基於代碼安全考慮,後邊我們會自己添加這個文件).ashx對比aspx文件,就好像 少了cs文件.其實這就是ashx和aspx不同的地方,因為aspx要將前後台顯示和處理邏輯分開,所以就弄成了兩個文件,其實,在最終編譯的時 候,aspx和cs還是會編譯到同一個類中去.這中間就要設計html的一些邏輯處理.而ashx不同,它只是簡單的對web http請求的直接返回你想要返回的結果.比aspx少處理了htm發譏篡客詁九磋循單末l的過程.理論上,比aspx要快.
⑤ 我代碼中修改了ashx如何打補丁
ashx只是一個佔位符文件而已,行為都是cs文件修改的。
還有如果你的網站與編譯的話,你需要替換bin目錄下的dll,否則也沒效果
⑥ aspx和htm+ashx的區別是什麼
html (htm): 由瀏覽器來解釋(翻譯)代碼並顯示給使用者瀏覽。因此,其幾乎不佔用伺服器資源,可以直接發送給請求者,由請求者的瀏覽器來負責解釋工作。
aspx: .net由伺服器中的.net編譯器來負責解釋,翻譯成html內容,然後發送給請求者。
.ashx: 由伺服器中的.net編譯器來負責解釋,翻譯成指定內容,然後發送給請求者。
aspx與 ashx的區別在於,aspx是一個自帶生命周期的大型容器(自身有界面屬性),其包含創建,初始化,載入,重繪,卸載等等過程(無論你用還是不用這些過程)。而ashx不存在界面,與aspx相比,佔用資源非常少,也更加靈活。因此其叫:一般性處理程序。
通常如果非必要時,我們應該採用ashx。比如當需要使用ajax調用伺服器內容時,一般不要創建.aspx文件來獲取內容,而用.ashx文件來獲取內容,以保證資源消耗最少的方式。
⑦ .net中如何實現對第三方控制項SChelerControl控制項的綁定以及使用說明
下面有關用戶控制項與aspx頁面區別說法錯誤的是(B)
aa// 用戶控制項不能再包含<HTML><BODY><FORM>標記,而aspx頁面可以包含
bb// 用戶控制項不能觸發伺服器端的事件,只是一種外觀重用方式,而aspx頁面可以
cc// 用戶控制項繼承自System.Web.UI.UserControl,而aspx頁面繼承自System.Web.UI.Page
dd// 用戶控制項可以包含其它用戶控制項,但是不能直接訪問,必須包含在某個aspx頁面中才可以訪問,而aspx頁面是可以直接訪問的
想在在aspx頁面使用用戶控制項,則aspx頁面開始部分必須添加下面哪個頁面指令A
aa// <%@ Page %>
bb// <%@ Master %>
cc// <%@ Control %>
dd// <%@ Register %>
根據你的理解,你認為第三控制項與用戶控制項的主要區別是A
aa// 第三方控制項是編譯後的代碼,後綴為dll,只要應用程序引用進來,就可以使用,而用戶控制項是頁面文件,屬於非編譯代碼,只限於在當前應用程序中使用
bb// 用戶控制項比第三方控制項更靈活,可以在應用程序中多個地方使用
cc// 用戶控制項出現在工具箱中,而第三方控制項不會出現在工具箱中
dd// 用戶控制項比第三方控制項的執行效率要高一些
下面關於HttpHandler與HttpMole說法正確的是C
aa// 一個Http請求中可以經歷多個HttpMole和一個HttpHandler
bb// 一個Http請求中可以經歷多個HttpHandler和一個HttpMole
cc// HttpMole是一個Http請求的最終處理者
dd// HttpHandler通常做一些停止數據向客戶端輸出的操作
在aSPNET中,關於HttpHandler說法不正確的是:(D)
aa// 通常文件後綴名為ashx
bb// 它是一個Http請求處理的最終點
cc// 它實現了IHttpHandler
dd// 當它的IsReusable屬性為false時,表示只能使用一次
下面哪個選項不能在web.config文件中配置的(C)
aa// 連接字元串
bb// 身份驗證
cc// 網站導航
dd// 程序出現錯誤時,定向到的錯誤提示頁面
aSPNET支持三種驗證方式,不屬於其中的是(B)
aa// passport
bb// SqlServer身份
cc// Windows
dd// Forms
在網站某個目錄的web.config配置文件中,有一段關於該目錄授權的代碼,經過分析,你認為正確的答案是:B
<authentication>
<deny user="?" /> 拒絕所有匿名用戶
<allow users="xiaozhang" /> 容許xiazhang
<deny roles="*"> 拒絕所有用戶
</authentication>
aa// 所有用戶都可以訪問該網站目錄,除xiaozhang以外
bb// 所有用戶都不能訪問該網站目錄,除xiaozhang以外
cc// 匿名用戶和xiaozhang都不能訪問該網站目錄
dd// 所有角色和用戶都不能訪問該網站目錄
已知在網站的根目錄下有一個web.config文件,有如下關於驗證的代碼,正確說法的是B
<authorization mode="Forms">
<forms name="userLogin" loginUrl="~/login.aspx" timeout="20">
</forms>
</authorization>
aa// loginUrl的作用是,當用戶登錄不成功時,轉向login.aspx頁面
bb// loginUrl的作用是,當用戶進入網站如果未登錄,就轉向login.aspx頁面
cc// timeout是超過20分鍾不登錄,就退出網站
dd// timeout的作用是當20分鍾後,用戶還沒有登錄,就轉向login.aspx頁面
下列關於部署的說法,正確的是(a d)
aa// 部署就是將站點文件復制到相關web目錄中
bb// 應該在本地站點將內容處理好,比如資料庫連接字元串設置好並加密,然後直接復制到站點到遠程伺服器相關目錄即可
cc// 發布預編譯站點,如果將來需要更新某個頁面,最好不要選擇使用」使用固定命名和單頁程序集」
dd// 發布預編譯站點就是將站點所有文件都編譯到dll中
下面(C)不屬於導航控制項
aa// Menu
bb// SiteMapPath
cc// View
dd// SiteMapDataSource
在asp.net中的母版中的內容頁中能包含的HTML元素是(D)
aa// <html>
bb// <head>
cc// <body>
dd// <script>
如果希望使用TreeView控制項顯示時默認全部展開應設置(D)屬性
aa// ExpandDepth
bb// ExpandImageToolTip
cc// ExpandImageUrl
dd// Expand
在SiteMapPath控制項中,要設置導航路徑中分隔符應設置(B)屬性
aa// PathDirection
bb// PathSeparator
cc// PathSeparatorStyle
dd// Provider
下列關於ContentPlaceHolder控制項說法錯誤的是(C)ContentPlaceHolderMain
aa// ContentPlaceHolder 控制項為母版頁中的內容定義一個相對區域
bb// 母版頁還包括一個或多個 ContentPlaceHolder 控制項
cc// ContentPlaceHolder 控制項必須包含在內容頁中
dd// Content 控制項使用其 ContentPlaceHolderID 屬性與 ContentPlaceHolder 關聯.
下列(c)模板不屬於Repeater控制項
aa// ItemTemplate
bb// alternatingItemTemplate
cc// SelectedItemTamplate
dd// SeparatorTemplate
設置(a)屬性將會頁面顯示DataList控制項時調用EditItemTemplate模板
aa// EditItemIndex
bb// EditIndex
cc// SelectedItemIndex
dd// ModifyItemIndex
如果在DataList中實現分頁一般(AB)(選擇二項)
aa// 使用Sql語句
bb// 使用PagedDataSource對象進行分頁
cc// 設置CurrentPageIndex屬性
dd// 設置DataList的PageIndex屬性
DataList中的交替行模板是(B)
aa// ItemTemplate
bb// alternatingItemTemplate
cc// SelectedItemTamplate
dd// SeparatorTemplate
下面關於DataList說法錯誤的是(C)
aa// DataList沒有內置分頁功能
bb// DataList具有SelectedItemTamplate模板
cc// DataList不能使用ObjectDataSource控制項進行綁定數據 可以使用ObjectDataSource控制項進行綁定數據
dd// DataList比Repeater控制項多了二個模板 DataList有編輯模板和選擇模板
在一個aSPX頁面的Page_Load事件中,編寫了如下代碼,則執行該頁面後,將在頁面中輸出(a)。(選擇一項)
private void Page_Load(object sender , System.Eventargs e){
Response . Write(「歡迎光臨」);
Response . End();
Response . Write(「歡迎下次光臨」);
}
aa// 歡迎光臨
bb// 歡迎下次光臨
cc// 歡迎光臨
歡迎下次光臨
dd// 歡迎光臨歡迎下次光臨
在aSP.NET中,application是(C)類的實例
aa// Httpapplication
bb// HttpapplicationUtility
cc// HttpapplicationState
dd// Page
在aSP.NET中,下列關於session對象的說法正確的是(D)。(選擇一項)
aa// 用戶每次打開一個web頁面,將會創建一個session對象
bb// 用戶關閉客戶端web頁面後,session對象將立即消失
cc// 應用程序退出後,session對象的值才能消失
dd// 每個用戶的Session對象不能被其他用戶訪問
在aSP.NET中,為了將當前頁面跳轉到一個相同目錄下名為Main.htm的頁面,下面方法正確的是(C)。(選擇一項)
aa// Server.Execute(「Main.htm」);
bb// Servlet.Transfer(「Main.htm」);
cc// Response.Redirect(「Main.htm」);
dd// Response.Write(「Main.htm」);
某個用aSP。NET技術開發的網站擁有大量的訪問量,最近該網經常因為伺服器內存佔用率過高而宕機,作為該網站技術員的你仔細檢查了該網站的系統,發現內存佔有率過高是因為每個用戶都有大量數據保存在Session中,為了解決該問題你應該進行(C)處理。(選擇一項)
aa// 將保存在Session中的數據保存在application中
bb// 將保存在Session中的數據保存在Cookie中
cc// 將Session中對安全性要求不高的數據保存在Cookie中,不經常使用的數據保存在資料庫中
dd// 將Session中對安全性要求不高的數據保存在application中,不經常使用的數據保存在Cookie中
對於第三方在線文本編輯控制項FreeTextBox,如果需要獲取控制項中錄入文本的HTML代碼,需要訪問什麼屬性(A)(選擇一項)
aa// Text
bb// HtmlText
cc// Value
dd// SelectText
有時候編輯過程中會出現如下的錯誤,如果要避免該錯誤,需要在Page頁面指令上做何設置(D):(選擇一項)
aa// EnableEventValidation="true"
bb// EnableEventValidation="false"
cc// ValidateRequest="true"
dd// ValidateRequest="false"
使用驗證碼生成控制項Webvalidates,生成驗證碼的方法為(C):(選擇一項)
aa// Generate()
bb// Initial()
cc// Create()
dd// Next()
CodeSmith中,腳本標簽寫法正確的是(B):(選擇一項)
aa// <script runat=」server」></script>
bb// <script runat=」template」></script> 如果不添加會被視為普通文本
cc// <CodeTemplate runat=」server」></CodeTemplate>
dd// <CodeTemplate runat=」template」></CodeTemplate>
利用CodeSmith生成實體類的代碼,對於DbType.Int32,應輸出的類型為:(C)(選擇一項)
aa// byte
bb// short
cc// int
dd// long
下面那種數據源控制項適合於三層結構數據綁定(C)
aa// SqlDataSource
bb// accessDataSoure
cc// ObjectDataSoure
dd// XmlDataSoure
下面對於幾種數據源控制項說法錯誤的是(A)
aa// SqlDataSource數據源控制項不能用於oracle資料庫和access資料庫。
bb// ObjectDataSource可以對業務對象或其他返回數據的類執行特定的數據訪問。
cc// XmlDataSource可以對XML文檔執行特定訪問,包括物理訪問和內存訪問。
dd// SiteMapDataSource可以對站點地圖提供程序所存儲的Web站點執行特定的站點地圖數據訪問.
為綁定的行添加腳本事件的方法是什麼(D)
aa// ItemDataBound
bb// DataBinding
cc// DataBound
dd// RowDataBound
DropDownList控制項的哪個屬性可獲取當前選擇的項(A)
aa// DropDownList.SelectedItem.Value
bb// DropDownList.SelectedItem.Text
cc// DropDownList.SelectedValue
dd// DropDownList.SelectedItem
Gridview控制項的基類是(C)
aa// HierarchicalDataBoundControl
bb// ListControl
cc// CompositeDataBoundControl
dd// BaseGridriew
下面關於Eval和Bind的區別,說法不正確的是(B)
aa// Eval()方法是靜態(只讀)方法
bb// Eval方法沒有Bind?方法訪問速度快
cc// Bind?方法支持讀/寫功能,可修改回傳伺服器。
dd// Bind 方法不能格式化字元串
下面關於FileUpload控制項說法不正確的是()
aa// 獲取上傳文件名的屬性是FileUpload.PostedFile.FileName
bb// 獲取上傳文件大小的屬性是FileUpload.PostedFile.ContentLength
cc// 獲取上傳文件類型的屬性是FileUpload.PostedFile.ContentType
dd// 保存上傳文件的方法是FileUpload.SevaAs
如果用戶信息必須填寫電話號碼,使用那個驗證控制項(C)
aa// RequiredFieldValidator
bb// REgularExpression
cc// RequiredFieldValidator和regularExpression;
dd// CompareValidator和RequiredFieldValidator;
現在需要驗證Textbox的輸入數據為年齡,並且要求大於18,小於65應該使用的控制項是(C)
aa// RequiredFieldValidator
bb// REgularExpression
cc// RequiredFieldValidator和RangeValidator
dd// CompareValidator和RequiredFieldValidator
ValidationSummary控制項的作用是(B)
aa// 檢查總和數
bb// 集中顯示所有驗證的結果
cc// 判斷有無超出范圍
dd// 檢查數值大小
在VS中,下列說法錯誤的是: D
aa// 內置了輕量級的Web伺服器
bb// 無須配置IIS、設置相應許可權
cc// 內置了80多個控制項
dd// 代碼前置,邏輯分明
運行下列代碼,如果當天是星期天,且用戶輸入「accp」(輸入框TextBox的ID是txtName),則將輸出(C)
string outPut="";
switch (DateTime.Now.DayOfWeek.ToString())
{
case "Saturday": outPut = ",Hi"; break;
case "Sunday": outPut = ",Ok"; break;
default: outPut = ",Bye"; break;
}
string message = string.Format(outPut,txtName.Text);
Response.Write(message);
aa// Hi
bb// Ok
cc// Bye
dd// 無輸出
App_Data目錄是用來放置(A)
aa// 專用數據文件
bb// 共享文件
cc// 被保護的文件
dd// 代碼文件
VS創建Asp.net網站時自動生成的文件和目錄有(BCD) 選擇三項
aa// app_resource文件夾
bb// app_Data目錄
cc// 擴展名為aspx和cs的文件
dd// Web.Config文件
現有用來做開發的生產機和用來做布署的伺服器,關於開發布署發布網站說法正確的是:BC 選擇二項
aa// 生產機必須安裝IIS
bb// 伺服器必須安裝IIS
cc// 生產機必須安裝Windows Server操作系統
dd// 伺服器必須安裝Windows Server操作系統
B/S典型應用有:BCD 選擇三項
aa// 某酒店的內務管理
bb// 購物網站
cc// 個人博客
dd// 論壇
在開發三層結構的網站時,與數據表對應的實體類應寫在(D)層
aa// 表示層
bb// 業務邏輯層
cc// 數據訪問層
dd// 模型層
某個論壇上有這樣的規定:在線時長不夠100小時不能發貼,相關的代碼應該寫在(B)層
aa// 表示層
bb// 業務邏輯層
cc// 數據訪問層
dd// 模型層
對於存儲過程的調用,應該出現在(C)層
aa// 表示層
bb// 業務邏輯層
cc// 數據訪問層
dd// 模型層
下列說法正確的是(AB) 選擇二項
aa// 數據訪問層要添加模型層的引用
bb// 業務邏輯層要添加數據訪問層的引用
cc// 表示層要添加數據訪問層業務邏輯層和模型層的引用
dd// 模型層要添加數據訪問層的引用
⑧ ajax+ashx,一般處理程序的響應忽快忽慢,請問是什麼原因
如果是查詢,資料庫有查詢優化,當第一次執行某條語句時,耗時4秒,其後再次執行,一定不需要4秒,很可能是幾十毫秒就能返回數據,但是一旦資料庫內存被清理,再次執行同樣的語句,也會耗時4秒,我猜測是資料庫方面的問題。5秒一次請求,50次耗時4分多鍾。資料庫內存是會清理的
⑨ ASP.NET頁面文件後綴名是什麼還有基於C#的ASP.NET程序文件的後綴是什麼
頁面文件是 .aspx 對應的程序文件是.cs。
頁面代碼是被編譯執行的,它利用提前綁定、即時編譯、本地優化和緩存服務來提高性能。當第一次請求一個頁面時,cLR對頁面程序代碼和頁面自身進行編譯。
並在高速緩存cache中保存編譯結果的副本。當第二次請求該頁面時,就直接使用cache中的結果(無需再次編譯)。這就大大提高了頁面的處理性能。
(9)ashx編譯擴展閱讀:
多語言支持:
多語言支持是ASP.NET的重要新特性之一,主要表現在所支持的編程語言種類多和單個語言功能強兩個方面。
ASP.NET為Web應用提供一種類似於Java編譯技術的「二次編譯技術」——中間語言MSIL執行架構,先將ASP.NET應用編譯成MSIL,再將MSIL編譯成機器語言執行。這樣,只要能被編譯成MSIL的編程語言都可以用來編寫ASP.NET應用。
⑩ Asp.net的Ashx文件為什麼不被編譯成DLL
有可能是引用的類庫不能裝入程序集