积极答复者
关于WCF部署

问题
-
我在一个启用Silverlight的WCF服务里面用了数据实体模型(EF)查询数据库的代码,用VS自带的服务器调试没有任何问题,但发布到IIS之后,就出现内部错误,错误信息
"由于内部错误,服务器无法处理该请求。有关该错误的详细信息,请打开服务器上的 IncludeExceptionDetailInFaults (从 ServiceBehaviorAttribute 或从 <serviceDebug> 配置行为)以便将异常信息发送回客户端,或在打开每个 Microsoft .NET Framework 3.0 SDK 文档的跟踪的同时检查服务器跟踪日志。"
我把IncludeExceptionDetailInFaults 设置为true,再运行,他还是提示这个,请问该如何解决?
如果调用的WCF公开方法里面不包含EF操作的代码,就没有问题.
样例项目:
我是包子!
- 已编辑 493595708 2011年9月30日 6:07
答案
-
是不是访问数据库的权限问题,
你检查一下程序的权限设置
Frank Xu Lei--谦卑若愚,好学若饥
专注于.NET平台下分布式应用系统开发和企业应用系统集成
Focus on Distributed Applications Development and EAI based on .NET
【老徐的网站】:http://www.frankxulei.com/
- 已标记为答案 493595708 2011年9月30日 14:08
全部回复
-
是不是访问数据库的权限问题,
你检查一下程序的权限设置
Frank Xu Lei--谦卑若愚,好学若饥
专注于.NET平台下分布式应用系统开发和企业应用系统集成
Focus on Distributed Applications Development and EAI based on .NET
【老徐的网站】:http://www.frankxulei.com/
- 已标记为答案 493595708 2011年9月30日 14:08
-
怪了。以前经常碰到类似问题,在本机调试没问题,到了IIS上就说服务器内部错误。
然后改一下w3wp的执行权限和访问服务的权限就好了,特别是涉及到域账户的情况下。
你的SilverlightApplication.Web应该是部署在IIS上的,然后你的silverlight程序也是部署在IIS上的。
首先,需要确保你在浏览器地址栏里面访问http://localhost:8080/DataService.svc是没问题的,如果不行,
看你的网站绑定设置正确没有。
其次,如果部署在同一台机器上,上面设置了一般是没问题的。
如果部署在不同机器上,用后者访问前者的帐号(比如说远程登录帐号)应该也是可以的。
至于其他的情况,我也不是很清楚,恕我爱莫能助了。
盼望其他经验丰富的高手帮忙解决。
-
http://localhost:8080/DataService.svc
这是使用VS自带服务器的时候用的端口,IIS的端口是80,总之一句话,用自带的服务器改成啥端口都可以,如果发布到IIS,就算是把端口改成和之前自带服务器的端口一样,也不行,另外,如果不改WCF的配置文件,也就是默认的8080,然后发布到IIS,自带服务器没关闭的话,是正常的.
我是包子!