Le serveur .NET Remoting ne traite qu'une demande
Question
J'utilise .NET Remoting. Mon serveur / hébergeur est un service Windows. Cela fonctionnera parfois très bien et d’autres fois, il traitera une demande et ensuite, il ne sera plus traité (jusqu’à ce que je le relance). Il s’exécute en tant que service Windows. Voici le code du service 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()
{
}
}
}
Merci pour toute aide offerte.
Vaccano
La solution
En tant que type SingleCall, votre SampleObject sera créé pour chaque appel effectué par le client. Cela me suggère que votre objet est en faute et que vous ne montrez pas ce qu'il fait. Vous devez examiner toutes les dépendances dont il dispose sur des ressources ou des verrous partagés. Essayez d’écrire du débogage dans le constructeur de SampleObject pour voir jusqu’à quel point l’appel distant peut aller.