真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Remoting如何測(cè)試

本篇內(nèi)容介紹了“Remoting如何測(cè)試”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

10年的鐵東網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。網(wǎng)絡(luò)營(yíng)銷(xiāo)推廣的優(yōu)勢(shì)是能夠根據(jù)用戶(hù)設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整鐵東建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)建站從事“鐵東網(wǎng)站設(shè)計(jì)”,“鐵東網(wǎng)站推廣”以來(lái),每個(gè)客戶(hù)項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

1. RemoteObject.cs

服務(wù)端與客戶(hù)端通信對(duì)象,盡量放在一個(gè)共享庫(kù)中,需要繼續(xù)MarshalByRefObject類(lèi)

using System;
using System.Collections.Generic;

namespace MessageObject
{
   public class RemoteObject : MarshalByRefObject
   {
       public static Queue qMessage { get; set; }

       public string SendMessage(string message)
       {
           if (qMessage == null)
           {
               qMessage = new Queue();
           }
           qMessage.Enqueue(message);
           return message;
       }
   }
}

2. 服務(wù)端測(cè)試代碼

單獨(dú)建立一個(gè)控制臺(tái)工程,引入帶有上面通信對(duì)象的共享庫(kù),注冊(cè)Remoting通道,開(kāi)啟Remoting服務(wù),等待客戶(hù)端調(diào)用。

using MessageObject;
using System;
using System.Collections.Generic;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Ipc;
using System.Threading;

namespace IPCServer
{
   class Program
   {
       static void Main(string[] args)
       {
           StartServer();
           Thread thread = new Thread(new ThreadStart(ReceviceMessage));
           thread.Start();
       }

       private static void StartServer()
       {
           IpcServerChannel channel = new IpcServerChannel("ServerChannel");
           ChannelServices.RegisterChannel(channel, false);
           RemotingConfiguration.RegisterWellKnownServiceType(typeof(RemoteObject), "RemoteObject", WellKnownObjectMode.SingleCall);
           Console.WriteLine("消息服務(wù)啟動(dòng)...");
       }

       private static void ReceviceMessage()
       {
           while (true)
           {
               Queue qMessage = RemoteObject.qMessage;
               if (qMessage != null)
               {
                   if (qMessage.Count > 0)
                   {
                       string message = qMessage.Dequeue();
                       Console.WriteLine("接收消息是:" + message);
                   }
               }
               Thread.Sleep(1000);
           }
       }
   }
}

3. 客戶(hù)端測(cè)試代碼

單獨(dú)建立一個(gè)客戶(hù)端測(cè)試控制臺(tái)工程,連接服務(wù)端Remoting服務(wù),調(diào)用服務(wù)端通信對(duì)象,達(dá)到訪(fǎng)問(wèn)服務(wù)端的目的

using MessageObject;
using System;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Ipc;

namespace IPCClient
{
   class Program
   {
       static void Main(string[] args)
       {
           RemoteObject objRemoteObject = ConnectServer();
           Send(objRemoteObject);
       }

       private static void Send(RemoteObject objRmoteObject)
       {
           while (true)
           {
               Console.WriteLine("請(qǐng)輸入消息...");
               string message = Console.ReadLine();
               try
               {
                   objRmoteObject.SendMessage(message);
                   Console.WriteLine("發(fā)送成功");
               }
               catch (Exception ex)
               {
                   Console.WriteLine($"無(wú)法連接到消息服務(wù):{ex.Message}");
               }
           }
       }
       private static RemoteObject ConnectServer()
       {
           IpcClientChannel channel = new IpcClientChannel();
           ChannelServices.RegisterChannel(channel, false);
           RemoteObject objRemoteObject = (RemoteObject)Activator.GetObject(typeof(RemoteObject), "ipc://ServerChannel/RemoteObject");
           return objRemoteObject;
       }
   }
}

通信對(duì)象如果必須放在兩個(gè)不同的解決方案或者工程中,當(dāng)客戶(hù)端無(wú)法訪(fǎng)問(wèn)服務(wù)端遠(yuǎn)程對(duì)象時(shí),比如提示:“連接到 IPC 端口失敗: 系統(tǒng)找不到指定的文件?!?,可使用此demo測(cè)試:

  • 服務(wù)端是否先于客戶(hù)端開(kāi)啟?

  • 嘗試檢查兩端通信對(duì)象命名空間一致嗎?比如服務(wù)端遠(yuǎn)程對(duì)象命令空間定義為:namespace MessageObjectServer,客戶(hù)端為:namespace MessageObjectClient,這樣肯定不行的

  • 通信使用的屬性定義相同嗎?比如都要使用這個(gè)屬性:public static Queue qMessage { get; set; },服務(wù)端定義為Queue,客戶(hù)端定義為L(zhǎng)ist,這樣也是不行的。

“Remoting如何測(cè)試”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!


分享標(biāo)題:Remoting如何測(cè)試
當(dāng)前URL:http://weahome.cn/article/jepeeh.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部