我可以使用在控制台应用程序中托管的.net远程处理。但有没有办法在窗体应用程序而不是控制台应用程序中托管远程对象?这样服务器管理员就可以实时查看请求和响应。
任何想法都会有所帮助。
此致 SKPaul
答案 0 :(得分:1)
是。它完全相同,只是在Main()中实例化并启动主机,而不是在Form_Load或按钮单击事件中启动它,或者你选择启动它。它没有任何不同。
只需创建一个WinForms应用程序并从控制台应用程序复制您的代码。
当响应进来时,如果要查看它们的消息,请写入Label或TextBox而不是Console.WriteLine()。
唯一需要注意的是,服务主机可能会在与表单UI不同的线程上运行,因此您需要了解TextBox,Label或其他控件的InvokeRequired属性,否则您将收到错误当你尝试从另一个线程写入控件时。
调用必需属性:http://msdn.microsoft.com/en-us/library/system.windows.forms.control.invokerequired.aspx
如何对Windows窗体控件进行线程安全调用:http://msdn.microsoft.com/en-us/library/ms171728.aspx