سؤال

أنا أستخدم .NET عن بعد.الخادم/المضيف الخاص بي هو خدمة 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