Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在asp.net c#mvc中为现有软件创建SaaS应用程序_C#_Asp.net Mvc_Saas_Multi Tenant - Fatal编程技术网

如何在asp.net c#mvc中为现有软件创建SaaS应用程序

如何在asp.net c#mvc中为现有软件创建SaaS应用程序,c#,asp.net-mvc,saas,multi-tenant,C#,Asp.net Mvc,Saas,Multi Tenant,我希望提供一个使用SaaS模式的软件产品。这当然需要我建立一个网站,让客户可以注册、登录、管理他们的会员资格和计费选项 现在假设我有一个类似计算器的软件(只是一个示例),它基本上是一个asp.net WPF应用程序。现在我想为我的客户提供这个软件(应用程序) 到目前为止,我有: 具有上述功能的网站(在Asp.NETMVC-5中开发) 我想作为SaaS提供的软件(在asp.net WPF中开发,桌面应用程序) 现在我想知道我将如何集成这两件事来创建一个好的多租户SaaS服务?如何发布这个?我应

我希望提供一个使用SaaS模式的软件产品。这当然需要我建立一个网站,让客户可以注册、登录、管理他们的会员资格和计费选项

现在假设我有一个类似计算器的软件(只是一个示例),它基本上是一个asp.net WPF应用程序。现在我想为我的客户提供这个软件(应用程序)

到目前为止,我有:

  • 具有上述功能的网站(在Asp.NETMVC-5中开发)
  • 我想作为SaaS提供的软件(在asp.net WPF中开发,桌面应用程序)
现在我想知道我将如何集成这两件事来创建一个好的多租户SaaS服务?如何发布这个?我应该使用哪个平台发布此Windows Azure、Amazon等

我的想法是不可能的,我必须使用web技术开发一个软件(我想作为SaaS提供)?是这样吗


我正在学习多租户,所以如果我完全走错了路,请让我知道,并引导我走上正确的道路。谢谢

WPF是一种桌面客户端应用程序技术。它不打算作为服务分发。您必须重写应用程序,使其成为web应用程序(ASP.NET或其他平台,如果您不想使用.NET)

然后,您必须使其成为多租户,这样每个客户端都可以独立运行,而不会干扰其他客户端的数据,您就进入了SaaS业务。如果应用程序依赖于数据库,则必须决定如何进行此隔离:是在数据库级别还是在DB模式上进行隔离


显然,你需要为你的服务选择一个主机。Windows Azure、亚马逊、机架空间。。。这些都是流行的选择,仅举几个例子。根据您的具体需要,您可能会选择其中一个。

您不能将WPF应用程序作为SaaS提供,除非您在自定义虚拟机中提供它,这将是“非常”昂贵的解决方案。由于它是一个WPF应用程序,您的类将很容易转换为MVC5解决方案

我强烈建议你使用WindowsAzure,因为你是一名.NET开发人员,他们提供了你在旅途中需要的非常好的产品

  • 带EF的MVC
  • WindowsAzure
  • Paypal | |重复(用于抄送付款接受)
  • Twilio(如果您需要向客户发送短信)

我同意darin dimitrov和cilerler的观点,即WPF(非Web应用程序)应用程序不能直接转换为SAAS应用程序

SAAS it需要在线,不影响99.99%的可用性,在通知账单、注册(即订阅、计划更改)、通知选择付款网关代理以及选择与租户和租户下的用户的通信渠道方面具有更快速的响应

如果你想制作一个能够将本地应用程序转换为SAAS的软件,那么它应该具备以上功能

当选择一个平台来运行SAAS业务时,您的应用程序应该非常灵活,可以在任何平台上运行,无论是Windows AZURE、AMAZON还是RackSpace。至少可以避免历史上发生的灾难


您的应用程序应该简单、稳定、灵活,以抵抗每周的更新或版本

多租户不仅仅是关于web,平台即服务就是一个例子。从数据库设计架构(Sepreate DB,Shared DB Separate Schema,Shared DB Shared Schema)到托管环境,您需要研究的内容很多谢谢darin,我明白您的意思,但我有一个问题,我用过,我在想microsoft是如何创建的,正如您所说,
桌面客户端应用程序不打算作为服务分发
,office也是桌面客户端应用程序,但microsoft将其作为服务提供给客户。@gaurav,Microsoft作为服务提供的Office与安装在Windows计算机上的富客户端Office应用程序无关。这是专门为此目的设计的web应用程序。如果你想使用WPF应用程序,你也可以这样做。继续将其作为富客户端应用程序分发,并将其重写为您可以作为服务提供的web应用程序。