Win7里IIS7部署WebService

最近忙于一个Web的Bug修正,是先人写的一个东东,架构很简单,一个前端的项目,一个WebService的项目,以及后台的一些dll。之前一直很排斥这个产品,因为它没法启动,印象中没有跑得起来过的时候。现在客户那边有问题,没办法,先人已不再,只能接手。

Web的东西好就好在运行时报错,其实我感觉这反而有碍于开发。如对WebService的引用,明明引用已经过时了,但是编译却能过,跑起来就卡那,然后界面上给你来堆不知所云的报错。尝试更新Web服务引用,失败,404错误,把之前的引用卸了重新添加web服务引用才成功,注意的地方可以参考http://www.cnblogs.com/joetao/articles/1934884.html,由于我的WebService就在同一个解决方案里,所以我添加的时候直接在解决方案的服务里找到添加的。这个问题困扰了我一天。

现在总算能顺利跑起来了,部署又有问题了。代码可以跑,部署到IIS里就报错,从报错的内容来看应该是WebService的服务没有找到,这就让人摸不到头脑了,网上也搜了各种各样的帖子,各种方法也试过,WebService也能正常浏览,就是调用不起来。QQ里问了两个人,不鸟,群里也问,直接无视,部门里也没别人搞着玩意,这可让人恼火了,真有点穷途末路的感觉。

为什么会调用不起来呢?权限吗?哥,我已经开放到everyone了,还要我怎么开?网上说看网址里直接输入地址能不能看到WebService的页面,能访问到就说明服务没有问题,我能正常访问页面,方法也一目了然,为什么我的页面调不起来,不带这么玩的。

我打算自己弄个小程序调调小的服务,一切从简,简单到只有一个HelloWord方法,也一样,代码能调,一部署就调不到。一个偶然的、不经意的一瞥,让我看到了破绽,嘿嘿,这玩意有玄机!玄机在哪,就在于路径!我注意到,iis部署好后WebService是能正常浏览,但路径并不是代码里调用的路径,难怪一直调不到,于是又设置了遍虚拟路径,指向WebService的物理路径,转换成应用程序,再次调用,成功!这个问题又花了我一天时间。

虽然成功了,我还是有两个疑问,如有高手路过,不妨为我解惑。

疑问一:如果iis部署时新建网站,这就要指定端口,这样访问时就要用IP带端口的形式访问,这有点怪怪的,我也没见百度后面还带个端口访问啊;如果都部署在默认网站里,那就不需要带端口,默认是80,直接localhost就能访问页面了,符合常理,但是VS里是会自动给你创建端口的,引用好之后就是固定映射,必须带端口,iis是可以建虚拟路径,但是不带端口的,我总不能让VS指定端口为80吧,不用试我都知道,肯定端口冲突。

疑问二:在新建网站的时候已经指向了物理路径,这时必须再添加个虚拟路径指向这个路径,否则就只能localhost+端口访问,这不是很二嘛,网站不可以指定虚拟路径,必须添加,既然这个路径有可能是没用的,那新建网站何必指向路径?既然是鸡肋,就做好鸡肋的本分,要不然功能就强大点。不知各位是否有这样的困扰。

大家有什么好的办法希望能指点指点。前面说的两个问题花费了我两天时间,期间也有不少小问题,都一一去尝试了,收获颇多,还是那句话,If you nerver try,you will nerver know.再接再励吧!

Win7里IIS7部署WebService,布布扣,bubuko.com

时间: 2024-08-18 01:07:14

Win7里IIS7部署WebService的相关文章

阿里云上部署webservice其他机器调用提示“测试窗体只能用于来自本地计算机的请求”问题

阿里云上部署webservice,服务器本身测试可以整成使用,但是在其他机器上调用时找不到网页或者webservice 前一段时间做项目时需要用到webservice,开始时在自己的本地机器上创建了webservice,然后在vs2012中发布了这个webservice 然后在iis上配置好以后,本地调用测试开发都可以,项目接近尾声时我们需要把webservice发布到外网上,让其他程序调用, 调用时提示|:测试窗体只能用于来自本地计算机的请求 我们只要在webconfig文件中的<system

