如何使Wpf浏览器应用程序被完全信任运行

如何使Wpf浏览器应用程序被完全信任运行,第1张

Wpf浏览器应用程序,即为XBAP应用程序。

2.Wpf应用程序,如果要 *** 作客户机的一些资源,则需要很高的信任级别。对于C/S模式来说,客户端作为本地应用,权限很高。对于B/S模式来说,客户端作为浏览器承载的网站,权限受限。使用WPF开发企业内部应用程序时,可以给与应用程序较高的权限,以执行一些本地 *** 作,达到丰富站点(系统)功能的目的。这一点和一般的Web应用程序有所不同,这是企业内部应用与面向大众的门户站点的不同之处。

3..发布位置可以为本地路径(Web站点虚拟路径、Ftp服务器)或者外部Url。两者的区别在于是否是本地,本地的实现方式又可以为IIS或者FTP或者文件夹。

4.发布的形式,自然是选择IIS,Visual Studio以管理员身份运行,可以看到IIS站点的内容,否则只可以看到Express网站。Express只支持一个Website,不过一般一个Website足够,在Website下创建多个应用程序Application即可。

5.在IIS中,Default Web Site默认站点下创建一个应用程序。

6.选择该应用程序。使用发布向导发布,或者直接发布。默认应用程序引用到的资源文件、程序集会被打包,根据.Net的版本也会生成相应的系统运行条件检查清单。如果使用了WinForm并进一步使用了本地的COM接口,需要注意此类应用程序的检查,例如调用本地的PDF阅读器浏览PDF文件等。发布后,浏览器自动打开该站点的安装页面(B/S应用程序是不需要安装的,C/S应用程序可以说是独立安装包的,例如Exe文件、msi等,WPS的浏览器应用程序可以理解为浏览器的插件,即B/S的客户端内容为JavaScript、Html、CSS,浏览器是可以解释执行的,而WPF的内容浏览器需要插件来解释,类似于淘宝输入密码的地方,需要安装一个ActiveX插件,然后输入密码的 *** 作由该插件来进行处理。如果你安装了相应的.Net框架,则该“插件”已经安装,但浏览器默认是禁用的,因此需要启用,并且该插件只针对于IE浏览器的)。

7.运行安装后,会有应用程序被禁用的错误提示信息。

8.WPF应用程序默认在XBAR沙盒中运行,如果有读取客户端本地资源的 *** 作,则超出了沙盒,因此会被拒绝,因此需要被信任以提升执行权限。

9.处理这个问题,需要为应用程序签名,证明该应用程序是可以被信任的,至少给出客户端该应用程序的证书,以决定是否可以对其信任。WPF浏览器应用程序的信任分为两部分。首先将站点添加到信任站点,否则站点使用Internet站点的权限运行,然后将信任站点或者Internet站点(不建议)设置运行XAML(WPF)执行。

进行了该 *** 作后,客户端在访问应用程序后,在运行安装后,既可以成功安装,而不会出现被禁用的错误。但因为该应用程序没有签名证书,因此会有d出框来确认是否要运行该应用程序。在点击了信任后,下次访问即不会d出提示。

部署Silverlight到产品Web服务器是一个相当容易的过程,尽管有时候会有一些错觉??譬如,认为Silverlight需要部署在基于微软的Web服务器(IIS)上,事实上, Silverlight不强制一定部署在基于微软的Web服务器上,Apache也可以像IIS一样,轻松愉快的支持Silverlight运行。

但是还是要那么一点东东要指出来:Web服务器通常都只支持有限种已知扩展名的静态文件内容。看起来都很好,但是Silverlight引入了两个新的文件扩展(.xaml为松散XAML文件.xap为基于zip压缩的二进制包格式文件),因此,你需要为web服务器添加MIME类型,这样才能让Web服务器识别并处理那些类型的文件。下面列出了你需要添加到Web服务器的MIME类型:

Extension MIME Type

.xaml application/xaml+xml

.xap application/x-silverlight-app

这些就是你所有需要做的。但是具体到如何为不同的web服务器添加MIME类型,实际因web服务的不同而不同,下面列出了目前流行的一些web服务器和他们的链接,你可以从哪里找到如何配置和更多的信息:

Apache (2.0, 1.3)

IIS (7 / 6.0 / 5.0 / 4.0)

lighttpd

Sun Java System Web Server

当你在更新所支持的MIME类型的时候,或许还想添加相关的类型,如WPF和ClickOne应用程序的支持,那么还需要添加下表中的MIME类型:

Extension MIME Type

.manifest application/manifest

.application application/x-ms-application

.xbap application/x-ms-xbap

.deploy application/octet-stream

.xps application/vnd.ms-xpsdocument

但是如果你的web服务器在一个你不能修改其配置的共享的服务器上,那么你可以通过修改XAP文件成web服务器已支持的MIME类型来“欺骗”服务器,从而支持xap文件。XAP文件实际上是基于zip压缩的,所以可以直接把.XAP给成.ZIP,并在HTML中把Silverlight对象的source参数指到新的文件目录即可。这里有一个示例(点击这里查看),通过查看网页源代码你可以看到这项技术的实质??它就是指向一个zip压缩文件(里面包含Silverlight内容的)的纯HTML页面。

随Windows Server 2008发布的IIS 7.0默认已经支持了以上的WPF和Silverlight的MIME类型,包括.xap和.xaml类型扩展。所以如果你使用Windows Server 2008,就已经万事大全,只欠东风了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7876125.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存