2014-01-31 36 views
0

目前我有這個代碼工作正常,但我想遷移到XslCompiledTransform。當編寫這段代碼時,證據是必需的或者它不起作用。有人知道這是否仍然需要在XslCompiledTransform中。XslTransform到XslCompiledTransform

XslTransform transformer = new XslTransform(); 
transformer.Load(navigator, new XmlUrlResolver(), this.GetType().Assembly.Evidence); 

這裏是我的建議代碼更改爲。

XslCompiledTransform transform = new XslCompiledTransform(); 
transform.Load(navigator,new XsltSettings(), new XmlUrlResolver()); 

回答

1

如果您使用new XsltSettings(),那麼您在使用默認設置時腳本和文檔功能均被禁用。這將相當於使用

XslTransform transformer = new XslTransform(); 
transformer.Load(navigator, new XmlUrlResolver(), null); 
+0

因此,如果我使用新的XsltSettings(真,真),這將是我的當前代碼相同? –

+0

我不認爲「XslTransform」和「XsltSettings」基於「XslCompiledTransform」的基於證據的安全模型是直接翻譯的。恐怕我不記得'XslTransform'的具體細節,http://msdn.microsoft.com/en-us/library/50ste364%28v=vs.110%29.aspx上的文檔提示'xslt.Load(xslNav,resolver,this.GetType()。Assembly.Evidence);'完成信任樣式表,我需要測試是否會導致在所有情況下都使用腳本的權限,但我沒有有時間這樣做。也許別人可以幫助,或者你可以測試自己 –

+0

我會自己測試它只有當你知道你的頭頂感謝你的幫助 –

相關問題