Ⅰ 沒有VS軟體,編寫的ASP.net web應用程序能使用嗎
vs只是一個便於編寫.net程序的工具而已,同時它也集成了iis中的功能。而asp.net運行的條件與是否安裝vs沒有關系,關鍵要有.net framework,即.net框架,另外看你的.net程序版本,只要運行你的程序的.net版本大於等於你自己機器上使用的版本即可以正常運行。
Ⅱ 運行ASP。NET的時候出現WEB錯誤
aspnet_regiis.exe -i 回車執行就可以了
aspnet_regiis.exe -u 是卸載
一般出現這種問題 重新配一下iis就可以
Ⅲ 用aspnet
在 模型中 vs 已擾態經完全脫離了編譯而成為了一個徹底的ide 算是一個不小的改動 其中更是取消了有關Web Application的概念 使得習慣了vs 的人剛開始的時候會有一些摸不著頭腦 下面簡單說一下我在使用過程中自己總結的 算是一點經驗
新建web工程並且位置是文件系統的時候 vs 只是幫你建好了一個sln文件 這個東西只是指引m *** uild 如何進行編譯的 過程是 ide 調用 m *** uild m *** uild解析sln文件 m *** uild調用aspnet_piler exe進行網站的編譯 所以aspnet_piler exe只是負責進行網站的編譯的
預編譯的概念在framework 裡面就存在了 vs 中的預編譯指的是將頁面對應的cs/vb文件與resx文件編譯後統一集成到一個dll中放到bin目錄下 將aspx文件直接拷貝過去 這樣做會留下隱患 因為aspx文件就直接暴露在最後的發行包中 如果完全是codeb behind模型還好 只能改改界面 如果採用了頁面上的來生成頁面 源代碼就暴露了 針對這些問題 vs 採用了一種新的模式
請參看ASP NET 編譯工具 (Aspnet_piler exe) 這篇文章了解對各種文件的處理方式
IDE發布
vs 中選擇 生成 〉發布網站 在對話框中的操作將映射到aspnet_piler exe的參數中 可更新的發布對應 u 其他選項類似 請參考上面的文章了解
注意 發布時將忽略nfig中的debug?問騁簧晌薜魘孕畔⒌奈募?
手工編譯
簡單說來 如果是無更新發布模式編譯 appcode下面的class編譯成dll放在bin下 頁面內容清空位置不變作佔位用 同時頁面被編譯成一個隨機名稱的dll 增加一個同piled文件到bin目錄下 內容大概如下
<?xml version= encoding= utf ?>
<preserve resultType= virtualPath= /Forum/AdminList aspx hash= c filehash= f d c flags= assembly= App_Web_hmrycg w type= ASP forum_adminlist_aspx >
<filedeps>
<filedep name= /Controls/footer ascx />
<filedep name= /Controls/header ascx />
配轎<filedep name= /Forum/AdminList aspx />
<filedep name= /Forum/AdminList aspx cs />
<filedep name= /Forum/menu ascx />
<filedep name= /Forum/menu ascx cs />
</filedeps>
</preserve>
裡面只是列出了頁面上的customcontrol 這里已經完成了和masterfile的映射 這樣最大限度的保護了頁面的敏感信息 發布過的網站中只能看見一堆文件名了 可更新的發布模式與vs 類似 頁面就直接拷貝過來不予編譯了
講了一堆原理 下面說一下aspnet_piler exe的調用方法 這是我使用的例子
我的開發目錄是這樣的
Project/
library/
緩賣源devroot/
pubroot/
proj sln
使用的命令如下
aspnet_piler v / p devroot f pubroot
分析
v / 指明了iis的虛擬目錄
p devroot 表示代碼實際位置
pubroot 指明了要發布的位置
f 表示強制改寫目標位置
lishixin/Article/program/net/201311/13677
Ⅳ asp.net的配置文件web.config怎麼解密
使用「」形式來加密
test.aspx程序文件基本如上,
把
section.SectionInformation.ProtectSection(「」);
改成
section.SectionInformation.ProtectSection(「」);
但這個時候你訪問網站的時候很有可能會出現
說明:
在處理向該請求提供服務所需的配置文件時出錯。請檢查下面的特定錯誤詳細信息並適當地修改配置文件。
分析器錯誤信息: 未能使用提供程序「」進行解密。
提供程序返回錯誤信息為: 打不開 RSA 密鑰容器。
這樣的錯誤,解決方法是:
進dos運行:aspnet_regiis -pa 「NetFrameworkConfigurationKey」
「NT AUTHORITY\NETWORK SERVICE」
如果運行出錯,需要把目錄 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
放入環境變數path中。此時就可以成功訪問網站了。
同樣可以通過命令行來實現「」加密
注意:你也可以不運行 aspnet_regiis -pa 「NetFrameworkConfigurationKey」
「NT AUTHORITY\NETWORK SERVICE」命令來注冊默認的
的RSA 密鑰容器
方法如下:
1)創建一個可導出的rsa密鑰容器,命名為Key
aspnet_regiis -pc 「Key」 -exp
2)在你要加密的信息前面指定密鑰容器,如:
<configProtectedData><providers><clear /><add name=」KeyProvider」 type=」System.Configuration., System.Configuration, Version=2.0.0.0,Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL」 keyContainerName=」Key」 useMachineContainer=」true」/></providers></configProtectedData><connectionStrings><add name=」SQLConnString」 connectionString=」Data Source=yourIP;Initial Catalog=test;User Id=yourID;Password=yourPassword;」providerName=」System.Data.SqlClient」 /></connectionStrings>
並且確保在configuration節的xmlns屬性有如下值:
3)對配置文件進行加密
aspnet_regiis -pef 「connectionStrings」 「E:\project\Test」 -prov 「KeyProvider」
參數分別為:需要加密的配置節、項目所在目錄的物理路徑、加密所使用的密鑰容器名稱
再看web.config文件,就會發現connectionStrings節已經被加密了,但
是運行程序會發現程序仍然可以正確訪問資料庫。
此時,只需運行:
aspnet_regiis -pdf 「connectionStrings」 「E:\project\Test」
就可以對web.config文件進行解密。
(注意,如果還是有錯誤,那可能是您沒有給生成的密匙文件足夠的許可權,
去到C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys
目錄下,找到剛生成的密匙文件,把network service用戶的讀取許可權賦予給它,就可以了,
直接用命令的話也可以:命令如下 aspnet_regiis -pa 「Key」 「NT AUTHORITY\NETWORK SERVICE」 ,
可能需要重新啟動iis
4)把密鑰容器導出為xml文件
aspnet_regiis -px 「Key」 「e:\Key.xml」
這個命令只導出公鑰,因此以後只能用於加密,而無法解密。
aspnet_regiis -px 「Key」 「e:\Keys.xml」 -pri
這個則連私鑰一起導出了,所以我們要用這個。
5)把密鑰容器刪除
aspnet_regiis -pz 「Key」
刪除後再運行程序,會提示出錯:
分析器錯誤信息: 未能使用提供程序「KeyProvider」進行解密。
提供程序返回錯誤信息為: 打不開 RSA 密鑰容器。
同理可以證明,在任何一台未安裝正確的密鑰容器Key的機器上,
程序都無法對connectionStrings節進行解密,因此也就無法正常運行。
6)導入key.xml文件
aspnet_regiis -pi 「Key」 「e:\Keys.xml」
此時,再運行程序會發現又可以解密了。證明加密與解密機制運行正常。
最後說一下這個機制所提供的安全性保障可以運用在什麼方面:
對winform程序的app.config進行加密實際意義並不大,因為無論如何,
客戶機都可以通過運行aspnet_regiis -pdf 來對配置文件進行解密,從而暴露敏感信息。
對於web.config進行加密的意義也僅限於,當web.config文件不小心泄露時,
不會同時泄露敏感信息,如果惡意攻擊者已經取得了在伺服器上運行程序的許可權,
那麼同app.config一樣,可以很容易通過通過運行aspnet_regiis -pdf 獲取明文了。
還有,通過aspnet_regiis -pa 「Key」 「NT AUTHORITY\NETWORK SERVICE」
控制對不同用戶對密鑰容器的訪問許可權,應該還可以進一步獲取一些安全性,
比如可以控制某些用戶即使登錄到伺服器上,也無法用aspnet_regiis -pdf對配置文件進行解密。
Ⅳ ASP.NET入門教程 12.10 Web服務的安全性
本章前面提及 在一些領域中很少採用Web服務的一種原因可能是很族嫌盯容易或相當難以保護這些Web服務 如果創建一個Web服務 並且希望將其投入市場 則需要能夠控制和管理對該Web服兆和務的訪問
雖然在ASPNET x中確實可以實現這一點 但它不是最容易的任務 並且在ASP NET 中明確地對其進行了改進 同樣 作為XML文檔(換句話說就是純文本)發送Web服務請求和響應 因此 如果沒者漏有通過SSL發送 則任何人都能夠解釋和竊取該代碼 ASPNET 中的兩種新工具可幫助處理這一點
lishixin/Article/program/net/201311/14683
Ⅵ aspnet和vue的區別
aspnet和vue的區別如下。
1、aspnet是一個新的開源和跨平台的框架,用於構建如Web應用、物聯網(IoT)應用和移動後端應用等連接到互聯網的基於雲的現代應用程序。
2、vue是一套用於構建用戶界面的漸進式JavaScript框架,與其餘大型框架不同的是,Vue被設計為可以自底向上逐層應用,Vue的核心庫只關注視圖層,方便與第三方庫或既有項目整合。
Ⅶ 如何看待asp.netweb開發技術
先簡單回顧下asp.net過去十年
mvc流行前
asp.net的服務端控制項,將html和js一起封裝,很多客戶端事件自動通過生成的js將數據重新post回服務端。而對於很多剛入門的小夥伴來說,僅僅靠拖放控制項和寫C#代碼就可以實現一個可用的Web項目,大大降低了入門門檻。相應的,服務端控制項這種過度耦合的設計帶來了很多缺點:自定義控制難,難以純粹將前後端分離,導致asp.net從業人員既不能精通困神前段技術,又不能涉獵更多的後端技術(生態問題)。
這個年代,.net被貼上了「拖放控制項」的標簽。
mvc流行後
微軟推出了asp.netmvc,很多公司已經開始嘗試前後端分離。就模式上面來說,已經和其它語言平台基於mvc的web項目開發模式無異。
但是asp.net本身的服務框架太雜亂,尤其是艱難(如果你留意過,甚至可以說難產)支持asyncawait非同步編程後,他的同步上下文模型缺點太大:首先是源碼的結構混亂,其次是使用過程很多人容易造成死鎖,非同步方法使用不當導致請求已返回上下文已釋放然後找不到同步對象導致的異常。問題的根源是大部分程序員對線程了解不深,如果項目有正確的規范用法還好,一旦沒有,產生異常很多人根本不知道問題出在哪裡。博客園改造過程中就嘩尺桐出現過的死鎖,有興趣的可以去看看博客園官方博客寫過。
aspnetcore
新應用程序模型設計和代碼實現,我非常喜歡。其它的不說,看看那簡潔的Reqeust和Response對象,是不是就會讓你欣喜?再看看中間件管道,上下文(Context)通過委託鏈鏈一路傳遞,再也不用晦澀的同步上下文,也移除了和Windows安全相關的特徵。
整個架構更加清晰,喜歡做擴展的人絕對會有一日看盡長安花的快感。
自然性能也不用說,可以關注github上亂坦微軟之前做過的除了mvc之外的性能測試對比。
net生態
擁抱開源後,netcore,standard,aspnetcore,efcore等一系列實現全部都有了,明年的netcore3.0還會包含客戶端模型(wpf和winform,只能在windows下使用)。
github上面aspnet,dotnet,dotnet-architecture等分支包含大量微軟直接維護的開源項目。
開源社區大部分的項目已經跟進將三方組件基於standard標准打包。
微軟也久違地把散亂的文檔匯集到docs子域名下
萬事劇本,就欠生態!如果apache基金會下面的重要項目都有.net的分支,相信依靠netcore必定可以再次搶占不少的份額。
前景
微服務流行後,其實內部可以混合多種平台提供服務,用aspnetcore做對三方組件需求不太大的業務服務是完全的可以的,基於微軟一貫的作風,開發效率是很高的。
其實現在很多內部系統在用.net,只是面向互聯網相關的項目,更加需求豐富的三方資源,採用.net的比較少。不過很多大的公司都有.net的分支團隊。畢竟在桌面和開發效率上的優勢,還是有他存在的價值。
aspnet到底會如何發展,個人感覺還是要看社區的反應,要看生態是否能逐步豐富起來。
看在微軟這么努力的份上,個人挺希望他能夠扳回一局。
所以?
眼光放長遠一點,平台只是我們的工具,一個IT人不應當把自己的技術范圍限定到某一個平台。多學多積累,實際項目中應該針對需求、架構以及團隊做出選擇。
比如Java和.net同時掌握,各取所長,基於他們重疊性較高的原因,學習成本並不高。何況絕大部分的知識和平台並無關系。
個人見解純手打,歡迎大家評論或者提出意見。
Ⅷ aspnet是做什麼的
ASP.NET是.NET FrameWork的一部分,是一項微軟公司的技術,是一種使嵌入網頁中的腳本可由網際網路伺服器執行的伺服器端腳本技術,它可以在通過HTTP請求文檔時再在Web伺服器上動態創建它們。 指 Active Server Pages(動態伺服器頁面) ,運行於 IIS(Internet Information Server 服務,是Windows開發的Web伺服器)之中的程序 。
………………………………………………
如果對aspnet感興趣,看看一個大專生怎麼自學aspnet到找到工作。
先做個自我介紹,我07年考上一所很爛專科民辦的學校,學的是生物專業,具體的學校名稱我就不說 出來獻丑了。09年我就輟學了,我在那樣的學校,一年學費要1萬多,但是根本沒有人學習,我實在看不 到希望,我就退學了。
退學後我也迷茫,大專都沒有畢業,我真的不知道我能幹什麼,我在糾結著我能做什麼。所以輟學後 我一段時間,我想去找工作,因為我比較沉默寡言,不是很會說話,我不適合去應聘做業務。我想應聘 做技術的,可是處處碰壁。
一次偶然的機會,我才聽到aspnet這個行業。那天我去新華書店,在計算機分類那邊想找本書學習 。後來有個女孩子走過來,問我是不是讀計算機的,有沒有興趣學習aspnet,然後給我介紹了一下 aspnet現在的火熱情況,告訴我學aspnet多麼的有前景,給我了一份傳單,aspnet培訓的廣告。聽了 她的介紹,我心裡癢癢的,確實我很想去學會一門自己的技術,靠自己的雙手吃飯。
回家後,我就上網查了下aspnet,確實是當今比較熱門的行業,也是比較好找工作的,工資也是相 對比較高。我就下決心想學aspnet了。於是我去找aspnet培訓的相關信息,說真的,我也很迷茫,我 不知道培訓是否真的能像他們宣傳的那樣好,所以我就想了解一段時間再做打算。
後來,我在網路知道看到一篇讓我很鼓舞的文章是一個aspnet高手介紹沒有基礎的朋友怎麼自學入 門學aspnet,文章寫的很好,包含了如何學習,該怎麼學習。他提到一個方法就是看視頻,因為看書實 在太枯燥和費解的,很多我們也看不懂。這點我真的很認同,我自己看書往往看不了幾頁。
我在想,為什麼別人都能自學成才,我也可以的!我要相信自己,所以我就想自學,如果實在學不會 我再去培訓。
主意一定,我就去搜索aspnet的視頻,雖然零星找到一些aspnet的視頻,但是都不系統,我是想找 一個能夠告訴我該怎麼學的視頻,一套從入門到精通的視頻,一個比較完整的資料,最好能有老師教, 不懂可以請教的。
後來我又找到一份很好的視頻,是在IT學習聯盟推出的一份視頻《零基礎aspnet就業班》(喜歡《 零基礎aspnet就業班》的可以復制 sina.lt/bsjr 粘貼瀏覽器地址欄按回車鍵即打開)
下面介紹下我的學習流程,希望對和我一樣完全沒有基礎的朋友有所幫助。
收到他們寄過來的光碟後,我就開始學習了,由於我沒有什麼基礎,我就從最簡單的C#語言視頻教程 學起,話說簡單,其實我還是很多不懂的,只要重復多看幾遍,就能看懂。C#語言我差不多學了一個禮 拜,接下來我就學了winform,SQL Server,html/css/javaScript,差不多也就三個禮拜。我每天都在不 停的寫一些簡單的代碼,這樣一月後我基本掌握了aspnet的全部基礎。
接下來開始學習aspnet高級課程,老師幽默風趣而又輕松的課堂教課,使我發現原來學習aspnet並 不是一件很難的事情。之前我把aspnet基礎學得還不錯,到了到了aspnet高級部分,我覺不又不是很 難,可能老師太牛了,他能把復雜的問題講的比較通俗易懂,有些難點的地方我還是連續看了五六次, 把他弄懂。每天下午6點下班後,吃了飯,馬上跑回家。看視頻,買了幾本筆記本。當時,為了編程還花幾百元了台二手的台式電腦,配置一般,但編程是足夠的。一邊看視頻,一邊記筆記,把重點都記下來,還一邊跟著老師敲代碼,為了能盡早學會aspnet。每天都堅持學5-6個小時。經常學到晚上一點多才睡覺。星期六,日不用上班,每天7點多起床,學到晚上11,12點。那段時間特別辛苦,特別累。在學習aspnet的三個多月里,除了吃飯睡覺工作,剩餘的時間都在學習,因為我知道自己的計算機基礎不是很好,也沒有學過什麼計算機,相對於那些科班的人來說我要比他們付出更多的努力。我只能咬緊牙關,堅持下去,我不能放棄,我要完成我的夢想,我要讓我的家人過上好日子。終於三個多月後我把aspnet教程里的內容和項目都學完了,在學項目的過程中我發現項目特別重要,他能把你學過的知識全部聯系起來,能更好的理解你所學的知識。還有學習過程中,動手很重要,要經常跟著老師動手敲,動手吧,跟著做,一行一行的跟著敲,再試著加一些自己的功能,按照自己的思路敲一些代碼,收獲遠比干聽大的多。 如果遇到暫時對於一些思路不能理解的,動手寫,先寫代碼,慢慢你就會懂了。
於是我就到51job瘋狂的投簡歷,因為我學歷的問題,專科沒有畢業,說真的,大公司沒有人會要我,所以我投的都是民營的小公司,我希望自己的努力有所回報。沒有想過幾天過後,就有面試了,但是第一次面試我失敗了,雖然我自認為筆試很好,因為我之前做了准備,但是他們的要求比較嚴格,需要有一年的項目經驗,所以我沒有被選中。
後來陸續面試了幾家公司,終於功夫不負有心人。我終於面試上的,是在閔行的一家民營的企業,公司規模比較小,我的職務是aspnet開發程序員,但我也比較滿足,開的工資是3500一個月,雖然我知道在上海3500隻能過溫飽的生活,但是我想我足夠了。我至少不用每天都要靠父母養,我自己也能養活自己的。我想只要我繼續努力,我工資一定會翻倍的。
把本文寫出來,希望能讓和我一樣的沒有基礎的朋友有信心,其實我們沒有必要自卑,我們不比別人笨,只要我們肯努力,我們一樣會成功。
…………………………………………
Ⅸ 怎樣用aspnet
asp.net是一種使嵌入網頁中的腳本可
由網際網路伺服器執行的伺服器端腳本技術,它可以在通過HTTP請求文檔時再在Web伺服器上動態創建它們。 指 Active Server
Pages(動態伺服器頁面) ,運行於 IIS(Internet Information Server
服務,是Windows開發的Web伺服器)之中的程序 。
ASP .NET開發的首選語言是C#及VB .NET,同時也支持多種語言的開發
如:C#、VB .NET、 F#、 Powershell 、Java/J#、Python、Ruby、Delphi 、JScript
Ⅹ asp.net 讀寫配置文件Web.Config
1、web.config作為asp.net的配置文件,是無法使用程序去修改的,也不建議你手動去修改wen.cofnig。因為你一旦修改了web.config,整個網站就會自動的重啟。
2、讀取config文件,你只能讀取appSettings和connectionStrings節點中的值,語法如下:
using System.Configuration; //引入命名空間
ConfigurationManager.AppSettings["名稱"]; //讀取appSettings
ConfigurationManager.ConnectionStrings["名稱"] //讀connectionStrings
建議:若你有大量的配置信息需要修改,可以添加一個XML文件,把所有的配置信息放入這個XML中,並把這個XML的後綴改成xxx.config(aspnet_isapi不會去解析後綴是config的文件的,這樣即使別人知道了你的文件路徑,使用瀏覽器也無法查看問文件內容)。這樣做不進保證了web.config的整潔,管理起來也方便很多。Discuz論壇不知道你有沒有看過,它的配置文件就是這樣做的,你有興趣的話,可以下載源碼參考下。
希望我的回答對你有幫助!