Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#as web应用程序_C#_Iis_Web Applications - Fatal编程技术网

C#as web应用程序

C#as web应用程序,c#,iis,web-applications,C#,Iis,Web Applications,我正在寻找关于实现将C#应用程序作为web应用程序运行的最佳方法的建议。我的应用程序将一个文件和一些配置设置作为输入,对该文件运行一些脚本,然后输出一个新文件 我希望能够将其作为web服务运行,以便通过在后端保留.exe和引用的DLL,可以从任何操作系统访问它 有没有办法做到这一点?我知道我可以选择启动虚拟服务器并使用RDP,但我想让它成为本地web体验 WCF是解决方案吗 XAML Microsoft是否有一个解决方案可以获取.exe并在IIS web服务器上运行它 谢谢大家! wcf是一

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

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

有没有办法做到这一点?我知道我可以选择启动虚拟服务器并使用RDP,但我想让它成为本地web体验

  • WCF是解决方案吗
  • XAML
  • Microsoft是否有一个解决方案可以获取.exe并在IIS web服务器上运行它

谢谢大家!

wcf是一项服务,但不是可执行的东西,您可以在浏览器WPF应用程序或Silverlight中查看

两者之间,silverlight是高度推荐的,但它更具异质性。bwpf更容易,因为只需像创建wpf应用程序时那样操作,但只能在IE下运行

加载是使用silverlight构建的,它仅在IIS下运行


浏览器wpf是您的exe和dll…

您只需一个简单的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项目中使用

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


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

第一种解决方案假设可执行文件的多个实例可以同时运行。例如,如果脚本对一个临时文件使用硬编码名称,而两个用户试图同时使用该网页,则可能会发生各种不好的情况。这就是为什么我建议他将代码提取到类库中,以便重用。当web请求试图使用共享资源=DTrue时,总会有竞争……但是添加与类库相同的代码不会自动解决使用共享资源的(假设的)问题,这应该单独解决。如果你愿意,在答案中添加一个警告,我将删除我的评论=)。@john saunders:他在问如何从不同的操作系统进行访问,那么silverlight和bwpf就是解决方案,他们可以使用dll构建函数,wcf作为服务在桌面应用程序和web应用程序之间进行通信。。。可能是因为我的英语不是很好,我的解释也不是很清楚,但这就是为什么他问如何访问他现有的应用程序。SilverLight将被改写。