Not Found类的错误主要是由于网络服务访问出错。所以需要分析是由哪个网络服务访问失败而导致的。
DataAccessSilverlight.PowerDataServiceReference.GetUserByLoginResponse _result = ((DataAccessSilverlight.PowerDataServiceReference.GetUserByLoginResponse)(base.EndInvoke("GetUserByLogin", _args, result)));
CommunicationException was unhandled by user code
远程服务器返回了错误: NotFound。
Troubleshooting tips:
Get help for this exception
Inner exception: Check the status property of the exception to determine why the request failed
Inner exception: Check the response property of the exception to determine why the request failed
get the general help the inner exception
http://192.168.1.102/RenhuaPower/PowerDataAccessService.asmx粘贴到网址栏,发现
那就说明是服务没有发布成功。但是我之前服务是对的,也没有用。原因尚不明朗,但是,如果把服务删除,再发布,或许会有用。
频繁更新数据也可能导致not found问题
更新数据是异步的。因为在项目中,一个重点项目对应多个polygon,假设为N,当对一个项目的属性进行更新时,必然会使得该项目的所有polygon都更新一遍,那么如果一个项目的polygon过大,比如N为几十(个),那么就会使得同一个时间更新得过于频繁,从而会出现部分更新操作not found,比如序号为“2-4” 、“10-19” 、“21-22”这几个polygon更新了,而一些则没有更新,就会导致项目不一样。如下图
要解决这个问题,可以考虑将多个polygon合并为一个MultiPolygon
另外,也有可能是服务的地址改变了,而我没有及时更新,也会出现Not Found 的情况。
有一次,是由于<Path>http://localhost:3048/clientbin/cls.xml</Path>配置错误而导致服务请求失败,整个分类查找的配置如下:
<!--分类查找-->
<Task ID="dg_qtask" SourceType="NewMap" ServiceType="ClassTask">
<Url>http://192.168.1.22:9010/sd_gz_dmdz/wfs?TypeName=GEOSTAR.DMDZ</Url>
<!--要素服务地址-->
<Path>http://localhost:3048/clientbin/cls.xml</Path>
<!--分类配置文件的路径-->
<PageSize></PageSize>
<!--分页大小-->
<Field>Name</Field>
<!--分类查询的字段,可多个字段以逗号分隔-->
</Task>
总结一下,此类错误多是因为网络地址配置错误或者网络服务的配置文件有误,有时候也有可能是调用的服务过程中出错了,比如调用空值等非法操作,导致某些文件无法找到或者网络无法找到,所以提示为“NOT FOUND”。