Mic*_*ern 5 wcf iis-6 load-balancing nlb windows-server-2003
更新3:
我创建了一个Visual Studio 2008测试项目,并尝试创建对共享站点WCF服务引用的服务引用,并收到以下错误:
下载' http://apps.mydomain/MyService.svc '时出错.请求失败,HTTP状态为400:错误请求.元数据包含无法解析的引用:' http://apps.mydomain/MyService.svc '.内容类型application/soap + xml; 服务http://apps.mydomain/MyService.svc ' 不支持charset = utf-8 .客户端和服务绑定可能不匹配.远程服务器返回错误:(415)无法处理消息,因为内容类型为'application/soap + xml; charset = utf-8'不是预期的类型'text/xml; charset = utf-8'..如果在当前解决方案中定义了服务,请尝试构建解决方案并再次添加服务引用.
更新2:
@Nick - 我尝试过你的建议,用每个服务器的完全限定路径明确设置每个端点的地址,我仍然得到相同的结果.
此外,当我尝试使用共享站点URL设置listenUri属性时,我收到400错误请求错误而不是404错误.
更新
经过一些额外的研究,http://apps1.mydomain和http://apps2.mydomain之间存在一些IIS配置设置冲突,并且能够超过"服务器应用程序不可用"错误.
现在,当我尝试浏览共享站点(http://apps.mydomain)时出现404错误,但我可以浏览到http://apps1.mydomain和http://apps2.mydomain服务参考.
原始问题
我的公司使用Microsoft NLB来加载我们的IIS服务器之间的流量平衡.我最近在每个IIS 6 Windows Server 2003 Standard Edition SP1服务器上部署了一个WCF服务.当我尝试使用IE 7浏览到共享域名时收到以下错误:
服务器应用程序不可用您尝试在此Web服务器上访问的Web应用程序当前不可用.请点击网络浏览器中的"刷新"按钮重试您的请求.
管理员注意:可以在Web服务器的应用程序事件日志中找到详细说明此特定请求失败原因的错误消息.请查看此日志条目以了解导致此错误发生的原因.
使用者将指向http://apps.mydomain以使用该服务,但虚拟域将映射到http://apps1.mydomain或http://apps2.mydomain.如果我浏览到每台服务器上的服务,我不会收到该错误.
该服务目前正在使用匿名basicHttpBinding.
还有其他人遇到过这个问题吗?
历史
在此之前的错误发生开始,我收到以下错误,当我broswed所有三个域名(HTTP://apps.mydomain,HTTP://apps1.mydomain,HTTP://apps2.mydomain):
此集合已包含方案http的地址.此集合中每个方案最多只能有一个地址.
我使用ServiceHostFactory类来自定义.svc文件以指定自定义服务工厂.然后我通过继承ServiceHostFactory并根据需要覆盖来创建我们的自定义工厂.
public class MyFactory : ServiceHostFactory
{
protected override ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses)
{
return new ServiceHost(serviceType, baseAddresses[0]);
}
}
<%@ ServiceHost Language="C#" Factory="MyFactory" Debug="true" Service="MyService" CodeBehind="~/App_Code/MyService.cs" %>
Run Code Online (Sandbox Code Playgroud)
经过对我的 WCF 服务和消费应用程序的不同配置进行一些试验后。我在使用应用程序中创建了对工作服务引用之一(http://apps1.mydomain或http://apps2.mydomain )的服务引用。然后,我将客户端配置中的端点引用更改为指向共享站点 WCF 地址 ( http://apps.mydomain ),并且我能够使用和使用该服务。
| 归档时间: |
|
| 查看次数: |
7707 次 |
| 最近记录: |