[英]Best Place to manage shared API calls to 3rd party application inside my asp.net mvc
[英]What is the best way expose key classes/methods my core API to 3rd party developers?
我有一个已设计的应用程序,此应用程序有一个相当不错的核心dll,其中包含主视图exe使用的API。 我也希望允许其他开发人员访问此核心dll,但我不希望他们拥有与我一样多的访问权限,因为这将带来安全风险。 公开我的核心dll的标准方法是什么? 我应该注意什么特殊的设计模式?
我正在使用C#
编辑:我的问题有点含糊,所以这里有一些澄清
我的程序被部署为引用core.dll的Windows exe。 我希望其他人创建扩展名,该扩展名通过在/ extensions目录中加载dll来在启动时动态加载到我的程序中。 第三方dll将在我的core.dll中继承/实现某些类/接口。 我只想给第三方有限的访问权限,但我想给我的exe附加访问权限。
我应该提到,这是我第一次编写导入DLL的程序。 允许用户添加扩展名的整个方法也许是错误的。
如何为其他开发人员修改/公开我的API?
为了故意允许其他开发人员使用API,您已经在很多方面建立了联系,可以分为以下两个方面:
示例包括:
我也希望允许其他开发人员访问此核心dll,但我不希望他们拥有与我一样多的访问权限,因为这将带来安全风险。
好的,这样就可以直接进入第二个领域-实际解决方案。
您遇到的问题不是一个小问题-但这也是可以解决的。 我建议:
您面临的最大问题是您将进入认真的架构领域-随着时间的推移,您现在做出的决定将对解决方案的各个方面产生深远的影响。 因此,您可能无法迅速做出明智的决定。 仍然-您必须从某处开始:)
由于您使用的是C#,因此我将研究Microsoft的框架设计指南:可重用.NET库的约定,惯用语和模式,并使用FxCop对其进行有效使用( 此处是最新版本)。 这将不是您可能需要的全部,但是它将帮助您朝正确的方向发展。
另外,看看免费提供的蒸馏框架设计指南由同一作者。
就API而言, “设计模式”与REST之类的内容更为相关。
我不希望他们拥有与我一样多的访问权限,因为这将带来安全风险
然后,为了维护起见,我将在核心DLL之上添加额外的逻辑来防止这种情况。
问题是,“客户端”调用API,而不是Core DLL。
API如何访问核心DLL由您完全控制。 仅公开您想要的操作合同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.