如何通过互联网自我托管asp.net web api?

时间:2016-03-23 14:45:12

标签: c# asp.net iis asp.net-web-api owin

这个问题在这里已被多次询问,但我仍然无法理解这方面的一些事情,因为我是一个更大的初学者,然后大多数人在这里编程一般。所以这是我的场景,让你了解我在哪里,我为文本的数量道歉。我创建了一个.NET web api并将其上传到Azure中的普通Web应用程序。我现在可以在互联网上成功使用这个网络API。

现在我读到Azure中带宽的成本/ gb,并意识到如果这个web api缩放并且使用很多,这可能最终会非常昂贵(超出我的承受能力)。我阅读了更多内容并看到像Arvixe这样的网站以及更多在共享主机中提供无限带宽的网站,但是在挖掘了更多内容之后我发现很快人们就开始变得更高,而theese网站禁止你利用这项服务。我读了一些,看到有人说你可以使用VPS和专用服务器作为一个不错的选择。我调查一下,看看你需要一些经验来设置我没有的那些,以及租用具有良好cpu和ram成本的计算机的成本也很多,我真正想要的是托管网站,没有配置需要。

现在我已经到了关于自我托管网络API的地方。我想我可以使用自己的计算机,它有更好的CPU和Ram,而不是我能负担得起的VPS等等。我看到很多例子。但我真的不明白如何通过localhost实际上在互联网上使用它们。

问题:

有没有一个很好的选择来自己托管这个网络API,我可以安全地做到这一点而不需要太多的知识吗?

很多人都提到我从未使用过的iis,但是看过很多使用localhost的例子。既然我已经拥有了一个网址,我可以使用它而不是从我自己的计算机上运行吗?它会被认为是安全的吗?

我也看到很多人使用不需要iis的Owin自我主机。这会是更好的选择吗?像这样的http://www.asp.net/web-api/overview/hosting-aspnet-web-api/use-owin-to-self-host-web-api

结论:

这一切归结为我正在寻找一种方式让初学者通过互联网托管网络API,而不必担心带宽和CPU使用率对我来说是一个私人负担得起的。

关于我可以从这里开始的任何输入或帮助非常感谢,谢谢!

1 个答案:

答案 0 :(得分:6)

首先,我认为你对术语“自托管”感到困惑,这个通常是指的是一种在以外的进程中托管ASP.NET WebAPI应用程序的方法。 IIS 即可。这并不是指(从我认为你理解的)到从互联网访问角度来托管API的位置。

  

有没有一个很好的选择来自己托管这个网络API,我可以安全地做到这一点而不需要太多的知识吗?

没有。不要这样做,最好配置和执行起来很困难。在最坏的情况下,它实际上可能会使您的计算机暴露在某些重大漏洞中。

  

很多人都提到我从未使用过的iis,但是看过很多使用localhost的例子。既然我已经拥有了一个网址,我可以使用它而不是从我自己的计算机上运行吗?它会被认为是安全的吗?

IIS是Microsoft的Web服务器,通常这是您安装以运行ASP.NET应用程序(任何类型)的主机软件。你可以在Windows 7/8/10上安装它,但我强烈建议不要这样做。

  

我也看到很多人使用不需要iis的Owin自我主机。这会是更好的选择吗?像这样的http://www.asp.net/web-api/overview/hosting-aspnet-web-api/use-owin-to-self-host-web-api

这是我的第一个评论,你误解了这意味着什么。

我希望我能以非常低的成本向您提供一些建议,但我不这样做。我知道你可以用Azure做的一件事是建立支出限制;您可以使用Azure来托管API,但设置支出限额为100美元,然后当达到该限制时,您的API就会变得不可用。你还没有真正指定你想要使用的API,所以我不知道这是否适合你,但这是一个至少测试它的好方法,这样你就可以知道它会发生什么长期花费你。