1.ABP动态代理是根据我们定义的IxxAppService 接口生成的Resutful风格的Http请求实现
2.默认只需要依赖 AbpHttpClientModule 模块 和你的 xxApplicationContractsModule 应用接口模块
[DependsOn(new Type[] {typeof (AbpHttpClientModule), typeof (XXApplicationContractsModule)})] public class LibraDataCollectionHttpApiClientModule : AbpModule { public const string RemoteServiceName = "XX.DataCollection"; public override void ConfigureServices(ServiceConfigurationContext context) { context.Services.AddHttpClientProxies(typeof (XXApplicationContractsModule).Assembly, "XX.DataCollection", true, (Action<IHttpClientBuilder>) null); } }
使用直接在客户端 构造函数注入你的 IxxAppService 接口 就可以使用了
下面介绍如何修改客户端Http请求超时时间
首先源码分析
动态代理实现的代码模块包为 Volo.Abp.Http.Client
定位到动态实现关键类 DynamicHttpProxyInterceptor
找到构建Http请求 关键方法
并且找到默认实现类
重新接口 并且替换默认实现即可
接下来处理服务端超时问题
如果是不是在IIS上 IIS 作为反向代理工具 也需要单独设置超时时间
在Visual Studio中使用IIS Express调试时的设置方法