这段时间在做一个项目,有一项需求是上传,经过思考之后,决定采取Silverlight+WCF的方式做上传操作。就在项目做完了之后,本地测试也都没问题,发布到服务器上的时候,顿时就出现故障了。在选择文件添加到上传队列中的时候,报错了,
提示说【参数:
调试资源字符串不可用。密钥和参数通常提供足够的信息用以诊断该问题。请访问 http://go.microsoft.com/fwlink
/?linkid=106663&Version=4.0.50826.0&File=System.dll&Key=Async_ExceptionOccurred】后面一大堆乱七八糟的东西。我就纠结了,为什么就不行了呢?我换一台机子测试,我靠!又可以!!再换,可以!再换,不可以!天哪,你这是要玩死我的节奏吗?!
在经过许久许久痛苦的测试中,偶然一次,我在注册表中添加了一个值,突然之间,恍若佛祖降世,一切顺理成章,直通大道~
这个值就是 HKEY_LOCAL_MACHINE\Software\Microsoft\Silverlight 目录下,添加一个键值对 AllowElevatedTrustAppsInBrowser,值类型:DWORD,值:1。关于这个的具体含义可参考我的另一篇文章Silverlight获取选择文件的本地物理路径
或许各位并不是做上传操作出的这个问题,我在这总结了一下使用Silverlight的心得:
1、编写好的服务可以在项目中右键服务在浏览器中查看,如果出现如下界面代表该服务创建成功,同时你也可以在发布到的服务器上输入该地址查看。
2、在Silverlight项目中配置服务应用地址应该为服务器域名+wcf服务名;这样做就意味着必须做两次发布操作,第一次发布一个引用本地服务的项目到服务器[主要目的是发布wcf服务到服务器上],然后再项目中重新配置服务地址为服务器上地址,再重新发布到服务器上。
3、右键Web.config,选择 编辑WCF配置
如果没有的话,在上方工具栏中选择 工具—WCF服务配置编辑器中选择所在项目的Web.config,进行配置。
详细操作请见另一篇文章WCF开发实战系列一:创建第一个WCF服务
4、如果在Silverlight项目中用到了本地路径的问题,则需要添加Silverlight项目对浏览器内部需要提升的权限,具体请参照我的另一篇文章Silverlight获取选择文件的本地物理路径
总之呢,出现这个问题的原因有很多种,我也是尽力见我所知道的所遇到的给写出来,能给各位有些帮助是我最大的成就。静下心,好好梳理,一定能客服困难的!!!