【发布时间】:2011-09-20 02:16:29
【问题描述】:
我想构建一个 SaaS 应用程序,但我对如何对其进行技术编程感到困惑。
是否有任何基于 .NET 的框架来构建 SaaS 应用程序,以帮助管理不同的配置。
谢谢
【问题讨论】:
-
感谢您提供的资源! :) 你最终使用了哪个框架?
我想构建一个 SaaS 应用程序,但我对如何对其进行技术编程感到困惑。
是否有任何基于 .NET 的框架来构建 SaaS 应用程序,以帮助管理不同的配置。
谢谢
【问题讨论】:
SaaS 表示软件即服务
因此,您可以生产的任何软件,而不是作为最终软件包出售,而是作为服务出售,都将直接归入该类别。
例如,您可以购买可安装在计算机中的 CRM 应用程序,仅此而已...有点像 Office,这是作为产品的软件,但是,您可以购买 CRM 应用程序并每月付款(有点像销售人员)。
作为用户,您无需担心 IT 基础架构、服务器、更新等...
作为开发人员,您提供的不是简单的要安装的产品,而是要使用的资源,您将负责提供托管、更新等。
这是一种软件即服务,而不是产品。
有一些工具可以简化或开发诸如 SaaS 模式、数据库迁移、农场等之类的产品线,但本质上就是这样。
在 .NET 世界,如果您想了解更多相关信息,我强烈建议您使用 Mike's 博客文章、part 1 和 part 2... 以及下载和检查source of he's code
一个很好的开始。
让我谈谈我的故事。第一次看到上面的视频,我意识到我目前正在向公众发布一个多租户 SaaS 应用程序,而我对 SaaS 具体一无所知,我只是开始用自己的逻辑编写代码。
我最终得到了 3 个主要产品,一个地址簿和一个日历(这些是真正的产品)和一个管理(添加用户,以一种不错的控制面板方式设置属性),我选择遵循 ASP.NET MVC 3 使用自定义域名之路。
我的路线中有这样的东西:
routes.MapRoute(
"ClientRequest", "{cliurl}/{id}",
new { cliurl = "none", controller = "ABook", action = "Index", id = "none" }
);
在我的控制器中,我使用 URL 的 {cliurl} 属性加载该用户的所有配置,这些名称由用户在控制面板中设置,它们最终将是:
http://abook.domain.com/myclientname/myencodeduser
对于一个真实的客户域和编码用户:
http://abook.domain.com/demo1/iHiMFrQq0AdYBR45Q2kvww
另外,我让他们能够让每个用户使用以下方法更改自己的设置:
http://abook.domain.com/demo1/iHiMFrQq0AdYBR45Q2kvww/settings
或查看它的操作日志
所以,它非常初级,但我最终得到了一个很好的解决方案,没有阅读任何关于 SaaS 的具体内容,因为我对结果很满意,我只是分享经验。
【讨论】: