IIS環境搭建問題
1. 註冊v4.0版本.netframework
- 方法 :
- 1 cdm命令窗體進入該文件夾 命令:
cd C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319
- 2 註冊
aspnet_regiis.exe -i
- 1 cdm命令窗體進入該文件夾 命令:
2. IIS程序池回收問題
iis程序池默認回收時間爲1740分鐘(29小時),若要自定義爲不回收,操作如下,這樣IIS除非手動回收,否則不會自動回收
- 1 在IIS中找到這個站點所用的程序池,點擊“高級設置…”
- 2 回收——固定時間間隔(分鐘) 改爲 0
- 3 回收——虛擬/專用內存限制(KB) 改爲 0
- 4 進程模型——閒置超時(分鐘) 改爲 0
3. 發佈完工程執行出現如下異常
未能加載文件或程序集XXX或它的某一個依賴項。試圖加載格式不正確的程序
問題查找請查看:
- 1 程序池是否爲4.0
- 2 修改程序池的 “高級設置”–>啓動32位應用程序爲True
WebService服務發佈問題
1. HTTP 錯誤 403.14 - Forbidden Web 服務器被配置爲不列出此目錄的內容。
解決方案:IIS的默認文檔裏添加默認首頁即可
Web網站發佈問題
1. 本地IIS發佈一切正常,發佈服務器IIS後Cookie無法寫入導致無法用戶認證問題
解決方案:
- 1 保證IIS發佈地址都爲域名訪問,而非IP地址
- 2 本地發佈地址和服務器發佈域名地址的結尾,必須和程序中Cookie Domain(假設設置爲.abcd.com)的設置一樣,則發佈時域名後綴都必須以 .abcd.com結尾,前面是什麼無所謂
- 3 確認服務器時間,有時候會和本地時區不一致,也會導致Cookie失效
2. 發佈後前端樣式資源403無權加載
解決方案:
- 1 爲網站訪問的文件夾開設權限
增加 IIS_IUSRS 或 everyone 的讀寫全開權限 - 2 若1還未解決,則修改web.config,此法不是很提倡,但能解決問題
compilation 配置節加 debug=“true”
3. 工程框架版本切換,導致項目運行崩潰問題
該例爲.netframework4.6.1切換至.netframework4.5.2
崩潰原因: Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider 包對framework的兼容性導致
解決方案:
-
1 web.config修改system.codedom配置節
<system.codedom> <compilers> <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" /> <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+" /> </compilers> </system.codedom>
-
2 工程的.csproj文件添加
<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
注意: 工程版本切換完後,有時需要重裝IIS所在電腦的.NetFramework環境,特別是當電腦的framework版本低於工程版本時,就必須重裝
END |