測試文字功能,小工具,標題

記錄很重要,不然會浪費很多時間在找以前的記憶

一個人的氣度,決定他未來的高度。

2015年12月14日 星期一

ASP.NET 在W7的Apache上執行ASP.NET

ASP.NET 在W7的Apache上執行ASP.NET 
 
1.電腦要先安裝 Framework,測試之前有裝VS2010EXPRESS版本
 
2.安裝 Apache 
網址 http://archive.apache.org/dist/httpd/ 
檔案 httpd-2.2.25-win32-x86-openssl-0.9.8y.msi
 
3.安裝 mod_aspdotnet
網址 http://sourceforge.net/projects/mod-aspdotnet/
檔案 mod_aspdotnet-2.2.0.2006-setup-r2.msi
 
4.設定 Apache裡的httpd.conf檔,設定如下面資料
 
參考網址,跑在Framework4上面 
http://stackoverflow.com/questions/5702456/is-there-a-version-of-apache-mod-aspdotnet-for-asp-net-4-0
======下面這段貼在C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf =====
====== 的 httpd.conf 最後面就好 ================================================
LoadModule aspdotnet_module "modules/mod_aspdotnet.so"  

AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj licx rem resources resx soap vb vbproj vsdisco webinfo

AliasMatch "^/(?i)aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*)" \
           "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"

<Directory "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
    Options FollowSymlinks
    Order allow,deny
    Allow from all
</Directory>

AspNetVersion v4.0.30319

AspNetMount /ASP "C:/ASP"  
Alias /ASP "C:/ASP"
<Directory "C:/ASP">
    Options FollowSymlinks Indexes
    AspNet files
    Order allow,deny
    Allow from all
    DirectoryIndex index.html index.aspx default.htm default.aspx
</Directory>
 
#查看Apache狀態 ,連線 http://localhost/server-status
LoadModule status_module "modules/mod_status.so"
<Location /server-status>
SetHandler server-status
AllowOverride None
#Order Deny,Allow
#Deny from all
#Allow from .foo.com
</Location> 
 
5.安裝vc9 vcredist_VC9_VS2008_x86.exe ,vs2008 c++ 轉發套件

6.安裝 php 版本 php-5.4.26-Win32-VC9-x86.zip

7.php設定 改 Apache2.2\conf\httpd.conf ,如果有裝php的話
#在LoadModule系列最後加上一行: (改成實際PHP安裝路徑)
PHPIniDir "C:/AppServ/php5/"
LoadModule php5_module "C:/AppServ/php5/php5apache2_2.dll"

#在<IfModule mime_module>區塊中加上一行:
AddHandler application/x-httpd-php .php

#在<IfModule dir_module>區塊中修改DirectoryIndex此行:
DirectoryIndex index.php index.html index.htm

7.將 php5 目錄下的 php.ini-production 更名為 php.ini ,並修改 php.ini 的內容如下
; Directory in which the loadable extensions (modules) reside.
extension_dir = "C:/AppServ/php5/ext"

; Windows Extensions
; 啟動幾個常用的 DLL

extension=php_curl.dll
extension=php_gd2.dll
extension=php_ldap.dll
extension=php_mbstring.dll
extension=php_exif.dll      ; Must be after mbstring as it depends on it
extension=php_mysql.dll
extension=php_mysqli.dll

session.save_path = "C:/AppServ/php_session_temp"

8.增加目錄
Alias /Test_Php "C:/Users/winxp/workspace/Test_Php/"
<Directory "C:/Users/winxp/workspace/Test_Php/">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

下面是說明 
Options 內的屬性:
FollowSymLinks:允許使用符號連接
Indexes:若在該目錄底下找不到 index.html ,即顯示整個目錄下的檔案名稱
     (若是自己測試用就儘量使用無妨,但測試完最好把該屬性刪除,以免目錄清單被人看光)

AllowOverrides 則可決定是否讀取設定在 .htaccess 檔案,來改變原來設定的存取權限
  AllowOverride None 表示不要讀取.htaccess檔
  AllowOverride all 表示以.htaccess內容為準來改變原先的存取權限
ps..htaccess 是一個位於目錄中的設定檔,可以設定該目錄及子目錄的屬性
  為內定檔名,其真正檔名要查看 srm.conf 中對於 AccessFileName 的定義是哪一個檔案


Order 則用來設定誰可以從這個 Server 取得控制
 以上頭的寫法為例:
  Order allow,deny  ★★ 表示先執行allow,再執行deny
  allow from all    ★★ 表示允許所有的使用者
    ps1. allow 與 deny 二字字首大小寫皆可
    ps2. allow 與 deny 之間,只能用半型逗號 , 分開,且中間不可有空格 
 
==========下面是測試連線mysql=======================================
電腦測試之前有裝
MySQL Connector ODBC 5.3
MySQL Connector Net 6.2.5
 
加入參考 C:\Program Files (x86)\MySQL\MySQL Connector Net 6.2.5\Assemblies
 
web.config 會增加三行mysql相關的資料 
 
<?xml version="1.0"?>
<!--
  如需如何設定 ASP.NET 應用程式的詳細資訊,請造訪
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
  <system.web>
    <compilation debug="false" targetFramework="4.0">
      <assemblies>
        <add assembly="MySql.Data, Version=6.2.5.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/>
        <add assembly="MySql.Data.Entity, Version=6.2.5.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/>
        <add assembly="MySql.Web, Version=6.2.5.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/>
      </assemblies>
    </compilation>
  </system.web>
</configuration> 
==================================================================== 
 protected void Button1_Click(object sender, EventArgs e)
    {
        Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert(' 測 試 alert ');</script>");
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        //建立連接字串與物件
        string cnnString = @"server=192.168.0.1;uid=testuser;pwd=testpw ;database=testdb";
        MySqlConnection cnx = new MySqlConnection(cnnString);
        MySqlDataAdapter adapter = new MySqlDataAdapter();

        //執行 SQL 語法
        string cmdText = "select distinct test_code FROM testtable";
        MySqlCommand cmd = new MySqlCommand(cmdText, cnx);

        //取得資料集
        DataSet ds = new DataSet();
        adapter.SelectCommand = cmd;
        adapter.Fill(ds);

        //餵給GridView
        GridView1.DataSource = ds;
        GridView1.DataBind();
    } 

沒有留言:

張貼留言