mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-02-09 09:16:41 +08:00
Compare commits
139 Commits
feature/un
...
feature/sq
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8be940fe8d | ||
|
|
4491ab8467 | ||
|
|
3f5c6e49ef | ||
|
|
a1d06ec89e | ||
|
|
ee149191b9 | ||
|
|
3f8e063d9c | ||
|
|
cb25be4444 | ||
|
|
428b44a900 | ||
|
|
c2194381f8 | ||
|
|
c860b89e23 | ||
|
|
04f29ba70c | ||
|
|
e118695ea7 | ||
|
|
1c3e253edb | ||
|
|
65c3b2ab2e | ||
|
|
9ea87837c3 | ||
|
|
f3d08d61c4 | ||
|
|
22697edeec | ||
|
|
e0fc576f9e | ||
|
|
ef9e5de8f4 | ||
|
|
5878611817 | ||
|
|
e02bf2dacb | ||
|
|
d0ad5de25c | ||
|
|
902021c686 | ||
|
|
ce15e438ca | ||
|
|
748a354632 | ||
|
|
db03498cfa | ||
|
|
553a0e260a | ||
|
|
e9799d5537 | ||
|
|
fcc4a944bb | ||
|
|
a0d61c67b8 | ||
|
|
638c05b5ff | ||
|
|
46de0273d5 | ||
|
|
42ff708da8 | ||
|
|
735ab882b2 | ||
|
|
b52a846c5f | ||
|
|
9a8b64393e | ||
|
|
035ad949a8 | ||
|
|
6eb32a93df | ||
|
|
becc4abf23 | ||
|
|
2750b04173 | ||
|
|
935d07bb1b | ||
|
|
3729bac266 | ||
|
|
4a2d3aeb7c | ||
|
|
6abb7d5459 | ||
|
|
6d8460ad9c | ||
|
|
8f2bd16fed | ||
|
|
bd1f14eeb0 | ||
|
|
4b59569013 | ||
|
|
a603c7e07a | ||
|
|
96f6cb36fd | ||
|
|
3d63c6d333 | ||
|
|
4cdb081c9d | ||
|
|
9ed6b4261d | ||
|
|
a0e78f2eb0 | ||
|
|
af4e41a717 | ||
|
|
914423a345 | ||
|
|
247009d07a | ||
|
|
7f91e787de | ||
|
|
6810cf473f | ||
|
|
79a0ae86e8 | ||
|
|
4cec35daf8 | ||
|
|
8d4cb98d59 | ||
|
|
e6424e2589 | ||
|
|
dcc7783f12 | ||
|
|
d35ebe04e7 | ||
|
|
c80f2d4baa | ||
|
|
9a4e0c1741 | ||
|
|
47d3d2b738 | ||
|
|
a8db54d994 | ||
|
|
d6f3bfd419 | ||
|
|
e0e600a6ce | ||
|
|
21875b98cc | ||
|
|
e46af0f757 | ||
|
|
bccdc0337e | ||
|
|
7fae246341 | ||
|
|
81adb78818 | ||
|
|
b560a4c3d0 | ||
|
|
ec0c071ab6 | ||
|
|
86bae087fa | ||
|
|
c5b0cac24a | ||
|
|
5f4cd14937 | ||
|
|
7673e2e12f | ||
|
|
3615cbe6db | ||
|
|
5dcbad2235 | ||
|
|
079fb1f84b | ||
|
|
1cf2b6cf27 | ||
|
|
28a1b4d663 | ||
|
|
9e95f96195 | ||
|
|
ff6cb5688d | ||
|
|
2555302ed7 | ||
|
|
811001143e | ||
|
|
412c531027 | ||
|
|
81bf5d94fd | ||
|
|
6c712a9840 | ||
|
|
d9a3db1ebf | ||
|
|
5b42c707b1 | ||
|
|
73683ec057 | ||
|
|
83a35f89cf | ||
|
|
2a9d931e39 | ||
|
|
aa7f9dd1cd | ||
|
|
aae53c3909 | ||
|
|
90b3c1e7f6 | ||
|
|
1c7ed9cb94 | ||
|
|
61f1c3ae00 | ||
|
|
6b4a497e2d | ||
|
|
8cbb1d6960 | ||
|
|
1ed973ab88 | ||
|
|
c4d20e3b73 | ||
|
|
07efdb267a | ||
|
|
fd931397a4 | ||
|
|
7d7340fbab | ||
|
|
591a06e944 | ||
|
|
08a3285e4f | ||
|
|
4cd88cb9c9 | ||
|
|
f39b273558 | ||
|
|
77b8df516a | ||
|
|
11f6ecc4d4 | ||
|
|
cb6835aba3 | ||
|
|
0a9b05314e | ||
|
|
01de9ef646 | ||
|
|
92c6d5fd80 | ||
|
|
97fcfd4e24 | ||
|
|
68c401c6eb | ||
|
|
16cd4e89c4 | ||
|
|
17082eec9c | ||
|
|
cc70480126 | ||
|
|
b62939f850 | ||
|
|
ab12e9e630 | ||
|
|
f2e0fb22b3 | ||
|
|
15e6c95740 | ||
|
|
5813647574 | ||
|
|
f363ac2b5f | ||
|
|
8a8b0f91c6 | ||
|
|
879e35dcc0 | ||
|
|
e8111cef5e | ||
|
|
a0f42632e0 | ||
|
|
28643ae7b8 | ||
|
|
70ea2df334 | ||
|
|
30a95ed773 |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -166,6 +166,8 @@ build/
|
||||
/artifacts
|
||||
*.sln.cache
|
||||
src/Orchard.Web/Media/*
|
||||
src/Orchard.Web/x86
|
||||
src/Orchard.Web/amd64
|
||||
log.xml
|
||||
profiling/
|
||||
*.orig
|
||||
|
||||
12
CREDITS.txt
12
CREDITS.txt
@@ -265,6 +265,18 @@ Website: https://github.com/sayedihashimi/package-web/
|
||||
Copyright: Copyright 2013 Sayed Ibrahim Hashimi
|
||||
License: Apache 2.0
|
||||
|
||||
SQLite
|
||||
-----
|
||||
Website: http://sqlite.org
|
||||
Copyright: Public Domain
|
||||
License: Public Domain
|
||||
|
||||
SQLite CREATE Statement Parser for .Net
|
||||
-----
|
||||
Website: https://github.com/ericschultz/SQLiteParser
|
||||
Copyright: Copyright 2014 Outercurve Foundation
|
||||
License: MIT
|
||||
|
||||
SpecFlow
|
||||
-----
|
||||
Website: http://www.specflow.org/
|
||||
|
||||
16
Orchard.proj
16
Orchard.proj
@@ -10,6 +10,7 @@
|
||||
<MsBuildTasksFolder>$(MSBuildProjectDirectory)\buildtasks</MsBuildTasksFolder>
|
||||
<ArtifactsFolder>$(MSBuildProjectDirectory)\artifacts</ArtifactsFolder>
|
||||
<SqlCeFolder>$(MSBuildProjectDirectory)\lib\sqlce</SqlCeFolder>
|
||||
<SQLiteFolder>$(MSBuildProjectDirectory)\lib\sqlite</SQLiteFolder>
|
||||
<SourceArtifactFolder>$(ArtifactsFolder)\Source</SourceArtifactFolder>
|
||||
<MsDeployArtifactFolder>$(ArtifactsFolder)\MsDeploy</MsDeployArtifactFolder>
|
||||
<GalleryArtifactFolder>$(ArtifactsFolder)\Gallery</GalleryArtifactFolder>
|
||||
@@ -27,6 +28,7 @@
|
||||
|
||||
<BuildPlatform Condition="$(ProgramW6432) != ''">x64</BuildPlatform>
|
||||
<BuildPlatform Condition="$(BuildPlatform) == ''">x86</BuildPlatform>
|
||||
<Configuration Condition="$(Configuration) == ''">Release</Configuration>
|
||||
|
||||
<!-- TeamCity build number -->
|
||||
<Version>$(BUILD_NUMBER)</Version>
|
||||
@@ -115,7 +117,7 @@
|
||||
<MSBuild
|
||||
Projects="$(SrcFolder)\Orchard.sln"
|
||||
Targets="Build"
|
||||
Properties="Configuration=Release;OutputPath=$(CompileFolder)" />
|
||||
Properties="Configuration=$(Configuration);OutputPath=$(CompileFolder)" />
|
||||
<!-- Compile to "regular" output folder for devs using VS locally -->
|
||||
<MSBuild
|
||||
Projects="$(SrcFolder)\Orchard.sln"
|
||||
@@ -126,7 +128,7 @@
|
||||
<MSBuild
|
||||
Projects="$(SrcFolder)\Tools\MSBuild.Orchard.Tasks\MSBuild.Orchard.Tasks.csproj"
|
||||
Targets="Build"
|
||||
Properties="Configuration=Release;OutputPath=$(MsBuildTasksFolder)" />
|
||||
Properties="Configuration=$(Configuration);OutputPath=$(MsBuildTasksFolder)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="TypeScript" DependsOnTargets="CompileMsBuildTasks">
|
||||
@@ -188,6 +190,8 @@
|
||||
<ItemGroup>
|
||||
<SqlCe-Native-Binaries-x86 Include="$(SqlCeFolder)\x86\**\*"/>
|
||||
<SqlCe-Native-Binaries-amd64 Include="$(SqlCeFolder)\amd64\**\*"/>
|
||||
<SQLite-Native-Binaries-x86 Include="$(SQLiteFolder)\x86\**\*"/>
|
||||
<SQLite-Native-Binaries-amd64 Include="$(SQLiteFolder)\amd64\**\*"/>
|
||||
<Stage-Orchard-Web-Bins Include="$(WebSitesFolder)\Orchard.Web\bin\*"/>
|
||||
<Stage-Bin-Exclude Include="$(WebSitesFolder)\**\bin\**\*" />
|
||||
<Stage-Web Include="$(WebSitesFolder)\Orchard.Web\**\*;$(SrcFolder)\Orchard.Web\*.csproj;" Exclude="$(SrcFolder)\Orchard.Web\Orchard.Web.csproj;$(SrcFolder)\Orchard.Web\**\*.Release.config;$(SrcFolder)\Orchard.Web\**\*.Debug.config"/>
|
||||
@@ -258,6 +262,8 @@
|
||||
<Copy SourceFiles="@(Stage-PoFiles)" DestinationFolder="$(StageFolder)\%(RecursiveDir)"/>
|
||||
<Copy SourceFiles="@(SqlCe-Native-Binaries-x86)" DestinationFolder="$(StageFolder)\bin\x86\%(RecursiveDir)"/>
|
||||
<Copy SourceFiles="@(SqlCe-Native-Binaries-amd64)" DestinationFolder="$(StageFolder)\bin\amd64\%(RecursiveDir)"/>
|
||||
<Copy SourceFiles="@(SQLite-Native-Binaries-x86)" DestinationFolder="$(StageFolder)\bin\x86\%(RecursiveDir)"/>
|
||||
<Copy SourceFiles="@(SQLite-Native-Binaries-amd64)" DestinationFolder="$(StageFolder)\bin\amd64\%(RecursiveDir)"/>
|
||||
<Copy SourceFiles="@(Stage-Core)" DestinationFolder="$(StageFolder)\Core\%(RecursiveDir)"/>
|
||||
<Copy SourceFiles="@(Stage-Modules)" DestinationFiles="@(Stage-Modules->'$(StageFolder)\Modules\%(ModuleName)\%(RecursiveDir)%(Filename)%(Extension)')"/>
|
||||
<Copy SourceFiles="@(Stage-Modules-Binaries-Unique)" DestinationFiles="@(Stage-Modules-Binaries-Unique->'$(StageFolder)\Modules\%(ModuleName)\%(RecursiveDir)%(Filename)%(Extension)')"/>
|
||||
@@ -273,19 +279,19 @@
|
||||
<!-- extra processing of the staged config files -->
|
||||
<TransformXml
|
||||
Source="$(StageFolder)\Web.Config"
|
||||
Transform="$(SrcFolder)\Orchard.Web\Web.Release.Config"
|
||||
Transform="$(SrcFolder)\Orchard.Web\Web.$(Configuration).Config"
|
||||
Destination="$(StageFolder)\Web.Config"
|
||||
/>
|
||||
|
||||
<TransformXml
|
||||
Source="$(StageFolder)\Config\HostComponents.Config"
|
||||
Transform="$(SrcFolder)\Orchard.Web\Config\HostComponents.Release.Config"
|
||||
Transform="$(SrcFolder)\Orchard.Web\Config\HostComponents.$(Configuration).Config"
|
||||
Destination="$(StageFolder)\Config\HostComponents.Config"
|
||||
/>
|
||||
|
||||
<TransformXml
|
||||
Source="$(StageFolder)\Config\log4net.Config"
|
||||
Transform="$(SrcFolder)\Orchard.Web\Config\log4net.Release.Config"
|
||||
Transform="$(SrcFolder)\Orchard.Web\Config\log4net.$(Configuration).Config"
|
||||
Destination="$(StageFolder)\Config\log4net.Config"
|
||||
/>
|
||||
|
||||
|
||||
BIN
lib/antlr/Antlr4.Runtime.v4.0.dll
Normal file
BIN
lib/antlr/Antlr4.Runtime.v4.0.dll
Normal file
Binary file not shown.
6536
lib/antlr/Antlr4.Runtime.v4.0.xml
Normal file
6536
lib/antlr/Antlr4.Runtime.v4.0.xml
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -403,17 +403,17 @@
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.JsonWriter.WriteStartObject">
|
||||
<summary>
|
||||
Writes the beginning of a Json object.
|
||||
Writes the beginning of a JSON object.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.JsonWriter.WriteEndObject">
|
||||
<summary>
|
||||
Writes the end of a Json object.
|
||||
Writes the end of a JSON object.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.JsonWriter.WriteStartArray">
|
||||
<summary>
|
||||
Writes the beginning of a Json array.
|
||||
Writes the beginning of a JSON array.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.JsonWriter.WriteEndArray">
|
||||
@@ -447,7 +447,7 @@
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.JsonWriter.WriteEnd">
|
||||
<summary>
|
||||
Writes the end of the current Json object or array.
|
||||
Writes the end of the current JSON object or array.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.JsonWriter.WriteToken(Newtonsoft.Json.JsonReader)">
|
||||
@@ -882,17 +882,17 @@
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteStartArray">
|
||||
<summary>
|
||||
Writes the beginning of a Json array.
|
||||
Writes the beginning of a JSON array.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteStartObject">
|
||||
<summary>
|
||||
Writes the beginning of a Json object.
|
||||
Writes the beginning of a JSON object.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.Bson.BsonWriter.WritePropertyName(System.String)">
|
||||
<summary>
|
||||
Writes the property name of a name/value pair on a Json object.
|
||||
Writes the property name of a name/value pair on a JSON object.
|
||||
</summary>
|
||||
<param name="name">The name of the property.</param>
|
||||
</member>
|
||||
@@ -1112,7 +1112,12 @@
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.JsonConverter.GetSchema">
|
||||
<summary>
|
||||
<para>
|
||||
Gets the <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> of the JSON produced by the JsonConverter.
|
||||
</para>
|
||||
<note type="caution">
|
||||
JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details.
|
||||
</note>
|
||||
</summary>
|
||||
<returns>The <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> of the JSON produced by the JsonConverter.</returns>
|
||||
</member>
|
||||
@@ -2636,13 +2641,13 @@
|
||||
Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonConverterAttribute"/> class.
|
||||
</summary>
|
||||
<param name="converterType">Type of the converter.</param>
|
||||
<param name="converterParameters">Parameter list to use when constructing the JsonConverter. Can be null.</param>
|
||||
<param name="converterParameters">Parameter list to use when constructing the JsonConverter. Can be null.</param>
|
||||
</member>
|
||||
<member name="P:Newtonsoft.Json.JsonConverterAttribute.ConverterType">
|
||||
<summary>
|
||||
Gets the type of the converter.
|
||||
Gets the <see cref="T:System.Type"/> of the converter.
|
||||
</summary>
|
||||
<value>The type of the converter.</value>
|
||||
<value>The <see cref="T:System.Type"/> of the converter.</value>
|
||||
</member>
|
||||
<member name="P:Newtonsoft.Json.JsonConverterAttribute.ConverterParameters">
|
||||
<summary>
|
||||
@@ -2673,7 +2678,7 @@
|
||||
</member>
|
||||
<member name="T:Newtonsoft.Json.JsonException">
|
||||
<summary>
|
||||
The exception thrown when an error occurs during Json serialization or deserialization.
|
||||
The exception thrown when an error occurs during JSON serialization or deserialization.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.JsonException.#ctor">
|
||||
@@ -2882,7 +2887,7 @@
|
||||
</member>
|
||||
<member name="T:Newtonsoft.Json.JsonReaderException">
|
||||
<summary>
|
||||
The exception thrown when an error occurs while reading Json text.
|
||||
The exception thrown when an error occurs while reading JSON text.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.JsonReaderException.#ctor">
|
||||
@@ -2932,9 +2937,14 @@
|
||||
</summary>
|
||||
<value>The path to the JSON where the error occurred.</value>
|
||||
</member>
|
||||
<member name="T:Newtonsoft.Json.JsonRequiredAttribute">
|
||||
<summary>
|
||||
Instructs the <see cref="T:Newtonsoft.Json.JsonSerializer"/> to always serialize the member, and require the member has a value.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Newtonsoft.Json.JsonSerializationException">
|
||||
<summary>
|
||||
The exception thrown when an error occurs during Json serialization or deserialization.
|
||||
The exception thrown when an error occurs during JSON serialization or deserialization.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.JsonSerializationException.#ctor">
|
||||
@@ -3035,14 +3045,14 @@
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.JsonSerializer.Deserialize(Newtonsoft.Json.JsonReader)">
|
||||
<summary>
|
||||
Deserializes the Json structure contained by the specified <see cref="T:Newtonsoft.Json.JsonReader"/>.
|
||||
Deserializes the JSON structure contained by the specified <see cref="T:Newtonsoft.Json.JsonReader"/>.
|
||||
</summary>
|
||||
<param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> that contains the JSON structure to deserialize.</param>
|
||||
<returns>The <see cref="T:System.Object"/> being deserialized.</returns>
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.JsonSerializer.Deserialize(System.IO.TextReader,System.Type)">
|
||||
<summary>
|
||||
Deserializes the Json structure contained by the specified <see cref="T:System.IO.StringReader"/>
|
||||
Deserializes the JSON structure contained by the specified <see cref="T:System.IO.StringReader"/>
|
||||
into an instance of the specified type.
|
||||
</summary>
|
||||
<param name="reader">The <see cref="T:System.IO.TextReader"/> containing the object.</param>
|
||||
@@ -3051,7 +3061,7 @@
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.JsonSerializer.Deserialize``1(Newtonsoft.Json.JsonReader)">
|
||||
<summary>
|
||||
Deserializes the Json structure contained by the specified <see cref="T:Newtonsoft.Json.JsonReader"/>
|
||||
Deserializes the JSON structure contained by the specified <see cref="T:Newtonsoft.Json.JsonReader"/>
|
||||
into an instance of the specified type.
|
||||
</summary>
|
||||
<param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> containing the object.</param>
|
||||
@@ -3060,7 +3070,7 @@
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.JsonSerializer.Deserialize(Newtonsoft.Json.JsonReader,System.Type)">
|
||||
<summary>
|
||||
Deserializes the Json structure contained by the specified <see cref="T:Newtonsoft.Json.JsonReader"/>
|
||||
Deserializes the JSON structure contained by the specified <see cref="T:Newtonsoft.Json.JsonReader"/>
|
||||
into an instance of the specified type.
|
||||
</summary>
|
||||
<param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> containing the object.</param>
|
||||
@@ -3069,18 +3079,18 @@
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.JsonSerializer.Serialize(System.IO.TextWriter,System.Object)">
|
||||
<summary>
|
||||
Serializes the specified <see cref="T:System.Object"/> and writes the Json structure
|
||||
Serializes the specified <see cref="T:System.Object"/> and writes the JSON structure
|
||||
to a <c>Stream</c> using the specified <see cref="T:System.IO.TextWriter"/>.
|
||||
</summary>
|
||||
<param name="textWriter">The <see cref="T:System.IO.TextWriter"/> used to write the Json structure.</param>
|
||||
<param name="textWriter">The <see cref="T:System.IO.TextWriter"/> used to write the JSON structure.</param>
|
||||
<param name="value">The <see cref="T:System.Object"/> to serialize.</param>
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.JsonSerializer.Serialize(Newtonsoft.Json.JsonWriter,System.Object,System.Type)">
|
||||
<summary>
|
||||
Serializes the specified <see cref="T:System.Object"/> and writes the Json structure
|
||||
Serializes the specified <see cref="T:System.Object"/> and writes the JSON structure
|
||||
to a <c>Stream</c> using the specified <see cref="T:System.IO.TextWriter"/>.
|
||||
</summary>
|
||||
<param name="jsonWriter">The <see cref="T:Newtonsoft.Json.JsonWriter"/> used to write the Json structure.</param>
|
||||
<param name="jsonWriter">The <see cref="T:Newtonsoft.Json.JsonWriter"/> used to write the JSON structure.</param>
|
||||
<param name="value">The <see cref="T:System.Object"/> to serialize.</param>
|
||||
<param name="objectType">
|
||||
The type of the value being serialized.
|
||||
@@ -3090,10 +3100,10 @@
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.JsonSerializer.Serialize(System.IO.TextWriter,System.Object,System.Type)">
|
||||
<summary>
|
||||
Serializes the specified <see cref="T:System.Object"/> and writes the Json structure
|
||||
Serializes the specified <see cref="T:System.Object"/> and writes the JSON structure
|
||||
to a <c>Stream</c> using the specified <see cref="T:System.IO.TextWriter"/>.
|
||||
</summary>
|
||||
<param name="textWriter">The <see cref="T:System.IO.TextWriter"/> used to write the Json structure.</param>
|
||||
<param name="textWriter">The <see cref="T:System.IO.TextWriter"/> used to write the JSON structure.</param>
|
||||
<param name="value">The <see cref="T:System.Object"/> to serialize.</param>
|
||||
<param name="objectType">
|
||||
The type of the value being serialized.
|
||||
@@ -3103,10 +3113,10 @@
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.JsonSerializer.Serialize(Newtonsoft.Json.JsonWriter,System.Object)">
|
||||
<summary>
|
||||
Serializes the specified <see cref="T:System.Object"/> and writes the Json structure
|
||||
Serializes the specified <see cref="T:System.Object"/> and writes the JSON structure
|
||||
to a <c>Stream</c> using the specified <see cref="T:Newtonsoft.Json.JsonWriter"/>.
|
||||
</summary>
|
||||
<param name="jsonWriter">The <see cref="T:Newtonsoft.Json.JsonWriter"/> used to write the Json structure.</param>
|
||||
<param name="jsonWriter">The <see cref="T:Newtonsoft.Json.JsonWriter"/> used to write the JSON structure.</param>
|
||||
<param name="value">The <see cref="T:System.Object"/> to serialize.</param>
|
||||
</member>
|
||||
<member name="E:Newtonsoft.Json.JsonSerializer.Error">
|
||||
@@ -3130,6 +3140,12 @@
|
||||
</summary>
|
||||
<value>The trace writer.</value>
|
||||
</member>
|
||||
<member name="P:Newtonsoft.Json.JsonSerializer.EqualityComparer">
|
||||
<summary>
|
||||
Gets or sets the equality comparer used by the serializer when comparing references.
|
||||
</summary>
|
||||
<value>The equality comparer.</value>
|
||||
</member>
|
||||
<member name="P:Newtonsoft.Json.JsonSerializer.TypeNameHandling">
|
||||
<summary>
|
||||
Gets or sets how type name writing and reading is handled by the serializer.
|
||||
@@ -3241,7 +3257,7 @@
|
||||
</member>
|
||||
<member name="P:Newtonsoft.Json.JsonSerializer.DateFormatString">
|
||||
<summary>
|
||||
Get or set how <see cref="T:System.DateTime"/> and <see cref="T:System.DateTimeOffset"/> values are formatting when writing JSON text.
|
||||
Get or set how <see cref="T:System.DateTime"/> and <see cref="T:System.DateTimeOffset"/> values are formatted when writing JSON text, and the expected date format when reading JSON text.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Newtonsoft.Json.JsonSerializer.Culture">
|
||||
@@ -3345,12 +3361,24 @@
|
||||
</summary>
|
||||
<value>The contract resolver.</value>
|
||||
</member>
|
||||
<member name="P:Newtonsoft.Json.JsonSerializerSettings.EqualityComparer">
|
||||
<summary>
|
||||
Gets or sets the equality comparer used by the serializer when comparing references.
|
||||
</summary>
|
||||
<value>The equality comparer.</value>
|
||||
</member>
|
||||
<member name="P:Newtonsoft.Json.JsonSerializerSettings.ReferenceResolver">
|
||||
<summary>
|
||||
Gets or sets the <see cref="T:Newtonsoft.Json.Serialization.IReferenceResolver"/> used by the serializer when resolving references.
|
||||
</summary>
|
||||
<value>The reference resolver.</value>
|
||||
</member>
|
||||
<member name="P:Newtonsoft.Json.JsonSerializerSettings.ReferenceResolverProvider">
|
||||
<summary>
|
||||
Gets or sets a function that creates the <see cref="T:Newtonsoft.Json.Serialization.IReferenceResolver"/> used by the serializer when resolving references.
|
||||
</summary>
|
||||
<value>A function that creates the <see cref="T:Newtonsoft.Json.Serialization.IReferenceResolver"/> used by the serializer when resolving references.</value>
|
||||
</member>
|
||||
<member name="P:Newtonsoft.Json.JsonSerializerSettings.TraceWriter">
|
||||
<summary>
|
||||
Gets or sets the <see cref="T:Newtonsoft.Json.Serialization.ITraceWriter"/> used by the serializer when writing trace messages.
|
||||
@@ -3377,7 +3405,7 @@
|
||||
</member>
|
||||
<member name="P:Newtonsoft.Json.JsonSerializerSettings.DateFormatString">
|
||||
<summary>
|
||||
Get or set how <see cref="T:System.DateTime"/> and <see cref="T:System.DateTimeOffset"/> values are formatting when writing JSON text.
|
||||
Get or set how <see cref="T:System.DateTime"/> and <see cref="T:System.DateTimeOffset"/> values are formatted when writing JSON text, and the expected date format when reading JSON text.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Newtonsoft.Json.JsonSerializerSettings.MaxDepth">
|
||||
@@ -3544,12 +3572,12 @@
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.JsonTextWriter.WriteStartObject">
|
||||
<summary>
|
||||
Writes the beginning of a Json object.
|
||||
Writes the beginning of a JSON object.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.JsonTextWriter.WriteStartArray">
|
||||
<summary>
|
||||
Writes the beginning of a Json array.
|
||||
Writes the beginning of a JSON array.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.JsonTextWriter.WriteStartConstructor(System.String)">
|
||||
@@ -3566,7 +3594,7 @@
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.JsonTextWriter.WritePropertyName(System.String)">
|
||||
<summary>
|
||||
Writes the property name of a name/value pair on a Json object.
|
||||
Writes the property name of a name/value pair on a JSON object.
|
||||
</summary>
|
||||
<param name="name">The name of the property.</param>
|
||||
</member>
|
||||
@@ -3781,7 +3809,7 @@
|
||||
</member>
|
||||
<member name="T:Newtonsoft.Json.JsonToken">
|
||||
<summary>
|
||||
Specifies the type of Json token.
|
||||
Specifies the type of JSON token.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Newtonsoft.Json.JsonToken.None">
|
||||
@@ -3876,7 +3904,12 @@
|
||||
</member>
|
||||
<member name="T:Newtonsoft.Json.JsonValidatingReader">
|
||||
<summary>
|
||||
<para>
|
||||
Represents a reader that provides <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> validation.
|
||||
</para>
|
||||
<note type="caution">
|
||||
JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details.
|
||||
</note>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.JsonValidatingReader.#ctor(Newtonsoft.Json.JsonReader)">
|
||||
@@ -3986,7 +4019,7 @@
|
||||
</member>
|
||||
<member name="T:Newtonsoft.Json.JsonWriterException">
|
||||
<summary>
|
||||
The exception thrown when an error occurs while reading Json text.
|
||||
The exception thrown when an error occurs while reading JSON text.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.JsonWriterException.#ctor">
|
||||
@@ -6434,12 +6467,12 @@
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteStartObject">
|
||||
<summary>
|
||||
Writes the beginning of a Json object.
|
||||
Writes the beginning of a JSON object.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteStartArray">
|
||||
<summary>
|
||||
Writes the beginning of a Json array.
|
||||
Writes the beginning of a JSON array.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteStartConstructor(System.String)">
|
||||
@@ -6456,7 +6489,7 @@
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.Linq.JTokenWriter.WritePropertyName(System.String)">
|
||||
<summary>
|
||||
Writes the property name of a name/value pair on a Json object.
|
||||
Writes the property name of a name/value pair on a JSON object.
|
||||
</summary>
|
||||
<param name="name">The name of the property.</param>
|
||||
</member>
|
||||
@@ -6806,12 +6839,22 @@
|
||||
</member>
|
||||
<member name="T:Newtonsoft.Json.Schema.Extensions">
|
||||
<summary>
|
||||
<para>
|
||||
Contains the JSON schema extension methods.
|
||||
</para>
|
||||
<note type="caution">
|
||||
JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details.
|
||||
</note>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.Schema.Extensions.IsValid(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Schema.JsonSchema)">
|
||||
<summary>
|
||||
<para>
|
||||
Determines whether the <see cref="T:Newtonsoft.Json.Linq.JToken"/> is valid.
|
||||
</para>
|
||||
<note type="caution">
|
||||
JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details.
|
||||
</note>
|
||||
</summary>
|
||||
<param name="source">The source <see cref="T:Newtonsoft.Json.Linq.JToken"/> to test.</param>
|
||||
<param name="schema">The schema to test with.</param>
|
||||
@@ -6821,7 +6864,12 @@
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.Schema.Extensions.IsValid(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Schema.JsonSchema,System.Collections.Generic.IList{System.String}@)">
|
||||
<summary>
|
||||
<para>
|
||||
Determines whether the <see cref="T:Newtonsoft.Json.Linq.JToken"/> is valid.
|
||||
</para>
|
||||
<note type="caution">
|
||||
JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details.
|
||||
</note>
|
||||
</summary>
|
||||
<param name="source">The source <see cref="T:Newtonsoft.Json.Linq.JToken"/> to test.</param>
|
||||
<param name="schema">The schema to test with.</param>
|
||||
@@ -6832,14 +6880,24 @@
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.Schema.Extensions.Validate(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Schema.JsonSchema)">
|
||||
<summary>
|
||||
<para>
|
||||
Validates the specified <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
|
||||
</para>
|
||||
<note type="caution">
|
||||
JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details.
|
||||
</note>
|
||||
</summary>
|
||||
<param name="source">The source <see cref="T:Newtonsoft.Json.Linq.JToken"/> to test.</param>
|
||||
<param name="schema">The schema to test with.</param>
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.Schema.Extensions.Validate(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Schema.JsonSchema,Newtonsoft.Json.Schema.ValidationEventHandler)">
|
||||
<summary>
|
||||
<para>
|
||||
Validates the specified <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
|
||||
</para>
|
||||
<note type="caution">
|
||||
JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details.
|
||||
</note>
|
||||
</summary>
|
||||
<param name="source">The source <see cref="T:Newtonsoft.Json.Linq.JToken"/> to test.</param>
|
||||
<param name="schema">The schema to test with.</param>
|
||||
@@ -6847,7 +6905,12 @@
|
||||
</member>
|
||||
<member name="T:Newtonsoft.Json.Schema.JsonSchema">
|
||||
<summary>
|
||||
<para>
|
||||
An in-memory representation of a JSON Schema.
|
||||
</para>
|
||||
<note type="caution">
|
||||
JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details.
|
||||
</note>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.Schema.JsonSchema.#ctor">
|
||||
@@ -7104,7 +7167,12 @@
|
||||
</member>
|
||||
<member name="T:Newtonsoft.Json.Schema.JsonSchemaException">
|
||||
<summary>
|
||||
<para>
|
||||
Returns detailed information about the schema exception.
|
||||
</para>
|
||||
<note type="caution">
|
||||
JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details.
|
||||
</note>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.Schema.JsonSchemaException.#ctor">
|
||||
@@ -7156,7 +7224,12 @@
|
||||
</member>
|
||||
<member name="T:Newtonsoft.Json.Schema.JsonSchemaGenerator">
|
||||
<summary>
|
||||
<para>
|
||||
Generates a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from a specified <see cref="T:System.Type"/>.
|
||||
</para>
|
||||
<note type="caution">
|
||||
JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details.
|
||||
</note>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.Schema.JsonSchemaGenerator.Generate(System.Type)">
|
||||
@@ -7204,7 +7277,12 @@
|
||||
</member>
|
||||
<member name="T:Newtonsoft.Json.Schema.JsonSchemaResolver">
|
||||
<summary>
|
||||
<para>
|
||||
Resolves <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from an id.
|
||||
</para>
|
||||
<note type="caution">
|
||||
JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details.
|
||||
</note>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.Schema.JsonSchemaResolver.#ctor">
|
||||
@@ -7227,7 +7305,12 @@
|
||||
</member>
|
||||
<member name="T:Newtonsoft.Json.Schema.JsonSchemaType">
|
||||
<summary>
|
||||
<para>
|
||||
The value types allowed by the <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/>.
|
||||
</para>
|
||||
<note type="caution">
|
||||
JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details.
|
||||
</note>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Newtonsoft.Json.Schema.JsonSchemaType.None">
|
||||
@@ -7277,7 +7360,12 @@
|
||||
</member>
|
||||
<member name="T:Newtonsoft.Json.Schema.UndefinedSchemaIdHandling">
|
||||
<summary>
|
||||
<para>
|
||||
Specifies undefined schema Id handling options for the <see cref="T:Newtonsoft.Json.Schema.JsonSchemaGenerator"/>.
|
||||
</para>
|
||||
<note type="caution">
|
||||
JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details.
|
||||
</note>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Newtonsoft.Json.Schema.UndefinedSchemaIdHandling.None">
|
||||
@@ -7297,7 +7385,12 @@
|
||||
</member>
|
||||
<member name="T:Newtonsoft.Json.Schema.ValidationEventArgs">
|
||||
<summary>
|
||||
<para>
|
||||
Returns detailed information related to the <see cref="T:Newtonsoft.Json.Schema.ValidationEventHandler"/>.
|
||||
</para>
|
||||
<note type="caution">
|
||||
JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details.
|
||||
</note>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Newtonsoft.Json.Schema.ValidationEventArgs.Exception">
|
||||
@@ -7320,7 +7413,12 @@
|
||||
</member>
|
||||
<member name="T:Newtonsoft.Json.Schema.ValidationEventHandler">
|
||||
<summary>
|
||||
<para>
|
||||
Represents the callback method that will handle JSON schema validation events and the <see cref="T:Newtonsoft.Json.Schema.ValidationEventArgs"/>.
|
||||
</para>
|
||||
<note type="caution">
|
||||
JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details.
|
||||
</note>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver">
|
||||
@@ -7493,7 +7591,14 @@
|
||||
Resolves the name of the property.
|
||||
</summary>
|
||||
<param name="propertyName">Name of the property.</param>
|
||||
<returns>Name of the property.</returns>
|
||||
<returns>Resolved name of the property.</returns>
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.ResolveDictionaryKey(System.String)">
|
||||
<summary>
|
||||
Resolves the key of the dictionary. By default <see cref="M:Newtonsoft.Json.Serialization.DefaultContractResolver.ResolvePropertyName(System.String)"/> is used to resolve dictionary keys.
|
||||
</summary>
|
||||
<param name="dictionaryKey">Key of the dictionary.</param>
|
||||
<returns>Resolved key of the dictionary.</returns>
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.GetResolvedPropertyName(System.String)">
|
||||
<summary>
|
||||
@@ -8012,6 +8117,12 @@
|
||||
</summary>
|
||||
<value>The property name resolver.</value>
|
||||
</member>
|
||||
<member name="P:Newtonsoft.Json.Serialization.JsonDictionaryContract.DictionaryKeyResolver">
|
||||
<summary>
|
||||
Gets or sets the dictionary key resolver.
|
||||
</summary>
|
||||
<value>The dictionary key resolver.</value>
|
||||
</member>
|
||||
<member name="P:Newtonsoft.Json.Serialization.JsonDictionaryContract.DictionaryKeyType">
|
||||
<summary>
|
||||
Gets the <see cref="T:System.Type"/> of the dictionary keys.
|
||||
@@ -8472,6 +8583,7 @@
|
||||
<summary>
|
||||
Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.ReflectionAttributeProvider"/> class.
|
||||
</summary>
|
||||
<param name="attributeProvider">The instance to get attributes for. This parameter should be a <see cref="T:System.Type"/>, <see cref="T:System.Reflection.MemberInfo"/>, <see cref="T:System.Reflection.ParameterInfo"/> or <see cref="T:System.Reflection.Assembly"/>.</param>
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.Serialization.ReflectionAttributeProvider.GetAttributes(System.Boolean)">
|
||||
<summary>
|
||||
@@ -8581,7 +8693,7 @@
|
||||
</member>
|
||||
<member name="M:Newtonsoft.Json.Utilities.CollectionUtils.IndexOf``1(System.Collections.Generic.IEnumerable{``0},``0,System.Collections.Generic.IEqualityComparer{``0})">
|
||||
<summary>
|
||||
Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer.
|
||||
Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer{TSource}.
|
||||
</summary>
|
||||
<typeparam name="TSource">The type of the elements of source.</typeparam>
|
||||
<param name="list">A sequence in which to locate a value.</param>
|
||||
|
||||
BIN
lib/sqlite-createsupport/Outercurve.SQLiteCreateTree.dll
Normal file
BIN
lib/sqlite-createsupport/Outercurve.SQLiteCreateTree.dll
Normal file
Binary file not shown.
BIN
lib/sqlite-createsupport/Outercurve.SQLiteCreateTree.pdb
Normal file
BIN
lib/sqlite-createsupport/Outercurve.SQLiteCreateTree.pdb
Normal file
Binary file not shown.
30
lib/sqlite-createsupport/Outercurve.SQLiteCreateTree.xml
Normal file
30
lib/sqlite-createsupport/Outercurve.SQLiteCreateTree.xml
Normal file
@@ -0,0 +1,30 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>Outercurve.SQLiteCreateTree</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="M:Outercurve.SQLiteCreateTree.AlterTable.NativeAlterTableProcessor.CreateSqlStatements(Outercurve.SQLiteCreateTree.AlterTable.Action.AlterTableCommand)">
|
||||
<summary>
|
||||
returns null if something if we don't have ones we can do natively
|
||||
</summary>
|
||||
<param name="command"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="P:Outercurve.SQLiteCreateTree.Nodes.ColumnConstraint.UniqueConstraintNode.ConflictClause">
|
||||
<summary>
|
||||
Conflict Clause is really weird, it can be empty. We treat that as null.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Outercurve.SQLiteCreateTree.Nodes.ForeignDeferrableNode.IsDeferrable">
|
||||
<summary>
|
||||
NOT?
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Outercurve.SQLiteCreateTree.Nodes.ForeignDeferrableNode.InitiallyImmediate">
|
||||
<summary>
|
||||
((INITIALLY DEFERRED)| (INITIALLY IMMEDIATE))?
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
BIN
lib/sqlite-createsupport/Outercurve.SQLiteParser.dll
Normal file
BIN
lib/sqlite-createsupport/Outercurve.SQLiteParser.dll
Normal file
Binary file not shown.
BIN
lib/sqlite-createsupport/Outercurve.SQLiteParser.pdb
Normal file
BIN
lib/sqlite-createsupport/Outercurve.SQLiteParser.pdb
Normal file
Binary file not shown.
1103
lib/sqlite-createsupport/Outercurve.SQLiteParser.xml
Normal file
1103
lib/sqlite-createsupport/Outercurve.SQLiteParser.xml
Normal file
File diff suppressed because it is too large
Load Diff
BIN
lib/sqlite/System.Data.SQLite.dll
Normal file
BIN
lib/sqlite/System.Data.SQLite.dll
Normal file
Binary file not shown.
121
lib/sqlite/System.Data.SQLite.dll.config
Normal file
121
lib/sqlite/System.Data.SQLite.dll.config
Normal file
@@ -0,0 +1,121 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
*
|
||||
* System.Data.SQLite.dll.config -
|
||||
*
|
||||
* Written by Joe Mistachkin.
|
||||
* Released to the public domain, use at your own risk!
|
||||
*
|
||||
-->
|
||||
<configuration>
|
||||
<appSettings>
|
||||
<!--
|
||||
NOTE: If this configuration variable is set [to anything], the SQLite
|
||||
logging subsystem may be initialized in a non-default application
|
||||
domain. By default, this is not allowed due to the potential
|
||||
for application domain unloading issues.
|
||||
-->
|
||||
<!--
|
||||
<add key="Force_SQLiteLog" value="1" />
|
||||
-->
|
||||
|
||||
<!--
|
||||
NOTE: If this configuration variable is set [to anything], the native
|
||||
library pre-loading functionality will be disabled. By default,
|
||||
the native library pre-loading will attempt to load the native
|
||||
SQLite library from architecture-specific (e.g. "x86", "amd64",
|
||||
"x64") or platform-specific (e.g. "Win32") directories that
|
||||
reside underneath the application base directory.
|
||||
-->
|
||||
<!--
|
||||
<add key="No_PreLoadSQLite" value="1" />
|
||||
-->
|
||||
|
||||
<!--
|
||||
NOTE: If this configuration variable is set [to anything], the new
|
||||
connection string parsing algorithm will not be used. This
|
||||
environment variable is intended for use with legacy code only.
|
||||
-->
|
||||
<!--
|
||||
<add key="No_SQLiteConnectionNewParser" value="1" />
|
||||
-->
|
||||
|
||||
<!--
|
||||
NOTE: If this configuration variable is set [to anything], the initial
|
||||
search for types in all loaded assemblies that are tagged with
|
||||
the SQLiteFunction attribute will be skipped. Normally, this
|
||||
search is conducted only once per application domain by the
|
||||
static constructor of the SQLiteFunction class; however, these
|
||||
implementation details are subject to change.
|
||||
-->
|
||||
<!--
|
||||
<add key="No_SQLiteFunctions" value="1" />
|
||||
-->
|
||||
|
||||
<!--
|
||||
NOTE: If this configuration variable is set [to anything], it will be
|
||||
used instead of the application base directory by the native
|
||||
library pre-loader. This environment variable can be especially
|
||||
useful in ASP.NET and other hosted environments where direct
|
||||
control of the location of the managed assemblies is not under
|
||||
the control of the application.
|
||||
-->
|
||||
<!--
|
||||
<add key="PreLoadSQLite_BaseDirectory" value="" />
|
||||
-->
|
||||
|
||||
<!--
|
||||
NOTE: If this configuration variable is set [to anything], it will be
|
||||
used instead of the processor architecture value contained in the
|
||||
PROCESSOR_ARCHITECTURE environment variable to help build the
|
||||
path of the native library to pre-load.
|
||||
-->
|
||||
<!--
|
||||
<add key="PreLoadSQLite_ProcessorArchitecture" value="x86" />
|
||||
-->
|
||||
|
||||
<!--
|
||||
NOTE: If this environment variable is set [to anything], the native
|
||||
library pre-loading code will skip conducting a search for the
|
||||
native library to pre-load. By default, the search starts in the
|
||||
location of the currently executing assembly (i.e. the assembly
|
||||
containing all the managed components for System.Data.SQLite) and
|
||||
then falls back to the application domain base directory.
|
||||
-->
|
||||
<!--
|
||||
<add key="PreLoadSQLite_NoSearchForDirectory" value="1" />
|
||||
-->
|
||||
|
||||
<!--
|
||||
NOTE: If this configuration variable is set [to anything], the location
|
||||
of the currently executing assembly (i.e. the one containing all
|
||||
the managed components for System.Data.SQLite) will be used as
|
||||
the basis for locating the the native library to pre-load (i.e.
|
||||
instead of using the application domain base directory).
|
||||
-->
|
||||
<!--
|
||||
<add key="PreLoadSQLite_UseAssemblyDirectory" value="1" />
|
||||
-->
|
||||
|
||||
<!--
|
||||
NOTE: This configuration variable is normally set by the operating
|
||||
system itself and should reflect the native processor
|
||||
architecture of the current process (e.g. a 32-bit x86
|
||||
application running on a 64-bit x64 operating system should have
|
||||
the value "x86").
|
||||
-->
|
||||
<!--
|
||||
<add key="PROCESSOR_ARCHITECTURE" value="%PROCESSOR_ARCHITECTURE%" />
|
||||
-->
|
||||
|
||||
<!--
|
||||
NOTE: If this environment variable is set [to anything], it will be
|
||||
used by the System.Data.SQLite.SQLiteFactory class as the type
|
||||
name containing the System.Data.Common.DbProviderServices
|
||||
implementation that should be used.
|
||||
-->
|
||||
<!--
|
||||
<add key="TypeName_SQLiteProviderServices" value="" />
|
||||
-->
|
||||
</appSettings>
|
||||
</configuration>
|
||||
BIN
lib/sqlite/System.Data.SQLite.pdb
Normal file
BIN
lib/sqlite/System.Data.SQLite.pdb
Normal file
Binary file not shown.
13100
lib/sqlite/System.Data.SQLite.xml
Normal file
13100
lib/sqlite/System.Data.SQLite.xml
Normal file
File diff suppressed because it is too large
Load Diff
BIN
lib/sqlite/x64/SQLite.Interop.dll
Normal file
BIN
lib/sqlite/x64/SQLite.Interop.dll
Normal file
Binary file not shown.
BIN
lib/sqlite/x64/SQLite.Interop.pdb
Normal file
BIN
lib/sqlite/x64/SQLite.Interop.pdb
Normal file
Binary file not shown.
BIN
lib/sqlite/x86/SQLite.Interop.dll
Normal file
BIN
lib/sqlite/x86/SQLite.Interop.dll
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -161,6 +161,237 @@
|
||||
asynchronous request failed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Microsoft.Azure.ResourceBase">
|
||||
<summary>
|
||||
Resource information.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.Azure.ResourceBase.#ctor">
|
||||
<summary>
|
||||
Initializes a new instance of the ResourceBase class.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.Azure.ResourceBase.#ctor(System.String)">
|
||||
<summary>
|
||||
Initializes a new instance of the ResourceBase class with required
|
||||
arguments.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Azure.ResourceBase.Location">
|
||||
<summary>
|
||||
Required. Gets or sets the location of the resource.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Azure.ResourceBase.Tags">
|
||||
<summary>
|
||||
Optional. Gets or sets the tags attached to the resource.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Microsoft.Azure.ResourceBaseExtended">
|
||||
<summary>
|
||||
Resource information with extended details.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.Azure.ResourceBaseExtended.#ctor">
|
||||
<summary>
|
||||
Initializes a new instance of the ResourceBaseExtended class.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.Azure.ResourceBaseExtended.#ctor(System.String)">
|
||||
<summary>
|
||||
Initializes a new instance of the ResourceBaseExtended class with
|
||||
required arguments.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Azure.ResourceBaseExtended.Id">
|
||||
<summary>
|
||||
Optional. Gets or sets the ID of the resource.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Azure.ResourceBaseExtended.Name">
|
||||
<summary>
|
||||
Optional. Gets or sets the name of the resource.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Azure.ResourceBaseExtended.Type">
|
||||
<summary>
|
||||
Optional. Gets or sets the type of the resource.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Microsoft.Azure.ResourceIdentity">
|
||||
<summary>
|
||||
Resource identity.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.Azure.ResourceIdentity.#ctor">
|
||||
<summary>
|
||||
Initializes a new instance of the ResourceIdentity class.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.Azure.ResourceIdentity.#ctor(System.String,System.String,System.String)">
|
||||
<summary>
|
||||
Initializes a new instance of the ResourceIdentity class.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.Azure.ResourceIdentity.GetProviderFromResourceType(System.String)">
|
||||
<summary>
|
||||
Returns provider string from resource type.
|
||||
</summary>
|
||||
<param name="resourceType">Resource type.</param>
|
||||
<returns>Provider</returns>
|
||||
</member>
|
||||
<member name="M:Microsoft.Azure.ResourceIdentity.GetTypeFromResourceType(System.String)">
|
||||
<summary>
|
||||
Returns type string from resource type.
|
||||
</summary>
|
||||
<param name="resourceType">Resource type.</param>
|
||||
<returns>Type</returns>
|
||||
</member>
|
||||
<member name="P:Microsoft.Azure.ResourceIdentity.ParentResourcePath">
|
||||
<summary>
|
||||
Optional. Gets or sets parent resource path (optional).
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Azure.ResourceIdentity.ResourceName">
|
||||
<summary>
|
||||
Required. Gets or sets resource name.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Azure.ResourceIdentity.ResourceProviderApiVersion">
|
||||
<summary>
|
||||
Required. Gets or sets API version of the resource provider.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Azure.ResourceIdentity.ResourceProviderNamespace">
|
||||
<summary>
|
||||
Required. Gets or sets namespace of the resource provider.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Azure.ResourceIdentity.ResourceType">
|
||||
<summary>
|
||||
Required. Gets or sets resource type.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Microsoft.Azure.Common.OData.FilterParameterAttribute">
|
||||
<summary>
|
||||
Parameter attribute used with OData filters.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.Azure.Common.OData.FilterParameterAttribute.#ctor(System.String)">
|
||||
<summary>
|
||||
Initializes a new instance of the <see cref="T:Microsoft.Azure.Common.OData.FilterParameterAttribute"/> class.
|
||||
</summary>
|
||||
<param name="name">Property name to use in the filter.</param>
|
||||
</member>
|
||||
<member name="M:Microsoft.Azure.Common.OData.FilterParameterAttribute.#ctor(System.String,System.String)">
|
||||
<summary>
|
||||
Initializes a new instance of the <see cref="T:Microsoft.Azure.Common.OData.FilterParameterAttribute"/> class.
|
||||
</summary>
|
||||
<param name="name">Property name to use in the filter.</param>
|
||||
<param name="format">Format of the value.</param>
|
||||
</member>
|
||||
<member name="P:Microsoft.Azure.Common.OData.FilterParameterAttribute.Name">
|
||||
<summary>
|
||||
Property name to use in the filter.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Azure.Common.OData.FilterParameterAttribute.Format">
|
||||
<summary>
|
||||
Format of the value.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Microsoft.Azure.Common.OData.FilterString">
|
||||
<summary>
|
||||
Handles OData filter generation.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.Azure.Common.OData.FilterString.Generate``1(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}})">
|
||||
<summary>
|
||||
Generates an OData filter from a specified Linq expression.
|
||||
</summary>
|
||||
<typeparam name="T">Filter type</typeparam>
|
||||
<param name="filter">Entity to use for filter generation</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:Microsoft.Azure.Common.OData.UrlExpressionVisitor">
|
||||
<summary>
|
||||
Expression visitor class that generates OData style $filter parameter.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.Azure.Common.OData.UrlExpressionVisitor.VisitBinary(System.Linq.Expressions.BinaryExpression)">
|
||||
<summary>
|
||||
Visits binary expression like ==, &&, >, etc.
|
||||
</summary>
|
||||
<param name="node">Node to visit.</param>
|
||||
<returns>Original node.</returns>
|
||||
</member>
|
||||
<member name="M:Microsoft.Azure.Common.OData.UrlExpressionVisitor.VisitUnary(System.Linq.Expressions.UnaryExpression)">
|
||||
<summary>
|
||||
Visits binary expression !foo.
|
||||
</summary>
|
||||
<param name="node">Node to visit.</param>
|
||||
<returns>Original node.</returns>
|
||||
</member>
|
||||
<member name="M:Microsoft.Azure.Common.OData.UrlExpressionVisitor.VisitConditional(System.Linq.Expressions.ConditionalExpression)">
|
||||
<summary>
|
||||
Visits conditional expression foo == true ? bar : fee. Throws NotSupportedException.
|
||||
</summary>
|
||||
<param name="node">Node to visit.</param>
|
||||
<returns>Throws NotSupportedException.</returns>
|
||||
</member>
|
||||
<member name="M:Microsoft.Azure.Common.OData.UrlExpressionVisitor.VisitNew(System.Linq.Expressions.NewExpression)">
|
||||
<summary>
|
||||
Visits new object expression like new DateTime().
|
||||
</summary>
|
||||
<param name="node">Node to visit.</param>
|
||||
<returns>Original node.</returns>
|
||||
</member>
|
||||
<member name="M:Microsoft.Azure.Common.OData.UrlExpressionVisitor.VisitConstant(System.Linq.Expressions.ConstantExpression)">
|
||||
<summary>
|
||||
Visits constants like 'a' or 123.
|
||||
</summary>
|
||||
<param name="node">Node to visit.</param>
|
||||
<returns>Original node.</returns>
|
||||
</member>
|
||||
<member name="M:Microsoft.Azure.Common.OData.UrlExpressionVisitor.VisitMember(System.Linq.Expressions.MemberExpression)">
|
||||
<summary>
|
||||
Visits object members like p.Foo or dateTime.Hour.
|
||||
</summary>
|
||||
<param name="node">Node to visit.</param>
|
||||
<returns>Original node.</returns>
|
||||
</member>
|
||||
<member name="M:Microsoft.Azure.Common.OData.UrlExpressionVisitor.VisitMethodCall(System.Linq.Expressions.MethodCallExpression)">
|
||||
<summary>
|
||||
Visits method calls like Contains, StartsWith, etc. Methods that are not supported will throw an exception.
|
||||
</summary>
|
||||
<param name="node">Node to visit.</param>
|
||||
<returns>Original node.</returns>
|
||||
</member>
|
||||
<member name="M:Microsoft.Azure.Common.OData.UrlExpressionVisitor.closeUnaryBooleanOperator">
|
||||
<summary>
|
||||
Appends 'eq true' to Boolean unary operators.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.Azure.Common.OData.UrlExpressionVisitor.PrintConstant(System.Object)">
|
||||
<summary>
|
||||
Helper method to print constant.
|
||||
</summary>
|
||||
<param name="val">Object to print.</param>
|
||||
</member>
|
||||
<member name="M:Microsoft.Azure.Common.OData.UrlExpressionVisitor.GetPropertyName(System.Reflection.PropertyInfo)">
|
||||
<summary>
|
||||
Helper method to generate property name.
|
||||
</summary>
|
||||
<param name="property">Property to examine.</param>
|
||||
<returns>Property name or value specified in the FilterParameterAttribute.</returns>
|
||||
</member>
|
||||
<member name="M:Microsoft.Azure.Common.OData.UrlExpressionVisitor.GetPropertyFormat(System.Reflection.PropertyInfo)">
|
||||
<summary>
|
||||
Helper method to retrieve format from the FilterParameterAttribute.
|
||||
</summary>
|
||||
<param name="property">Property to examine.</param>
|
||||
<returns>Format from FilterParameterAttribute or null.</returns>
|
||||
</member>
|
||||
<member name="T:Microsoft.Azure.Common.Properties.Resources">
|
||||
<summary>
|
||||
A strongly-typed resource class, for looking up localized strings, etc.
|
||||
|
||||
BIN
lib/windowsazure/Microsoft.Azure.KeyVault.Core.dll
Normal file
BIN
lib/windowsazure/Microsoft.Azure.KeyVault.Core.dll
Normal file
Binary file not shown.
114
lib/windowsazure/Microsoft.Azure.KeyVault.Core.xml
Normal file
114
lib/windowsazure/Microsoft.Azure.KeyVault.Core.xml
Normal file
@@ -0,0 +1,114 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>Microsoft.Azure.KeyVault.Core</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:Microsoft.Azure.KeyVault.Core.IKey">
|
||||
<summary>
|
||||
Interface for Keys
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.Azure.KeyVault.Core.IKey.DecryptAsync(System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.String,System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Decrypts the specified cipher text.
|
||||
</summary>
|
||||
<param name="ciphertext">The cipher text to decrypt</param>
|
||||
<param name="iv">The initialization vector</param>
|
||||
<param name="authenticationData">The authentication data</param>
|
||||
<param name="algorithm">The algorithm to use</param>
|
||||
<param name="token">Cancellation token</param>
|
||||
<returns>The plain text</returns>
|
||||
<remarks>If algorithm is not specified, an implementation should use its default algorithm.
|
||||
Not all algorithms require, or support, all parameters.</remarks>
|
||||
</member>
|
||||
<member name="M:Microsoft.Azure.KeyVault.Core.IKey.EncryptAsync(System.Byte[],System.Byte[],System.Byte[],System.String,System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Encrypts the specified plain text.
|
||||
</summary>
|
||||
<param name="plaintext">The plain text to encrypt</param>
|
||||
<param name="iv">The initialization vector</param>
|
||||
<param name="authenticationData">The authentication data</param>
|
||||
<param name="algorithm">The algorithm to use</param>
|
||||
<param name="token">Cancellation token</param>
|
||||
<returns>A Tuple consisting of the cipher text, the authentication tag (if applicable), the algorithm used</returns>
|
||||
<remarks>If the algorithm is not specified, an implementation should use its default algorithm.
|
||||
Not all algorithyms require, or support, all parameters.</remarks>
|
||||
</member>
|
||||
<member name="M:Microsoft.Azure.KeyVault.Core.IKey.WrapKeyAsync(System.Byte[],System.String,System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Encrypts the specified key material.
|
||||
</summary>
|
||||
<param name="key">The key material to encrypt</param>
|
||||
<param name="algorithm">The algorithm to use</param>
|
||||
<param name="token">Cancellation token</param>
|
||||
<returns>A Tuple consisting of the encrypted key and the algorithm used</returns>
|
||||
<remarks>If the algorithm is not specified, an implementation should use its default algorithm</remarks>
|
||||
</member>
|
||||
<member name="M:Microsoft.Azure.KeyVault.Core.IKey.UnwrapKeyAsync(System.Byte[],System.String,System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Decrypts the specified key material.
|
||||
</summary>
|
||||
<param name="encryptedKey">The encrypted key material</param>
|
||||
<param name="algorithm">The algorithm to use</param>
|
||||
<param name="token">Cancellation token</param>
|
||||
<returns>The decrypted key material</returns>
|
||||
<remarks>If the algorithm is not specified, an implementation should use its default algorithm</remarks>
|
||||
</member>
|
||||
<member name="M:Microsoft.Azure.KeyVault.Core.IKey.SignAsync(System.Byte[],System.String,System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Signs the specified digest.
|
||||
</summary>
|
||||
<param name="digest">The digest to sign</param>
|
||||
<param name="algorithm">The algorithm to use</param>
|
||||
<param name="token">Cancellation token</param>
|
||||
<returns>A Tuple consisting of the signature and the algorithm used</returns>
|
||||
<remarks>If the algorithm is not specified, an implementation should use its default algorithm</remarks>
|
||||
</member>
|
||||
<member name="M:Microsoft.Azure.KeyVault.Core.IKey.VerifyAsync(System.Byte[],System.Byte[],System.String,System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Verifies the specified signature value
|
||||
</summary>
|
||||
<param name="digest">The digest</param>
|
||||
<param name="signature">The signature value</param>
|
||||
<param name="algorithm">The algorithm to use</param>
|
||||
<param name="token">Cancellation token</param>
|
||||
<returns>A bool indicating whether the signature was successfully verified</returns>
|
||||
</member>
|
||||
<member name="P:Microsoft.Azure.KeyVault.Core.IKey.DefaultEncryptionAlgorithm">
|
||||
<summary>
|
||||
The default encryption algorithm for this key
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Azure.KeyVault.Core.IKey.DefaultKeyWrapAlgorithm">
|
||||
<summary>
|
||||
The default key wrap algorithm for this key
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Azure.KeyVault.Core.IKey.DefaultSignatureAlgorithm">
|
||||
<summary>
|
||||
The default signature algorithm for this key
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Microsoft.Azure.KeyVault.Core.IKey.Kid">
|
||||
<summary>
|
||||
The key identifier
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Microsoft.Azure.KeyVault.Core.IKeyResolver">
|
||||
<summary>
|
||||
Interface for key resolvers.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.Azure.KeyVault.Core.IKeyResolver.ResolveKeyAsync(System.String,System.Threading.CancellationToken)">
|
||||
<summary>
|
||||
Provides an IKey implementation for the specified key identifier.
|
||||
</summary>
|
||||
<param name="kid">The key identifier to resolve</param>
|
||||
<param name="token">Cancellation token</param>
|
||||
<returns>The resolved IKey implementation or null</returns>
|
||||
<remarks>Implementations should check the format of the kid to ensure that it is recognized. Null, rather than
|
||||
an exception, should be returned for unrecognized key identifiers to enable chaining of key resolvers.</remarks>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
Binary file not shown.
Binary file not shown.
@@ -40443,7 +40443,7 @@
|
||||
<param name="model">The model to use.</param>
|
||||
<param name="messageReaderSettings">The message reader settings to use.</param>
|
||||
<param name="version">The version of the payload being read.</param>
|
||||
<param name="typeKindFromPayloadFunc">A func to compute the type kind from the payload shape if it could not be determined from the expected type or the payload type.</param>
|
||||
<param name="typeKindPeekedFromPayloadFunc">A func to compute the type kind from the payload shape if it could not be determined from the expected type or the payload type.</param>
|
||||
<param name="targetTypeKind">The target type kind to be used to read the payload.</param>
|
||||
<param name="serializationTypeNameAnnotation">Potentially non-null instance of an annotation to put on the value reported from the reader.</param>
|
||||
<returns>
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -4,19 +4,19 @@
|
||||
<name>Microsoft.WindowsAzure.Configuration</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:Microsoft.WindowsAzure.CloudConfigurationManager">
|
||||
<member name="T:Microsoft.Azure.CloudConfigurationManager">
|
||||
<summary>
|
||||
Configuration manager for accessing Windows Azure settings.
|
||||
Configuration manager for accessing Microsoft Azure settings.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.WindowsAzure.CloudConfigurationManager.GetSetting(System.String)">
|
||||
<member name="M:Microsoft.Azure.CloudConfigurationManager.GetSetting(System.String)">
|
||||
<summary>
|
||||
Gets a setting with the given name.
|
||||
</summary>
|
||||
<param name="name">Setting name.</param>
|
||||
<returns>Setting value or null if not found.</returns>
|
||||
</member>
|
||||
<member name="P:Microsoft.WindowsAzure.CloudConfigurationManager.AppSettings">
|
||||
<member name="P:Microsoft.Azure.CloudConfigurationManager.AppSettings">
|
||||
<summary>
|
||||
Gets application settings.
|
||||
</summary>
|
||||
@@ -42,17 +42,17 @@
|
||||
Looks up a localized string similar to Argument "{0}" cannot be an empty string..
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Microsoft.WindowsAzure.AzureApplicationSettings">
|
||||
<member name="T:Microsoft.Azure.AzureApplicationSettings">
|
||||
<summary>
|
||||
Windows Azure settings.
|
||||
Microsoft Azure settings.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.WindowsAzure.AzureApplicationSettings.#ctor">
|
||||
<member name="M:Microsoft.Azure.AzureApplicationSettings.#ctor">
|
||||
<summary>
|
||||
Initializes the settings.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Microsoft.WindowsAzure.AzureApplicationSettings.IsMissingSettingException(System.Exception)">
|
||||
<member name="M:Microsoft.Azure.AzureApplicationSettings.IsMissingSettingException(System.Exception)">
|
||||
<summary>
|
||||
Checks whether the given exception represents an exception throws
|
||||
for a missing setting.
|
||||
@@ -60,14 +60,14 @@
|
||||
<param name="e">Exception</param>
|
||||
<returns>True for the missing setting exception.</returns>
|
||||
</member>
|
||||
<member name="M:Microsoft.WindowsAzure.AzureApplicationSettings.GetSetting(System.String)">
|
||||
<member name="M:Microsoft.Azure.AzureApplicationSettings.GetSetting(System.String)">
|
||||
<summary>
|
||||
Gets a setting with the given name.
|
||||
</summary>
|
||||
<param name="name">Setting name.</param>
|
||||
<returns>Setting value or null if such setting does not exist.</returns>
|
||||
</member>
|
||||
<member name="M:Microsoft.WindowsAzure.AzureApplicationSettings.GetValue(System.String,System.String,System.Func{System.String,System.String})">
|
||||
<member name="M:Microsoft.Azure.AzureApplicationSettings.GetValue(System.String,System.String,System.Func{System.String,System.String})">
|
||||
<summary>
|
||||
Gets setting's value from the given provider.
|
||||
</summary>
|
||||
@@ -76,21 +76,21 @@
|
||||
<param name="getValue">Method to obtain given setting.</param>
|
||||
<returns>Setting value, or null if not found.</returns>
|
||||
</member>
|
||||
<member name="M:Microsoft.WindowsAzure.AzureApplicationSettings.GetServiceRuntimeSetting(System.String)">
|
||||
<member name="M:Microsoft.Azure.AzureApplicationSettings.GetServiceRuntimeSetting(System.String)">
|
||||
<summary>
|
||||
Gets a configuration setting from the service runtime.
|
||||
</summary>
|
||||
<param name="name">Setting name.</param>
|
||||
<returns>Setting value or null if not found.</returns>
|
||||
</member>
|
||||
<member name="M:Microsoft.WindowsAzure.AzureApplicationSettings.GetServiceRuntimeAssembly">
|
||||
<member name="M:Microsoft.Azure.AzureApplicationSettings.GetServiceRuntimeAssembly">
|
||||
<summary>
|
||||
Loads and returns the latest available version of the service
|
||||
runtime assembly.
|
||||
</summary>
|
||||
<returns>Loaded assembly, if any.</returns>
|
||||
</member>
|
||||
<member name="M:Microsoft.WindowsAzure.NativeMethods.GetAssemblyPath(System.String)">
|
||||
<member name="M:Microsoft.Azure.NativeMethods.GetAssemblyPath(System.String)">
|
||||
<summary>
|
||||
Gets an assembly path from the GAC given a partial name.
|
||||
</summary>
|
||||
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
lib/windowsazure/System.IdentityModel.Tokens.Jwt.dll
Normal file
BIN
lib/windowsazure/System.IdentityModel.Tokens.Jwt.dll
Normal file
Binary file not shown.
BIN
lib/windowsazure/System.IdentityModel.Tokens.Jwt.pdb
Normal file
BIN
lib/windowsazure/System.IdentityModel.Tokens.Jwt.pdb
Normal file
Binary file not shown.
2502
lib/windowsazure/System.IdentityModel.Tokens.Jwt.xml
Normal file
2502
lib/windowsazure/System.IdentityModel.Tokens.Jwt.xml
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
@@ -74,15 +74,15 @@ function getAssetGroups() {
|
||||
function resolveAssetGroupPaths(assetGroup, assetManifestPath) {
|
||||
assetGroup.basePath = path.dirname(assetManifestPath);
|
||||
assetGroup.inputPaths = assetGroup.inputs.map(function (inputPath) {
|
||||
return path.join(assetGroup.basePath, inputPath);
|
||||
return path.resolve(path.join(assetGroup.basePath, inputPath));
|
||||
});
|
||||
assetGroup.watchPaths = [];
|
||||
if (!!assetGroup.watch) {
|
||||
assetGroup.watchPaths = assetGroup.watch.map(function (watchPath) {
|
||||
return path.join(assetGroup.basePath, watchPath);
|
||||
return path.resolve(path.join(assetGroup.basePath, watchPath));
|
||||
});
|
||||
}
|
||||
assetGroup.outputPath = path.join(assetGroup.basePath, assetGroup.output);
|
||||
assetGroup.outputPath = path.resolve(path.join(assetGroup.basePath, assetGroup.output));
|
||||
assetGroup.outputDir = path.dirname(assetGroup.outputPath);
|
||||
assetGroup.outputFileName = path.basename(assetGroup.output);
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>2.5</ProductVersion>
|
||||
<ProductVersion>2.7</ProductVersion>
|
||||
<ProjectGuid>{03c5327d-4e8e-45a7-acd1-e18e7caa3c4a}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
@@ -65,7 +65,7 @@
|
||||
<!-- Import the target files for this project template -->
|
||||
<PropertyGroup>
|
||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
|
||||
<CloudExtensionsDir Condition=" '$(CloudExtensionsDir)' == '' ">$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Windows Azure Tools\2.5\</CloudExtensionsDir>
|
||||
<CloudExtensionsDir Condition=" '$(CloudExtensionsDir)' == '' ">$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Windows Azure Tools\2.7\</CloudExtensionsDir>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(CloudExtensionsDir)Microsoft.WindowsAzure.targets" />
|
||||
<!-- The BeforeAddRoleContent override ensures that content in themes and modules get added
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ServiceConfiguration serviceName="OrchardCloudService" osFamily="4" osVersion="*" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" schemaVersion="2014-06.2.4">
|
||||
<ServiceConfiguration serviceName="OrchardCloudService" osFamily="4" osVersion="*" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" schemaVersion="2015-04.2.6">
|
||||
<Role name="Orchard.Azure.Web">
|
||||
<Instances count="1" />
|
||||
<ConfigurationSettings>
|
||||
@@ -15,6 +15,7 @@
|
||||
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.DiagnosticLevel" value="1" />
|
||||
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.CacheSizePercentage" value="30" />
|
||||
<Setting name="Microsoft.WindowsAzure.Plugins.Caching.ConfigStoreConnectionString" value="UseDevelopmentStorage=true" />
|
||||
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />
|
||||
</ConfigurationSettings>
|
||||
</Role>
|
||||
</ServiceConfiguration>
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ServiceDefinition name="OrchardCloudService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2014-06.2.4">
|
||||
<ServiceDefinition name="OrchardCloudService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2015-04.2.6">
|
||||
<WebRole name="Orchard.Azure.Web">
|
||||
<Sites>
|
||||
<Site name="Web">
|
||||
@@ -20,6 +20,7 @@
|
||||
<Setting name="Orchard.Azure.DatabaseCache.HostIdentifier" />
|
||||
<Setting name="Orchard.Azure.DatabaseCache.CacheName" />
|
||||
<Setting name="Orchard.Azure.DatabaseCache.AuthorizationToken" />
|
||||
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" />
|
||||
</ConfigurationSettings>
|
||||
<Endpoints>
|
||||
<InputEndpoint name="HttpIn" protocol="http" port="80" />
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
<IISExpressWindowsAuthentication />
|
||||
<IISExpressUseClassicPipelineMode />
|
||||
<TargetFrameworkProfile />
|
||||
<UseGlobalApplicationHostFile>true</UseGlobalApplicationHostFile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
@@ -90,13 +91,13 @@
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\windowsazure\Microsoft.WindowsAzure.Configuration.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.WindowsAzure.Diagnostics">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<Reference Include="Microsoft.WindowsAzure.Diagnostics, Version=2.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\lib\windowsazure\Microsoft.WindowsAzure.Diagnostics.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.WindowsAzure.ServiceRuntime">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<Reference Include="Microsoft.WindowsAzure.ServiceRuntime, Version=2.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\lib\windowsazure\Microsoft.WindowsAzure.ServiceRuntime.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.WindowsAzure.Storage">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
@@ -181,10 +182,6 @@
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="WebMatrix.Data">
|
||||
<HintPath>..\..\..\lib\aspnetmvc\WebMatrix.Data.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Global.asax.cs">
|
||||
|
||||
@@ -42,8 +42,9 @@
|
||||
<system.diagnostics>
|
||||
<trace>
|
||||
<listeners>
|
||||
<add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=2.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="AzureDiagnostics">
|
||||
<filter type=""/>
|
||||
<add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=2.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
|
||||
name="AzureDiagnostics">
|
||||
<filter type="" />
|
||||
</add>
|
||||
</listeners>
|
||||
</trace>
|
||||
@@ -185,25 +186,25 @@
|
||||
<assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.5.0.0" newVersion="3.5.0.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30AD4FE6B2A6AEED" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.WindowsAzure.Storage" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.3.0.0" newVersion="4.3.0.0"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Data.Edm" publicKeyToken="31BF3856AD364E35" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.6.3.0" newVersion="5.6.3.0"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.6.4.0" newVersion="5.6.4.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Data.OData" publicKeyToken="31BF3856AD364E35" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.6.3.0" newVersion="5.6.3.0"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.6.4.0" newVersion="5.6.4.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Data.Services.Client" publicKeyToken="31BF3856AD364E35" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.6.3.0" newVersion="5.6.3.0"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.6.4.0" newVersion="5.6.4.0"/>
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 2013
|
||||
VisualStudioVersion = 12.0.31101.0
|
||||
# Visual Studio 14
|
||||
VisualStudioVersion = 14.0.23107.0
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Modules", "Modules", "{8E3DE014-9B28-4B32-8AC1-B2BE404E9B2D}"
|
||||
EndProject
|
||||
|
||||
@@ -154,6 +154,7 @@
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<probing privatePath="App_Data/Dependencies"/>
|
||||
<dependentAssembly>
|
||||
<!-- 1.0.1.0 by NHibernate.Linq, Version=0.0.0.0 -->
|
||||
<assemblyIdentity name="Iesi.Collections" publicKeyToken="AA95F207798DFDB4" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0"/>
|
||||
</dependentAssembly>
|
||||
@@ -190,6 +191,7 @@
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<!-- 3.3.1.4000 by NHibernate.Linq, Version=0.0.0.0 -->
|
||||
<assemblyIdentity name="NHibernate" publicKeyToken="aa95f207798dfdb4" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.0.4000" newVersion="4.0.0.4000"/>
|
||||
</dependentAssembly>
|
||||
@@ -198,24 +200,34 @@
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.5.0.0" newVersion="3.5.0.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0"/>
|
||||
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30AD4FE6B2A6AEED" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.WindowsAzure.Storage" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.3.0.0" newVersion="4.3.0.0"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Data.Edm" publicKeyToken="31BF3856AD364E35" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.6.3.0" newVersion="5.6.3.0"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.6.4.0" newVersion="5.6.4.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Data.OData" publicKeyToken="31BF3856AD364E35" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.6.3.0" newVersion="5.6.3.0"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.6.4.0" newVersion="5.6.4.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Data.Services.Client" publicKeyToken="31BF3856AD364E35" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.6.3.0" newVersion="5.6.3.0"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.6.4.0" newVersion="5.6.4.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<!-- 2.0.0.0 by System.Data.SqlServerCe, Version=4.0.0.0 -->
|
||||
<assemblyIdentity name="System.Transactions" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<!-- 2.0.0.0 by System.Data.SqlServerCe, Version=4.0.0.0 -->
|
||||
<assemblyIdentity name="System.Data" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0"/>
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
|
||||
@@ -195,7 +195,7 @@
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.WindowsAzure.Storage" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da"/>
|
||||
|
||||
@@ -303,5 +303,24 @@ namespace Orchard.Tests.Modules.Indexing {
|
||||
_provider.Store("default", _provider.New(1).Add("field", "value2"));
|
||||
Assert.That(searchBuilder.WithField("id", "1").Count(), Is.EqualTo(1));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void IndexProviderShouldDeleteMoreThanMaxTermsCount() {
|
||||
_provider.CreateIndex("default");
|
||||
|
||||
var documents = Enumerable.Range(1, 1025).Select(i => _provider.New(i).Add("field", "value1"));
|
||||
_provider.Store("default", documents);
|
||||
|
||||
var searchBuilder = _provider.CreateSearchBuilder("default");
|
||||
|
||||
Assert.That(searchBuilder.Count(), Is.EqualTo(1025));
|
||||
Assert.That(searchBuilder.Get(1).ContentItemId, Is.EqualTo(1));
|
||||
Assert.That(searchBuilder.Get(1025).ContentItemId, Is.EqualTo(1025));
|
||||
|
||||
_provider.Delete("default", Enumerable.Range(1, 1025));
|
||||
|
||||
|
||||
Assert.That(searchBuilder.Count(), Is.EqualTo(0));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -281,6 +281,10 @@
|
||||
<Project>{5D0F00F0-26C9-4785-AD61-B85710C60EB0}</Project>
|
||||
<Name>Orchard.Tags</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Orchard.Web\Modules\Orchard.TaskLease\Orchard.TaskLease.csproj">
|
||||
<Project>{3f72a4e9-7b72-4260-b010-c16ec54f9baf}</Project>
|
||||
<Name>Orchard.TaskLease</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Orchard.Web\Modules\Orchard.Themes\Orchard.Themes.csproj">
|
||||
<Project>{CDE24A24-01D3-403C-84B9-37722E18DFB7}</Project>
|
||||
<Name>Orchard.Themes</Name>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0"/>
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da"/>
|
||||
|
||||
@@ -14,6 +14,12 @@ namespace Orchard.Tests {
|
||||
Resolve(_container);
|
||||
}
|
||||
|
||||
[TearDown]
|
||||
public void Cleanup() {
|
||||
if (_container != null)
|
||||
_container.Dispose();
|
||||
}
|
||||
|
||||
#if false
|
||||
// technically more accurate, and doesn't work
|
||||
[SetUp]
|
||||
|
||||
@@ -76,5 +76,39 @@ namespace Orchard.Tests.ContentManagement {
|
||||
|
||||
Assert.That((object)testingPartDynamic, Is.AssignableTo<IEnumerable<ContentPart>>());
|
||||
}
|
||||
|
||||
|
||||
[Test]
|
||||
public void NullCheckingCanBeDoneOnProperties() {
|
||||
var contentItem = new ContentItem();
|
||||
var contentPart = new ContentPart { TypePartDefinition = new ContentTypePartDefinition(new ContentPartDefinition("FooPart"), new SettingsDictionary()) };
|
||||
var contentField = new ContentField { PartFieldDefinition = new ContentPartFieldDefinition(new ContentFieldDefinition("FooType"), "FooField", new SettingsDictionary()) };
|
||||
|
||||
dynamic item = contentItem;
|
||||
dynamic part = contentPart;
|
||||
|
||||
Assert.That(item.FooPart == null, Is.True);
|
||||
Assert.That(item.FooPart != null, Is.False);
|
||||
|
||||
contentItem.Weld(contentPart);
|
||||
|
||||
Assert.That(item.FooPart == null, Is.False);
|
||||
Assert.That(item.FooPart != null, Is.True);
|
||||
Assert.That(item.FooPart, Is.SameAs(contentPart));
|
||||
|
||||
Assert.That(part.FooField == null, Is.True);
|
||||
Assert.That(part.FooField != null, Is.False);
|
||||
Assert.That(item.FooPart.FooField == null, Is.True);
|
||||
Assert.That(item.FooPart.FooField != null, Is.False);
|
||||
|
||||
contentPart.Weld(contentField);
|
||||
|
||||
Assert.That(part.FooField == null, Is.False);
|
||||
Assert.That(part.FooField != null, Is.True);
|
||||
Assert.That(item.FooPart.FooField == null, Is.False);
|
||||
Assert.That(item.FooPart.FooField != null, Is.True);
|
||||
Assert.That(part.FooField, Is.SameAs(contentField));
|
||||
Assert.That(item.FooPart.FooField, Is.SameAs(contentField));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
82
src/Orchard.Tests/DataMigration/SQLite/SQLiteDataUtility.cs
Normal file
82
src/Orchard.Tests/DataMigration/SQLite/SQLiteDataUtility.cs
Normal file
@@ -0,0 +1,82 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using FluentNHibernate;
|
||||
using FluentNHibernate.Automapping;
|
||||
using FluentNHibernate.Automapping.Alterations;
|
||||
using FluentNHibernate.Cfg;
|
||||
using FluentNHibernate.Diagnostics;
|
||||
using NHibernate;
|
||||
using NHibernate.Tool.hbm2ddl;
|
||||
using Orchard.Data;
|
||||
using Orchard.Data.Providers;
|
||||
using Orchard.Environment.ShellBuilders.Models;
|
||||
|
||||
namespace Orchard.Tests.DataMigration.SQLite {
|
||||
public static class SQLiteDataUtility {
|
||||
public static ISessionFactory CreateSessionFactory(string fileName, params Type[] types) {
|
||||
|
||||
//var persistenceModel = AutoMap.Source(new Types(types))
|
||||
// .Alterations(alt => AddAlterations(alt, types))
|
||||
// .Conventions.AddFromAssemblyOf<DataModule>();
|
||||
var persistenceModel = AbstractDataServicesProvider.CreatePersistenceModel(types.Select(t => new RecordBlueprint { TableName = "Test_" + t.Name, Type = t }).ToList());
|
||||
var persistenceConfigurer = new SQLiteDataServicesProvider(fileName).GetPersistenceConfigurer(true/*createDatabase*/);
|
||||
|
||||
|
||||
return Fluently.Configure()
|
||||
.Database(persistenceConfigurer)
|
||||
.Mappings(m => m.AutoMappings.Add(persistenceModel))
|
||||
.ExposeConfiguration(c => {
|
||||
// This is to work around what looks to be an issue in the NHibernate driver:
|
||||
// When inserting a row with IDENTITY column, the "SELET @@IDENTITY" statement
|
||||
// is issued as a separate command. By default, it is also issued in a separate
|
||||
// connection, which is not supported (returns NULL).
|
||||
c.SetProperty("connection.release_mode", "on_close");
|
||||
new SchemaExport(c).Create(false /*script*/, true /*export*/);
|
||||
})
|
||||
.BuildSessionFactory();
|
||||
}
|
||||
|
||||
private static void AddAlterations(AutoMappingAlterationCollection alterations, IEnumerable<Type> types) {
|
||||
foreach (var assembly in types.Select(t => t.Assembly).Distinct()) {
|
||||
alterations.Add(new AutoMappingOverrideAlteration(assembly));
|
||||
alterations.AddFromAssembly(assembly);
|
||||
}
|
||||
alterations.AddFromAssemblyOf<DataModule>();
|
||||
}
|
||||
|
||||
public static ISessionFactory CreateSessionFactory(params Type[] types) {
|
||||
return CreateSessionFactory(
|
||||
types.Aggregate("db", (n, t) => t.FullName + "." + n),
|
||||
types);
|
||||
}
|
||||
|
||||
#region Nested type: Types
|
||||
|
||||
private class Types : ITypeSource {
|
||||
private readonly IEnumerable<Type> _types;
|
||||
|
||||
public Types(params Type[] types) {
|
||||
_types = types;
|
||||
}
|
||||
|
||||
#region ITypeSource Members
|
||||
|
||||
public IEnumerable<Type> GetTypes() {
|
||||
return _types;
|
||||
}
|
||||
|
||||
public void LogSource(IDiagnosticLogger logger) {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public string GetIdentifier() {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,210 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using Autofac;
|
||||
using NHibernate;
|
||||
using NUnit.Framework;
|
||||
using Orchard.Data;
|
||||
using Orchard.Data.Migration.Interpreters;
|
||||
using Orchard.Data.Migration.Schema;
|
||||
using Orchard.Data.Providers;
|
||||
using Orchard.Environment;
|
||||
using Orchard.Environment.Configuration;
|
||||
using Orchard.Environment.ShellBuilders.Models;
|
||||
using Orchard.FileSystems.AppData;
|
||||
using Orchard.Reports.Services;
|
||||
using Orchard.Tests.ContentManagement;
|
||||
using System.IO;
|
||||
using Orchard.Tests.Environment;
|
||||
using Orchard.Tests.FileSystems.AppData;
|
||||
using Orchard.Tests.Stubs;
|
||||
|
||||
namespace Orchard.Tests.DataMigration.SQLite {
|
||||
[TestFixture]
|
||||
public class SQLiteSchemaBuilderTestsBase {
|
||||
private IContainer _container;
|
||||
private ISessionFactory _sessionFactory;
|
||||
private string _databaseFileName;
|
||||
private string _tempFolder;
|
||||
private SchemaBuilder _schemaBuilder;
|
||||
private DefaultDataMigrationInterpreter _interpreter;
|
||||
private ISession _session;
|
||||
|
||||
[SetUp]
|
||||
public void Setup() {
|
||||
_databaseFileName = Path.GetTempFileName();
|
||||
_sessionFactory = SQLiteDataUtility.CreateSessionFactory(_databaseFileName);
|
||||
|
||||
_tempFolder = Path.GetTempFileName();
|
||||
File.Delete(_tempFolder);
|
||||
var appDataFolder = AppDataFolderTests.CreateAppDataFolder(_tempFolder);
|
||||
|
||||
var builder = new ContainerBuilder();
|
||||
|
||||
_session = _sessionFactory.OpenSession();
|
||||
builder.RegisterInstance(appDataFolder).As<IAppDataFolder>();
|
||||
builder.RegisterType<SQLiteDataServicesProvider>().As<IDataServicesProvider>();
|
||||
builder.RegisterType<DataServicesProviderFactory>().As<IDataServicesProviderFactory>();
|
||||
builder.RegisterType<DefaultDataMigrationInterpreter>().As<IDataMigrationInterpreter>();
|
||||
builder.RegisterType<SQLiteCommandInterpreter>().As<ICommandInterpreter>();
|
||||
builder.RegisterType<SessionConfigurationCache>().As<ISessionConfigurationCache>();
|
||||
builder.RegisterType<SessionFactoryHolder>().As<ISessionFactoryHolder>();
|
||||
builder.RegisterType<DefaultDatabaseCacheConfiguration>().As<IDatabaseCacheConfiguration>();
|
||||
builder.RegisterType<StubHostEnvironment>().As<IHostEnvironment>();
|
||||
builder.RegisterInstance(new ShellBlueprint { Records = Enumerable.Empty<RecordBlueprint>() }).As<ShellBlueprint>();
|
||||
builder.RegisterInstance(new ShellSettings { Name = "temp", DataProvider = "SQLite", DataTablePrefix = "TEST" }).As<ShellSettings>();
|
||||
builder.RegisterType<DialectService>().As<IDialectService>();
|
||||
builder.RegisterType<StubWorkContextAccessor>().As<IWorkContextAccessor>();
|
||||
builder.RegisterModule(new DataModule());
|
||||
_container = builder.Build();
|
||||
|
||||
_interpreter = _container.Resolve<IDataMigrationInterpreter>() as DefaultDataMigrationInterpreter;
|
||||
_schemaBuilder = new SchemaBuilder(_interpreter);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void AllMethodsShouldBeCalledSuccessfully() {
|
||||
|
||||
_schemaBuilder
|
||||
.CreateTable("User", table => table
|
||||
.ContentPartRecord()
|
||||
.Column("Firstname", DbType.String, column => column.WithLength(255))
|
||||
.Column("Lastname", DbType.String, column => column.WithPrecision(0).WithScale(1)))
|
||||
.CreateTable("Address", table => table
|
||||
.ContentPartVersionRecord()
|
||||
.Column("City", DbType.String)
|
||||
.Column("ZIP", DbType.Int32, column => column.Unique())
|
||||
.Column("UserId", DbType.Int32, column => column.NotNull()))
|
||||
.CreateForeignKey("User_Address", "Address", new[] { "UserId" }, "User", new[] { "Id" })
|
||||
.AlterTable("User", table => table
|
||||
.AddColumn("Age", DbType.Int32))
|
||||
.AlterTable("User", table => table
|
||||
.DropColumn("Lastname"))
|
||||
.AlterTable("User", table => table
|
||||
.CreateIndex("IDX_XYZ", "Firstname"))
|
||||
.AlterTable("User", table => table
|
||||
.DropIndex("IDX_XYZ"))
|
||||
.DropForeignKey("Address", "User_Address")
|
||||
.DropTable("Address");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CreateCommandShouldBeHandled() {
|
||||
|
||||
_schemaBuilder
|
||||
.CreateTable("User", table => table
|
||||
.Column("Id", DbType.Int32, column => column.PrimaryKey().Identity())
|
||||
.Column("Firstname", DbType.String, column => column.WithLength(255))
|
||||
.Column("Lastname", DbType.String, column => column.WithLength(100).NotNull())
|
||||
.Column("SN", DbType.AnsiString, column => column.WithLength(40).Unique())
|
||||
.Column("Salary", DbType.Decimal, column => column.WithPrecision(9).WithScale(2))
|
||||
.Column("Gender", DbType.Decimal, column => column.WithDefault(""))
|
||||
);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DropTableCommandShouldBeHandled() {
|
||||
_schemaBuilder
|
||||
.CreateTable("User", table => table
|
||||
.Column("Id", DbType.Int32, column => column.PrimaryKey().Identity())
|
||||
.Column("Firstname", DbType.String, column => column.WithLength(255))
|
||||
.Column("Lastname", DbType.String, column => column.WithLength(100).NotNull())
|
||||
.Column("SN", DbType.AnsiString, column => column.WithLength(40).Unique())
|
||||
.Column("Salary", DbType.Decimal, column => column.WithPrecision(9).WithScale(2))
|
||||
.Column("Gender", DbType.Decimal, column => column.WithDefault(""))
|
||||
);
|
||||
|
||||
_schemaBuilder
|
||||
.DropTable("User");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CustomSqlStatementsShouldBeHandled() {
|
||||
|
||||
_schemaBuilder
|
||||
.ExecuteSql("select 1");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void AlterTableCommandShouldBeHandled() {
|
||||
|
||||
_schemaBuilder
|
||||
.CreateTable("User", table => table
|
||||
.Column("Firstname", DbType.String, column => column.WithLength(255))
|
||||
.Column("Lastname", DbType.String, column => column.WithLength(100).NotNull()))
|
||||
.AlterTable("User", table => table
|
||||
.AddColumn("Age", DbType.Int32))
|
||||
.AlterTable("User", table => table
|
||||
.AlterColumn("Lastname", column => column.WithDefault("Doe")))
|
||||
.AlterTable("User", table => table
|
||||
.DropColumn("Firstname")
|
||||
);
|
||||
|
||||
// creating a new row should assign a default value to Firstname and Age
|
||||
_schemaBuilder.ExecuteSql("insert into TEST_User DEFAULT VALUES;");
|
||||
|
||||
// ensure we have one record with the default value
|
||||
var query = _session.CreateSQLQuery("SELECT count() FROM TEST_User WHERE Lastname = 'Doe'");
|
||||
Assert.That(query.UniqueResult<long>(), Is.EqualTo(1));
|
||||
|
||||
// ensure this is not a false positive
|
||||
query = _session.CreateSQLQuery("SELECT count(*) FROM TEST_User WHERE Lastname = 'Foo'");
|
||||
Assert.That(query.UniqueResult<long>(), Is.EqualTo(0));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ForeignKeyShouldBeCreatedAndRemoved() {
|
||||
|
||||
_schemaBuilder
|
||||
.CreateTable("User", table => table
|
||||
.Column("Id", DbType.Int32, column => column.PrimaryKey().Identity())
|
||||
.Column("Firstname", DbType.String, column => column.WithLength(255))
|
||||
.Column("Lastname", DbType.String, column => column.WithPrecision(0).WithScale(1)))
|
||||
.CreateTable("Address", table => table
|
||||
.Column("City", DbType.String)
|
||||
.Column("ZIP", DbType.Int32, column => column.Unique())
|
||||
.Column("UserId", DbType.Int32, column => column.NotNull()))
|
||||
.CreateForeignKey("FK_User", "Address", new[] { "UserId" }, "User", new[] { "Id" })
|
||||
.DropForeignKey("Address", "FK_User");
|
||||
}
|
||||
|
||||
|
||||
[Test]
|
||||
public void ShouldAllowFieldSizeAlteration() {
|
||||
_schemaBuilder
|
||||
.CreateTable("ContentItemRecord", table => table
|
||||
.Column("Id", DbType.Int32, column => column.PrimaryKey().Identity())
|
||||
.Column("Data", DbType.String, column => column.WithLength(255)));
|
||||
|
||||
// should write successfully less than 255 chars
|
||||
_schemaBuilder
|
||||
.ExecuteSql("insert into TEST_ContentItemRecord (Data) values('Hello World')");
|
||||
|
||||
_schemaBuilder
|
||||
.AlterTable("ContentItemRecord", table => table
|
||||
.AlterColumn("Data", column => column.WithType(DbType.String).WithLength(2048)));
|
||||
|
||||
// should write successfully a bigger value now
|
||||
_schemaBuilder
|
||||
.ExecuteSql(String.Format("insert into TEST_ContentItemRecord (Data) values('{0}')", new String('x', 2048)));
|
||||
}
|
||||
|
||||
|
||||
|
||||
[Test]
|
||||
public void PrecisionAndScaleAreApplied() {
|
||||
|
||||
_schemaBuilder
|
||||
.CreateTable("Product", table => table
|
||||
.Column("Price", DbType.Decimal, column => column.WithPrecision(19).WithScale(9))
|
||||
);
|
||||
|
||||
_schemaBuilder
|
||||
.ExecuteSql(String.Format("INSERT INTO TEST_Product (Price) VALUES ({0})", "123456.123456789"));
|
||||
|
||||
var query = _session.CreateSQLQuery("SELECT MAX(Price) FROM TEST_Product");
|
||||
Assert.That(query.UniqueResult(), Is.EqualTo(123456.123456789m));
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -24,7 +24,7 @@ namespace Orchard.Tests {
|
||||
protected string _databaseFilePath;
|
||||
protected ISessionFactory _sessionFactory;
|
||||
protected StubClock _clock;
|
||||
|
||||
protected ShellSettings _shellSettings;
|
||||
|
||||
[TestFixtureSetUp]
|
||||
public void InitFixture() {
|
||||
@@ -47,9 +47,10 @@ namespace Orchard.Tests {
|
||||
builder.RegisterType<InfosetHandler>().As<IContentHandler>();
|
||||
builder.RegisterInstance(new StubLocator(_session)).As<ISessionLocator>();
|
||||
builder.RegisterInstance(_clock).As<IClock>();
|
||||
builder.RegisterGeneric(typeof(Repository<>)).As(typeof(IRepository<>));
|
||||
builder.RegisterInstance(new ShellSettings { Name = ShellSettings.DefaultName, DataProvider = "SqlCe" });
|
||||
builder.RegisterInstance(new TestTransactionManager(_session)).As<ITransactionManager>();
|
||||
builder.RegisterGeneric(typeof(Repository<>)).As(typeof(IRepository<>)).InstancePerLifetimeScope();
|
||||
builder.RegisterInstance(_shellSettings = new ShellSettings { Name = ShellSettings.DefaultName, DataProvider = "SqlCe" });
|
||||
builder.RegisterType<TestTransactionManager>().As<ITransactionManager>().InstancePerLifetimeScope();
|
||||
builder.Register(context => _sessionFactory.OpenSession()).As<ISession>().InstancePerLifetimeScope();
|
||||
|
||||
Register(builder);
|
||||
_container = builder.Build();
|
||||
|
||||
@@ -25,7 +25,6 @@ using Orchard.Tests.Stubs;
|
||||
using Orchard.Tests.Utility;
|
||||
using Orchard.WebApi.Routes;
|
||||
using IModelBinderProvider = Orchard.Mvc.ModelBinders.IModelBinderProvider;
|
||||
using Orchard.Tasks;
|
||||
|
||||
namespace Orchard.Tests.Environment {
|
||||
[TestFixture]
|
||||
@@ -96,6 +95,10 @@ namespace Orchard.Tests.Environment {
|
||||
var ext = new ExtensionDescriptor { Id = "Orchard.Framework" };
|
||||
ext.Features = new[] { new FeatureDescriptor { Extension = ext, Id = ext.Id } };
|
||||
yield return ext;
|
||||
|
||||
var settings = new ExtensionDescriptor { Id = "Settings" };
|
||||
settings.Features = new[] { new FeatureDescriptor { Extension = settings, Id = settings.Id } };
|
||||
yield return settings;
|
||||
}
|
||||
|
||||
public IEnumerable<FeatureDescriptor> AvailableFeatures() {
|
||||
@@ -139,8 +142,6 @@ namespace Orchard.Tests.Environment {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
[Test, Ignore("containers are disposed when calling BeginRequest, maybe by the StubVirtualPathMonitor")]
|
||||
public void NormalDependenciesShouldBeUniquePerRequestContainer() {
|
||||
var host = _lifetime.Resolve<IOrchardHost>();
|
||||
@@ -180,6 +181,7 @@ namespace Orchard.Tests.Environment {
|
||||
Assert.That(again2a, Is.SameAs(dep2a));
|
||||
Assert.That(again2b, Is.SameAs(dep2b));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void SingletonDependenciesShouldBeUniquePerShell() {
|
||||
var host = _lifetime.Resolve<IOrchardHost>();
|
||||
@@ -203,6 +205,7 @@ namespace Orchard.Tests.Environment {
|
||||
Assert.That(dep2, Is.SameAs(dep2a));
|
||||
Assert.That(dep2, Is.SameAs(dep2b));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TransientDependenciesShouldBeUniquePerResolve() {
|
||||
var host = _lifetime.Resolve<IOrchardHost>();
|
||||
|
||||
@@ -28,13 +28,6 @@ namespace Orchard.Tests.Environment {
|
||||
container.Mock<IHttpContextAccessor>()
|
||||
.Setup(x => x.Current())
|
||||
.Returns(() => _httpContextCurrent);
|
||||
|
||||
container.Mock<IHttpContextAccessor>()
|
||||
.Setup(x => x.CreateContext(It.IsAny<ILifetimeScope>()))
|
||||
.Returns(() => new StubHttpContext());
|
||||
|
||||
container.Mock<IWorkContextEvents>()
|
||||
.Setup(x => x.Started());
|
||||
}
|
||||
|
||||
[Test]
|
||||
|
||||
@@ -206,7 +206,7 @@ Features:
|
||||
Category: Content types
|
||||
AnotherWiki Editor:
|
||||
Description: A rich editor for wiki contents.
|
||||
Dependencies: TinyMCE, AnotherWiki
|
||||
Dependencies: TinyMce, AnotherWiki
|
||||
Category: Input methods
|
||||
AnotherWiki DistributionList:
|
||||
Description: Sends e-mail alerts when wiki contents gets published.
|
||||
@@ -241,7 +241,7 @@ Features:
|
||||
Assert.That(featureDescriptor.Description, Is.EqualTo("A rich editor for wiki contents."));
|
||||
Assert.That(featureDescriptor.Category, Is.EqualTo("Input methods"));
|
||||
Assert.That(featureDescriptor.Dependencies.Count(), Is.EqualTo(2));
|
||||
Assert.That(featureDescriptor.Dependencies.Contains("TinyMCE"));
|
||||
Assert.That(featureDescriptor.Dependencies.Contains("TinyMce"));
|
||||
Assert.That(featureDescriptor.Dependencies.Contains("AnotherWiki"));
|
||||
break;
|
||||
case "AnotherWiki DistributionList":
|
||||
@@ -287,7 +287,7 @@ Category: Content types
|
||||
Features:
|
||||
AnotherWiki Editor:
|
||||
Description: A rich editor for wiki contents.
|
||||
Dependencies: TinyMCE, AnotherWiki
|
||||
Dependencies: TinyMce, AnotherWiki
|
||||
Category: Input methods
|
||||
AnotherWiki DistributionList:
|
||||
Description: Sends e-mail alerts when wiki contents gets published.
|
||||
@@ -323,7 +323,7 @@ Features:
|
||||
Assert.That(featureDescriptor.Description, Is.EqualTo("A rich editor for wiki contents."));
|
||||
Assert.That(featureDescriptor.Category, Is.EqualTo("Input methods"));
|
||||
Assert.That(featureDescriptor.Dependencies.Count(), Is.EqualTo(2));
|
||||
Assert.That(featureDescriptor.Dependencies.Contains("TinyMCE"));
|
||||
Assert.That(featureDescriptor.Dependencies.Contains("TinyMce"));
|
||||
Assert.That(featureDescriptor.Dependencies.Contains("AnotherWiki"));
|
||||
break;
|
||||
case "AnotherWiki DistributionList":
|
||||
|
||||
@@ -207,7 +207,7 @@ Features:
|
||||
Category: Content types
|
||||
AnotherWiki Editor:
|
||||
Description: A rich editor for wiki contents.
|
||||
Dependencies: TinyMCE, AnotherWiki
|
||||
Dependencies: TinyMce, AnotherWiki
|
||||
Category: Input methods
|
||||
AnotherWiki DistributionList:
|
||||
Description: Sends e-mail alerts when wiki contents gets published.
|
||||
@@ -243,7 +243,7 @@ Features:
|
||||
Assert.That(featureDescriptor.Description, Is.EqualTo("A rich editor for wiki contents."));
|
||||
Assert.That(featureDescriptor.Category, Is.EqualTo("Input methods"));
|
||||
Assert.That(featureDescriptor.Dependencies.Count(), Is.EqualTo(2));
|
||||
Assert.That(featureDescriptor.Dependencies.Contains("TinyMCE"));
|
||||
Assert.That(featureDescriptor.Dependencies.Contains("TinyMce"));
|
||||
Assert.That(featureDescriptor.Dependencies.Contains("AnotherWiki"));
|
||||
break;
|
||||
case "AnotherWiki DistributionList":
|
||||
|
||||
@@ -0,0 +1,118 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Autofac;
|
||||
using Moq;
|
||||
using NUnit.Framework;
|
||||
using Orchard.Environment.Configuration;
|
||||
using Orchard.Environment.Descriptor.Models;
|
||||
using Orchard.Environment.Extensions;
|
||||
using Orchard.Environment.Extensions.Models;
|
||||
using Orchard.Environment.ShellBuilders;
|
||||
using Orchard.Tests.Environment.TestDependencies;
|
||||
using Orchard.Utility.Extensions;
|
||||
|
||||
namespace Orchard.Tests.Environment.ShellBuilders {
|
||||
[TestFixture]
|
||||
public class CompositionStrategyTests : ContainerTestBase {
|
||||
private CompositionStrategy _compositionStrategy;
|
||||
private Mock<IExtensionManager> _extensionManager;
|
||||
|
||||
protected override void Register(ContainerBuilder builder) {
|
||||
_extensionManager = new Mock<IExtensionManager>(MockBehavior.Loose);
|
||||
|
||||
builder.RegisterType<CompositionStrategy>().AsSelf();
|
||||
builder.RegisterInstance(_extensionManager.Object);
|
||||
}
|
||||
|
||||
protected override void Resolve(ILifetimeScope container) {
|
||||
_compositionStrategy = container.Resolve<CompositionStrategy>();
|
||||
|
||||
var alphaExtension = new ExtensionDescriptor {
|
||||
Id = "Alpha",
|
||||
Name = "Alpha",
|
||||
ExtensionType = "Module"
|
||||
};
|
||||
|
||||
var alphaFeatureDescriptor = new FeatureDescriptor {
|
||||
Id = "Alpha",
|
||||
Name = "Alpha",
|
||||
Extension = alphaExtension
|
||||
};
|
||||
|
||||
var betaFeatureDescriptor = new FeatureDescriptor {
|
||||
Id = "Beta",
|
||||
Name = "Beta",
|
||||
Extension = alphaExtension,
|
||||
Dependencies = new List<string> {
|
||||
"Alpha"
|
||||
}
|
||||
};
|
||||
|
||||
alphaExtension.Features = new List<FeatureDescriptor> {
|
||||
alphaFeatureDescriptor,
|
||||
betaFeatureDescriptor
|
||||
};
|
||||
|
||||
var features = new List<Feature> {
|
||||
new Feature {
|
||||
Descriptor = alphaFeatureDescriptor,
|
||||
ExportedTypes = new List<Type> {
|
||||
typeof(AlphaDependency)
|
||||
}
|
||||
},
|
||||
new Feature {
|
||||
Descriptor = betaFeatureDescriptor,
|
||||
ExportedTypes = new List<Type> {
|
||||
typeof(BetaDependency)
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
_extensionManager.Setup(x => x.AvailableExtensions()).Returns(new List<ExtensionDescriptor> {
|
||||
alphaExtension
|
||||
});
|
||||
|
||||
_extensionManager.Setup(x => x.AvailableFeatures()).Returns(
|
||||
_extensionManager.Object.AvailableExtensions()
|
||||
.SelectMany(ext => ext.Features)
|
||||
.ToReadOnlyCollection());
|
||||
|
||||
_extensionManager.Setup(x => x.LoadFeatures(It.IsAny<IEnumerable<FeatureDescriptor>>())).Returns(features);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ComposeReturnsBlueprintWithExpectedDependencies() {
|
||||
var shellSettings = CreateShell();
|
||||
var shellDescriptor = CreateShellDescriptor("Alpha", "Beta");
|
||||
var shellBlueprint = _compositionStrategy.Compose(shellSettings, shellDescriptor);
|
||||
|
||||
Assert.That(shellBlueprint.Dependencies.Count(x => x.Type == typeof (AlphaDependency)), Is.EqualTo(1));
|
||||
Assert.That(shellBlueprint.Dependencies.Count(x => x.Type == typeof(BetaDependency)), Is.EqualTo(1));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ComposeReturnsBlueprintWithAutoEnabledDependencyFeatures() {
|
||||
var shellSettings = CreateShell();
|
||||
var shellDescriptor = CreateShellDescriptor("Beta"); // Beta has a dependency on Alpha, but is not enabled initially.
|
||||
var shellBlueprint = _compositionStrategy.Compose(shellSettings, shellDescriptor);
|
||||
|
||||
Assert.That(shellBlueprint.Dependencies.Count(x => x.Type == typeof(AlphaDependency)), Is.EqualTo(1));
|
||||
Assert.That(shellDescriptor.Features.Count(x => x.Name == "Alpha"), Is.EqualTo(1));
|
||||
}
|
||||
|
||||
private ShellSettings CreateShell() {
|
||||
return new ShellSettings();
|
||||
}
|
||||
|
||||
private ShellDescriptor CreateShellDescriptor(params string[] enabledFeatures) {
|
||||
var shellDescriptor = new ShellDescriptor {
|
||||
Features = enabledFeatures.Select(x => new ShellFeature {
|
||||
Name = x
|
||||
})
|
||||
};
|
||||
|
||||
return shellDescriptor;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -56,11 +56,7 @@ namespace Orchard.Tests.Environment.ShellBuilders {
|
||||
|
||||
_container.Mock<IHttpContextAccessor>()
|
||||
.Setup(x => x.Current())
|
||||
.Returns(httpContext);
|
||||
|
||||
_container.Mock<IHttpContextAccessor>()
|
||||
.Setup(x => x.CreateContext(It.IsAny<ILifetimeScope>()))
|
||||
.Returns(httpContext);
|
||||
.Returns(default(HttpContextBase));
|
||||
|
||||
var factory = _container.Resolve<IShellContextFactory>();
|
||||
|
||||
|
||||
@@ -43,10 +43,6 @@ namespace Orchard.Tests.Environment.State {
|
||||
_container.Mock<IHttpContextAccessor>()
|
||||
.Setup(x=>x.Current())
|
||||
.Returns(httpContext);
|
||||
_container.Mock<IHttpContextAccessor>()
|
||||
.Setup(x => x.CreateContext(It.IsAny<ILifetimeScope>()))
|
||||
.Returns(httpContext);
|
||||
|
||||
}
|
||||
|
||||
[TearDown]
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
namespace Orchard.Tests.Environment.TestDependencies {
|
||||
|
||||
public interface IAlphaDependency : IDependency {
|
||||
}
|
||||
|
||||
public class AlphaDependency : IAlphaDependency {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
namespace Orchard.Tests.Environment.TestDependencies {
|
||||
|
||||
public interface IBetaDependency : IDependency {
|
||||
}
|
||||
|
||||
public class BetaDependency : IBetaDependency {
|
||||
public IAlphaDependency Alpha { get; set; }
|
||||
|
||||
public BetaDependency(IAlphaDependency alpha) {
|
||||
Alpha = alpha;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -120,6 +120,9 @@
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Data.SQLite">
|
||||
<HintPath>..\..\lib\sqlite\System.Data.SQLite.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\lib\sqlce\System.Data.SqlServerCe.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
@@ -215,6 +218,8 @@
|
||||
<Compile Include="DatabaseEnabledTestsBase.cs" />
|
||||
<Compile Include="DataMigration\SchemaBuilderTests.cs" />
|
||||
<Compile Include="DataMigration\DataMigrationTests.cs" />
|
||||
<Compile Include="DataMigration\SQLite\SQLiteDataUtility.cs" />
|
||||
<Compile Include="DataMigration\SQLite\SQLiteSchemaBuilderTestsBase.cs" />
|
||||
<Compile Include="DataMigration\Utilities\NullInterpreter.cs" />
|
||||
<Compile Include="DataUtility.cs" />
|
||||
<Compile Include="Data\Builders\SessionFactoryBuilderTests.cs" />
|
||||
@@ -245,9 +250,12 @@
|
||||
<Compile Include="Environment\Extensions\ExtensionLoaderCoordinatorTests.cs" />
|
||||
<Compile Include="Environment\Features\FeatureManagerTests.cs" />
|
||||
<Compile Include="Environment\Loaders\DynamicExtensionLoaderTests.cs" />
|
||||
<Compile Include="Environment\ShellBuilders\CompositionStrategyTests.cs" />
|
||||
<Compile Include="Environment\State\DefaultProcessingEngineTests.cs" />
|
||||
<Compile Include="Environment\RunningShellTableTests.cs" />
|
||||
<Compile Include="Environment\StubHostEnvironment.cs" />
|
||||
<Compile Include="Environment\TestDependencies\AlphaDependency.cs" />
|
||||
<Compile Include="Environment\TestDependencies\BetaDependency.cs" />
|
||||
<Compile Include="Environment\Utility\Build.cs" />
|
||||
<Compile Include="Environment\Warmup\WarmupUtilityTests.cs" />
|
||||
<Compile Include="FileSystems\AppData\AppDataFolderTests.cs" />
|
||||
@@ -269,6 +277,7 @@
|
||||
<Compile Include="Localization\DateTimePartsTests.cs" />
|
||||
<Compile Include="Localization\DefaultDateLocalizationServicesTests.cs" />
|
||||
<Compile Include="Localization\DefaultDateFormatterTests.cs" />
|
||||
<Compile Include="Stubs\StubMachineNameProvider.cs" />
|
||||
<Compile Include="Stubs\StubCultureSelector.cs" />
|
||||
<Compile Include="Localization\TestHelpers.cs" />
|
||||
<Compile Include="Logging\OrchardFileAppenderTests.cs" />
|
||||
@@ -290,6 +299,7 @@
|
||||
<Compile Include="Stubs\StubVirtualPathMonitor.cs" />
|
||||
<Compile Include="Stubs\StubCacheManager.cs" />
|
||||
<Compile Include="Stubs\StubWebSiteFolder.cs" />
|
||||
<Compile Include="Tasks\DistributedLockServiceTests.cs" />
|
||||
<Compile Include="Time\TimeZoneSelectorTests.cs" />
|
||||
<Compile Include="UI\Resources\ResourceManagerTests.cs" />
|
||||
<Compile Include="UI\ShapeTests.cs" />
|
||||
@@ -399,7 +409,16 @@
|
||||
<Copy SourceFiles="@(SqlCeBinariesx86)" DestinationFolder="$(OutputPath)\x86\%(RecursiveDir)" SkipUnchangedFiles="true" />
|
||||
<Copy SourceFiles="@(SqlCeBinariesx64)" DestinationFolder="$(OutputPath)\amd64\%(RecursiveDir)" SkipUnchangedFiles="true" />
|
||||
</Target>
|
||||
<Target Name="CopySQLiteBinaries">
|
||||
<ItemGroup>
|
||||
<SQLiteBinariesx86 Include="$(ProjectDir)..\..\lib\sqlite\x86\**\*" />
|
||||
<SQLiteBinariesx64 Include="$(ProjectDir)..\..\lib\sqlite\x64\**\*" />
|
||||
</ItemGroup>
|
||||
<Copy SourceFiles="@(SQLiteBinariesx86)" DestinationFolder="$(OutputPath)\x86\%(RecursiveDir)" SkipUnchangedFiles="true" />
|
||||
<Copy SourceFiles="@(SQLiteBinariesx64)" DestinationFolder="$(OutputPath)\amd64\%(RecursiveDir)" SkipUnchangedFiles="true" />
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
<CallTarget Targets="CopySqlCeBinaries" />
|
||||
<CallTarget Targets="CopySQLiteBinaries" />
|
||||
</Target>
|
||||
</Project>
|
||||
@@ -1,5 +1,4 @@
|
||||
using System.Web;
|
||||
using Autofac;
|
||||
using Orchard.Mvc;
|
||||
|
||||
namespace Orchard.Tests.Stubs {
|
||||
@@ -17,10 +16,6 @@ namespace Orchard.Tests.Stubs {
|
||||
return _httpContext;
|
||||
}
|
||||
|
||||
public HttpContextBase CreateContext(ILifetimeScope lifetimeScope) {
|
||||
return _httpContext;
|
||||
}
|
||||
|
||||
public void Set(HttpContextBase httpContext) {
|
||||
_httpContext = httpContext;
|
||||
}
|
||||
|
||||
13
src/Orchard.Tests/Stubs/StubMachineNameProvider.cs
Normal file
13
src/Orchard.Tests/Stubs/StubMachineNameProvider.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using Orchard.Environment;
|
||||
|
||||
namespace Orchard.Tests.Stubs {
|
||||
public class StubMachineNameProvider : IMachineNameProvider {
|
||||
public StubMachineNameProvider() {
|
||||
MachineName = "Orchard Machine";
|
||||
}
|
||||
public string MachineName { get; set; }
|
||||
public string GetMachineName() {
|
||||
return MachineName;
|
||||
}
|
||||
}
|
||||
}
|
||||
272
src/Orchard.Tests/Tasks/DistributedLockServiceTests.cs
Normal file
272
src/Orchard.Tests/Tasks/DistributedLockServiceTests.cs
Normal file
@@ -0,0 +1,272 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Autofac;
|
||||
using NUnit.Framework;
|
||||
using Orchard.Data;
|
||||
using Orchard.Environment;
|
||||
using Orchard.Environment.Configuration;
|
||||
using Orchard.Services;
|
||||
using Orchard.Tasks.Locking.Records;
|
||||
using Orchard.Tasks.Locking.Services;
|
||||
using Orchard.Tests.Stubs;
|
||||
|
||||
namespace Orchard.Tests.Tasks {
|
||||
[TestFixture]
|
||||
public class DistributedLockServiceTests : DatabaseEnabledTestsBase {
|
||||
private const string LockName = "Orchard Test Lock";
|
||||
private DistributedLockService _distributedLockService;
|
||||
private StubMachineNameProvider _machineNameProvider;
|
||||
private IRepository<DistributedLockRecord> _distributedLockRepository;
|
||||
private ITransactionManager _transactionManager;
|
||||
|
||||
protected override IEnumerable<Type> DatabaseTypes {
|
||||
get { yield return typeof(DistributedLockRecord); }
|
||||
}
|
||||
|
||||
public override void Register(ContainerBuilder builder) {
|
||||
builder.RegisterType<StubClock>().As<IClock>();
|
||||
builder.RegisterType<StubMachineNameProvider>().As<IMachineNameProvider>().SingleInstance();
|
||||
builder.RegisterType<DistributedLockService>().AsSelf();
|
||||
}
|
||||
|
||||
public override void Init() {
|
||||
base.Init();
|
||||
_distributedLockService = _container.Resolve<DistributedLockService>();
|
||||
_machineNameProvider = (StubMachineNameProvider)_container.Resolve<IMachineNameProvider>();
|
||||
_distributedLockRepository = _container.Resolve<IRepository<DistributedLockRecord>>();
|
||||
_transactionManager = _container.Resolve<ITransactionManager>();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TryAcquiringLockTwiceOnSameMachineSucceeds() {
|
||||
IDistributedLock @lock;
|
||||
var attempt1 = _distributedLockService.TryAcquireLock(LockName, TimeSpan.FromSeconds(60), out @lock);
|
||||
var attempt2 = _distributedLockService.TryAcquireLock(LockName, TimeSpan.FromSeconds(60), out @lock);
|
||||
|
||||
Assert.That(attempt1, Is.True);
|
||||
Assert.That(attempt2, Is.True);
|
||||
}
|
||||
|
||||
|
||||
[Test]
|
||||
public void AcquiringTheLockOnTheSameMachineReturnsTheSameLock() {
|
||||
IDistributedLock lock1, lock2;
|
||||
_distributedLockService.TryAcquireLock(LockName, TimeSpan.FromSeconds(60), out lock1);
|
||||
_distributedLockService.TryAcquireLock(LockName, TimeSpan.FromSeconds(60), out lock2);
|
||||
|
||||
Assert.AreEqual(lock1, lock2);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ReleasingSingleLockDeletesRecord() {
|
||||
IDistributedLock lock1;
|
||||
_distributedLockService.TryAcquireLock(LockName, TimeSpan.FromSeconds(60), out lock1);
|
||||
|
||||
lock1.Dispose();
|
||||
var lockRecord = _distributedLockRepository.Table.FirstOrDefault();
|
||||
|
||||
Assert.That(lockRecord, Is.Null);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ReleasingFirstLockDoesntDeleteRecord() {
|
||||
IDistributedLock lock1, lock2;
|
||||
_distributedLockService.TryAcquireLock(LockName, TimeSpan.FromSeconds(60), out lock1);
|
||||
_distributedLockService.TryAcquireLock(LockName, TimeSpan.FromSeconds(60), out lock2);
|
||||
|
||||
lock1.Dispose();
|
||||
var lockRecord = _distributedLockRepository.Table.FirstOrDefault();
|
||||
Assert.That(lockRecord, Is.Not.Null);
|
||||
|
||||
lock2.Dispose();
|
||||
lockRecord = _distributedLockRepository.Table.FirstOrDefault();
|
||||
Assert.That(lockRecord, Is.Null);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TryAcquiringLockTwiceFails() {
|
||||
_distributedLockService.DisableMonitorLock = true;
|
||||
IDistributedLock @lock;
|
||||
_machineNameProvider.MachineName = "Orchard Test Machine 1";
|
||||
var attempt1 = _distributedLockService.TryAcquireLock(LockName, TimeSpan.FromSeconds(60), out @lock);
|
||||
_machineNameProvider.MachineName = "Orchard Test Machine 2";
|
||||
var attempt2 = _distributedLockService.TryAcquireLock(LockName, TimeSpan.FromSeconds(60), out @lock);
|
||||
|
||||
Assert.That(attempt1, Is.True);
|
||||
Assert.That(attempt2, Is.False);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TryAcquiringNonExpiredActiveLockFails() {
|
||||
IDistributedLock @lock;
|
||||
CreateNonExpiredActiveLock("Other Machine");
|
||||
var success = _distributedLockService.TryAcquireLock(LockName, TimeSpan.FromHours(1), out @lock);
|
||||
|
||||
Assert.That(success, Is.False);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TryAcquiringNonExpiredButInactiveLockFromOtherMachineFails() {
|
||||
IDistributedLock @lock;
|
||||
CreateNonExpiredActiveLock("Other Machine");
|
||||
var success = _distributedLockService.TryAcquireLock(LockName, TimeSpan.FromHours(1), out @lock);
|
||||
|
||||
Assert.That(success, Is.False);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TryAcquiringNonExpiredButInactiveLockFromSameMachineSucceeds() {
|
||||
IDistributedLock @lock;
|
||||
CreateNonExpiredActiveLock("Orchard Machine");
|
||||
var success = _distributedLockService.TryAcquireLock(LockName, TimeSpan.FromHours(1), out @lock);
|
||||
|
||||
Assert.That(success, Is.True);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TryAcquiringExpiredButActiveLockSucceeds() {
|
||||
IDistributedLock @lock;
|
||||
CreateExpiredButActiveLock("Other Machine");
|
||||
var success = _distributedLockService.TryAcquireLock(LockName, TimeSpan.FromHours(1), out @lock);
|
||||
|
||||
Assert.That(success, Is.True);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TryAcquiringNonExpiredAndActiveLockFromCurrentOwnerSucceeds() {
|
||||
IDistributedLock @lock;
|
||||
CreateNonExpiredActiveLock(GetMachineName());
|
||||
var success = _distributedLockService.TryAcquireLock(LockName, TimeSpan.FromHours(1), out @lock);
|
||||
|
||||
Assert.That(success, Is.True);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void AcquiringNonExpiredAndActiveLockFromDifferentOwnerThrowsTimeoutException() {
|
||||
CreateNonExpiredActiveLock("Other Machine");
|
||||
Assert.Throws<TimeoutException>(() => _distributedLockService.AcquireLock(LockName, TimeSpan.FromHours(1), TimeSpan.Zero));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void MultipleAcquisitionsFromDifferentMachinesShouldFail() {
|
||||
IDistributedLock @lock;
|
||||
_distributedLockService.DisableMonitorLock = true;
|
||||
_machineNameProvider.MachineName = "Orchard Test Machine 1";
|
||||
var attempt1 = _distributedLockService.TryAcquireLock(LockName, TimeSpan.FromSeconds(60), out @lock);
|
||||
_machineNameProvider.MachineName = "Orchard Test Machine 2";
|
||||
var attempt2 = _distributedLockService.TryAcquireLock(LockName, TimeSpan.FromSeconds(60), out @lock);
|
||||
|
||||
Assert.That(attempt1, Is.True);
|
||||
Assert.That(attempt2, Is.False);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void MultipleAcquisitionsFromDifferentMachinesOnDifferentTenantShouldSucceed() {
|
||||
IDistributedLock @lock;
|
||||
_distributedLockService.DisableMonitorLock = true;
|
||||
_machineNameProvider.MachineName = "Orchard Test Machine 1";
|
||||
var attempt1 = _distributedLockService.TryAcquireLock(LockName, TimeSpan.FromSeconds(60), out @lock);
|
||||
_machineNameProvider.MachineName = "Orchard Test Machine 2";
|
||||
_shellSettings.Name = "Foo";
|
||||
var attempt2 = _distributedLockService.TryAcquireLock(LockName, TimeSpan.FromSeconds(60), out @lock);
|
||||
|
||||
Assert.That(attempt1, Is.True);
|
||||
Assert.That(attempt2, Is.True);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void MultithreadedAcquisitionsShouldNotCauseTransactionErrors() {
|
||||
var tasks = new List<Task>();
|
||||
|
||||
for (var i = 0; i < 10; i++) {
|
||||
var task = Task.Factory.StartNew(() => {
|
||||
IDistributedLock @lock;
|
||||
Assert.DoesNotThrow(() => _distributedLockService.TryAcquireLock(LockName, TimeSpan.FromHours(1), out @lock));
|
||||
});
|
||||
|
||||
tasks.Add(task);
|
||||
}
|
||||
|
||||
Task.WaitAll(tasks.ToArray());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TryAcquireActiveLockWithNullTimeoutReturnsFalseImmediately() {
|
||||
// Disable monitor locking to simulate concurrent requests
|
||||
_distributedLockService.DisableMonitorLock = true;
|
||||
CreateNonExpiredActiveLock("Other Machine");
|
||||
|
||||
IDistributedLock @lock;
|
||||
var acquired = _distributedLockService.TryAcquireLock(LockName, TimeSpan.FromMinutes(1), out @lock);
|
||||
|
||||
Assert.That(acquired, Is.False);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ActiveLockWithUndefinedValidUntilNeverExpires() {
|
||||
// Disable monitor locking to simulate concurrent requests
|
||||
_distributedLockService.DisableMonitorLock = true;
|
||||
CreateNonExpiredActiveLockThatNeverExpires("Other Machine");
|
||||
|
||||
_clock.Advance(DateTime.MaxValue - _clock.UtcNow); // Fast forward to the End of Time.
|
||||
IDistributedLock @lock;
|
||||
var acquired = _distributedLockService.TryAcquireLock(LockName, TimeSpan.FromMinutes(1), out @lock);
|
||||
|
||||
Assert.That(acquired, Is.False);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ActiveLockWithUndefinedValidUntilNeverExpiresUntilReleased() {
|
||||
IDistributedLock @lock;
|
||||
|
||||
// Create a never expiring lock.
|
||||
_machineNameProvider.MachineName = "Orchard Test Machine 1";
|
||||
var attempt1 = _distributedLockService.TryAcquireLock(LockName, maxValidFor: null, timeout: null, l: out @lock);
|
||||
|
||||
// Release the lock.
|
||||
_distributedLockService.ReleaseDistributedLock((DistributedLock)@lock);
|
||||
|
||||
// Acquire the lock from another machine.
|
||||
_machineNameProvider.MachineName = "Orchard Test Machine 2";
|
||||
var attempt2 = _distributedLockService.TryAcquireLock(LockName, maxValidFor: null, timeout: null, l: out @lock);
|
||||
|
||||
// Validate the results.
|
||||
Assert.That(attempt1, Is.True);
|
||||
Assert.That(attempt2, Is.True);
|
||||
}
|
||||
|
||||
private DistributedLockRecord CreateLockRecord(DateTime createdUtc, DateTime? validUntilUtc, string machineName) {
|
||||
var record = new DistributedLockRecord {
|
||||
Name = ShellSettings.DefaultName + ":" + LockName,
|
||||
CreatedUtc = createdUtc,
|
||||
ValidUntilUtc = validUntilUtc,
|
||||
MachineName = machineName,
|
||||
};
|
||||
|
||||
_distributedLockRepository.Create(record);
|
||||
_transactionManager.RequireNew();
|
||||
return record;
|
||||
}
|
||||
|
||||
private DistributedLockRecord CreateNonExpiredActiveLock(string machineName) {
|
||||
var now = _clock.UtcNow;
|
||||
return CreateLockRecord(now, now + TimeSpan.FromHours(1), machineName);
|
||||
}
|
||||
|
||||
private DistributedLockRecord CreateExpiredButActiveLock(string machineName) {
|
||||
var now = _clock.UtcNow;
|
||||
return CreateLockRecord(now, now - TimeSpan.FromHours(1), machineName);
|
||||
}
|
||||
|
||||
private DistributedLockRecord CreateNonExpiredActiveLockThatNeverExpires(string machineName) {
|
||||
var now = _clock.UtcNow;
|
||||
return CreateLockRecord(now, null, machineName);
|
||||
}
|
||||
|
||||
private string GetMachineName() {
|
||||
return _machineNameProvider.GetMachineName();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -23,10 +23,6 @@ namespace Orchard.Tests.Tasks {
|
||||
.Setup(x => x.Current())
|
||||
.Returns(() => null);
|
||||
|
||||
container.Mock<IHttpContextAccessor>()
|
||||
.Setup(x => x.CreateContext(It.IsAny<ILifetimeScope>()))
|
||||
.Returns(() => new StubHttpContext());
|
||||
|
||||
container.Mock<IWorkContextEvents>()
|
||||
.Setup(x => x.Started());
|
||||
}
|
||||
|
||||
@@ -61,10 +61,14 @@ namespace Orchard.Core.Common.Drivers {
|
||||
}
|
||||
|
||||
protected override void Importing(BodyPart part, ContentManagement.Handlers.ImportContentContext context) {
|
||||
var importedText = context.Attribute(part.PartDefinition.Name, "Text");
|
||||
if (importedText != null) {
|
||||
part.Text = importedText;
|
||||
// Don't do anything if the tag is not specified.
|
||||
if (context.Data.Element(part.PartDefinition.Name) == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
context.ImportAttribute(part.PartDefinition.Name, "Text", importedText =>
|
||||
part.Text = importedText
|
||||
);
|
||||
}
|
||||
|
||||
protected override void Exporting(BodyPart part, ContentManagement.Handlers.ExportContentContext context) {
|
||||
|
||||
@@ -68,35 +68,35 @@ namespace Orchard.Core.Common.Drivers {
|
||||
}
|
||||
|
||||
protected override void Importing(CommonPart part, ImportContentContext context) {
|
||||
var owner = context.Attribute(part.PartDefinition.Name, "Owner");
|
||||
if (owner != null) {
|
||||
// Don't do anything if the tag is not specified.
|
||||
if (context.Data.Element(part.PartDefinition.Name) == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
context.ImportAttribute(part.PartDefinition.Name, "Owner", owner => {
|
||||
var contentIdentity = new ContentIdentity(owner);
|
||||
part.Owner = _membershipService.GetUser(contentIdentity.Get("User.UserName"));
|
||||
}
|
||||
// use the super user if the referenced one doesn't exist
|
||||
else {
|
||||
part.Owner = _membershipService.GetUser(Services.WorkContext.CurrentSite.SuperUser);
|
||||
}
|
||||
|
||||
var container = context.Attribute(part.PartDefinition.Name, "Container");
|
||||
if (container != null) {
|
||||
part.Container = context.GetItemFromSession(container);
|
||||
}
|
||||
// use the super user if the referenced one doesn't exist;
|
||||
part.Owner =
|
||||
_membershipService.GetUser(contentIdentity.Get("User.UserName"))
|
||||
?? _membershipService.GetUser(Services.WorkContext.CurrentSite.SuperUser);
|
||||
});
|
||||
|
||||
var createdUtc = context.Attribute(part.PartDefinition.Name, "CreatedUtc");
|
||||
if (createdUtc != null) {
|
||||
part.CreatedUtc = XmlConvert.ToDateTime(createdUtc, XmlDateTimeSerializationMode.Utc);
|
||||
}
|
||||
context.ImportAttribute(part.PartDefinition.Name, "Container", container =>
|
||||
part.Container = context.GetItemFromSession(container)
|
||||
);
|
||||
|
||||
var publishedUtc = context.Attribute(part.PartDefinition.Name, "PublishedUtc");
|
||||
if (publishedUtc != null) {
|
||||
part.PublishedUtc = XmlConvert.ToDateTime(publishedUtc, XmlDateTimeSerializationMode.Utc);
|
||||
}
|
||||
context.ImportAttribute(part.PartDefinition.Name, "CreatedUtc", createdUtc =>
|
||||
part.CreatedUtc = XmlConvert.ToDateTime(createdUtc, XmlDateTimeSerializationMode.Utc)
|
||||
);
|
||||
|
||||
var modifiedUtc = context.Attribute(part.PartDefinition.Name, "ModifiedUtc");
|
||||
if (modifiedUtc != null) {
|
||||
part.ModifiedUtc = XmlConvert.ToDateTime(modifiedUtc, XmlDateTimeSerializationMode.Utc);
|
||||
}
|
||||
context.ImportAttribute(part.PartDefinition.Name, "PublishedUtc", publishedUtc =>
|
||||
part.PublishedUtc = XmlConvert.ToDateTime(publishedUtc, XmlDateTimeSerializationMode.Utc)
|
||||
);
|
||||
|
||||
context.ImportAttribute(part.PartDefinition.Name, "ModifiedUtc", modifiedUtc =>
|
||||
part.ModifiedUtc = XmlConvert.ToDateTime(modifiedUtc, XmlDateTimeSerializationMode.Utc)
|
||||
);
|
||||
}
|
||||
|
||||
protected override void Exporting(CommonPart part, ExportContentContext context) {
|
||||
|
||||
@@ -15,10 +15,14 @@ namespace Orchard.Core.Common.Drivers {
|
||||
}
|
||||
|
||||
protected override void Importing(IdentityPart part, ContentManagement.Handlers.ImportContentContext context) {
|
||||
var identity = context.Attribute(part.PartDefinition.Name, "Identifier");
|
||||
if (identity != null) {
|
||||
part.Identifier = identity;
|
||||
// Don't do anything if the tag is not specified.
|
||||
if (context.Data.Element(part.PartDefinition.Name) == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
context.ImportAttribute(part.PartDefinition.Name, "Identifier", identity =>
|
||||
part.Identifier = identity
|
||||
);
|
||||
}
|
||||
|
||||
protected override void Exporting(IdentityPart part, ContentManagement.Handlers.ExportContentContext context) {
|
||||
|
||||
@@ -82,6 +82,11 @@ namespace Orchard.Core.Containers.Drivers {
|
||||
}
|
||||
|
||||
protected override void Importing(ContainablePart part, ImportContentContext context) {
|
||||
// Don't do anything if the tag is not specified.
|
||||
if (context.Data.Element(part.PartDefinition.Name) == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
context.ImportAttribute(part.PartDefinition.Name, "Position", s => part.Position = XmlConvert.ToInt32(s));
|
||||
}
|
||||
|
||||
|
||||
@@ -129,12 +129,16 @@ namespace Orchard.Core.Containers.Drivers {
|
||||
}
|
||||
|
||||
protected override void Importing(ContainerPart part, ImportContentContext context) {
|
||||
var itemContentType = context.Attribute(part.PartDefinition.Name, "ItemContentTypes");
|
||||
if (itemContentType != null) {
|
||||
// Don't do anything if the tag is not specified.
|
||||
if (context.Data.Element(part.PartDefinition.Name) == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
context.ImportAttribute(part.PartDefinition.Name, "ItemContentTypes", itemContentType => {
|
||||
if (_contentDefinitionManager.GetTypeDefinition(itemContentType) != null) {
|
||||
part.Record.ItemContentTypes = itemContentType;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
context.ImportAttribute(part.PartDefinition.Name, "ItemsShown", s => part.ItemsShown = XmlConvert.ToBoolean(s));
|
||||
context.ImportAttribute(part.PartDefinition.Name, "Paginated", s => part.Paginated = XmlConvert.ToBoolean(s));
|
||||
|
||||
@@ -81,23 +81,25 @@ namespace Orchard.Core.Containers.Drivers {
|
||||
}
|
||||
|
||||
protected override void Importing(ContainerWidgetPart part, ImportContentContext context) {
|
||||
var containerIdentity = context.Attribute(part.PartDefinition.Name, "Container");
|
||||
if (containerIdentity != null) {
|
||||
// Don't do anything if the tag is not specified.
|
||||
if (context.Data.Element(part.PartDefinition.Name) == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
context.ImportAttribute(part.PartDefinition.Name, "Container", containerIdentity => {
|
||||
var container = context.GetItemFromSession(containerIdentity);
|
||||
if (container != null) {
|
||||
part.Record.ContainerId = container.Id;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
var pageSize = context.Attribute(part.PartDefinition.Name, "PageSize");
|
||||
if (pageSize != null) {
|
||||
part.Record.PageSize = Convert.ToInt32(pageSize);
|
||||
}
|
||||
context.ImportAttribute(part.PartDefinition.Name, "PageSize", pageSize =>
|
||||
part.Record.PageSize = Convert.ToInt32(pageSize)
|
||||
);
|
||||
|
||||
var filterByValue = context.Attribute(part.PartDefinition.Name, "FilterByValue");
|
||||
if (filterByValue != null) {
|
||||
part.Record.FilterByValue = filterByValue;
|
||||
}
|
||||
context.ImportAttribute(part.PartDefinition.Name, "FilterByValue", filterByValue =>
|
||||
part.Record.FilterByValue = filterByValue
|
||||
);
|
||||
}
|
||||
|
||||
protected override void Exporting(ContainerWidgetPart part, ExportContentContext context) {
|
||||
|
||||
@@ -24,20 +24,22 @@ namespace Orchard.Core.Containers.Drivers {
|
||||
}
|
||||
|
||||
protected override void Importing(CustomPropertiesPart part, ImportContentContext context) {
|
||||
var customOne = context.Attribute(part.PartDefinition.Name, "CustomOne");
|
||||
if (customOne != null) {
|
||||
part.Record.CustomOne = customOne;
|
||||
// Don't do anything if the tag is not specified.
|
||||
if (context.Data.Element(part.PartDefinition.Name) == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
var customTwo = context.Attribute(part.PartDefinition.Name, "CustomTwo");
|
||||
if (customTwo != null) {
|
||||
part.Record.CustomTwo = customTwo;
|
||||
}
|
||||
context.ImportAttribute(part.PartDefinition.Name, "CustomOne", customOne =>
|
||||
part.Record.CustomOne = customOne
|
||||
);
|
||||
|
||||
var customThree = context.Attribute(part.PartDefinition.Name, "CustomThree");
|
||||
if (customThree != null) {
|
||||
part.Record.CustomThree = customThree;
|
||||
}
|
||||
context.ImportAttribute(part.PartDefinition.Name, "CustomTwo", customTwo =>
|
||||
part.Record.CustomTwo = customTwo
|
||||
);
|
||||
|
||||
context.ImportAttribute(part.PartDefinition.Name, "CustomThree", customThree =>
|
||||
part.Record.CustomThree = customThree
|
||||
);
|
||||
}
|
||||
|
||||
protected override void Exporting(CustomPropertiesPart part, ExportContentContext context) {
|
||||
|
||||
@@ -4,9 +4,8 @@
|
||||
@{
|
||||
ContentItem contentItem = Model.ContentItem;
|
||||
var typeDisplayName = contentItem.TypeDefinition.DisplayName ?? contentItem.ContentType.CamelFriendly();
|
||||
var pageTitle = T("New {0}", typeDisplayName);
|
||||
|
||||
Layout.Title = (string)pageTitle.Text;
|
||||
Layout.Title = T("New {0}", Html.Raw(typeDisplayName)).Text;
|
||||
}
|
||||
|
||||
@using (Html.BeginFormAntiForgeryPost(Url.Action("Create", new { ReturnUrl = Request.QueryString["ReturnUrl"] }), FormMethod.Post, new { enctype = "multipart/form-data" })) {
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
var pageTitle = T("Manage Content");
|
||||
var createLinkText = T("Create New Content");
|
||||
if (!string.IsNullOrWhiteSpace(typeDisplayName)) {
|
||||
pageTitle = T("Manage {0} Content", typeDisplayName);
|
||||
createLinkText = T("Create New {0}", typeDisplayName);
|
||||
pageTitle = T("Manage {0} Content", Html.Raw(typeDisplayName));
|
||||
createLinkText = T("Create New {0}", Html.Raw(typeDisplayName));
|
||||
}
|
||||
|
||||
IEnumerable<string> cultures = Model.Options.Cultures;
|
||||
|
||||
Layout.Title = pageTitle;
|
||||
Layout.Title = pageTitle.Text;
|
||||
}
|
||||
|
||||
<div class="manage">
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user