简体   繁体   English

ASP.NET世界中的可扩展性和多租户

[英]Extensibility and multi tenancy in an ASP.NET World

Imagine a multi tenant solution, running in an IIS web server, where you want to offer to your users/tenants the possibility of execute custom code (only for their tenant). 想象一下,一个多租户解决方案运行在IIS Web服务器上,您想在其中向用户/租户提供执行自定义代码的可能性(仅适用于他们的租户)。 Example: run a custom script before and after save a record. 示例:在保存记录之前和之后运行自定义脚本。

How would you architect this? 您将如何设计? What are the available solutions nowadays? 当今有哪些可用的解决方案?

IMHO This is one of the must-haves in a typical SaaS Application. 恕我直言,这是典型的SaaS应用程序中的必备功能之一。

A typical implementation will be to provide a highly configurable system where in the tenant's can plugin their own job / script on the occurrence of a CRUD or some other action on an Entity. 一个典型的实现方法是提供一个高度可配置的系统,在该系统中,租户可以在发生CRUD或对实体执行某些其他操作时插入自己的作业/脚本。 I will provide a brief outline of this process 我将对此过程进行简要概述

  1. On every service, you can provide an end point with the necessary inputs that may be required for the pluggable code to act upon. 在每项服务上,您都可以为端点提供必要的输入,以使可插入代码起作用。
  2. The end points will be designed such that it will identify your client, [the tenants] and then pick up the required custom script and then execute them. 端点的设计应使其能够识别您的客户,[租户],然后选择所需的自定义脚本,然后执行它们。

Something that is like Policy Injection as part of the Enterprise Library but lacks the multi-tenancy part. 诸如策略注入作为企业库的一部分,但是缺少多租户部分。

I happen to work with a Multi-Tenant SaaS framework named TechCello which has a couple of ways to accomplish this with ease via pre and post processors and eventing system that can be plugged to external web service calls. 我碰巧使用了一个名为TechCello的多租户SaaS框架,该框架有两种方法可以通过可插入外部Web服务调用的前后处理器和事件系统轻松实现此目的。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM