Websync 4.0 PublisherNotAllowed

У меня странная проблема с 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":""}}}

Дело в том, что у меня есть 2 веб-приложения, разработанные на.net:

  • один для сайта
  • один для веб-сервера

В обоих файлах web.config я добавил

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

На localhost (где он работает просто отлично) оба приложения IIS указывают на localhost.

Из проекта веб-сайта я звоню через javascript, чтобы подписаться на канал, и он отлично работает как на моей машине, так и на тестовой машине.

Но когда я пытаюсь отправить сообщение (и приглашаю обе стороны присоединиться к частному каналу), оно работает только на моем локальном компьютере (отправка этого сообщения осуществляется через сообщение http методу с сервера веб-сайта, который выполняет публикацию на сервер websync, что приводит к этой ошибке.)

Есть идеи? Любая помощь приветствуется.

Михай

2 ответа

Решение

Хорошо. После дальнейшего расследования выясняется, что Websync не читал файл web.config (по неизвестной причине). Мне удалось это исправить, добавив в код следующую строку:

Config.Current.Server.AllowPublishers = true;

Где Config на самом деле fm.websync.server.config

Надеюсь, это поможет кому-то:)

Причина, по которой ваша веб-синхронизация "не читает web.config", заключается в том, что вы используете устаревшие настройки. httpDirectPublish настройка была для WebSync 3. Для WebSync 4 она была переименована в allowPublishers,

Документация по настройке WebSync 4 находится здесь: Документы по настройке WebSync 4

Ваш фрагмент web.config выше должен выглядеть следующим образом для WebSync 4:

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

Обратите внимание FM.WebSync.Server.InProcProvider по умолчанию, так что вы можете технически опустить эту конфигурацию.

Другие вопросы по тегам