带.Net的独立Web应用程序

时间:2009-08-03 23:17:40

标签: .net desktop

有没有办法制作一个在托盘中运行的独立Web应用程序或类似的东西使用.Net并使用WebForms或MVC打开带有Web服务器(嵌入在应用程序中)的端口?

3 个答案:

答案 0 :(得分:4)

您可以使用Cassini web server sample运行ASP.NET应用程序。您可以从http://blogs.msdn.com/dmitryr/archive/2005/09/27/474534.aspx

下载源代码

Cassini只能从本地计算机访问,并且是Visual Studio附带的开发Web服务器的基础。您可能想要考虑为用户运行此端口的用户以及用户是否拥有过度使用的防火墙软件等。

答案 1 :(得分:0)

鉴于您希望使用.Net代码,获取客户端Web应用程序的最简单方法是使用Silverlight Out of Browser(或“分离”模式)

这使您可以连接到Web服务器并允许像gui模型一样使用WPF。

Here是一个示例项目。

需要Silverlight 3。

您无法将应用程序放置在通知区域(“系统托盘”)中,除非明确标记为跨域服务,否则不能使用跨域服务。

答案 2 :(得分:0)

听起来您可能想要构建一个内置浏览器的Windows应用程序。 如果您创建一个Windows窗体并处于设计模式,那么在“所有Windows窗体”下的工具箱上就是一个“WebBrowser”控件。

因此,如果我有其中一个并将其命名为wbMain,我可以执行以下操作:

wbMain.Document.Body.Style = "zoom 40%";
wbMain.Navigate(New Uri(tbURL.Text));
wbMain.CanGoBack = false;
wbMain.CanGoForward = true;

// once I navigate to a page I can play with the page like:
        foreach(HtmlElement HTML In wbMain.Document.Links)
          {
            string Link = HTML.OuterHtml.ToLower;

            if(Link.IndexOf(".mov") > 0 && Link.IndexOf("href=") > 0)
            {... 
               System.Net.WebClient wc = New System.Net.WebClient();
               wc.DownloadFile(MovieLink, Target)

            }                
          }

你明白了。