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 アプリケーションがあることです。

  • 1 つはウェブサイト用
  • 1 つは websync サーバー用

追加した両方の web.config ファイルで

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

localhost (正常に動作する場所) では、両方の IIS アプリケーションが localhost を指しています。

Web サイト プロジェクトから、javascript を介してチャンネルを購読するように呼び出します。私のマシンとテスト マシンの両方で正常に動作します。

しかし、メッセージを送信しようとすると (そして両方の当事者をプライベート チャネルに参加するように招待します)、ローカル マシンでしか機能しません (このメッセージの送信は、Web サイト サーバーからメソッドへの http ポストを介して行われます。したがって、websync サーバーはそのエラーになります)。

何か案は?どんな助けでも大歓迎です。

ミハイ

4

2 に答える 2

2

Websync が「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がデフォルトであるため、技術的にはその構成を省略できます。

于 2012-11-22T04:52:00.603 に答える
1

Ok。さらに調査したところ、Websyncがweb.configファイルを読み取っていなかったことが判明しました(何らかの理由で)。コードに次の行を追加することで、これを修正することができました。

Config.Current.Server.AllowPublishers = true;

Configは実際にはfm.websync.server.configです。

これが誰かに役立つことを願っています:)

于 2012-11-07T07:58:58.697 に答える