c# - 在没有 IIS 的情况下在本地(离线)运行 Web 应用程序

标签 c# asp.net wcf signalr owin

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

我的主要目标是将我的 Web 应用程序(位于 Internet 上)转换为在不使用 Internet 和 IIS 的情况下在本地计算机上运行的软件。

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

我有一个 MVC 网络应用程序,它有 3 个页面和服务器端的几个方法。

该应用程序的想法是从我在我的网络应用程序的一个页面上实现的表单获取属性并将客户端的属性转换为 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. 当我将此应用程序发送给我的 friend 时,服务器端代码不会公开。

我读了几篇关于 OWIN、SingalR、Cassini 和 WCF 的文章,但都非常模糊......

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

非常感谢。

最佳答案

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

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

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

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

关于c# - 在没有 IIS 的情况下在本地(离线)运行 Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26449992/

相关文章:

c# - 如何使用匿名对象创建动态 Linq Select 表达式

c# - Javascript 警报在 asp.net 的更新面板中不起作用

c# - 如何更改 Asp.NET MVC 中的 Controller 命名约定?

asp.net - iis 7.0,模块顺序更改

WCF serviceBehaviors 与绑定(bind)设置

c# - 等待 N 个异步方法完成时是否有标准模式可遵循?

c# - 在c#中监控mysql数据库

c# - 读数据时插入

c# - 单次事件订阅

c# - “Do not use Abstract Base class in Design; but in Modeling/Analysis”