我有一个Visual Studio
解决方案,其中包含两个Web API
项目和一些共享或公用项目。
WebAPI_2
项目将使用SecurityService.cs
中的某些方法,但将使用近50种方法中的5种。
SecurityService.cs
内部使用Dependency Injection
ISecurityRepository
调用方法
因为在引用项目时会公开完整的DLL,WebAPI_2是否有一种方法只能看到将要使用的5种方法,而没有办法看到其他45种方法?
另外,因为使用了Dependency Injection
,所以我在想也许只用WebAPI_2 SecurityService
将要使用的方法来创建其他接口。但是同样的问题是,整个Data.Interface项目都将被引用。
正因为如此,我不想结束每个项目有2个项目。
更新:不知道在这种情况下是否可以使用InternalsVisibleTo
,但可以在方法级别使用。
赞赏任何建议或最佳实践。
答案 0 :(得分:0)
如果您具有每个API的源代码,请将它们分组为一个程序集,将所有内容标记为内部,然后创建一个公共API以便将其公开给外部使用者。
我建议使用点网模糊处理工具。 C#源代码太容易进行逆向工程。如果存在盗窃问题,请使用C或C ++进行编程,并将托管包装器暴露给C#。除此之外,还可以使用硬件加密设备即时运行/解密程序。