Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.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
如何通过IIS有效地捕获GET并发布到WinForms c#?_C#_Iis_Api Design - Fatal编程技术网

如何通过IIS有效地捕获GET并发布到WinForms c#?

如何通过IIS有效地捕获GET并发布到WinForms c#?,c#,iis,api-design,C#,Iis,Api Design,我有自己的WinForms c应用程序,希望添加一些API功能。我还安装并运行了Windows Server 2012和用于第三方应用程序的IIS 问题是我不知道在我的桌面c#app中获取和发布请求(并响应请求)的最有效方式(可扩展、安全、可管理、功能强大但足够简单)是什么。有太多的选项,从c#web服务器嵌入式库(最简单的解决方案)到最新的基于ASP.net的框架(最复杂的框架需要太多的学习) 我认为,避免仅仅为了处理HTTP请求而设置另一个基于c#的服务器,并使用现有IIS的功能是合理的 您

我有自己的WinForms c应用程序,希望添加一些API功能。我还安装并运行了Windows Server 2012和用于第三方应用程序的IIS

问题是我不知道在我的桌面c#app中获取和发布请求(并响应请求)的最有效方式(可扩展、安全、可管理、功能强大但足够简单)是什么。有太多的选项,从c#web服务器嵌入式库(最简单的解决方案)到最新的基于ASP.net的框架(最复杂的框架需要太多的学习)

我认为,避免仅仅为了处理HTTP请求而设置另一个基于c#的服务器,并使用现有IIS的功能是合理的


您能否建议特定的库、示例代码或演练如何通过IIS处理WinForms中的HTTP请求,但不使用极其复杂的ASP解决方案?

IIS仅侦听HTTP.sys,因此IIS应用程序池将仅处理从HTTP.sys传递的请求

此链接介绍IIS如何处理这些请求 [

特殊的IIS管道决定不能强制IIS直接侦听Winform应用程序。 既然http客户端不支持,我可以知道winform应用程序是如何接收http请求的吗


我想你可以在IIS中托管一个web应用程序,然后将这些请求代理给IIS web应用程序。你需要在winform应用程序中进行一些代码更改,以便IIS可以帮助你处理传入的GET/POST http请求。

我最终使用了带有常规API控制器的ASP.NET应用程序,这就是应该如何构建这些东西的方法。效果很好。添加AP我认为WinForm绝对是个坏主意。

只要在.net中使用内置的HttpClient就可以实现这一点,它应该支持您所需要的一切,如果它不支持,请尝试扩展它的功能,大多数其他的复杂库都会使用相同的方法调用。HttpClient无法侦听http请求。HttpListener或更新的WebListener是的,但我不想在不同的应用程序中监听相同的端口。我想使用IIS。谢谢你的回答。到目前为止,我学到的是.aspx HTTP处理程序可能是一个解决方案。Emmm..那么你提到的是Winform应用程序或web from应用程序?计划是使用IIS以及某种web应用程序来captu重新启动并响应web请求。进一步的操作将由现有的Winform应用程序处理。对Winform进行任何修改以适应IIS和现有应用程序之间的连接是没有问题的;我对C#Winform比较熟练。问题在IIS部分和“连接器”中.我明白了。如果您只是想捕获传入的请求..IIS自定义处理程序和模块将是一个解决方法。