src/Library/NetPro.Proxy/readme.md

(开头部分) 4KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。


## NetPro.Proxy使用
 [![NuGet](https://img.shields.io/nuget/v/NetPro.ResponseCache.svg)](https://nuget.org/packages/NetPro.Proxy)

远程调用组件

### 使用

- 如果已添加环境变量ASPNETCORE_HOSTINGSTARTUPASSEMBLIES=NetPro.Satrtup      启用自动初始化,添加appsetting.json 配置即可

#### appsetting.json 

- 增加以下配置节点
```json
"NetProProxyOption": {
		"AssemblyPattern": "^XXX.*.Proxy$",//批量注入程序集的正则,此处表示将XXX开头,Proxy结尾的程序集中使用了NetProProxy功能的接口批量注入
		"InterfacePattern": "^I.*.Proxy$", //I开头,Proxy结尾的接口
        "IExampleProxy": "http://localhost:5000",//名称要与具体定义的接口名称一致,例如此项对应的接口定义为 public interface IExampleProxy{}
		"IBaiduProxy": "http://baidu.com"
	}
```
#### 启用服务

如果没添加ASPNETCORE_HOSTINGSTARTUPASSEMBLIES=NetPro.Satrtup环境变量,按以下方式注入服务,并添加上一条appsetting.json 节点配置即可
```csharp
public void ConfigureServices(IServiceCollection services)
{ 
    services.AddFileProcessService();
            var typeFinder = services.BuildServiceProvider().GetRequiredService<ITypeFinder>();
       services.AddHttpProxy(configuration, typeFinder, configuration.GetValue<string>("MicroServicesEndpoint:Assembly", string.Empty));        
}
```

#### 使用
##### 定义服务
```csharp
 public interface IExampleProxy //命名对应appsetting.json 中的Example节点
    {
        [HttpGet("")]//HttpGet服务
        [WebApiClientFilter]//服务过滤器
        ITask<dynamic> GetAsync([Parameter(Kind.Query)]string account);

        [HttpPost("api/v1/NetProgoods/list")]
        [Timeout(10 * 1000)] // 10s超时
        [WebApiClientFilter]
        ITask<dynamic> GetGoodsList(int appid, string appVersion);

        // POST api/user 
        [HttpPost("api/user")]
        [WebApiClientFilter]
        ITask<dynamic> AddAsync([FormContent] dynamic user);

        /// <summary>
        /// 登录
        /// </summary>
        /// <param name="username"></param>
        /// <param name="password"></param>
        /// <param name="Captcha"></param>
        /// <returns></returns>
        [HttpPost("/api/ldap")]
后面还有 78 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。