Удаленный сервер .NET обрабатывает только один запрос

StackOverflow https://stackoverflow.com/questions/85083

  •  01-07-2019
  •  | 
  •  

Вопрос

Я использую .NET Remoting.Мой сервер / хостер - это служба Windows.Иногда он будет работать просто отлично, а в других случаях он обработает один запрос, а затем больше не будет обрабатываться (пока я его не перезапущу).Он запущен как служба Windows, Вот код из службы 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()
        {

        }
    }
}

Спасибо за любую предложенную помощь.

Ваккано

Это было полезно?

Решение

как тип SingleCall, ваш SampleObject будет создаваться для каждого вызова, выполняемого клиентом.Это наводит меня на мысль, что ваш объект виноват, и вы не показываете, что он делает.Вам нужно посмотреть на любые зависимости, которые он имеет от общих ресурсов или блокировок.Попробуйте написать какую-нибудь отладку в конструкторе SampleObject, чтобы увидеть, как далеко заходит удаленный вызов.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top