|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我有个同学,他是搞net网页编程的,他给我说“net网页编程不是效率低,而是速度慢。”,我不是搞net网页编程的,我实在想不透这句话的含义,难道执行速度不就是效率低吗?难道执行速度慢还成效率高了?在办理了ASP.NET会见共享文件夹的成绩以后,我们碰到了一个新的成绩。在找找看调剂创建索引过程当中,在共享文件夹中创立新文件夹时呈现毛病:System.UnauthorizedAccessException:Accesstothepath192.168.18.18zkIndexJobJobOfferisdenied. 之前我们明显经由过程测试代码考证了能够在共享文件夹中创建文件夹的,如今怎样不可呢?
独一分歧的地方在于这个操纵是在System.Threading.Tasks.Task中举行的,也就是异步的。
前一篇文章中会见共享文件夹时,用户身份是经由过程web.config中的设置摹拟的:- <system.web><identityimpersonate="true"userName="ZzkIndexer"password="zzk.cnblogs.com"/></system.web>
复制代码 如今呈现UnauthorizedAccess非常,很有多是在Task中异步实行时,不是以ZzkIndexer这个用户身份实行的。
因而,从这个中央动手,把要办理的成绩变成:“怎样在异步操纵中也一向利用web.config中所设置的摹拟用户身份?”
在互联网陆地中苦苦寻找。。。终究找到了线索!它就是——<alwaysFlowImpersonationPolicy>。
它的躲身的地方是C:WindowsMicrosoft.NETFramework64v4.0.30319Aspnet.config
- <?xmlversion="1.0"encoding="UTF-8"?><configuration><runtime><legacyUnhandledExceptionPolicyenabled="false"/><legacyImpersonationPolicyenabled="true"/><alwaysFlowImpersonationPolicyenabled="false"/><SymbolReadingPolicyenabled="1"/><shadowCopyVerifyByTimestampenabled="true"/></runtime><startupuseLegacyV2RuntimeActivationPolicy="true"/></configuration>
复制代码
MSDN中对alwaysFlowImpersonationPolicy的先容:SpecifiesthattheWindowsidentityalwaysflowsacrossasynchronouspoints,regardlessofhowimpersonationwasperformed.
指定不管摹拟是怎样实行的,Windows标识一直流经异步点。 与alwaysFlowImpersonationPolicy绝对应的是legacyImpersonationPolicy,MSDN中的先容:SpecifiesthattheWindowsidentitydoesnotflowacrossasynchronouspoints,regardlessoftheflowsettingsfortheexecutioncontextonthecurrentthread.
指定不管以后线程上的实行高低文的流设置怎样,Windows标识都不流经异步点。 因而,成绩的办理办法不言而喻,在Aspnet.config中将alwaysFlowImpersonationPolicy设为true,将legacyImpersonationPolicy设为false,完全设置以下:
- <?xmlversion="1.0"encoding="UTF-8"?><configuration><runtime><legacyUnhandledExceptionPolicyenabled="false"/><legacyImpersonationPolicyenabled="false"/><alwaysFlowImpersonationPolicyenabled="true"/><SymbolReadingPolicyenabled="1"/><shadowCopyVerifyByTimestampenabled="true"/></runtime><startupuseLegacyV2RuntimeActivationPolicy="true"/></configuration>
复制代码
经由实践查验,该办法的确无效,今朝为止未发明任何反作用。
(注:修正Aspnet.config后,必要重启以后Web站点才干失效)
在CSDN里搜索一下“初学”两字,竟有三百余篇帖子(也许更多)。有些帖子说,有了asp的基础,只要15天就能很熟悉了,我甚感自己的愚钝。更多帖子是向大家请教初学者适合看书。两个多月的时间(当然平常杂事比较多。 |
|