Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
b0abfe6
Add DisableNotifyMessages to prevent messages being sent to .outq
mythz Apr 29, 2018
d9daa09
Fix VirtualFiles to handle Files in nested sub dirs within empty dirs
mythz May 6, 2018
494f2b1
Use same FromMessageBody API in .NET 4.5 client to strip incompatible…
mythz Jul 14, 2018
111c17d
fix build error
mythz Jul 14, 2018
d21169b
Change to use GetBody<Stream>
mythz Jul 14, 2018
327bcea
Update SS .dlls
mythz Jul 16, 2018
3eb79a6
Upgrade to latest deps
mythz Aug 15, 2018
4d5b0d2
fix tests configuration
mythz Aug 15, 2018
b3b28e5
Fix NRE for .NET Core MQ
mythz Aug 15, 2018
a42fbab
Change port to resolve Admin HttpListener constraint on < 2000 port n…
mythz Aug 15, 2018
bda5892
Update nuspec dep versions to match project deps
mythz Aug 15, 2018
9dd6e2c
Update SS .dll's
mythz Aug 27, 2018
c925d14
Fix Azure Service Bus BadRequest due to invalid [] chars (#15)
georgehemmings Sep 17, 2018
8138e87
Upgrade to latest deps
mythz Sep 18, 2018
cfa718b
Update SS .dll's
mythz Sep 18, 2018
d704d5d
Create queues when using the netstandard library (#16)
DeonHeyns Nov 17, 2018
6e5db9d
Refector to use Directory.Build.props + SourceLink + Embedded .pdbs +…
mythz Dec 15, 2018
69e907a
Merge remote-tracking branch 'origin/master'
mythz Dec 15, 2018
6b2bb60
Update .sln
mythz Dec 15, 2018
13b8f33
fix .Core proj
mythz Dec 16, 2018
4bd4c81
Extract .Core to build-core.proj
mythz Dec 17, 2018
d25d65c
Add PublishToOutqWhitelist/DisablePublishingToOutq APIs
mythz Jan 10, 2019
208b9c6
Add RootNamespace
mythz Jan 27, 2019
f0e4345
Chunk files that are larger than 100 mb in 10mb chunks (#17)
DeonHeyns Feb 20, 2019
1ae7519
Move mimetypes setting outside of if (#18)
DeonHeyns Feb 21, 2019
f3f8b5e
Upgrade System.Memory to v4.5.2
mythz Feb 25, 2019
3326153
Merge branch 'master' of https://github.com/ServiceStack/ServiceStack…
mythz Feb 25, 2019
6973dc0
Add separate .Source .csproj's to reference projects instead of packages
mythz Feb 26, 2019
ce68a0d
Upgrade deps
mythz Mar 12, 2019
1750231
Bump to v5.5.1
mythz Apr 1, 2019
53eaa14
Create AzureScripts.cs
mythz Apr 22, 2019
a18c303
Add PublishMessageFilter
mythz May 20, 2019
c22112d
Update AzureScripts.cs
mythz Jun 14, 2019
f92bf6f
Update ServiceStack.Azure.Tests.csproj
mythz Jun 20, 2019
39832f7
Upgrade to v5.6.1
mythz Aug 8, 2019
66a8449
Update README.md
mythz Aug 19, 2019
8ca3551
Update ServiceStack.Azure.csproj
mythz Sep 26, 2019
1be2536
bump to v5.7
mythz Sep 30, 2019
2c1095f
bump to v5.7.1
mythz Oct 2, 2019
59e439f
Update Directory.Build.props
mythz Nov 27, 2019
b6d4c10
Upgrade deps
mythz Jan 7, 2020
ae490c8
bump to v5.8
mythz Jan 13, 2020
bb0a4bf
bump to v5.8.1
mythz Jan 14, 2020
5fd598e
Add RemoveExpiredEntries
mythz Feb 15, 2020
f693e29
upgrade deps
mythz Apr 28, 2020
a091f74
upgrade deps
mythz Apr 28, 2020
a484027
Add ability to set no of threads (#19)
DeonHeyns May 11, 2020
518a4da
bump to v5.9.0
mythz Jun 9, 2020
2927fa9
bump to v5.9.1
mythz Jun 15, 2020
1671c20
Implement Last Modified Date on AzureBlobVirtualDirectory (#20)
DeonHeyns Jul 4, 2020
aecc2e1
Feature/last modified date (#21)
DeonHeyns Jul 6, 2020
58720dc
bump to v5.9.2
mythz Aug 4, 2020
42566e4
bump to v5.9.3
mythz Aug 6, 2020
34b71d3
Add ICacheClientAsync impl + tests
mythz Sep 10, 2020
db6d402
Fix tests
mythz Sep 10, 2020
c3c02ad
Update .csproj's
mythz Sep 10, 2020
a57712f
Upgrade deps
mythz Nov 9, 2020
73d92c7
Update CloudBlobContainerExtension.cs
mythz Nov 9, 2020
915997f
Update CloudBlobContainerExtension.cs
mythz Nov 9, 2020
707c2ec
Set deps to v5.10.1
mythz Nov 10, 2020
3bab6fc
bump to v5.10.2
mythz Nov 16, 2020
b303e41
bump to v5.10.3
mythz Nov 16, 2020
19b5694
Update version numbers
mythz Nov 22, 2020
4fa8038
bump to v5.10.4
mythz Jan 12, 2021
c8cddd2
bump to v5.10.5
mythz Jan 14, 2021
990867a
Update README.md (#23)
bjarki Jan 26, 2021
4ca0a84
Fix Deadlock (#24)
pirovorster Feb 1, 2021
7ad114a
Update SO links
mythz Mar 26, 2021
1ccc0ce
Upgrade deps
mythz Apr 13, 2021
61ee781
bump to v5.11
mythz Apr 20, 2021
94975e0
bump to v5.11.1
mythz May 3, 2021
ef76b73
upgrade deps
mythz Aug 15, 2021
9059fa6
bump to v5.12
mythz Aug 17, 2021
f6a5552
bump to v5.12.1
mythz Aug 18, 2021
fbf886d
Add .NET 6.0 TFM builds
mythz Oct 27, 2021
4855b90
Update ServiceStack.Azure.Core.csproj
mythz Oct 27, 2021
5753b73
Rename to use NETCORE build symbol
mythz Oct 27, 2021
bc8c4f2
upgrade deps
mythz Nov 9, 2021
c5f2f70
bump to v5.13.0
mythz Nov 9, 2021
05cc412
Update ServiceStack.Azure.Tests.csproj
mythz Nov 12, 2021
181f4f3
bump v5.13.1
mythz Nov 12, 2021
717de6e
Update ConcurrencyTests.cs
mythz Nov 12, 2021
0bce5e3
bump to v5.13.2
mythz Nov 20, 2021
4319afe
remove Tests dir in build.proj
mythz Nov 20, 2021
d5c41ba
bump to v5.13.3
mythz Nov 20, 2021
635f20c
Update .Source.csproj's to only netstandard/net6
mythz Nov 29, 2021
846642a
Upgrade to v15.4.0
mythz Jan 23, 2022
8147076
Upgrade to v6
mythz Jan 24, 2022
ce0d2b7
update csprojs
mythz Jan 24, 2022
ca2b75d
Update ServiceStack.Azure.Tests.csproj
mythz Jan 24, 2022
5d9dd6f
Update ServiceStack.Azure.Tests.csproj
mythz Jan 24, 2022
f356598
bump to 6.0.1
mythz Jan 30, 2022
000a670
bump to v6.0.2
mythz Jan 30, 2022
64adfab
bump to v6.0.3
mythz Feb 1, 2022
41baeaa
Update README.md
mythz Feb 16, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 14 additions & 7 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -1,22 +1,29 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "0.1.0",
"version": "2.0.0",
"command": "dotnet",
"options": {
"env": {
"FrameworkPathOverride": "/usr/lib/mono/4.5/"
}
},
"isShellCommand": true,
"args": [],
"tasks": [
{
"taskName": "build",
"args": [ "/p:NUNITLITE=1", "src/ServiceStack.Azure.sln"],
"isBuildCommand": true,
"showOutput": "silent",
"problemMatcher": "$msCompile"
"label": "build",
"type": "shell",
"command": "dotnet",
"args": [
"build",
"/p:NUNITLITE=1",
"src/ServiceStack.Azure.sln"
],
"problemMatcher": "$msCompile",
"group": {
"_id": "build",
"isDefault": false
}
}
]
}
7 changes: 7 additions & 0 deletions NuGet.Config
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="ServiceStack CI feed" value="http://build.servicestack.net/guestAuth/app/nuget/v1/FeedService.svc" />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
</packageSources>
</configuration>
31 changes: 0 additions & 31 deletions NuGet/ServiceStack.Azure.Core/servicestack.azure.core.nuspec

This file was deleted.

36 changes: 0 additions & 36 deletions NuGet/ServiceStack.Azure/servicestack.azure.nuspec

This file was deleted.

88 changes: 3 additions & 85 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,87 +1,5 @@
## ServiceStack.Azure
Follow [@ServiceStack](https://twitter.com/servicestack), [view the docs](https://docs.servicestack.net), use [StackOverflow](https://stackoverflow.com/questions/ask?tags=servicestack,servicestack.azure) or [Customer Forums](https://forums.servicestack.net/) for support.

ServiceStack.Azure package provides support to Azure ServiceBus and Azure Blob Storage. All features are incapsulated in single ServiceStack.Azure package. To install package run from NuGet
# Read ServiceStack.Azure Docs at [docs.servicestack.net/azure](https://docs.servicestack.net/azure)

PM> Install-Package ServiceStack.Azure

ServiceStack.Azure includes implementation of the following ServiceStack providers:

- [ServiceBusMqServer](#ServiceBusMqServer) - [MQ Server](http://docs.servicestack.net/messaging) for invoking ServiceStack Services via Azure ServiceBus
- [AzureBlobVirtualFiles](#virtual-filesystem-backed-by-azure-blob-storage) - Virtual file system based on Azure Blob Storage
- [AzureAppendBlobVirtualFiles](#virtual-filesystem-backed-by-azure-blob-storage) - Virtual file system based on Azure Blob Storage for appending scenarios
- [AzureTableCacheClient](#caching-support-with-azure-table-storage) - Cache client over Azure Table Storage


### ServiceBusMqServer

The code to configure and start an ServiceBus MQ Server is similar to other MQ Servers:

```csharp
container.Register<IMessageService>(c => new ServiceBusMqServer(ConnectionString));

var mqServer = container.Resolve<IMessageService>();
mqServer.RegisterHandler<ServiceDto>(ExecuteMessage);
mqServer.Start();
```

Where ConnectionString is connection string to Service Bus, how to obtain it from Azure Portal you can find in [Get Started with Service Bus queues](https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-dotnet-get-started-with-queues) article

When an MQ Server is registered, ServiceStack automatically publishes Requests accepted on the "One Way" pre-defined route to the registered MQ broker. The message is later picked up and executed by a Message Handler on a background Thread.

## Virtual FileSystem backed by Azure Blob Storage

You can use an Azure Blob Storage Container to serve website content with the **AzureBlobVirtualFiles**.

```csharp
public class AppHost : AppHostBase
{
public override void Configure(Container container)
{
//All Razor Views, Markdown Content, imgs, js, css, etc are served from an Azure Blob Storage container

//Use connection string to Azure Storage Emulator. For real application you should use connection string
//to your Azure Storage account
var azureBlobConnectionString = "UseDevelopmentStorage=true";
//Azure container which hold your files. If it does not exist it will be automatically created.
var containerName = "myazurecontainer";

VirtualFiles = new AzureBlobVirtualFiles(connectionString, containerName);
AddVirtualFileSources.Add(VirtualFiles);
}
}
```

In addition you can use **AzureAppendBlobVirtualFiles** in scenarios that require appending such as logging.

```csharp
public class AppHost : AppHostBase
{
public override void Configure(Container container)
{
Plugins.Add(new RequestLogsFeature
{
RequestLogger = new CsvRequestLogger(
files: new AzureAppendBlobVirtualFiles(AppSettings.Get<string>("storageConnection"), "logfiles"),
requestLogsPattern: "requestlogs/{year}-{month}/{year}-{month}-{day}.csv",
errorLogsPattern: "requestlogs/{year}-{month}/{year}-{month}-{day}-errors.csv",
appendEvery: TimeSpan.FromSeconds(30))

});
}
}
```

## Caching support with Azure Table Storage

The AzureTableCacheClient implements [ICacheClientExteded](https://github.com/ServiceStack/ServiceStack/blob/master/src/ServiceStack.Interfaces/Caching/ICacheClientExtended.cs) and [IRemoveByPattern](https://github.com/ServiceStack/ServiceStack/blob/master/src/ServiceStack.Interfaces/Caching/IRemoveByPattern.cs) using Azure Table Storage.

```csharp
public class AppHost : AppHostBase
{
public override void Configure(Container container)
{
string cacheConnStr = "UseDevelopmentStorage=true;";
container.Register<ICacheClient>(new AzureTableCacheClient(cacheConnStr));
}
}
```
### This repository [has moved](https://docs.servicestack.net/mono-repo) to [github.com/ServiceStack/ServiceStack/ServiceStack.Azure](https://github.com/ServiceStack/ServiceStack/tree/main/ServiceStack.Azure)
78 changes: 78 additions & 0 deletions build/build-core.proj
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Default"
xmlns='http://schemas.microsoft.com/developer/msbuild/2003' ToolsVersion="4.0">
<Import Project="$(MSBuildProjectDirectory)/build.tasks" />

<PropertyGroup>
<MajorVersion Condition="$(MajorVersion) == ''">6</MajorVersion>
<MinorVersion Condition="$(MinorVersion) == ''">0</MinorVersion>
<PatchVersion Condition="$(PatchVersion) == ''">$(BUILD_NUMBER)</PatchVersion>
</PropertyGroup>

<PropertyGroup>
<BuildSolutionDir>$(MSBuildProjectDirectory)/..</BuildSolutionDir>
<SrcDir>$(BuildSolutionDir)/src</SrcDir>
<TestsDir>$(BuildSolutionDir)/tests</TestsDir>
<Configuration Condition="$(Configuration) == ''">Release</Configuration>
<NuGetPackageDir>$(BuildSolutionDir)/NuGet/</NuGetPackageDir>
<PackageVersion>$(MajorVersion).$(MinorVersion).$(PatchVersion)</PackageVersion>
</PropertyGroup>

<PropertyGroup>
<DoBuildSolutionsDependsOn>
BeforeBuildSolutions;
BuildSolutions
</DoBuildSolutionsDependsOn>
</PropertyGroup>

<Target Name="BeforeBuildSolutions">
<Message Text="*****Before building solution*****" Importance="high"/>
<CallTarget Targets="UpdateVersion" />
</Target>

<Target Name="BuildSolutions">
<ItemGroup>
<NugetPackageFilesToDelete Include="$(NuGetPackageDir)/*.nupkg"/>
</ItemGroup>
<Delete Files="@(NugetPackageFilesToDelete)" />
<CallTarget Targets="ClearNuGetRestoreCaches" />
</Target>

<!-- need to remove old caches from nuget restore from .Core csproj's -->
<Target Name="ClearNuGetRestoreCaches">
<RemoveDir Directories="$(SrcDir)/ServiceStack.Azure/obj" />
<RemoveDir Directories="$(TestsDir)/ServiceStack.Azure.Tests/obj" />
</Target>

<Target Name="UpdateVersion">
<!-- Update Version -->
<ItemGroup>
<RegexTransform Include="$(BuildSolutionDir)/src/Directory.Build.props;$(BuildSolutionDir)/tests/Directory.Build.props">
<Find>&lt;Version&gt;[^&lt;]*</Find>
<ReplaceWith>&lt;Version&gt;$(PackageVersion)</ReplaceWith>
</RegexTransform>
</ItemGroup>

<RegexTransform Items="@(RegexTransform)" />
</Target>

<Target Name="Default" DependsOnTargets="$(DoBuildSolutionsDependsOn)">

<!-- ServiceStack.Azure.Core -->
<MSBuild Projects="$(BuildSolutionDir)/src/ServiceStack.Azure/ServiceStack.Azure.Core.csproj" Targets="Restore" />
<MSBuild Projects="$(BuildSolutionDir)/src/ServiceStack.Azure/ServiceStack.Azure.Core.csproj"
Targets="Build;Pack"
Properties="Configuration=$(Configuration)" />


<!-- Copy all *.nupkg to /NuGet -->
<ItemGroup>
<NugetPackagesToMove Include="$(BuildSolutionDir)/src/**/bin/$(Configuration)/*.nupkg"/>
</ItemGroup>
<Move SourceFiles="@(NugetPackagesToMove)" DestinationFolder="$(NuGetPackageDir)" />

<!-- leave .sln in optimal state then NuGet restore .sln to build -->
<CallTarget Targets="ClearNuGetRestoreCaches" />

</Target>
</Project>
2 changes: 1 addition & 1 deletion build/build.bat
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
SET MSBUILD="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe"

%MSBUILD% build.proj /target:Default;NuGetPack /property:Configuration=Release;MinorVersion=1;PatchVersion=0
%MSBUILD% build.proj /property:Configuration=Release;MinorVersion=4;PatchVersion=1
Loading