What Is Software Design?

程式設計不是 “building software”,而是 “designing software”。

Is Design Dead?

軟體系統的設計是演進來的,不能一步到位,而是要藉由憑繁與使用者互動得到的回饋來修改系統設計。

Programming is Gardening, not Engineering

與其把程式設計比喻成蓋房子,實際上更像是園藝。

Orthogonality and the DRY Principle

所有程式設計活動其實都是維護,因為絕大部分的時間都在改code,寫一點改一點。即使是新專案,也很快需要回頭作修改。

顯示具有 API 標籤的文章。 顯示所有文章
顯示具有 API 標籤的文章。 顯示所有文章

2014年3月12日 星期三

asp mvc api 利用ELMAH 第三方原件 架設error log 追蹤套件

step1. 安裝elmah 套件網址如下
https://code.google.com/p/elmah/

step2.ASP.NET 專案中選擇安裝 ELMAH on XML Log 這個 NuGet 套件
http://www.nuget.org/packages/elmah.xml
PM> Install-Package elmah.xml

step3.預設會將所有收集到的錯誤儲存成 XML 格式並置於專案的 ~\App_Data\Elmah.Errors 目錄下。

打開web.config
找到 <errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data/Elmah.Errors" /> 註解掉

step4.
將以下這段
<!--<modules>
      <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" />
      <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" />
      <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" preCondition="managedHandler" />
    </modules>-->

改為以下這段
    <modules runAllManagedModulesForAllRequests="true">
      <remove name="ErrorLog" />
      <remove name="ErrorMail" />
      <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" />
      <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" />

    </modules>

step5. 請設定
<add name="elmah-sqlserver" connectionString= "連線字串請設定"

step6. 設定好後 127.0.0.1/elmah 就可以看到 log了!!

step7.設定將log丟到mail


 <elmah>
    <!--
        See http://code.google.com/p/elmah/wiki/SecuringErrorLogPages for 
        more information on remote access and securing ELMAH.
    -->
    <security allowRemoteAccess="false" />
    <errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="elmah-sqlserver" /><!--elmah-sqlserver-->
    <!--<errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data/Elmah.Errors" />-->

    <errorMail from="test@gmail.com" to="test@gmail.com" subject="enjoyapi 錯誤log :" async="false" smtpPort="0" useSsl="true" />
  </elmah>
  
  <!--System.net Mail setup-->
  <system.net>
    <mailSettings>
      <smtp deliveryMethod="network">
        <network host="smtp.gmail.com" port="587" userName="test@gmail.com" password="test" />
      </smtp>
    </mailSettings>
  </system.net>


2014年2月6日 星期四

asp.net api mvc4 資料庫 更新 更新.edmx 與 model

step1.尋找已經加入的Model1.edmx的檔案,開啟檔案,找到要更新的table按下右鍵,點選"從資料庫更新模型"進入更新精靈


step2. 更新好後 會發現 .tt檔中的 model沒有跟著更新,請點選.tt檔按右鍵 "執行自動工具"

2014年2月4日 星期二

ASP .NET C# MVC4 寫 Api 自定api說明文件 利用HelpPage套件

STEP1. ASP.NET Web API 的相關路由設定
 App_Start\WebApiConfig.cs 檔案












讓我們的 ASP.NET Web API 永遠只回應 JSON 格式

setp2.替 ASP.NET Web API 的 API 控制器加上註解

我們先為 API 控制器加上 XML 註解,直接在類別上方輸入三條斜線 ( /// ) 就會自動產生 XML 註解範本

























setp3.產生專案的 XML 文件檔案
修改方案總管中的「專案屬性」




切換到「建置」頁籤,再勾選「XML 文件檔案」




預設的 XML 文件檔案會儲存在 bin\ 目錄下,請把內容改成 App_Data\XmlDocument.XML 這個路徑與檔名,之後才能讓 ASP.NET Web API 的說明頁面讀取到這個檔案。



最後執行 建置專案 ( F6 ) 就會自動在 App_Data 目錄下產生 XmlDocument.XML 檔案,而且每次建置都會自動更新此 XML 文件。




step4.透過 NuGet 安裝 Microsoft.AspNet.WebApi.HelpPage 套件


若要安裝 ASP.NET MVC 4 內建的 ASP.NET Web API ( v1 ) 相容的 HelpPage 版本,必須安裝舊版的 HelpPage  套件
安裝舊版套件需要透過套件管理器主控台才能執行安裝命令,如下指令與圖示:
Install-Package Microsoft.AspNet.WebApi.HelpPage -Version 4.0.30506



安裝的過程,它會自動幫你安裝一個名為 HelpPage 的 MVC 子網站 ( Area )

最後,我們開啟 Areas/HelpPage/App_Start/HelpPageConfig.cs 進行設定,把第一行註解取消,即可自動讀入 API 控制器所設定的那些 XML 文件。


config.SetDocumentationProvider(new XmlDocumentationProvider(HttpContext.Current.Server.MapPath("~/App_Data/XmlDocument.xml")));

其重點還是在上述陳述式的路徑與檔名必須正確:

"~/App_Data/XmlDocument.xml"

setp4.

我們測試一下,直接瀏覽到 http://localhost/Help 網址


















接下來你可以到 專案 的view的資料夾內 index中
加入聯接過去的方法
<a href="~/Help">API Document 說明書請點這裡</a>



最後小提醒

在撰寫注解的時候<param name =""  如果沒有出來顯示
表示你在你的mvc 方法中沒有設定輸入的參數  只有寫注解他是不會顯示的





參考網頁:http://blog.miniasp.com/post/2013/11/05/Creating-ASPNET-Web-API-Help-Pages-for-ASPNET-MVC-4.aspx