2006/11/10

守住秘密太痛苦

上週看了某位領袖為了機密外交不能曝光,不得不用私人發票報帳的記者會....
辜且不論機密外交是否真有其事,我目前選擇相信他的說法,因為大家都是成年人了,要對自己的說法負責任...

但是,為了守住機密,這麼痛苦,被別人誤會也不能說...何苦呢?

我想最重要的問題是,你守住的秘密又有多少人願意去相信?
以機密外交來看,我反而會去懷疑是否是拿錢行賄邦交國的官員,為的是換取對方的支持....

所以做人還是不要有太多的秘密吧,生活的坦盪一點,就不用再去苦腦怎麼守住自己的秘密了。

VS.NET 2005發佈到另一台電腦時遇到的問題及解決辦法

大都是權限的關係,網路上有人說是因為使用VS.NET 2005內建的ASPNETDB.mdf在發佈網站後,會因為Application Name的關係造成無法使用Login Controls登入的情況:

事件代碼: 4006
事件訊息: 成員資格認證驗證失敗。
事件時間: 2006/11/9 下午 03:00:26
事件時間 (UTC): 2006/11/9 上午 07:00:26
事件 ID: 610b30f39f984e5caf8fd593d71db4c2
事件序列: 2 事件項目: 1 事件詳細資料代碼: 0

... (以下省略)

解決方法是將web.config裡的application name,改成跟ASPNETDB.mdf裡的aspnet_Applications的ApplicationName、LoweredApplicationName內容一致....
但是這種方式我試過沒辦法解決....>< 後來才發現是權限的問題,發佈到其它台的電腦後,針對ASPNETDB.mdf要發放權限讓User這個帳戶可以修改及寫入才行.... 以下是我的作法:
  1. 發佈網站
  2. copy 到另一台電腦,假設目錄為c:\MyWeb\WebSite
  3. 將c:\MyWeb\WebSite1設為虛擬目錄WebSite1,開放可以寫入...並將「允許匿名存取」的功能打開
  4. 到c:\MyWeb\WebSite1\App_Data\ASPNETdB.mdf的安全性設定,把User這個帳戶授權可以修改及寫入

如此一來就可以使用Membership的Login Controls來登入了....


另外如果有出現以下錯誤訊息:
無法開啟使用者預設資料庫。登入失敗。 使用者 \ASPNET' 的登入失敗。

則是ASPNET這個帳號無法存取mdf檔,請將ASPNETDB.mdf的存取權限,加入SYSTEM這個群組,並設定可以修改及寫入....

以上是針對由VS.NET 2005產生的預設ASPNET.mdf發行到其它電腦所遇到的問題...
原則上還是建議不要使用預設的ASPNETDB.mdf

T-SQL 語法風格