代码之家  ›  专栏  ›  技术社区  ›  Pablo Fernandez

带.NET的独立Web应用程序

  •  1
  • Pablo Fernandez  · 技术社区  · 15 年前

    有没有一种方法可以使一个独立的Web应用程序运行在托盘中,或者类似于使用.NET的方法,并使用WebForms或MVC打开一个带有Web服务器(嵌入在应用程序中)的端口?

    3 回复  |  直到 11 年前
        1
  •  4
  •   Brian Lyttle    15 年前

    可以使用 Cassini web server sample . 您可以从下载源代码 http://blogs.msdn.com/dmitryr/archive/2005/09/27/474534.aspx

    Cassini只能从本地计算机访问,它是Visual Studio附带的开发Web服务器的基础。您可能需要考虑为用户运行这个的端口,以及用户是否有过狂热的防火墙软件等。

        2
  •  0
  •   ShuggyCoUk    15 年前

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

    这允许您连接到Web服务器,并允许类似WPF的GUI模型。

    Here 是一个示例项目。

    需要Silverlight 3。

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

        3
  •  0
  •   JBrooks    15 年前

    听起来您可能想要构建一个内置浏览器的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)
    
                }                
              }
    

    你明白了。