Pergunta

Eu estou usando Remoting. Meu servidor / hoster é um serviço do Windows. Às vezes vai funcionar muito bem e outras vezes ele irá processar um pedido e, em seguida, ele não processa mais (até que eu reiniciá-lo). Ele está sendo executado como um serviço do Windows Aqui está o código do serviço do Windows:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Tcp;
using System.ServiceProcess;
using System.Text;
using Remoting;

namespace CreateReview
{
    public partial class Service1 : ServiceBase
    {
        public Service1()
        {
            InitializeComponent();
        }

        readonly TcpChannel channel = new TcpChannel(8180);

        protected override void OnStart(string[] args)
        {
            // Create an instance of a channel
            ChannelServices.RegisterChannel(channel, false);

            // Register as an available service with the name HelloWorld
            RemotingConfiguration.RegisterWellKnownServiceType(
                typeof(SampleObject),
                "SetupReview",
                WellKnownObjectMode.SingleCall);
        }

        protected override void OnStop()
        {

        }
    }
}

Obrigado por qualquer ajuda oferecida.

Vaccano

Foi útil?

Solução

como um tipo SingleCall, seu SampleObject será criada para cada chamada o cliente faz. Isto sugere-me que o seu objecto é a culpa, e você não mostrar o que ele faz. Você precisa olhar para quaisquer dependências que tem sobre orlocks recursos compartilhados. Tente escrever alguma depuração para fora no construtor do SampleObject para ver até onde a chamada comunicação remota recebe.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top