【问题标题】:Hosting WPF application within IIS在 IIS 中托管 WPF 应用程序
【发布时间】:2015-05-18 05:56:27
【问题描述】:

我创建了一个 WPF 应用程序(包含 8 个项目)。 一个项目是类型(类库),这个 dll 包含实现的类 System.Web.IHttpHandler 如下。

public class ReportFileHttpHandler : IHttpHandler
{
    public bool IsReusable
    {
        get { return false; }
    }

    public void ProcessRequest(HttpContext context)
    {
        // some code
    }
 }

这个HttpHandler旨在中断IIS请求并处理xml文件的requrest。

我还创建了一个存在于这个 dll 中的 web.config 文件。

 <system.webServer>
<handlers>
  <add verb="*" path="*.xml" type="ReportFileHttpHandler"  name="ReportFileHttpHandler"/>
</handlers>

这里的一切都很好。 我想做以下事情:我想测​​试“ReportFileHttpHandler”中的代码,所以我需要在IIS(内部)托管我的WPF应用程序来进行测试。 通过这种方式,我可以在浏览器中编写 URL(以 .xml 结尾)来执行方法中的代码

public void ProcessRequrest(HttpContext context)

如何在 IIS 中托管 WPF 应用程序?

任何想法都会有所帮助,谢谢

【问题讨论】:

    标签: c# asp.net .net wpf iis


    【解决方案1】:
    1. 在 IIS 中创建一个 Web 应用程序,比如 MyWPFApp。
    2. 将应用程序的物理路径设置为 ReportFileHttpHandler 程序集所在的目录,例如 C:\xxx\ReportFileHttpHandler\bin\Debug。
    3. 确保 ReportFileHttpHandler.dll 和 web.config 在同一目录中。
    4. 在浏览器中浏览网址http://localhost/mywpfapp/myfile.xml
    5. 如果您在 Visual Studio 中附加与您的 Web 应用程序的应用程序池对应的 w3wp.exe 进程,您应该能够调试您的处理程序 dll。

    【讨论】:

    • 非常感谢,这似乎很有帮助,即使我还没有尝试过。我只是对 w3wp.exe 有疑问(它是什么?如何附加它?)我对 ASP.NET Web 开发完全陌生。 @Pankaj Kapare
    • 您好,很抱歉,您的解决方案无效。我收到错误
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多