【问题标题】:WCF Service in Sharepoint 2010 can't find my Custom ServiceHostFactory classSharepoint 2010 中的 WCF 服务找不到我的自定义 ServiceHostFactory 类
【发布时间】:2012-03-15 18:17:25
【问题描述】:

我在我的开发环境中创建了一个很棒的 WCF 服务,然后当我将它推送到生产环境时,我收到了各种错误,说“这个集合已经包含一个带有方案 http 的地址......”

所以,我为我的服务创建了一个自定义 ServiceHostFactory 类。

现在当我上传它时,我得到:

在期间无法加载 CLR 类型“WCFServices.MultipleHostFactory” 服务编译。验证此类型是否在源中定义 文件位于应用程序的 \App_Code 目录中,包含在 编译的程序集位于应用程序的 \bin 目录中,或存在于 安装在全局程序集缓存中的程序集。注意类型名称 区分大小写,\App_Code 和 \bin 等目录必须 位于应用程序的根目录中,不能嵌套 子目录。

我检查了 GAC,我的程序集确实在那里。

谁能解释为什么会发生这个错误?

同样,我在 Sharepoint 2010 上使用 .NET 3.5

【问题讨论】:

  • 您是否使用完整的程序集限定名称引用您的工厂类型?你能发布你的 svc 文件的内容吗?
  • 是的。我做到了。

标签: c# .net wcf sharepoint sharepoint-2010


【解决方案1】:

是“WCFServices.MultipleHostFactory”还是“WCFServices.MultipleHostsFactory”?如果它是第一个,这就是为什么因为该名称空间与您在问题中所说的不匹配。

【讨论】:

  • 没有它的主机。当我从 VS 2010 运行调试时,它会转到 Sharepoint 站点,然后由于 Uri[] 基地址中的空值而在 MultipleHostFactory 类中出错。无论我做什么,这个值都会变为空。我已经将它绑定到我自己在 createServiceHost 覆盖中的地址,但仍然为空。不过,我认为这是由于调试器造成的。在实际站点上,我收到上述错误。我认为这两个错误以某种方式相互关联,但我还不知道如何。
  • 由于我手动输入此帖子,错误和 .svc 服务标签存在差异。抱歉,我会修复它。
【解决方案2】:

事实证明,我能够从应用程序主机配置文件中删除其中一个绑定。和管理员交谈后发现他对80端口有两个绑定,一个是IP:80:[DNS name],一个是:80:

我们同意取消 :80: 绑定,并且 WCF 服务能够部署到 SP。

如果有人遇到该 CLR 加载问题,请发布解决方案。对于这个问题,我仍然没有很好的解释。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多