0

我在使用 websync 4.0 时遇到了一个奇怪的问题:它在我的本地机器上运行良好,但是当我部署到测试服务器时出现此错误

System.Exception: Publication failed. result : {"channel":"\/n\/95e4d313-27eb-441b-966d-c8630f80ec9a","error":"606::Publisher access is disabled. Publisher access can be enabled by setting server[allowPublishers] to true in web.config.","ext":{"fm.meta":{"ticketID":""}}}

问题是我在 .net 上开发了 2 个 Web 应用程序:

  • 一个用于网站
  • 一个用于 websync 服务器

在我添加的两个 web.config 文件中

  <WebSync>
    <server providerType="FM.WebSync.Server.Providers.Sticky.InProcProvider" httpDirectPublish="true"/>
  </WebSync>

在 localhost(它工作得很好)上,两个 IIS 应用程序都指向 localhost。

从网站项目中,我通过 javascript 拨打电话订阅频道,它在我的机器和测试机器上都可以正常工作。

但是当我尝试发送消息(并邀请双方加入私人频道)时,它只能在我的本地机器上工作(此消息发送是通过 http post 到来自网站服务器的方法完成的,该方法发布到websync 服务器因此导致该错误。)

有任何想法吗?任何帮助将非常感激。

米海

4

2 回答 2

2

您的网络同步“未读取 web.config”的原因是因为您使用的是不推荐使用的设置。该httpDirectPublish设置适用于 WebSync 3。对于 WebSync 4,此设置已重命名为allowPublishers

WebSync 4 配置的文档在这里:WebSync 4 Configuration Docs

对于 WebSync 4,您上面的 web.config 片段应该如下所示:

<WebSync>
    <server allowPublishers="true" providerType="FM.WebSync.Server.InProcProvider" />
</WebSync>

注意:这FM.WebSync.Server.InProcProvider是默认设置,因此您可以在技术上省略该配置。

于 2012-11-22T04:52:00.603 回答
1

行。经过进一步调查,事实证明 Websync 没有读取 web.config 文件(出于某种未知原因)。我设法通过在代码中添加以下行来解决此问题:

Config.Current.Server.AllowPublishers = true;

其中Config实际上是fm.websync.server.config

希望这可以帮助某人:)

于 2012-11-07T07:58:58.697 回答