MVC3 IIS7部署记录

环境 系统:Win7 IIS:IIS7 开发工具:VS2010 MVC版本:ASP.NET MVC 3.0 注意 1.在部署MVC应用之前,一定要确保你的程序BIN文件夹下面是否包含 System.Web.Mvc.dll(非常重要) a.如果没有, 请在你的MVC项目中,打开引用列表 b.鼠标右键点击System.Web.Mvc,选择“属性”,将“复制本地”设为True (默认为False) c.然后生成一下项目,System.Web.Mvc.dll就会出现在BIN文件夹下了 2.IIS应用程序

iis7部署MVC3

今日重装Win7,部署MVC3,遭遇各种问题,查阅N篇资料,历经几多曲折,最后终于搞定.唯恐时长生疏,遂记录于此,以备来日之需. 1.应用程序池采用集成模式(建议),.NET Framework版本为: .NET Framework4.0.30319. 2.确保ASP.NET MVC3已安装好,然后检查站点的处理程序映射,看是否存在下列映射: ExtensionlessUrlHandler-Integrated-4.0 ExtensionlessUrlHandler-ISAPI-4.0_32bi

Jboss7.1中部署webservice的问题-1

(1)使用web容器模式在jboss中部署web service 通常会报无法找到相应的类的错误,(这里如果没有web.xml的话就无法部署也不会出现下面错误) Not installing optional component org.jboss.as.quickstarts.wshelloworld.OrderServiceImpl due to exception: java.lang.ClassNotFoundException: org.jboss.as.quickstarts.wsh

Web Server 在iis上部署webservice基于oracle

在iis上部署webservice基于oracle 常见错误及解决方案: 原因: 先安装.netframework后安装iis造成的: 解决方案: 1.C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i 错误: System.BadImageFormatException: 未能加载文件或程序集“BLLWebService”或它的某一个依赖项.试图加载格式不正确的程序. 解决方案: 应用程序池-高级设置-启用32位

IIS7部署报错 500.22错误 检查到这集成托管模式下不使用的ASP.NET配置

2014-08-08 公司的一个项目,环境为: .Net 4.0 + MVC3,部署在Windows Server 2003R2 IIS6.0上面运行正常, 迁移到新服务器Windows Server 2008R2,部署在 IIS7.0上, 应用程序池中,托管管道模式中选中了“集成”模式,如下图: 其他配置如下: 配置完成后,访问出错报错, 最后检查出了原因:该项目中的web.config配置文件不适合IIS7.0. 于是将应用程序池的管道模式选择为“经典”模式 再次访问一切正常. 问题的根本原

三个方法教会你win7中IIS7配置php环境

三个方法教会你win7中IIS7配置php环境.今天静下心来研究了下在win7中使用IIS7配置php环境,其实很简单!跟下面方法做之前,请先确定你的电脑中未安装其它相关环境程序及服务,之前安装过apache或wamp集成包的请卸载. 方法一.安装使用phpmanager1.下载安装phpmanager,官方地址:http://phpmanager.codeplex.com/.2.创建并配置php.ini.将php.ini-development文件改名为php.ini,修改date.timez

在英文Win7操作系统上部署C#开发的Web系统出现乱码的解决方法

今天,迁移机器,把一个使用C#开发的Web系统部署到一台英文版Win7操作系统上,部署好以后,系统可以登录,只是网页上出现汉字乱码. 在这台电脑上,打开Word等文本编辑器,是可以正常输入.显示中文的. 解决方法如下: 1.打开"控制面板"----->选择"Region and Language" 2.Formats 页里Format为"English(United States),Location页选择的是United States,这个是没有影响

Window Server IIS6.0部署webservice请求调用提示请求失败

在一台window server 2003机器上部署了一个webservice,iis为6.0,奇怪的是.在服务器本机调用webservice成功了,可是在其它client调用却反馈失败.详细什么原因呢? 经过摸索,最后发现是iis6.0的版本号过低,在iis7.0上没问题,在使用iis6.0时,须要在webservice的web.config中加入一段配置: <configuration> <system.web> <webServices> <protocol