刚刚学习webservices,很多东西都不懂。写了个最简单的例子,在vs2005下直接按ctrl+F5便可运行,可是拷贝到iis目录下执行却提示出错
【名称以无效字符开头。处理资源 'http://localhost/ws/Service.asmx' 时出错。第 1 行,位置: 2】
真的是不知道是什么原因,没办法在网络上大肆搜索,终于找到解决办法
运行
C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_regiis.exe -i
便可以了。
但是aspnet_regiis.exe是什么工具呢?
下面是msdn给出的解释:
在一台计算机上并行执行多个 .NET Framework 版本时,映射到 ASP.NET 应用程序的 ASP.NET ISAPI 版本决定了该应用程序 所使用的公共语言运行库 (CLR) 版本。使用 ASP.NET IIS 注册工具 (Aspnet_regiis.exe),管理员或安装程序可以方便地更 新 ASP.NET 应用程序的脚本映射,使其指向与该工具关联的 ASP.NET ISAPI 版本。该工具还可以用于显示所有已安装的 ASP.NET 版本的状态,注册与该工具耦合的 ASP.NET 版本,创建客户端脚本目录,以及执行其他配置操作。
参数i的意思是:
安装与 Aspnet_regiis.exe 关联的 ASP.NET 版本,并更新 IIS 元数据库根目录和根目录下的脚本映射。
只更新使用早期 ASP.NET 版本的应用程序的脚本映射。使用新版本的应用程序不受影响。
我说它就是在本机的iis上注册一下asp.net,这样asp.net的网页才可以执行,而在建立webservices项目的时候不也是建立asp.net的webservices么,所以注册一下就可以了。