2012-03-07 146 views
1

是否可以在IIS服务器上部署控制台c#应用程序。 我有一个.exe文件运行在从命名管道获取数据的机器上,而我的c#应用程序从管道获取这些数据并将其发送到使用TCP套接字运行的Web应用程序,我想知道是否可以部署我的C#控制台在Web服务器上的应用程序? 我是ASP.net和C#的新手。在IIS服务器上发布c#控制台应用程序

+0

abjpai,请说明你想运行EXE哪里。并且可能对现有答案进行评论,因为至少有2个“在哪里运行exe”的选项已经被覆盖。 – 2012-03-07 06:10:37

回答

1

你可以将IIS服务器上的exe文件,但它不是一个常见的做法是部署C#控制台应用程序,

  1. 这样,你不知道,如果客户机有适当的.NET Framework安装。所以控制台应用程序甚至可能不会启动。
  2. 网络浏览器可以简单地阻止下载。
  3. 即使下载了exe文件,除非用户在本地启动它,它将不会自动运行。微软

推荐的方法是部署使用ClickOnce客户端应用程序,

http://msdn.microsoft.com/en-us/library/t71a733d%28v=vs.80%29.aspx

然后,您可以在主机侧IIS ClickOnce的安装程序。例如,微软CodePlex上使用这种部署它的开源项目,

http://codeplex.codeplex.com/wikipage?title=ClickOnce

+0

感谢您的回复。我会解释我的情况。 1.我有一个exe从外部设备获取实时数据并将其放入命名管道中(exe在服务器计算机上运行)2.我应该在服务器上运行一个脚本以从命名管道获取此数据并发送它到客户端使用TCP套接字(截至目前,我有ac#控制台应用程序来做到这一点)3.客户端ASP代码,它从tcp套接字获取数据并实时显示在网页上。我的疑问是,如何在Web服务器上运行该C#代码(第2点)? – 2012-03-07 06:18:55

+0

由于它不需要任何用户参与,因此您可以安全地将第2点作为Windows服务应用程序而不是普通的控制台应用程序。这样,该服务总是在后台运行(通过命名管道/ TCP进行通信),并且ASP.NET网站可以根据需要通过TCP使用其数据。然后ClickOnce不再需要。 – 2012-03-07 06:36:59

+0

好我的问题可能是愚蠢的?但我从来没有使用Windows服务应用程序...这个Windows服务应用程序(它将在C#中)将运行在Web服务器上? – 2012-03-07 06:43:23

0

不,IIS可用于仅托管网站或Web应用程序。您无法在IIS中托管控制台应用程序。

相关问题