Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
若汝棋茗
RRQMSocket
提交
f39e8898
RRQMSocket
项目概览
若汝棋茗
/
RRQMSocket
11 个月 前同步成功
通知
20
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
RRQMSocket
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
f39e8898
编写于
9月 25, 2022
作者:
若
若汝棋茗
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修复webapi在post时bug
上级
a8a9763b
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
39 addition
and
4 deletion
+39
-4
examples/WebApi简单示例/WebApiServer/Program.cs
examples/WebApi简单示例/WebApiServer/Program.cs
+32
-0
src/TouchSocket/Rpc/WebApi/Plugins/WebApiParserPlugin.cs
src/TouchSocket/Rpc/WebApi/Plugins/WebApiParserPlugin.cs
+6
-3
src/TouchSocket/TouchSocket.csproj
src/TouchSocket/TouchSocket.csproj
+1
-1
未找到文件。
examples/WebApi简单示例/WebApiServer/Program.cs
浏览文件 @
f39e8898
using
System
;
using
System.Threading.Tasks
;
using
TouchSocket.Core
;
using
TouchSocket.Core.Config
;
using
TouchSocket.Core.Log
;
using
TouchSocket.Core.Plugins
;
using
TouchSocket.Http
;
using
TouchSocket.Rpc
;
...
...
@@ -13,6 +15,14 @@ namespace WebApiServerApp
{
private
static
void
Main
(
string
[]
args
)
{
try
{
Enterprise
.
ForTest
();
}
catch
(
Exception
)
{
}
WebApiParserPlugin
webApiParser
=
null
;
HttpService
service
=
new
HttpService
();
service
.
Setup
(
new
TouchSocketConfig
()
...
...
@@ -39,6 +49,12 @@ namespace WebApiServerApp
public
class
Server
:
RpcServer
{
private
readonly
ILog
m_logger
;
public
Server
(
ILog
logger
)
{
this
.
m_logger
=
logger
;
}
[
Origin
(
AllowOrigin
=
"*"
)]
//跨域设置
[
Router
(
"[api]/[action]ab"
)]
//此路由会以"/Server/Sumab"实现
[
Router
(
"[api]/[action]"
)]
//此路由会以"/Server/Sum"实现
...
...
@@ -68,6 +84,22 @@ namespace WebApiServerApp
}
return
Task
.
FromResult
(
"id不正确。"
);
}
/// <summary>
/// 使用调用上下文,获取实际请求体。
/// </summary>
/// <param name="callContext"></param>
[
WebApi
(
HttpMethodType
.
POST
,
MethodFlags
=
MethodFlags
.
IncludeCallContext
)]
[
Router
(
"[api]/[action]"
)]
public
Task
<
string
>
PostContent
(
IWebApiCallContext
callContext
)
{
if
(
callContext
.
HttpContext
.
Request
.
TryGetContent
(
out
byte
[]
content
))
{
this
.
m_logger
.
Info
(
$"共计:
{
content
.
Length
}
"
);
}
return
Task
.
FromResult
(
"ok"
);
}
}
public
class
MyClass
...
...
src/TouchSocket/Rpc/WebApi/Plugins/WebApiParserPlugin.cs
浏览文件 @
f39e8898
...
...
@@ -200,14 +200,19 @@ namespace TouchSocket.Rpc.WebApi
{
try
{
int
index
;
ps
=
new
object
[
methodInstance
.
Parameters
.
Length
];
int
i
=
0
;
if
(
methodInstance
.
MethodFlags
.
HasFlag
(
MethodFlags
.
IncludeCallContext
))
{
ps
[
i
]
=
callContext
;
i
++;
index
=
methodInstance
.
Parameters
.
Length
-
2
;
}
else
{
index
=
methodInstance
.
Parameters
.
Length
-
1
;
}
if
(
e
.
Context
.
Request
.
Query
==
null
)
{
for
(;
i
<
methodInstance
.
Parameters
.
Length
-
1
;
i
++)
...
...
@@ -231,8 +236,6 @@ namespace TouchSocket.Rpc.WebApi
}
}
int
index
=
methodInstance
.
Parameters
.
Length
-
1
;
if
(
index
>=
0
)
{
string
str
=
e
.
Context
.
Request
.
GetBody
();
...
...
src/TouchSocket/TouchSocket.csproj
浏览文件 @
f39e8898
...
...
@@ -4,7 +4,7 @@
<ApplicationIcon>logo.ico</ApplicationIcon>
<SignAssembly>True</SignAssembly>
<AssemblyOriginatorKeyFile>RRQM.pfx</AssemblyOriginatorKeyFile>
<Version>0.7.
1
</Version>
<Version>0.7.
2
</Version>
<LangVersion>8.0</LangVersion>
<Company>若汝棋茗</Company>
<Copyright>Copyright © 2022 若汝棋茗</Copyright>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录