gpt4 book ai didi

c# - 我可以使用 .NET Remoting 进行控制台应用程序和由同一控制台应用程序创建的进程之间的通信吗?(两者都在同一台服务器上)

转载 作者:太空宇宙 更新时间:2023-11-03 13:05:48 24 4
gpt4 key购买 nike

我开发了一些应该在服务器上运行的后端控制台应用程序。

它们被称为服务器进程和服务器代理。服务器进程总是创建服务器代理实例(作为一个进程),这里是调用服务器代理的代码

private static void CreateUpdatedBookingAgent(UpdatedBooking oUpdatedBooking)
{
try
{
//Run the Console App
string command = @"C:\ServerAgentConsole.exe";
string args = ("UpdatedBooking " + oUpdatedBooking.MeetingKey + " " + oUpdatedBooking.ServiceAccountEmail.Trim() + " " + oUpdatedBooking.ServiceAccountPassword.Trim()
+ " " + oUpdatedBooking.ServiceAccountEmail.Trim()+ " " + oUpdatedBooking.MailBoxOwnerEmail.Trim() + " " + oUpdatedBooking.Method.Trim()
+ " " + oUpdatedBooking.ExchangeURL + " " + oUpdatedBooking.ApiURL + " " + oUpdatedBooking.Subject + " " + oUpdatedBooking.Location
+ " " + oUpdatedBooking.StartTime + " " + oUpdatedBooking.EndTime).Trim();

Process process = new Process();
process.StartInfo.FileName = command;
process.StartInfo.Arguments = args;
process.EnableRaisingEvents = true;
process.Exited += new EventHandler(processExitedUpdatedBooking);
process.Start();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}

我的问题是:

  1. 我可以为此使用 .NET 远程处理吗,我的意思是这是执行此操作的好方法吗?

  2. 如果没有,是否有更好的方法将数据(参数)传递给服务器代理?

  3. 服务器和客户端都必须是控制台应用程序。据我所知,在那种情况下我无法从 WCF 中获益。我对么?

最佳答案

远程处理或 WCF 是执行此操作的好方法。您可能应该选择一些“IPC”传输,因为它们仅限于本地机器通信。这是一个很好的安全保证。

请注意,Remoting 已过时。 .NET Framework 源代码在 #if FEATURE_REMOTING 后面具有 Remoting 功能,因此他们可以轻松地从框架中删除该功能。

让父级将通信端点传递给客户端。从某种意义上说,本地计算机上的任何内容都可能连接到该端点,这存在安全问题。一个简单的处理策略是在命令行上将安全生成的 Guid 传递给 child ,并让 child 使用它来进行身份验证。或者,将端点 URL 基于该 Guid。

关于c# - 我可以使用 .NET Remoting 进行控制台应用程序和由同一控制台应用程序创建的进程之间的通信吗?(两者都在同一台服务器上),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30838908/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com