【问题标题】:Hosting Web Application ASP.NET MVC on Local Machine Without Internet在没有 Internet 的本地计算机上托管 Web 应用程序 ASP.NET MVC
【发布时间】:2018-02-22 06:42:56
【问题描述】:

我构建了我的第一个 MVC ASP.Net Web 应用程序并将其托管在我机器上的 IIS 上,它工作正常。现在我想将它托管在没有互联网的客户端计算机上。请指导我如何执行此操作。 我是否还需要在我的客户端计算机上安装 Visual Studio 和 SQL Server,然后将其发布到那里,或者 我可以简单地复制已发布的文件夹并复制到我不知道如何的客户端机器上。 此外,我将如何在客户端计算机上管理我的数据库以及我应该在 Web.config 文件中进行哪些必要的更改以使其正常工作。 感谢你。

【问题讨论】:

  • 没有互联网的网络应用程序有什么意义?是的,您可以在每台机器上安装 IIS 和 SQL Server(Visual Studio 仅适用于程序员),并使用自己的数据存储创建大量完全隔离、断开连接的应用程序副本。只是检查一下,这实际上是期望的结果还是应该由多个用户共享数据库以便他们可以协作?在过去的 20 年中,拥有自己独立本地数据库的应用程序非常不寻常。本地安装在不同机器上的 Web 应用程序也有点奇怪,通常你会为此制作一个桌面 Forms 应用程序。
  • 其基于库存的应用程序和客户现在有小生意。每个应用程序都将提供给新客户。所以将来当他们的业务扩展时,应用程序将托管到实时服务器,用于他们的多个分支机构。
  • @ADyson 你能告诉我如何在客户的计算机上发布它。以及我应该在 web.config 文件中进行哪些更改
  • 好的,我明白了。我以为您的意思是技术意义上的“客户端”,就像在用户的 PC 中一样。如果您无法通过 Internet 访问客户的计算机,那么您必须前往现场并将其从磁盘安装到服务器上。或者您让客户端下载它并提供一些安装说明。但对于小型企业市场,您最好在云端在线提供 SAAS 风格的解决方案,用户只需登录您的 URL 并创建一个他们支付租金的帐户。
  • 那么您就不必担心企业拥有正确的基础架构来支持您的应用程序,例如合适的服务器、足够的容量、备份策略等等等。

标签: asp.net-mvc hosting web-hosting


【解决方案1】:

尝试以下步骤。

1 ) 在C:\inetpub\YourFolder中创建一个文件夹

2 ) 将您发布的 Web 应用程序放在这里。

3 ) 打开Internet Information Service

4 ) 网站 -> 添加网站

5 ) 给出站点名称

6 ) 将以上文件夹路径设置为物理路径选项

7 ) 选择端口号,例如 88

8) 按确定

图片

9 ) 在浏览器中运行

在运行时,可能会显示错误,IIS APPPOOL\my-website-name 登录失败,要清除此问题,请执行以下步骤:

  1. 打开 MSSQL 服务器。

  2. 打开安全文件夹 -> Logins 文件夹,然后右键单击,然后从选项中选择 New Login。

  1. 如图所示添加名称。

  1. 选择user mapping 选项卡,然后从列表中选择数据库文件。然后选中db_ownerpublic 的复选框。

  2. 在浏览器中运行。

更多详情:Asp.Net MVC website hosting in localhost

【讨论】:

  • 好的@Alsamil Mehboob。让我试试看。
  • 数据库呢?
  • 感谢@Alsamil Mehboob。它确实有效。
  • @ADyson ,现在答案已更新为数据库部分。
  • 我认为他们实际上是在询问安装 SQL Server,而不仅仅是创建一个新用户。而且我不会给 Web 应用程序 db_owner 权限 - 只给它实际需要的权限会更安全。它不太可能需要完全控制数据库(例如,创建和删除表)。如果应用程序存在任何类型的安全问题,那么如果应用程序拥有太多权限,数据库就更容易受到攻击。
【解决方案2】:

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

【讨论】:

  • ASP.NET 不能在 Apache 或 Nginx 中本地运行(只有 Mono 兼容的代码可以运行,它有限制,或者 ASP.NET Core 是全新的,OP 没有提到使用它) -当解决方案已经在 SQL Server 中开发时,为什么建议 OP 切换到 mysql?还说一个网络服务器是 1 号或 2 号完全是主观判断,对不同网络服务器的讨论与手头的问题无关。如果我不知道 Apache 和 nginx 是开源的,我会说这是为了推销而写的
  • 我修改了现在可以查看了
  • 您可以使用 owin 进行托管
  • 这个编辑比较好,虽然使用IIS还是比较简单的选择,但是问题也是关于部署SQL数据库
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-04-01
  • 2014-01-23
  • 2015-10-16
  • 2013-08-21
  • 2021-02-19
  • 2011-01-11
  • 1970-01-01
相关资源
最近更新 更多