首页 新闻 会员 周边

wcf部署iis返回notfound,而本地调试则无错误

0
悬赏园豆:20 [已关闭问题]

我silverlight客户端调本地调试运行的wcf服务没有问题,但调用该服务在iis的部署则返回notfount错误。

补充:只有与服务不在同一工程里的方法都会返回该错误,与服务在同一个工程的方法能正常访问

LARSON     _的主页 LARSON _ | 初学一级 | 园豆:136
提问于:2010-08-03 18:11
< >
分享
其他回答(2)
0

silverlight+wcf问题是挺多的,不过基本大部分由于都是代码异常没有捕获引起的。

返回notfound的错误我遇到过很多次,不过具体原因忘了。

给个思路:

1:wcf部署IIS之后,先用远程看能不能打开wcf部署的svc,确保第一步通过

2:在本地VS2008/2010远程调试状态下运行,如果异常就查看异常信息

notfound可能原因:

WCF方法已调整,客户端没有编绎更新引用,对应不上。

只有与服务不在同一工程里的方法都会返回该错误?这个问题顺便看看是不是跨域引起的。在iis根目录下添加跨域配置文件不要忘了。

路过秋天 | 园豆:4787 (老鸟四级) | 2010-08-03 19:19
1,远程是可以访问svc的 2.调试状态下运行是没有报错的 3.跨域是没有问题的,因为其它的方法可以正常访问
支持(0) 反对(0) LARSON _ | 园豆:136 (初学一级) | 2010-08-04 08:22
@lensso:亮代码吧,什么都正常,就那方法不正常的话,直接注释方法的代码,简单返回一下,看报不报错,还报错那就是方法名称之类对不上号了,注意服务器时缓存[xap]没更新引起的问题。不报错就步步开放代码,编绎后放上去看看慢慢找问题
支持(0) 反对(0) 路过秋天 | 园豆:4787 (老鸟四级) | 2010-08-04 21:30
0

WCF 发布后;服务路径可能会改变,先确认下在IIS 中是否能够访问该服务(按原来配置的服务地址);开发项目时,引用WCF 服务最好是引用已经发布好的服务。

HUHU慈悲 | 园豆:9973 (大侠五级) | 2010-08-03 19:46
iis中是能访问的,请注意,服务中其它的方法都是可以正常访问的,只有那个在另一个工程中的方法返回该错误
支持(0) 反对(0) LARSON _ | 园豆:136 (初学一级) | 2010-08-04 08:20
你的意思是 服务中的方法还有访问其他服务的方法? 服务有调用其他服务?
支持(0) 反对(0) HUHU慈悲 | 园豆:9973 (大侠五级) | 2010-08-04 09:18
0

怎么解决的

lovejean | 园豆:186 (初学一级) | 2012-11-23 09:29

OK 解决了,服务(svc)的Web.config配置有2个,一个是默认的连接数据库 ,一个权限的,权限的Data Source名字改了,导致连接不上数据库。

<connectionStrings>
    <add name="default" connectionString="Data Source=xx;User Id=xx;Password=123"  providerName="System.Data.OracleClient" />
    <add name="xb" connectionString="Data Source=xx;User Id=rr;Password=rr"  providerName="System.Data.OracleClient" />
  </connectionStrings>

而这个方法返回的是bool型,在客户端返回的错误永远是NOT FOUND,这样我改下方法,返回string,看下究竟哪错了。

支持(0) 反对(0) lovejean | 园豆:186 (初学一级) | 2012-11-23 10:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册