我正在使用.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()
{
}
}
}
感谢您提供的任何帮助。
Vaccano
答案 0 :(得分:1)
作为SingleCall类型,将为客户端进行的每个调用创建SampleObject。这告诉我你的对象是错的,你没有表明它的作用。您需要查看它对共享资源orlocks的任何依赖性。尝试在SampleObject的构造函数中编写一些调试,以查看远程调用的距离。