IIS6部署SL-Load opration failed for query 'GETTB_SUMMARYUSER'远程服务器返回了错误NotFound
昨天开始部署SL,一直到现在也没弄好。
我的环境是VS2000,Silverlight4,WCFRiaService,FrameEntity
最开始我在自己机器(win7,IIS7)上测试部署是成功的,网页可以正常浏览和使用。于是我开始在XP系统上(IIS版本是6.0)部署SL程序。在VS2000下调试是没有问题的,但是部署到IIS上之后,打开登录界面无法连接数据库。提示错误“Load opration failed for query 'GETTB_SUMMARYUSER'远程服务器返回了错误NotFound”。因为调试没有任何问题,可以排除web.config,数据库连接字符串的问题。应该是IIS配置的问题。
我在配置IIS6的时候将web目录的IIS_USR,IUSR读写权限加上,windows/temp目录的NETWORK SERVICE用户权限加上,IIS设置为允许匿名访问,将集成WINDOWS验证去掉,加上MIME类型.xap application/x-silverlight-app, .xaml application/xaml+xml,执行权限改为纯脚本,ASP.NET版本设置为4.0。感觉应该没有配置错。
搜索了一下网上,有人说是WCF限制访问量造成的,在webconfig里加了一段代码,还在App.Xaml.cs里加了一段代码,都不管用。登录页面还是一打开就报这个错。我的WCFRia服务也安装了,SQL2008也安装正常。因为代码调试是正常的,怀疑还是IIS设置的问题。有哪位大侠在IIS6里部署过SL程序帮帮我啊。谢谢了。
[解决办法]
接分的。
如果确定连上远程服务器了。还返回NotFound。我以前遇到过的是返回的数据集太大。得在web.config里设置查询返回的结果大小。
[解决办法]
有两点可能:
1,返回的数据集过大,设置maxReceivedMessageSize,看看下边的配置文件(Web.config)
<?xml version="1.0"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" maxBufferPoolSize="2147483647" transferMode="Buffered" ></binding>
</basicHttpBinding>
</bindings>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
</system.serviceModel>
</configuration>
2,不知道你的程序中是怎么添加WCF服务引用的,如果在本地测试,可能ServiceReferences.ClientConfig文件中是本地地址,如这样"endpoint address="http://localhost",肯定是不行的,可以使用动态引用或在程序里把ServiceReferences.ClientConfig中的服务引用地址改成,你部署后的地址,编译后试试!