Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
CAP
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
tsai
CAP
Commits
00edf7b2
Commit
00edf7b2
authored
Sep 13, 2017
by
yangxiaodong
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev_2.0' into dashboard
parents
773efb6c
5c82ba1d
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
39 additions
and
34 deletions
+39
-34
ConsumerInvokerFactory.cs
src/DotNetCore.CAP/Internal/ConsumerInvokerFactory.cs
+5
-8
IConsumerInvoker.Default.cs
src/DotNetCore.CAP/Internal/IConsumerInvoker.Default.cs
+20
-16
IConsumerServiceSelector.Default.cs
...tNetCore.CAP/Internal/IConsumerServiceSelector.Default.cs
+14
-10
No files found.
src/DotNetCore.CAP/Internal/ConsumerInvokerFactory.cs
View file @
00edf7b2
using
System
;
using
DotNetCore.CAP.Abstractions
;
using
Microsoft.Extensions.DependencyInjection
;
using
Microsoft.Extensions.Logging
;
namespace
DotNetCore.CAP.Internal
...
...
@@ -23,15 +22,13 @@ namespace DotNetCore.CAP.Internal
public
IConsumerInvoker
CreateInvoker
(
ConsumerContext
consumerContext
)
{
using
(
var
scope
=
_serviceProvider
.
CreateScope
()
)
var
context
=
new
ConsumerInvokerContext
(
consumerContext
)
{
var
context
=
new
ConsumerInvokerContext
(
consumerContext
)
{
Result
=
new
DefaultConsumerInvoker
(
_logger
,
scope
.
ServiceProvider
,
_modelBinderFactory
,
consumerContext
)
};
Result
=
new
DefaultConsumerInvoker
(
_logger
,
_serviceProvider
,
_modelBinderFactory
,
consumerContext
)
};
return
context
.
Result
;
}
return
context
.
Result
;
}
}
}
\ No newline at end of file
src/DotNetCore.CAP/Internal/IConsumerInvoker.Default.cs
View file @
00edf7b2
...
...
@@ -35,25 +35,29 @@ namespace DotNetCore.CAP.Internal
{
_logger
.
LogDebug
(
"Executing consumer Topic: {0}"
,
_consumerContext
.
ConsumerDescriptor
.
MethodInfo
.
Name
);
var
obj
=
ActivatorUtilities
.
GetServiceOrCreateInstance
(
_serviceProvider
,
_consumerContext
.
ConsumerDescriptor
.
ImplTypeInfo
.
AsType
());
using
(
var
scope
=
_serviceProvider
.
CreateScope
())
{
var
provider
=
scope
.
ServiceProvider
;
var
serviceType
=
_consumerContext
.
ConsumerDescriptor
.
ImplTypeInfo
.
AsType
();
var
obj
=
ActivatorUtilities
.
GetServiceOrCreateInstance
(
provider
,
serviceType
);
var
jsonConent
=
_consumerContext
.
DeliverMessage
.
Content
;
var
message
=
Helper
.
FromJson
<
Message
>(
jsonConent
);
var
jsonConent
=
_consumerContext
.
DeliverMessage
.
Content
;
var
message
=
Helper
.
FromJson
<
Message
>(
jsonConent
);
object
result
=
null
;
if
(
_executor
.
MethodParameters
.
Length
>
0
)
{
result
=
await
ExecuteWithParameterAsync
(
obj
,
message
.
Content
.
ToString
());
}
else
{
result
=
await
ExecuteAsync
(
obj
);
}
object
result
=
null
;
if
(
_executor
.
MethodParameters
.
Length
>
0
)
{
result
=
await
ExecuteWithParameterAsync
(
obj
,
message
.
Content
.
ToString
());
}
else
{
result
=
await
ExecuteAsync
(
obj
);
}
if
(!
string
.
IsNullOrEmpty
(
message
.
CallbackName
))
{
await
SentCallbackMessage
(
message
.
Id
,
message
.
CallbackName
,
result
);
if
(!
string
.
IsNullOrEmpty
(
message
.
CallbackName
))
{
await
SentCallbackMessage
(
message
.
Id
,
message
.
CallbackName
,
result
);
}
}
}
...
...
src/DotNetCore.CAP/Internal/IConsumerServiceSelector.Default.cs
View file @
00edf7b2
...
...
@@ -48,19 +48,23 @@ namespace DotNetCore.CAP.Internal
IServiceProvider
provider
)
{
var
executorDescriptorList
=
new
List
<
ConsumerExecutorDescriptor
>();
var
consumerServices
=
provider
.
GetServices
<
ICapSubscribe
>();
foreach
(
var
service
in
consumerServices
)
using
(
var
scoped
=
provider
.
CreateScope
())
{
var
typeInfo
=
service
.
GetType
().
GetTypeInfo
();
if
(!
typeof
(
ICapSubscribe
).
GetTypeInfo
().
IsAssignableFrom
(
typeInfo
))
var
scopedProvider
=
scoped
.
ServiceProvider
;
var
consumerServices
=
scopedProvider
.
GetServices
<
ICapSubscribe
>();
foreach
(
var
service
in
consumerServices
)
{
continue
;
}
var
typeInfo
=
service
.
GetType
().
GetTypeInfo
();
if
(!
typeof
(
ICapSubscribe
).
GetTypeInfo
().
IsAssignableFrom
(
typeInfo
))
{
continue
;
}
executorDescriptorList
.
AddRange
(
GetTopicAttributesDescription
(
typeInfo
));
executorDescriptorList
.
AddRange
(
GetTopicAttributesDescription
(
typeInfo
));
}
return
executorDescriptorList
;
}
return
executorDescriptorList
;
}
private
static
IEnumerable
<
ConsumerExecutorDescriptor
>
FindConsumersFromControllerTypes
(
...
...
@@ -76,7 +80,7 @@ namespace DotNetCore.CAP.Internal
{
executorDescriptorList
.
AddRange
(
GetTopicAttributesDescription
(
typeInfo
));
}
}
}
return
executorDescriptorList
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment