在本地(脱机)和没有IIS运行Web应用程序

Ron*_*Ron 6 c# asp.net wcf signalr owin

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

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

我的想法是在我的同事之间分发我的webapp,而不是强迫他们在线工作而不需要互联网连接.

我有一个 MVC Web应用程序有3页和服务器端的几个方法.

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

它的流程:

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

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

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

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

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

很简单的Web应用程序.

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

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

有了约束:

  1. 不需要IIS.
  2. 使用.NET 4.0.(OWIN 2.0 - 不好)
  3. 没有互联网要求.
  4. 计算机无需安装即可通过此Web应用程序.
  5. 当我将此应用程序发送给我的朋友时,服务器端代码不会公开.

我读了几篇关于OWIN,SingalR,Cassini和WCF的文章,但它们都很模糊......

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

非常感谢.

trn*_*son 5

您绝对可以使用 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/