Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
N
netcoreplus
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
netcoreplus
Commits
13f40f08
Commit
13f40f08
authored
May 22, 2019
by
阿星Plus
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修复工作单元无法注入的问题
parent
fefafb4b
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
113 additions
and
1 deletion
+113
-1
DefaultSettings.cs
src/Plus/Configuration/DefaultSettings.cs
+7
-0
IPlusStartupConfiguration.cs
src/Plus/Configuration/Startup/IPlusStartupConfiguration.cs
+5
-0
PlusStartupConfiguration.cs
src/Plus/Configuration/Startup/PlusStartupConfiguration.cs
+2
-0
DefaultConnectionStringResolver.cs
src/Plus/Domain/Uow/DefaultConnectionStringResolver.cs
+28
-0
UnitOfWorkManager.cs
src/Plus/Domain/Uow/UnitOfWorkManager.cs
+70
-0
Plus.csproj
src/Plus/Plus.csproj
+1
-1
No files found.
src/Plus/Configuration/DefaultSettings.cs
0 → 100644
View file @
13f40f08
namespace
Plus.Configuration
{
public
class
DefaultSettings
:
SettingsBase
{
public
string
DefaultNameOrConnectionString
=>
Config
[
"ConnectionStrings"
];
}
}
\ No newline at end of file
src/Plus/Configuration/Startup/IPlusStartupConfiguration.cs
View file @
13f40f08
...
...
@@ -15,6 +15,11 @@ namespace Plus.Configuration.Startup
/// </summary>
IIocManager
IocManager
{
get
;
}
/// <summary>
/// DefaultSettings
/// </summary>
DefaultSettings
DefaultSettings
{
get
;
}
/// <summary>
/// 用于替换服务类型
/// </summary>
...
...
src/Plus/Configuration/Startup/PlusStartupConfiguration.cs
View file @
13f40f08
...
...
@@ -21,6 +21,8 @@ namespace Plus.Configuration.Startup
public
IValidationConfiguration
Validation
{
get
;
private
set
;
}
public
DefaultSettings
DefaultSettings
{
get
;
private
set
;
}
public
PlusStartupConfiguration
(
IIocManager
iocManager
)
{
IocManager
=
iocManager
;
...
...
src/Plus/Domain/Uow/DefaultConnectionStringResolver.cs
0 → 100644
View file @
13f40f08
using
Plus.Configuration.Startup
;
using
Plus.Dependency
;
namespace
Plus.Domain.Uow
{
/// <summary>
/// DefaultConnectionStringResolver
/// </summary>
public
class
DefaultConnectionStringResolver
:
IConnectionStringResolver
,
ITransientDependency
{
private
readonly
IPlusStartupConfiguration
_configuration
;
public
DefaultConnectionStringResolver
(
IPlusStartupConfiguration
configuration
)
{
_configuration
=
configuration
;
}
public
virtual
string
GetNameOrConnectionString
(
ConnectionStringResolveArgs
args
)
{
string
defaultNameOrConnectionString
=
_configuration
.
DefaultSettings
.
DefaultNameOrConnectionString
;
if
(!
string
.
IsNullOrWhiteSpace
(
defaultNameOrConnectionString
))
{
return
defaultNameOrConnectionString
;
}
return
defaultNameOrConnectionString
;
}
}
}
\ No newline at end of file
src/Plus/Domain/Uow/UnitOfWorkManager.cs
0 → 100644
View file @
13f40f08
using
Plus.Dependency
;
using
System.Linq
;
using
System.Transactions
;
namespace
Plus.Domain.Uow
{
/// <summary>
/// UnitOfWorkManager
/// </summary>
public
class
UnitOfWorkManager
:
IUnitOfWorkManager
,
ITransientDependency
{
private
readonly
IIocResolver
_iocResolver
;
private
readonly
ICurrentUnitOfWorkProvider
_currentUnitOfWorkProvider
;
private
readonly
IUnitOfWorkDefaultOptions
_defaultOptions
;
public
IActiveUnitOfWork
Current
=>
_currentUnitOfWorkProvider
.
Current
;
public
UnitOfWorkManager
(
IIocResolver
iocResolver
,
ICurrentUnitOfWorkProvider
currentUnitOfWorkProvider
,
IUnitOfWorkDefaultOptions
defaultOptions
)
{
_iocResolver
=
iocResolver
;
_currentUnitOfWorkProvider
=
currentUnitOfWorkProvider
;
_defaultOptions
=
defaultOptions
;
}
public
IUnitOfWorkCompleteHandle
Begin
()
{
return
Begin
(
new
UnitOfWorkOptions
());
}
public
IUnitOfWorkCompleteHandle
Begin
(
TransactionScopeOption
scope
)
{
return
Begin
(
new
UnitOfWorkOptions
{
Scope
=
scope
});
}
public
IUnitOfWorkCompleteHandle
Begin
(
UnitOfWorkOptions
options
)
{
options
.
FillDefaultsForNonProvidedOptions
(
_defaultOptions
);
IUnitOfWork
current
=
_currentUnitOfWorkProvider
.
Current
;
if
(
options
.
Scope
==
TransactionScopeOption
.
Required
&&
current
!=
null
)
{
return
new
InnerUnitOfWorkCompleteHandle
();
}
IUnitOfWork
uow
=
_iocResolver
.
Resolve
<
IUnitOfWork
>();
uow
.
Completed
+=
delegate
{
_currentUnitOfWorkProvider
.
Current
=
null
;
};
uow
.
Failed
+=
delegate
{
_currentUnitOfWorkProvider
.
Current
=
null
;
};
uow
.
Disposed
+=
delegate
{
_iocResolver
.
Release
(
uow
);
};
if
(
current
!=
null
)
{
options
.
FillOuterUowFiltersForNonProvidedOptions
(
current
.
Filters
.
ToList
());
}
uow
.
Begin
(
options
);
_currentUnitOfWorkProvider
.
Current
=
uow
;
return
uow
;
}
}
}
\ No newline at end of file
src/Plus/Plus.csproj
View file @
13f40f08
...
...
@@ -17,7 +17,7 @@
<PackageLicenseUrl>https://raw.githubusercontent.com/Meowv/.netcoreplus/master/LICENSE</PackageLicenseUrl>
<PackageTags>plus;.netcoreplus;</PackageTags>
<PackageReleaseNotes>Plus</PackageReleaseNotes>
<Version>1.0.
0.
1</Version>
<Version>1.0.1</Version>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
...
...
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