在本地运行Web应用程序(离线)&没有IIS

时间:2014-10-19 11:28:38

标签: c# asp.net wcf signalr owin

我试图 了解是否有办法在没有IIS的本地计算机(浏览器)上运行Web应用程序。

我的主要目标是 将我的网络应用程序(即互联网上)转换为在本地计算机上运行的软件,而无需使用互联网和IIS。

我的想法 是在我的同事之间分发我的网络应用程序,而不是强迫他们在线工作而不需要互联网连接。

我有一个 MVC网页应用,包含3个页面和服务器端的几种方法。

应用程序的想法是从我在我的Web应用程序的一个页面上实现的表单中获取属性,并将客户端上的属性转换为JSON并将其发送到服务器,服务器将根据JSON对象生成XML文件,并让客户端下载生成的XML文件。

它的流程:

1.客户填写我网站上的表格。

2.表单在客户端成为JSON对象。

3.存储表单属性的JSON对象(由客户端填充)发送到服务器。

4.服务器从中获取JSON对象并生成XML文档。

5.客户端下载生成的XML文件。

非常简单的网络应用程序。

我知道 我可以通过点击它来运行HTML页面,页面将显示在浏览器上但我需要服务器端才能执行操作

所以我的问题是 :如何在没有互联网的情况下运行我的网络应用程序?

使用约束:

  1. 无需IIS。
  2. 使用.NET 4.0。 (OWIN 2.0 - 不太好)
  3. 无需互联网。
  4. 计算机无需安装即可通过此网络应用程序。
  5. 当我将此应用程序发送给我的朋友时,服务器端代码不会公开。
  6. 我读了几篇关于OWIN,SingalR,Cassini和WCF的文章,但它们都很模糊......

    如果有人可以为我提供指导,那将非常有帮助。

    非常感谢。

1 个答案:

答案 0 :(得分:4)

您绝对可以使用OWIN自行托管.NET Web应用程序。不幸的是,关于它的文档和信息充其量是模糊和混乱的。您正在使用MVC的事实使得它更容易,因为您可能能够直接使用Nuget的自主程序包来自托管Web API。 MVC可能有类似的包。

我没有最近的经验,但Nuget搜索“MVC Self Host”应该会产生一些结果。

以下是一个示例链接。但你所寻找的术语绝对是“自我主持”。它可以通过控制台窗口或(更复杂的)Windows服务来完成。它可能会使用某种形式的OWIN,但你可能会发现一些启动代码要复制并粘贴到你的项目中,通常是以Startup.cs文件的形式。

http://www.c-sharpcorner.com/UploadFile/4b0136/working-with-owin-hosting-and-self-hosting-in-Asp-Net/