(一)、安装配置iis
其实 iis发布了7.0版本了,本来以为要安装最新版的,不过其实不必。
照网上的说法,xp 对应 iis 5.1,windows2003 对应 iis 6.0,windows Vista 、windows 7 和windows 2008
对应 7.0,当然xp也可以安装 iis6.0,不过要做些系统修改,网上有教程。这里不说了。我最后还是用了iis 5.1.
控制面板——添加或删除程序——添加/删除windows组件——Internet信息服务(iis) 的前面打钩,点下一步,放入windows安装盘,进入 i386,就可以安装了。过程中应该会提示找不到ADMXPROX.DLL,其实有的后缀有点不同,选择两次 ADMXPROX.DL_就可以了,等待安装完成。
安装成功后,在控制面板——管理工具——Internet 信息服务 就打开iis,你可以发布一个网站,或用默认自带的那个网站试试。
如果遇到问题,上解决方案如下:
一、 IIS 500错误 (这个不知是否系统设置被修改过,卸载iis,重装几次都不行的)。百度搜索 IIS 500错误,一步帮你搞定,(如这页:http://www.kuqin.com/web/20081016/22930.html)
以下是 强人写的dos批处理,可下载运行。
http://down1.kuqin.com/code/iis500.rar
备注:我手动输入cmd 那些指令,解决不了,不知是否输入。
另外一篇解决方案,够简单简单。(我用了这个,发现500错误不见了,变成了403,算解决了吧。)
1. 运行:regsvr32 %windir%/system32/vbscript.dll (其实这一步也可以省,确保万一,还是执行吧)
2. 运行:msdtc -resetlog
3. 重新安装IIS
ps:自己总结,免得其他人走弯路。
二、关于卸载iis:
建议在任何情况下都用以下步骤重新安装IIS:
1、把IIS卸载。
2、把 C:/windows/system32/inetsrv 删除。 (在安全模式中进行。)
3、把C:/ windows/iisX.log删除,X 是IIS版本。(在安全模式中进行。)
4、把C: /inetpub/ 目录删除。(在安全模式中进行。)
5、重装IIS。
三、iis 安装完之后,还有东西配置的 (如果你第一次安装的话)
错误提示:对于访问IIS元数据库失败
解决步骤:
1、依次点击“开始”-“运行”。
2、在“运行”栏内输入 “C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_regiis.exe -i ”(不含引号),然后点“enter”按钮。
3、出现的cmd窗口中显示“开始安装ASP.NET XXX”等内容,等待这个窗口自动关闭。
(二)Silverlight项目在iis上发布
Silverlight作为一个比较新的技术,老版本的iis上不支持那些新的后缀,不知道该怎么解析.xap。
这时要对iis进行一点修改:(“网站”——右键——“属性”——“HTTP头”——“文件类型”——“新类型” 添加对应的几个类型,这样iis就支持Silverlight 了。仅此而已 )
扩展名: .xap
MIME类型:xapapplication/x-silverlight
扩展名: .xaml
MIME类型:application/xaml+xm
扩展名: .xbap
扩展名:application/x-ms-xbap
扩展名:.xap
扩展名:application/x-silverlight-app
扩展名.xaml
扩展名:application/xaml+xml
l
(三)项目发布的小问题(菜鸟提示)
当你发布项目的时候,一般会创建项目文件夹,假如是web。
用惯了vs2008,运行时通常选择了固定端口。(这时用vs的发布很简单)
如果你项目中用到了文件上传、下载之类的(偶用了ashx),会有http://localhost:2000/handle.ashx 这类地址。这时记得修改为http://localhost/web/handle.ashx。对应那个相对路径。
iis默认是80端口,所以端口都不用写了。
(四)Silverlight 访问问题
Silverlight 跨域 :
Silverlight在设计的时候对网络安全方面做了很多考虑,具体可以看Silverlight SDK。跨域通信是通过在其他域的根部署使用正确跨域策略文件的 Web 服务,可以在该域中启用基于 Silverlight 的应用程序要调用的 Web 服务。Silverlight 支持两种类型的跨域策略文件。
· Silverlight 跨域策略 (clientaccesspolicy.xml)
· Flash 跨域策略 (crossdomain.xml) 的子集
通常,如果基于 Silverlight 的应用程序检测到其请求是一个跨域请求,将首先在 Web 服务的应用程序根处查找 Silverlight 跨域策略文件 (clientaccesspolicy.xml)。如果这个请求导致"404 未找到"或其他错误,应用程序将在应用程序根处查找 Flash 跨域策略文件 (crossdomain.xml)。不允许重定向跨域策略文件。此外,跨域策略文件保持对应用程序会话有效。
现在知道了只要在网站中部署一个跨域策略文件,就可以解决Silverlight跨域请求问题。
本人买的教程,是这样配置的,好像wcf要用到配置完的两个文件放在网站的根目录下。
clientaccesspolicy.xml配置文件内容:
crossdomain.xml 配置文件内容:
xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*" />
cross-domain-policy>