2008年3月26日 星期三
TransactionScope 之 timeout
發生了在 TransactionScope 內的 transaction timeout
Type : System.Transactions.TransactionException, System.Transactions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Message : The operation is not valid for the state of the transaction. Source : System.Transactions
inner exception :
Type : System.TimeoutException, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Message : Transaction Timeout
解法一:TransactionScope ts = new TransactionScope(TransactionScopeOption.Required, new TimeSpane(0, 5, 0)) //五分鐘。預設是一分鐘。
解法二:
2008年3月24日 星期一
Office 2007 轉存 PDF
之前,在 Office 2003 以前,要將 Word, Excel 轉存成 pdf,大概要買 Arcobat PDF 吧。
現在,在 Office 2007,可以安裝2007 Microsoft Office 增益集:Microsoft 另存 PDF 檔
是不用錢的。
PS: 原本Office 2007預設就附,後來被原廠抗議(因為會害它少了一筆收入),因此改成另外下載。
2008年3月21日 星期五
Windows integration WCF config settings
在使用WCF 之Windows 整合驗證時,一直發生問題。也很難解決
後來,原來是設定問題。拿掉下面的 proxyCredentialType 就好了。
到現在,我還是弄不懂 proxyCredentialType 是什麼意思。
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="basicBinding">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows" proxyCredentialType="Windows" />
</security>
</binding>
</basicHttpBinding>
</bindings>
2008年3月20日 星期四
此服務的安全性設定需要 Windows 驗證,但裝載此服務的 IIS 應用程式未啟用該驗證
在本機(Vista) 開發 WCF程式 ok 後,部署到 windows server 2003 後,存取 http://server/virdir/service.svc時 發生錯誤
此服務的安全性設定需要 Windows 驗證,但裝載此服務的 IIS 應用程式未啟用該驗證。
堆疊追蹤:
[NotSupportedException: 此服務的安全性設定需要 Windows 驗證,但裝載此服務的 IIS 應用程式未啟用該驗證。]
System.ServiceModel.Channels.HttpChannelListener.ApplyHostedContext(VirtualPathExtension virtualPathExtension, Boolean isMetadataListener) +4074379
System.ServiceModel.Activation.VirtualPathExtension.ApplyHostedContext(TransportChannelListener listener, BindingContext context) +71
...
不知道該怎麼辦?
英文的字是這樣寫的
Security settings for this service require Windows Authentication but it isnot enabled for the IIS application that hosts this service
經google 大師指點後,查到
http://blogs.msdn.com/appsec/
in this case you will need to set windows authentication and change the iis metabase manualy
On your IIS server, start Notepad, and then open the \system32\inetsrv\Metabase.xml file located on the hard disk.
In the section, locate the following line:
NTAuthenticationProviders="NTLM"
Modify the line so that it reads exactly as follows:
NTAuthenticationProviders="Negotiate,NTLM"
Check also the attribute of the solution vdir at the metabse.xml.
但好像還是不夠啊!
訂閱:
文章 (Atom)