C#作为Web应用程序

时间:2011-03-19 01:54:25

标签: c# iis web-applications

我正在寻找有关完成将C#应用程序作为Web应用程序运行的最佳方法的建议。我的应用程序将文件和一些配置设置作为输入,它针对该文件运行一些脚本,然后输出一个新文件。

我希望能够将其作为Web服务运行,以便可以从任何操作系统访问它,方法是在后端保留.exe和引用的DLL。

有没有办法实现这个目标?我知道我可以选择启动虚拟服务器并使用RDP,但我想让它成为本机Web体验。

  • WCF是解决方案吗?
  • XAML?
  • Microsoft是否有解决方案来获取.exe并在IIS Web服务器上运行它?

谢谢!

3 个答案:

答案 0 :(得分:0)

只需一个简单的Web应用程序,您就可以轻松完成此任务;你不需要做任何特别的事情。只需使用Process类调用您的exe:

Process myApp = new Process();
myApp.StartInfo.FileName = ConfigurationManager.AppSettings["myAppLocation"];
myApp.StartInfo.CreateNoWindow = true;
myApp.Start();
myApp.WaitForExit();

// Open file and read it
// Additional Info at http://msdn.microsoft.com/en-us/library/system.diagnostics.process.aspx

然而,更好的选择只是从您的EXE中提取代码(您可能在某处获得代码)并将其作为类库引入以供您的Web项目使用。

答案 1 :(得分:0)

除非有理由您绝对需要将现有应用程序保留为后端调用的.exe,否则最简单的解决方案是将您的C#代码集成到一个简单的ASP.NET Web应用程序中。您可以从Web应用程序中引用现有DLL以在服务器端使用tem。查看有关制作简单ASP / NET Web应用程序的教程,例如:

http://www.kirupa.com/net/helloWorld.htm

只需添加一个html输入字段以允许用户上传文件,并为输出文件创建下载链接。

答案 2 :(得分:-1)

wcf是一个服务但不是可执行的东西,你可以看看浏览器WPF应用程序,或Silverlight ......

在它们两者之间,强烈推荐使用silverlight,同时它更具异质性。 bwpf更容易,因为只需像创建wpf应用程序时那样做,但只能在IE下运行

http://silverlight.net/加载东西是用silverlight构建的,它只在IIS下运行

浏览器wpf是你的exe和dll的东西......