initial release
This commit is contained in:
Коммит
d21c86c1c4
|
@ -0,0 +1,34 @@
|
|||
bin/
|
||||
obj/
|
||||
*.suo
|
||||
#ignore thumbnails created by windows
|
||||
Thumbs.db
|
||||
#Ignore files build by Visual Studio
|
||||
*.build.csdef
|
||||
*.obj
|
||||
*.exe
|
||||
*.pdb
|
||||
*.user
|
||||
*.aps
|
||||
*.pch
|
||||
*.vspscc
|
||||
*_i.c
|
||||
*_p.c
|
||||
*.ncb
|
||||
*.suo
|
||||
*.tlb
|
||||
*.tlh
|
||||
*.bak
|
||||
*.cache
|
||||
*.ilk
|
||||
*.log
|
||||
[Bb]in
|
||||
[Dd]ebug*/
|
||||
*.lib
|
||||
*.sbr
|
||||
*.resharper.user
|
||||
obj/
|
||||
[Rr]elease*/
|
||||
_ReSharper*/
|
||||
[Tt]est[Rr]esult*
|
||||
App_Data/
|
|
@ -0,0 +1,20 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AzureManagementWithKinect", "AzureManagementWithKinect\AzureManagementWithKinect.csproj", "{602539B8-D783-496C-81F9-66FB0A5F20C2}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x86 = Debug|x86
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{602539B8-D783-496C-81F9-66FB0A5F20C2}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{602539B8-D783-496C-81F9-66FB0A5F20C2}.Debug|x86.Build.0 = Debug|x86
|
||||
{602539B8-D783-496C-81F9-66FB0A5F20C2}.Release|x86.ActiveCfg = Release|x86
|
||||
{602539B8-D783-496C-81F9-66FB0A5F20C2}.Release|x86.Build.0 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
|
@ -0,0 +1,8 @@
|
|||
<Application x:Class="AzureManagementWithKinect.App"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
StartupUri="MainWindow.xaml">
|
||||
<Application.Resources>
|
||||
|
||||
</Application.Resources>
|
||||
</Application>
|
|
@ -0,0 +1,16 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
|
||||
namespace AzureManagementWithKinect
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for App.xaml
|
||||
/// </summary>
|
||||
public partial class App : Application
|
||||
{
|
||||
}
|
||||
}
|
|
@ -0,0 +1,162 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
|
||||
<ProductVersion>8.0.30703</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{602539B8-D783-496C-81F9-66FB0A5F20C2}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>AzureManagementWithKinect</RootNamespace>
|
||||
<AssemblyName>AzureManagementWithKinect</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<TargetFrameworkProfile>
|
||||
</TargetFrameworkProfile>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Coding4Fun.Kinect.Wpf">
|
||||
<HintPath>..\packages\Coding4Fun.Kinect.Wpf.1.1.0\lib\Coding4Fun.Kinect.Wpf.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Kinect.Toolbox">
|
||||
<HintPath>..\packages\KinectToolbox.1.1.0.2\lib\Kinect.Toolbox.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Kinect.Toolbox.Voice">
|
||||
<HintPath>..\packages\KinectToolbox.1.1.0.2\lib\Kinect.Toolbox.Voice.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Expression.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Coding4Fun.Kinect.Wpf.1.1.0\lib\Microsoft.Expression.Drawing.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Research.Kinect, Version=1.0.0.45, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
|
||||
<Reference Include="Microsoft.Json">
|
||||
<HintPath>..\packages\JsonValue.0.5.0\lib\40\Microsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Net.Http, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\packages\HttpClient.0.5.0\lib\40\Microsoft.Net.Http.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Net.Http.Formatting, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\packages\HttpClient.0.5.0\lib\40\Microsoft.Net.Http.Formatting.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Server.Common">
|
||||
<HintPath>..\packages\JsonValue.0.5.0\lib\40\Microsoft.Server.Common.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Configuration" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Runtime.Serialization" />
|
||||
<Reference Include="System.ServiceModel" />
|
||||
<Reference Include="System.ServiceModel.Activation" />
|
||||
<Reference Include="System.ServiceModel.Web" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="System.Xaml">
|
||||
<RequiredTargetFramework>4.0</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="WindowsBase" />
|
||||
<Reference Include="PresentationCore" />
|
||||
<Reference Include="PresentationFramework" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ApplicationDefinition Include="App.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</ApplicationDefinition>
|
||||
<Compile Include="AzureManagementWrapper.cs" />
|
||||
<Compile Include="ViewModel\DeploymentViewModel.cs" />
|
||||
<Page Include="KinectColorViewer.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="MainWindow.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Compile Include="App.xaml.cs">
|
||||
<DependentUpon>App.xaml</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Constants.cs" />
|
||||
<Compile Include="InteropBitmapHelper.cs" />
|
||||
<Compile Include="KinectColorViewer.xaml.cs">
|
||||
<DependentUpon>KinectColorViewer.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MainWindow.xaml.cs">
|
||||
<DependentUpon>MainWindow.xaml</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Model\Deployment.cs" />
|
||||
<Compile Include="Model\HostedService.cs" />
|
||||
<Compile Include="Model\OperationTracking.cs" />
|
||||
<Compile Include="Model\ServiceManagementError.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<None Include="app.config" />
|
||||
<None Include="packages.config" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<AppDesigner Include="Properties\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\Hand_Basic.png">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Resource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\gears.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
|
@ -0,0 +1,203 @@
|
|||
namespace AzureManagementWithKinect
|
||||
{
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Net.Http.Formatting;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using System.Xml.Linq;
|
||||
using AzureManagementWithKinect.Model;
|
||||
|
||||
public class AzureManagementWrapper
|
||||
{
|
||||
private HttpClient client;
|
||||
|
||||
public AzureManagementWrapper(string subscriptionId, X509Certificate2 managementCertificate, string versionHeader = Constants.VersionHeaderContent)
|
||||
{
|
||||
this.SubscriptionId = subscriptionId;
|
||||
this.client = GetClient(subscriptionId, managementCertificate, versionHeader);
|
||||
}
|
||||
|
||||
public string SubscriptionId { get; private set; }
|
||||
|
||||
public HostedServiceList GetHostedServices()
|
||||
{
|
||||
var response = this.client.Get("services/hostedservices");
|
||||
return ReadResponseContent<HostedServiceList>(response);
|
||||
}
|
||||
|
||||
public HostedService GetHostedService(string name)
|
||||
{
|
||||
var response = this.client.Get("services/hostedservices/" + name);
|
||||
return ReadResponseContent<HostedService>(response);
|
||||
}
|
||||
|
||||
public Deployment GetDeployment(string serviceName, string deploymentSlot, bool embedDetails = false)
|
||||
{
|
||||
var uri = string.Format("services/hostedservices/{0}/deploymentslots/{1}", serviceName, deploymentSlot);
|
||||
if (embedDetails)
|
||||
{
|
||||
uri += "?embed-detail=TRUE";
|
||||
}
|
||||
|
||||
var response = this.client.Get(uri);
|
||||
return ReadResponseContent<Deployment>(response, false);
|
||||
}
|
||||
|
||||
public string SwapDeployment(string serviceName)
|
||||
{
|
||||
var production = this.GetDeployment(serviceName, DeploymentSlotType.Production);
|
||||
var staging = this.GetDeployment(serviceName, DeploymentSlotType.Staging);
|
||||
|
||||
if (staging == null || string.IsNullOrWhiteSpace(staging.Name)) return null;
|
||||
|
||||
var swapDeploymentInput = new SwapDeploymentInput
|
||||
{
|
||||
Production = (production == null || string.IsNullOrWhiteSpace(production.Name)) ? null : production.Name,
|
||||
SourceDeployment = staging.Name
|
||||
};
|
||||
|
||||
var formatter = new XmlMediaTypeFormatter();
|
||||
formatter.SetSerializer<SwapDeploymentInput>(new DataContractSerializer(typeof(SwapDeploymentInput)));
|
||||
|
||||
using (var content = new ObjectContent<SwapDeploymentInput>(swapDeploymentInput, "application/xml", new[] { formatter }))
|
||||
{
|
||||
var requestUri = string.Format("services/hostedservices/{0}", serviceName);
|
||||
var response = this.client.Post(requestUri, content);
|
||||
|
||||
if (!response.IsSuccessStatusCode)
|
||||
{
|
||||
var errorDetails = GetErrorDetails(response);
|
||||
throw new InvalidOperationException(errorDetails.Message);
|
||||
}
|
||||
|
||||
return response.Headers.GetValues(Constants.OperationTrackingIdHeader).FirstOrDefault();
|
||||
}
|
||||
}
|
||||
|
||||
public string UpdateRoleInstances(string serviceName, string deploymentSlot, string roleName, int instancesCount, string configuration = "")
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(configuration))
|
||||
{
|
||||
configuration = this.GetDeployment(serviceName, deploymentSlot).Configuration;
|
||||
}
|
||||
|
||||
var configXml = XDocument.Parse(configuration);
|
||||
var roleConfiguration = configXml.Root.Descendants(Constants.ServiceConfigurationNS + "Role").SingleOrDefault(r => r.Attribute("name").Value == roleName);
|
||||
|
||||
if (roleConfiguration != null)
|
||||
{
|
||||
roleConfiguration.Descendants(Constants.ServiceConfigurationNS + "Instances").First().Attribute("count").Value = instancesCount.ToString(CultureInfo.InvariantCulture);
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new InvalidOperationException("The role does not exist");
|
||||
}
|
||||
|
||||
return this.UpdateDeploymentConfiguration(serviceName, deploymentSlot, configXml.ToString());
|
||||
}
|
||||
|
||||
public string UpdateDeploymentConfiguration(string serviceName, string deploymentSlot, string configuration, bool treatWarningsAsError = false, string mode = "Auto")
|
||||
{
|
||||
var deploymentStatus = new ChangeConfigurationInput
|
||||
{
|
||||
Configuration = configuration,
|
||||
Mode = mode,
|
||||
TreatWarningsAsError = treatWarningsAsError
|
||||
};
|
||||
|
||||
var formatter = new XmlMediaTypeFormatter();
|
||||
formatter.SetSerializer<ChangeConfigurationInput>(new DataContractSerializer(typeof(ChangeConfigurationInput)));
|
||||
|
||||
using (var content = new ObjectContent<ChangeConfigurationInput>(deploymentStatus, "application/xml", new[] { formatter }))
|
||||
{
|
||||
var requestUri = string.Format("services/hostedservices/{0}/deploymentslots/{1}/?comp=config", serviceName, deploymentSlot);
|
||||
var response = this.client.Post(requestUri, content);
|
||||
|
||||
if (!response.IsSuccessStatusCode)
|
||||
{
|
||||
var errorDetails = GetErrorDetails(response);
|
||||
throw new InvalidOperationException(errorDetails.Message);
|
||||
}
|
||||
|
||||
return response.Headers.GetValues(Constants.OperationTrackingIdHeader).FirstOrDefault();
|
||||
}
|
||||
}
|
||||
|
||||
public string UpdateDeploymentStatus(string serviceName, string deploymentSlot, DeploymentStatus status)
|
||||
{
|
||||
var deploymentStatus = new UpdateDeploymentStatusInput
|
||||
{
|
||||
Status = status.ToString()
|
||||
};
|
||||
|
||||
var formatter = new XmlMediaTypeFormatter();
|
||||
formatter.SetSerializer<UpdateDeploymentStatusInput>(new DataContractSerializer(typeof(UpdateDeploymentStatusInput)));
|
||||
|
||||
using (var content = new ObjectContent<UpdateDeploymentStatusInput>(deploymentStatus, "application/xml", new[] { formatter }))
|
||||
{
|
||||
var requestUri = string.Format("services/hostedservices/{0}/deploymentslots/{1}/?comp=status", serviceName, deploymentSlot);
|
||||
var response = this.client.Post(requestUri, content);
|
||||
|
||||
if (!response.IsSuccessStatusCode)
|
||||
{
|
||||
var errorDetails = GetErrorDetails(response);
|
||||
throw new InvalidOperationException(errorDetails.Message);
|
||||
}
|
||||
|
||||
return response.Headers.GetValues(Constants.OperationTrackingIdHeader).FirstOrDefault();
|
||||
}
|
||||
}
|
||||
|
||||
public Operation GetOperationStatus(string operationId)
|
||||
{
|
||||
var response = this.client.Get("operations/" + operationId);
|
||||
return ReadResponseContent<Operation>(response);
|
||||
}
|
||||
|
||||
private static ServiceManagementError GetErrorDetails(HttpResponseMessage response)
|
||||
{
|
||||
var formatter = new XmlMediaTypeFormatter();
|
||||
formatter.SetSerializer<ServiceManagementError>(new DataContractSerializer(typeof(ServiceManagementError)));
|
||||
|
||||
var error = response.Content.ReadAsOrDefault<ServiceManagementError>(new[] { formatter });
|
||||
|
||||
return error ?? new ServiceManagementError { Code = response.StatusCode.ToString(), Message = response.ReasonPhrase };
|
||||
}
|
||||
|
||||
private static T ReadResponseContent<T>(HttpResponseMessage response, bool throwErrorIfNotFound = true)
|
||||
{
|
||||
if (!response.IsSuccessStatusCode)
|
||||
{
|
||||
if (response.StatusCode == HttpStatusCode.NotFound && !throwErrorIfNotFound)
|
||||
{
|
||||
return default(T);
|
||||
}
|
||||
|
||||
var errorDetails = GetErrorDetails(response);
|
||||
throw new InvalidOperationException(errorDetails.Message);
|
||||
}
|
||||
|
||||
var formatter = new XmlMediaTypeFormatter();
|
||||
formatter.SetSerializer<T>(new DataContractSerializer(typeof(T)));
|
||||
|
||||
return response.Content.ReadAs<T>(new[] { formatter });
|
||||
}
|
||||
|
||||
private static HttpClient GetClient(string subscriptionId, X509Certificate2 managementCertificate, string versionHeader)
|
||||
{
|
||||
var clientHandler = new WebRequestHandler();
|
||||
clientHandler.ClientCertificates.Add(managementCertificate);
|
||||
clientHandler.ClientCertificateOptions = ClientCertificateOption.Manual;
|
||||
|
||||
var client = new HttpClient(clientHandler);
|
||||
client.BaseAddress = new Uri(string.Format("{0}/{1}/", Constants.ServiceManagementEndpoint, subscriptionId));
|
||||
client.DefaultRequestHeaders.Add(Constants.VersionHeaderName, versionHeader);
|
||||
|
||||
return client;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,75 @@
|
|||
namespace AzureManagementWithKinect
|
||||
{
|
||||
using System.Xml.Linq;
|
||||
|
||||
public enum DeploymentStatus
|
||||
{
|
||||
Running,
|
||||
Suspended
|
||||
}
|
||||
|
||||
public static class Constants
|
||||
{
|
||||
public const string ServiceManagementEndpoint = "https://management.core.windows.net";
|
||||
public const string ServiceManagementNS = "http://schemas.microsoft.com/windowsazure";
|
||||
public const string OperationTrackingIdHeader = "x-ms-request-id";
|
||||
public const string VersionHeaderName = "x-ms-version";
|
||||
public const string VersionHeaderContent = "2011-10-01";
|
||||
public const string PrincipalHeader = "x-ms-principal-id";
|
||||
|
||||
public static XNamespace ServiceConfigurationNS
|
||||
{
|
||||
get { return "http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration"; }
|
||||
}
|
||||
}
|
||||
|
||||
public static class ServiceStatus
|
||||
{
|
||||
public const string ResolvingDns = "ResolvingDns";
|
||||
public const string Creating = "Creating";
|
||||
public const string Created = "Created";
|
||||
}
|
||||
|
||||
public static class DeploymentState
|
||||
{
|
||||
public const string Running = "Running";
|
||||
public const string Suspended = "Suspended";
|
||||
public const string RunningTransitioning = "RunningTransitioning";
|
||||
public const string SuspendedTransitioning = "SuspendedTransitioning";
|
||||
public const string Starting = "Starting";
|
||||
public const string Suspending = "Suspending";
|
||||
public const string Deploying = "Deploying";
|
||||
public const string Deleting = "Deleting";
|
||||
}
|
||||
|
||||
public static class RoleInstanceStatus
|
||||
{
|
||||
public const string RoleStateUnknown = "RoleStateUnknown";
|
||||
public const string CreatingVM = "CreatingVM";
|
||||
public const string StartingVM = "StartingVM";
|
||||
public const string CreatingRole = "CreatingRole";
|
||||
public const string StartingRole = "StartingRole";
|
||||
public const string ReadyRole = "ReadyRole";
|
||||
public const string BusyRole = "BusyRole";
|
||||
public const string StoppingRole = "StoppingRole";
|
||||
public const string DeletingVM = "DeletingVM";
|
||||
public const string StoppedVM = "StoppedVM";
|
||||
public const string RestartingRole = "RestartingRole";
|
||||
public const string CyclingRole = "CyclingRole";
|
||||
public const string FailedStartingRole = "FailedStartingRole";
|
||||
public const string UnresponsiveRole = "UnresponsiveRole";
|
||||
}
|
||||
|
||||
public static class OperationState
|
||||
{
|
||||
public const string InProgress = "InProgress";
|
||||
public const string Succeeded = "Succeeded";
|
||||
public const string Failed = "Failed";
|
||||
}
|
||||
|
||||
public static class DeploymentSlotType
|
||||
{
|
||||
public const string Staging = "Staging";
|
||||
public const string Production = "Production";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,69 @@
|
|||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Windows.Interop;
|
||||
using System.Windows.Media;
|
||||
|
||||
namespace AzureManagementWithKinect
|
||||
{
|
||||
/// <summary>
|
||||
/// InteropBitmapHelper is a helper class meant to ease the scenario of using an interopBitmap.
|
||||
/// InteropBitmaps are a construct in WPF which allow update of the image bits in an efficient way.
|
||||
/// </summary>
|
||||
public class InteropBitmapHelper
|
||||
{
|
||||
#region ctors
|
||||
public InteropBitmapHelper(int width, int height, byte[] imageBits)
|
||||
: this(width, height, imageBits, PixelFormats.Bgr32)
|
||||
{
|
||||
}
|
||||
|
||||
public InteropBitmapHelper(int width, int height, byte[] imageBits, PixelFormat pixelFormat)
|
||||
{
|
||||
_Width = width;
|
||||
_Height = height;
|
||||
_PixelFormat = pixelFormat;
|
||||
|
||||
int stride = width * pixelFormat.BitsPerPixel / 8;
|
||||
_ColorByteCount = (uint)(height * stride);
|
||||
var colorFileMapping = CreateFileMapping(new IntPtr(-1), IntPtr.Zero, 0x04, 0, _ColorByteCount, null);
|
||||
_ImageBits = MapViewOfFile(colorFileMapping, 0xF001F, 0, 0, _ColorByteCount);
|
||||
Marshal.Copy(imageBits, 0, _ImageBits, (int)_ColorByteCount);
|
||||
InteropBitmap = Imaging.CreateBitmapSourceFromMemorySection(colorFileMapping, width, height, pixelFormat, stride, 0) as InteropBitmap;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region public API
|
||||
public void UpdateBits(byte[] imageBits)
|
||||
{
|
||||
Marshal.Copy(imageBits, 0, _ImageBits, (int)_ColorByteCount);
|
||||
InteropBitmap.Invalidate();
|
||||
}
|
||||
|
||||
public InteropBitmap InteropBitmap { get; private set; }
|
||||
#endregion
|
||||
|
||||
#region private state
|
||||
private int _Width;
|
||||
private int _Height;
|
||||
private PixelFormat _PixelFormat;
|
||||
private IntPtr _ImageBits;
|
||||
private uint _ColorByteCount;
|
||||
#endregion
|
||||
|
||||
#region DllImports
|
||||
[DllImport("kernel32.dll", SetLastError = true)]
|
||||
static extern IntPtr CreateFileMapping(IntPtr hFile,
|
||||
IntPtr lpFileMappingAttributes,
|
||||
uint flProtect,
|
||||
uint dwMaximumSizeHigh,
|
||||
uint dwMaximumSizeLow,
|
||||
string lpName);
|
||||
[DllImport("kernel32.dll", SetLastError = true)]
|
||||
static extern IntPtr MapViewOfFile(IntPtr hFileMappingObject,
|
||||
uint dwDesiredAccess,
|
||||
uint dwFileOffsetHigh,
|
||||
uint dwFileOffsetLow,
|
||||
uint dwNumberOfBytesToMap);
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
<UserControl x:Class="AzureManagementWithKinect.KinectColorViewer"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="300" d:DesignWidth="300">
|
||||
<Image Name="kinectColorImage" />
|
||||
</UserControl>
|
|
@ -0,0 +1,60 @@
|
|||
namespace AzureManagementWithKinect
|
||||
{
|
||||
using System.Windows.Controls;
|
||||
using Microsoft.Research.Kinect.Nui;
|
||||
using KinectNui = Microsoft.Research.Kinect.Nui; //Microsoft.Runtime is conflicting with using Runtime without an expicit namespace. This happens because the namespace starts with "Microsoft."
|
||||
|
||||
public partial class KinectColorViewer : UserControl
|
||||
{
|
||||
private KinectNui.Runtime kinect;
|
||||
private InteropBitmapHelper imageHelper;
|
||||
|
||||
public RuntimeOptions RuntimeOptions { get; set; }
|
||||
|
||||
public KinectColorViewer()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public KinectNui.Runtime Kinect
|
||||
{
|
||||
get
|
||||
{
|
||||
return kinect;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
if (kinect != null)
|
||||
{
|
||||
kinect.VideoFrameReady -= ColorImageReady;
|
||||
}
|
||||
|
||||
kinect = value;
|
||||
|
||||
if (kinect != null && kinect.Status == KinectStatus.Connected)
|
||||
{
|
||||
kinect.VideoStream.Open(ImageStreamType.Video, 1, ImageResolution.Resolution640x480, ImageType.Color);
|
||||
kinect.VideoFrameReady += ColorImageReady;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ColorImageReady(object sender, ImageFrameReadyEventArgs e)
|
||||
{
|
||||
PlanarImage planarImage = e.ImageFrame.Image;
|
||||
|
||||
//An interopBitmap is a WPF construct that enables resetting the Bits of the image.
|
||||
//This is more efficient than doing a BitmapSource.Create call every frame.
|
||||
if (imageHelper == null)
|
||||
{
|
||||
imageHelper = new InteropBitmapHelper(planarImage.Width, planarImage.Height, planarImage.Bits);
|
||||
kinectColorImage.Source = imageHelper.InteropBitmap;
|
||||
}
|
||||
else
|
||||
{
|
||||
imageHelper.UpdateBits(planarImage.Bits);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,186 @@
|
|||
<Window x:Class="AzureManagementWithKinect.MainWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:kt="clr-namespace:AzureManagementWithKinect"
|
||||
xmlns:Controls="clr-namespace:Coding4Fun.Kinect.Wpf.Controls;assembly=Coding4Fun.Kinect.Wpf"
|
||||
Title="Kinect Powered Windows Azure" WindowState="Maximized">
|
||||
|
||||
<Window.Resources>
|
||||
<Style x:Key="DetailTextBlockKeyStyle" TargetType="TextBlock">
|
||||
<Setter Property="Foreground" Value="White" />
|
||||
<Setter Property="FontSize" Value="20" />
|
||||
<Setter Property="Padding" Value="8,4" />
|
||||
<Setter Property="Margin" Value="4" />
|
||||
<Setter Property="FontFamily" Value="Segoe UI" />
|
||||
<Setter Property="FontWeight" Value="DemiBold" />
|
||||
</Style>
|
||||
|
||||
<Style x:Key="DetailTextBlockValueStyle" TargetType="TextBlock">
|
||||
<Setter Property="Foreground" Value="White" />
|
||||
<Setter Property="FontSize" Value="20" />
|
||||
<Setter Property="Padding" Value="8,4" />
|
||||
<Setter Property="Margin" Value="4" />
|
||||
<Setter Property="FontFamily" Value="Segoe UI" />
|
||||
</Style>
|
||||
|
||||
<Style x:Key="DetailButtonStyle" TargetType="Button">
|
||||
<Setter Property="Margin" Value="10 30 10 0" />
|
||||
<Setter Property="Background" Value="Orange" />
|
||||
<Setter Property="Opacity" Value="0.55" />
|
||||
<Setter Property="FontSize" Value="20" />
|
||||
<Setter Property="HorizontalAlignment" Value="Center" />
|
||||
<Setter Property="Width" Value="180" />
|
||||
<Setter Property="Height" Value="90" />
|
||||
<Setter Property="FontFamily" Value="Segoe UI" />
|
||||
<Setter Property="FontWeight" Value="Bold" />
|
||||
</Style>
|
||||
|
||||
<Style x:Key="TrackingTextBlockStyle" TargetType="TextBlock">
|
||||
<Setter Property="FontSize" Value="18" />
|
||||
<Setter Property="HorizontalAlignment" Value="Left" />
|
||||
<Setter Property="VerticalAlignment" Value="Bottom" />
|
||||
<Setter Property="FontFamily" Value="Segoe UI Semilight" />
|
||||
<Setter Property="Opacity" Value="0.85" />
|
||||
<Setter Property="Margin" Value="10 0 10 25" />
|
||||
<Setter Property="Foreground" Value="White" />
|
||||
<Setter Property="Visibility" Value="Hidden" />
|
||||
<Setter Property="Background" Value="Red" />
|
||||
<Setter Property="Padding" Value="5" />
|
||||
</Style>
|
||||
|
||||
<Storyboard x:Key="LoadingStoryBoard" RepeatBehavior="Forever">
|
||||
<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="ellipse" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[2].(RotateTransform.Angle)">
|
||||
<SplineDoubleKeyFrame KeyTime="00:00:02" Value="360"/>
|
||||
</DoubleAnimationUsingKeyFrames>
|
||||
</Storyboard>
|
||||
|
||||
</Window.Resources>
|
||||
|
||||
<Grid>
|
||||
<kt:KinectColorViewer x:Name="kinectColorViewer" x:FieldModifier="public" HorizontalAlignment="Stretch" />
|
||||
|
||||
<TextBlock Name ="Title" FontSize="36" Text="Kinect Powered Windows Azure"
|
||||
HorizontalAlignment="Center" VerticalAlignment="Top"
|
||||
FontFamily="Segoe UI" Opacity="0.85"
|
||||
Margin="0 20 0 0" Background="White"
|
||||
Padding="20 5 20 5" Height="65"/>
|
||||
|
||||
<ListView Name="MainView" Background="Transparent" >
|
||||
<ListView.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<StackPanel Height="250" Width="200" Background="Orange" Margin="30 0 30 0" Opacity="0.55">
|
||||
<Image Source="/Resources/gears.png" Width="130" HorizontalAlignment="Center" Margin="0 25 0 0" />
|
||||
<TextBlock FontSize="20" Text="{Binding HostedServiceName}" HorizontalAlignment="Center" FontFamily="Segoe UI" Margin="0 25 0 0" TextTrimming="WordEllipsis" FontWeight="DemiBold" Padding="5 0 5 0"/>
|
||||
<TextBlock FontSize="18" Text="{Binding RoleName}" HorizontalAlignment="Center" FontFamily="Segoe UI" Margin="0 5 0 0" TextTrimming="WordEllipsis" FontWeight="DemiBold" Padding="5 0 5 0"/>
|
||||
<TextBlock FontSize="16" Text="{Binding Environment}" HorizontalAlignment="Center" FontFamily="Segoe UI" Margin="0 5 0 0" TextTrimming="WordEllipsis" FontWeight="DemiBold" Padding="5 0 5 0"/>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</ListView.ItemTemplate>
|
||||
|
||||
<ListView.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<StackPanel Orientation="Horizontal" ScrollViewer.CanContentScroll="True"></StackPanel>
|
||||
</ItemsPanelTemplate>
|
||||
</ListView.ItemsPanel>
|
||||
|
||||
</ListView>
|
||||
|
||||
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Name="DetailView" Visibility="Collapsed">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="300"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="300"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<Grid Grid.Column="1" Height="500" Width="700" Background="red" Margin="0 100 0 0" Opacity="0.7">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="200"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<TextBlock Grid.Row="0" Grid.Column="0" Text="Role Name" Style="{StaticResource DetailTextBlockKeyStyle}"></TextBlock>
|
||||
<TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding Role.RoleName}" Style="{StaticResource DetailTextBlockValueStyle}"></TextBlock>
|
||||
|
||||
<TextBlock Grid.Row="1" Grid.Column="0" Text="OS Version" Style="{StaticResource DetailTextBlockKeyStyle}"></TextBlock>
|
||||
<TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding Role.OsVersion}" Style="{StaticResource DetailTextBlockValueStyle}"></TextBlock>
|
||||
|
||||
<TextBlock Grid.Row="2" Grid.Column="0" Text="Name" Style="{StaticResource DetailTextBlockKeyStyle}"></TextBlock>
|
||||
<TextBlock Grid.Row="2" Grid.Column="1" Text="{Binding Deployment.Name}" Style="{StaticResource DetailTextBlockValueStyle}"></TextBlock>
|
||||
|
||||
<TextBlock Grid.Row="3" Grid.Column="0" Text="Label" Style="{StaticResource DetailTextBlockKeyStyle}"></TextBlock>
|
||||
<TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding Deployment.Label}" Style="{StaticResource DetailTextBlockValueStyle}"></TextBlock>
|
||||
|
||||
<TextBlock Grid.Row="4" Grid.Column="0" Text="Role Instance Count" Style="{StaticResource DetailTextBlockKeyStyle}"></TextBlock>
|
||||
<TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding RoleInstanceCount}" Style="{StaticResource DetailTextBlockValueStyle}"></TextBlock>
|
||||
|
||||
<TextBlock Grid.Row="5" Grid.Column="0" Text="Url" Style="{StaticResource DetailTextBlockKeyStyle}"></TextBlock>
|
||||
<TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding Deployment.Url}" Style="{StaticResource DetailTextBlockValueStyle}"></TextBlock>
|
||||
|
||||
<TextBlock Grid.Row="6" Grid.Column="0" Text="Environment" Style="{StaticResource DetailTextBlockKeyStyle}"></TextBlock>
|
||||
<TextBlock Grid.Row="6" Grid.Column="1" Text="{Binding Deployment.DeploymentSlot}" Style="{StaticResource DetailTextBlockValueStyle}"></TextBlock>
|
||||
|
||||
<TextBlock Grid.Row="7" Grid.Column="0" Text="SDK Version" Style="{StaticResource DetailTextBlockKeyStyle}"></TextBlock>
|
||||
<TextBlock Grid.Row="7" Grid.Column="1" Text="{Binding Deployment.SdkVersion}" Style="{StaticResource DetailTextBlockValueStyle}"></TextBlock>
|
||||
|
||||
<TextBlock Grid.Row="8" Grid.Column="0" Text="Status" Style="{StaticResource DetailTextBlockKeyStyle}"></TextBlock>
|
||||
<TextBlock Grid.Row="8" Grid.Column="1" Text="{Binding Deployment.Status}" Style="{StaticResource DetailTextBlockValueStyle}"></TextBlock>
|
||||
</Grid>
|
||||
|
||||
<StackPanel Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Left">
|
||||
<Button Name="ScaleUpButton" Content="Scale Up" Style="{StaticResource DetailButtonStyle}"></Button>
|
||||
<Button Name="ScaleDownButton" Content="Scale Down" Style="{StaticResource DetailButtonStyle}"></Button>
|
||||
<Button Name="SwapButton" Content="Swap VIP" Style="{StaticResource DetailButtonStyle}"></Button>
|
||||
<Button Name="StopButton" Content="Stop Instance" Style="{StaticResource DetailButtonStyle}"></Button>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Grid.Column="0" VerticalAlignment="Center" HorizontalAlignment="Right">
|
||||
<Button Name="RefreshButton" Grid.Column="0" Content="Refresh" Style="{StaticResource DetailButtonStyle}"/>
|
||||
<Button Name="BackButton" Grid.Column="0" Content="<< Back" Style="{StaticResource DetailButtonStyle}"/>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
|
||||
<Canvas Background="Transparent" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
|
||||
<Controls:HoverButton Margin="0" Padding="0" x:Name="kinectButton" ImageSize="64"
|
||||
ImageSource="/Resources/Hand_Basic.png"
|
||||
ActiveImageSource="/Resources/Hand_Basic.png"
|
||||
TimeInterval="2000" Canvas.Left="0" Canvas.Top="0" Panel.ZIndex="1000" />
|
||||
</Canvas>
|
||||
|
||||
<Grid Name="LoadingImage" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Visibility="Hidden" Background="White" Opacity="0.8">
|
||||
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
|
||||
<Ellipse x:Name="ellipse" StrokeThickness="15" RenderTransformOrigin="0.5,0.5" Width="90" Height="90">
|
||||
<Ellipse.RenderTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform/>
|
||||
<SkewTransform/>
|
||||
<RotateTransform/>
|
||||
</TransformGroup>
|
||||
</Ellipse.RenderTransform>
|
||||
<Ellipse.Stroke>
|
||||
<LinearGradientBrush EndPoint="0.445,0.997" StartPoint="0.555,0.003">
|
||||
<GradientStop Color="White" Offset="0"/>
|
||||
<GradientStop Color="Black" Offset="1"/>
|
||||
</LinearGradientBrush>
|
||||
</Ellipse.Stroke>
|
||||
</Ellipse>
|
||||
|
||||
<TextBlock Name="LoadingText" Text="Loading..." FontSize="20" Foreground="Black" />
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
|
||||
<TextBlock Name="TrackingText" Text="Tracking" Style="{StaticResource TrackingTextBlockStyle}"/>
|
||||
</Grid>
|
||||
</Window>
|
|
@ -0,0 +1,509 @@
|
|||
namespace AzureManagementWithKinect
|
||||
{
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Configuration;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Animation;
|
||||
using System.Windows.Threading;
|
||||
using System.Xml.Linq;
|
||||
using AzureManagementWithKinect.Model;
|
||||
using AzureManagementWithKinect.ViewModel;
|
||||
using Coding4Fun.Kinect.Wpf;
|
||||
using Coding4Fun.Kinect.Wpf.Controls;
|
||||
using Kinect.Toolbox;
|
||||
using Microsoft.Research.Kinect.Nui;
|
||||
|
||||
public partial class MainWindow : Window
|
||||
{
|
||||
private readonly SwipeGestureDetector swipeGestureRecognizer = new SwipeGestureDetector();
|
||||
|
||||
private dynamic selectedItem;
|
||||
private ListViewItem selectedListItem;
|
||||
private Button selectedButton;
|
||||
private readonly Storyboard loading;
|
||||
|
||||
private static double _handLeft;
|
||||
private static double _handTop;
|
||||
|
||||
private const double ButtonOpacity = 0.55;
|
||||
private readonly AzureManagementWrapper service;
|
||||
private Deployment selectedDeployment;
|
||||
|
||||
private const string ResumeInstanceText = "Resume Instance";
|
||||
private const string SuspendInstanceText = "Suspend Instance";
|
||||
|
||||
private readonly BackgroundWorker backgroundWorker = new BackgroundWorker();
|
||||
|
||||
public MainWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
this.Loaded += new RoutedEventHandler(MainWindow_Loaded);
|
||||
this.kinectButton.Click += new RoutedEventHandler(kinectButton_Click);
|
||||
|
||||
var certificatePath = Path.Combine(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location), ConfigurationManager.AppSettings["ManagementCertificateName"]);
|
||||
var certificate = new X509Certificate2(certificatePath, ConfigurationManager.AppSettings["ManagementCertificatePassword"]);
|
||||
var subscriptionId = ConfigurationManager.AppSettings["SubscriptionsIdentifier"];
|
||||
|
||||
this.service = new AzureManagementWrapper(subscriptionId, certificate);
|
||||
|
||||
this.loading = this.Resources["LoadingStoryBoard"] as Storyboard;
|
||||
this.BeginStoryboard(loading);
|
||||
|
||||
backgroundWorker.DoWork += ((sender, args) =>
|
||||
{
|
||||
this.Dispatcher.BeginInvoke(DispatcherPriority.Normal,
|
||||
new Action(delegate()
|
||||
{
|
||||
this.kinectButton.Visibility = Visibility.Hidden;
|
||||
this.LoadingImage.Visibility = Visibility.Visible;
|
||||
}));
|
||||
((Action)args.Argument).Invoke();
|
||||
});
|
||||
|
||||
backgroundWorker.RunWorkerCompleted += ((sender, args) => this.Dispatcher.BeginInvoke(DispatcherPriority.Normal,
|
||||
new Action(delegate()
|
||||
{
|
||||
this.kinectButton.Visibility = Visibility.Visible;
|
||||
this.LoadingImage.Visibility = Visibility.Hidden;
|
||||
})));
|
||||
|
||||
Action loadHostedServices = () =>
|
||||
{
|
||||
var serviceNameFilter = ConfigurationManager.AppSettings["ServiceNameFilter"];
|
||||
var slotFilter = ConfigurationManager.AppSettings["SlotFilter"].Split(';');
|
||||
|
||||
var services = string.IsNullOrWhiteSpace(serviceNameFilter) ?
|
||||
service.GetHostedServices() :
|
||||
service.GetHostedServices().Where(hs => hs.ServiceName.ToLowerInvariant().Contains(serviceNameFilter.ToLowerInvariant()));
|
||||
|
||||
services.ToList().ForEach(hs => slotFilter.ToList().ForEach(s => AddHostedServiceRoles(hs, s)));
|
||||
};
|
||||
|
||||
backgroundWorker.RunWorkerAsync(loadHostedServices);
|
||||
}
|
||||
|
||||
private void AddHostedServiceRoles(HostedService hostedService, string environment)
|
||||
{
|
||||
var deployment = service.GetDeployment(hostedService.ServiceName, environment, true);
|
||||
if ((deployment != null) && !string.IsNullOrEmpty(deployment.Name))
|
||||
{
|
||||
foreach (var role in deployment.RoleList)
|
||||
{
|
||||
if (role == null) continue;
|
||||
this.MainView.Dispatcher.BeginInvoke(DispatcherPriority.Normal,
|
||||
new Action(
|
||||
() =>
|
||||
this.MainView.Items.Add(
|
||||
new
|
||||
{
|
||||
HostedServiceName = hostedService.ServiceName,
|
||||
Environment = deployment.DeploymentSlot,
|
||||
RoleName = role.RoleName,
|
||||
Role = role
|
||||
})));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void kinectButton_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (this.DetailView.Visibility == Visibility.Visible)
|
||||
{
|
||||
if (this.selectedButton.Equals(this.BackButton))
|
||||
{
|
||||
this.MainView.Visibility = Visibility.Visible;
|
||||
this.DetailView.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
else if (this.selectedButton.Equals(this.RefreshButton))
|
||||
{
|
||||
AsyncRefreshInstanceData();
|
||||
}
|
||||
else if (this.selectedButton.Equals(this.ScaleUpButton))
|
||||
{
|
||||
var role = this.selectedDeployment.RoleList.FirstOrDefault();
|
||||
|
||||
if (role != null)
|
||||
{
|
||||
int count = GetInstanceCountByRole(role.RoleName);
|
||||
this.LoadingText.Text = "Scaling up";
|
||||
UpdateInstaceCountOnRole(role.RoleName, ++count);
|
||||
}
|
||||
}
|
||||
else if (this.selectedButton.Equals(this.ScaleDownButton))
|
||||
{
|
||||
var role = this.selectedDeployment.RoleList.FirstOrDefault();
|
||||
|
||||
if (role != null)
|
||||
{
|
||||
int count = GetInstanceCountByRole(role.RoleName);
|
||||
if (count > 1)
|
||||
{
|
||||
this.LoadingText.Text = "Scaling down";
|
||||
UpdateInstaceCountOnRole(role.RoleName, --count);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (this.selectedButton.Equals(this.SwapButton))
|
||||
{
|
||||
var role = this.selectedDeployment.RoleList.FirstOrDefault();
|
||||
|
||||
if (role != null)
|
||||
{
|
||||
this.LoadingText.Text = "Swaping instances";
|
||||
Action action = () =>
|
||||
{
|
||||
service.SwapDeployment(this.selectedItem.HostedServiceName);
|
||||
this.RefreshInstanceData();
|
||||
};
|
||||
this.backgroundWorker.RunWorkerAsync(action);
|
||||
}
|
||||
}
|
||||
else if (this.selectedButton.Equals(this.StopButton))
|
||||
{
|
||||
if (this.selectedDeployment.Status.Equals(DeploymentState.Running))
|
||||
service.UpdateDeploymentStatus(this.selectedItem.HostedServiceName, this.selectedDeployment.DeploymentSlot, DeploymentStatus.Suspended);
|
||||
else
|
||||
service.UpdateDeploymentStatus(this.selectedItem.HostedServiceName, this.selectedDeployment.DeploymentSlot, DeploymentStatus.Running);
|
||||
|
||||
RefreshInstanceData();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
AsyncRefreshInstanceData();
|
||||
this.MainView.Visibility = Visibility.Collapsed;
|
||||
this.DetailView.Visibility = Visibility.Visible;
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateInstaceCountOnRole(string roleName, int count)
|
||||
{
|
||||
Action action = () =>
|
||||
{
|
||||
service.UpdateRoleInstances(this.selectedItem.HostedServiceName,
|
||||
this.selectedDeployment.DeploymentSlot, roleName, count);
|
||||
RefreshInstanceData();
|
||||
};
|
||||
this.backgroundWorker.RunWorkerAsync(action);
|
||||
}
|
||||
|
||||
private int GetInstanceCountByRole(string roleName)
|
||||
{
|
||||
var configXml = XDocument.Parse(this.selectedDeployment.Configuration);
|
||||
var roleConfiguration = configXml.Root.Descendants(Constants.ServiceConfigurationNS + "Role").SingleOrDefault(r => r.Attribute("name").Value == roleName);
|
||||
|
||||
if (roleConfiguration != null)
|
||||
{
|
||||
return Convert.ToInt32(roleConfiguration.Descendants(Constants.ServiceConfigurationNS + "Instances").First().Attribute("count").Value);
|
||||
}
|
||||
|
||||
throw new InvalidOperationException("The role does not exist");
|
||||
}
|
||||
|
||||
private void AsyncRefreshInstanceData()
|
||||
{
|
||||
this.backgroundWorker.RunWorkerAsync(this.RefreshInstanceData());
|
||||
}
|
||||
|
||||
private Action RefreshInstanceData()
|
||||
{
|
||||
Action refreshInstance = () =>
|
||||
{
|
||||
this.LoadingText.Dispatcher.BeginInvoke(DispatcherPriority.Normal,
|
||||
new Action(
|
||||
delegate()
|
||||
{
|
||||
this.LoadingText.Text =
|
||||
"Refreshing data...";
|
||||
}));
|
||||
this.selectedDeployment = service.GetDeployment(this.selectedItem.HostedServiceName, this.selectedItem.Environment, true);
|
||||
this.Dispatcher.BeginInvoke(DispatcherPriority.Normal,
|
||||
new Action(delegate()
|
||||
{
|
||||
this.DataContext = new RoleViewModel() { Deployment = this.selectedDeployment, Role = selectedItem.Role };
|
||||
}));
|
||||
this.StopButton.Dispatcher.BeginInvoke(DispatcherPriority.Normal,
|
||||
new Action(delegate()
|
||||
{
|
||||
this.StopButton.Content = this.selectedDeployment.Status.Equals(DeploymentState.Running) ? SuspendInstanceText : ResumeInstanceText;
|
||||
}));
|
||||
};
|
||||
refreshInstance.Invoke();
|
||||
return refreshInstance;
|
||||
}
|
||||
|
||||
void MainWindow_Loaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var kinect = Runtime.Kinects.FirstOrDefault();
|
||||
InitializeKinect(kinect);
|
||||
Runtime.Kinects.StatusChanged += Kinects_StatusChanged;
|
||||
}
|
||||
|
||||
public static DependencyObject GetScrollViewer(DependencyObject o)
|
||||
{
|
||||
if (o is ScrollViewer)
|
||||
{ return o; }
|
||||
|
||||
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(o); i++)
|
||||
{
|
||||
var child = VisualTreeHelper.GetChild(o, i);
|
||||
|
||||
var result = GetScrollViewer(child);
|
||||
if (result == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
return result;
|
||||
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private void InitializeKinect(Runtime kinect)
|
||||
{
|
||||
if (kinect != null)
|
||||
{
|
||||
kinect.Initialize(RuntimeOptions.UseColor | RuntimeOptions.UseDepthAndPlayerIndex |
|
||||
RuntimeOptions.UseSkeletalTracking);
|
||||
|
||||
kinect.SkeletonFrameReady += kinectRuntime_SkeletonFrameReady;
|
||||
|
||||
kinect.SkeletonEngine.TransformSmooth = true;
|
||||
|
||||
var parameters = new TransformSmoothParameters
|
||||
{
|
||||
Smoothing = 1.0f,
|
||||
Correction = 0.1f,
|
||||
Prediction = 0.1f,
|
||||
JitterRadius = 0.05f,
|
||||
MaxDeviationRadius = 0.05f
|
||||
};
|
||||
|
||||
this.swipeGestureRecognizer.OnGestureDetected += OnGestureDetected;
|
||||
|
||||
kinect.SkeletonEngine.SmoothParameters = parameters;
|
||||
|
||||
var foundViewer = this.kinectColorViewer;
|
||||
if (foundViewer != null)
|
||||
{
|
||||
foundViewer.Kinect = kinect;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void OnGestureDetected(string gesture)
|
||||
{
|
||||
if (this.DetailView.Visibility == Visibility.Visible) return;
|
||||
|
||||
var scrollViewer = GetScrollViewer(this.MainView) as ScrollViewer;
|
||||
if (scrollViewer == null) return;
|
||||
if (gesture == "SwipeToRight")
|
||||
scrollViewer.ScrollToHorizontalOffset(scrollViewer.HorizontalOffset - 1);
|
||||
|
||||
if (gesture == "SwipeToLeft")
|
||||
scrollViewer.ScrollToHorizontalOffset(scrollViewer.HorizontalOffset + 1);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
bool ProcessFrame(SkeletonFrame frame)
|
||||
{
|
||||
bool tracking = false;
|
||||
|
||||
foreach (var skeleton in frame.Skeletons)
|
||||
{
|
||||
if (skeleton == null) continue;
|
||||
|
||||
if (skeleton.TrackingState != SkeletonTrackingState.Tracked)
|
||||
continue;
|
||||
|
||||
tracking = true;
|
||||
|
||||
JointsCollection joints = skeleton.Joints;
|
||||
|
||||
Joint rightHand = joints[JointID.HandRight];
|
||||
Joint leftHand = joints[JointID.HandLeft];
|
||||
|
||||
var joinCursorHand = (rightHand.Position.Y > leftHand.Position.Y) ? rightHand : leftHand;
|
||||
|
||||
float posX = joinCursorHand.ScaleTo((int)SystemParameters.PrimaryScreenWidth, (int)SystemParameters.PrimaryScreenHeight).Position.X;
|
||||
float posY = joinCursorHand.ScaleTo((int)SystemParameters.PrimaryScreenWidth, (int)SystemParameters.PrimaryScreenHeight).Position.Y;
|
||||
|
||||
var kinect = Runtime.Kinects.FirstOrDefault();
|
||||
swipeGestureRecognizer.Add(joinCursorHand.Position, kinect.SkeletonEngine);
|
||||
|
||||
var scaledCursorJoint = new Joint
|
||||
{
|
||||
TrackingState = JointTrackingState.Tracked,
|
||||
Position = new Microsoft.Research.Kinect.Nui.Vector
|
||||
{
|
||||
X = posX,
|
||||
Y = posY,
|
||||
Z = joinCursorHand.Position.Z
|
||||
}
|
||||
};
|
||||
|
||||
OnButtonLocationChanged(kinectButton, (int)scaledCursorJoint.Position.X, (int)scaledCursorJoint.Position.Y);
|
||||
}
|
||||
|
||||
return tracking;
|
||||
}
|
||||
|
||||
void kinectRuntime_SkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e)
|
||||
{
|
||||
this.TrackingText.Visibility = Visibility.Hidden;
|
||||
|
||||
if (e.SkeletonFrame.Skeletons.Count() == 0) return;
|
||||
|
||||
if (ProcessFrame(e.SkeletonFrame)) this.TrackingText.Visibility = Visibility.Visible;
|
||||
}
|
||||
|
||||
private void OnButtonLocationChanged(HoverButton hand, int X, int Y)
|
||||
{
|
||||
if (IsButtonOverObject(hand)) hand.Hovering(); else hand.Release();
|
||||
|
||||
Canvas.SetLeft(hand, X - (hand.ActualWidth / 2));
|
||||
Canvas.SetTop(hand, Y - (hand.ActualHeight / 2));
|
||||
}
|
||||
|
||||
public bool IsButtonOverObject(FrameworkElement hand)
|
||||
{
|
||||
if (!Window.GetWindow(hand).IsActive || this.kinectButton.Visibility.Equals(Visibility.Hidden)) return false;
|
||||
|
||||
// get the location of the top left of the hand and then use it to find the middle of the hand
|
||||
var handTopLeft = new Point(Canvas.GetTop(hand), Canvas.GetLeft(hand));
|
||||
_handLeft = handTopLeft.X + (hand.ActualWidth / 2);
|
||||
_handTop = handTopLeft.Y + (hand.ActualHeight / 2);
|
||||
|
||||
if (this.DetailView.Visibility == Visibility.Visible)
|
||||
{
|
||||
var buttons = GetListViewElements2<Button>(this.DetailView);
|
||||
|
||||
buttons.ToList().ForEach(i => i.Background = new SolidColorBrush(Colors.Orange) { Opacity = ButtonOpacity });
|
||||
|
||||
foreach (var target in buttons)
|
||||
{
|
||||
Point targetTopLeft = target.PointToScreen(new Point());
|
||||
if (_handTop > targetTopLeft.X
|
||||
&& _handTop < targetTopLeft.X + target.ActualWidth
|
||||
&& _handLeft > targetTopLeft.Y
|
||||
&& _handLeft < targetTopLeft.Y + target.ActualHeight)
|
||||
{
|
||||
target.Background = new SolidColorBrush(Colors.Orange);
|
||||
target.Opacity = 1;
|
||||
this.selectedButton = target;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var listviewItems = GetListViewElements2<ListViewItem>(this.MainView);
|
||||
|
||||
foreach (var target in listviewItems)
|
||||
{
|
||||
Point targetTopLeft = target.PointToScreen(new Point());
|
||||
if (_handTop > targetTopLeft.X
|
||||
&& _handTop < targetTopLeft.X + target.ActualWidth
|
||||
&& _handLeft > targetTopLeft.Y
|
||||
&& _handLeft < targetTopLeft.Y + target.ActualHeight)
|
||||
{
|
||||
this.selectedListItem = target;
|
||||
this.selectedItem = this.selectedListItem.Content;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
var children = GetListViewElements<StackPanel>(this.MainView);
|
||||
|
||||
children.ToList().ForEach(i => i.Background = new SolidColorBrush(Colors.Orange) { Opacity = ButtonOpacity });
|
||||
|
||||
foreach (var target in children)
|
||||
{
|
||||
Point targetTopLeft = target.PointToScreen(new Point());
|
||||
if (_handTop > targetTopLeft.X
|
||||
&& _handTop < targetTopLeft.X + target.ActualWidth
|
||||
&& _handLeft > targetTopLeft.Y
|
||||
&& _handLeft < targetTopLeft.Y + target.ActualHeight)
|
||||
{
|
||||
target.Background = new SolidColorBrush(Colors.Orange);
|
||||
target.Opacity = 1;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public List<T> GetListViewElements<T>(FrameworkElement parent) where T : FrameworkElement
|
||||
{
|
||||
List<T> elements = new List<T>();
|
||||
|
||||
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(parent); i++)
|
||||
{
|
||||
var child = VisualTreeHelper.GetChild(parent, i);
|
||||
|
||||
if ((child is T) && (((double)child.GetValue(ActualWidthProperty)) == 200))
|
||||
{
|
||||
elements.Add(child as T);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (VisualTreeHelper.GetChildrenCount(child) > 0)
|
||||
{
|
||||
var children = GetListViewElements<T>(child as FrameworkElement);
|
||||
elements.AddRange(children);
|
||||
}
|
||||
}
|
||||
|
||||
return elements;
|
||||
}
|
||||
|
||||
public List<T> GetListViewElements2<T>(FrameworkElement parent) where T : FrameworkElement
|
||||
{
|
||||
List<T> elements = new List<T>();
|
||||
|
||||
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(parent); i++)
|
||||
{
|
||||
var child = VisualTreeHelper.GetChild(parent, i);
|
||||
|
||||
if (child is T)
|
||||
{
|
||||
elements.Add(child as T);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (VisualTreeHelper.GetChildrenCount(child) > 0)
|
||||
{
|
||||
var children = GetListViewElements2<T>(child as FrameworkElement);
|
||||
elements.AddRange(children);
|
||||
}
|
||||
}
|
||||
|
||||
return elements;
|
||||
}
|
||||
|
||||
private void Kinects_StatusChanged(object sender, StatusChangedEventArgs e)
|
||||
{
|
||||
if (e.Status == KinectStatus.Connected)
|
||||
{
|
||||
InitializeKinect(e.KinectRuntime);
|
||||
|
||||
var foundViewer = this.kinectColorViewer;
|
||||
if (foundViewer != null)
|
||||
{
|
||||
foundViewer.Kinect = e.KinectRuntime;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,279 @@
|
|||
namespace AzureManagementWithKinect.Model
|
||||
{
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
|
||||
[DataContract(Namespace = Constants.ServiceManagementNS)]
|
||||
public class Deployment : IExtensibleDataObject
|
||||
{
|
||||
private string label;
|
||||
private string configuration;
|
||||
|
||||
[DataMember(Order = 1, EmitDefaultValue = false)]
|
||||
public string Name { get; set; }
|
||||
|
||||
[DataMember(Order = 2, EmitDefaultValue = false)]
|
||||
public string DeploymentSlot { get; set; }
|
||||
|
||||
[DataMember(Order = 3, EmitDefaultValue = false)]
|
||||
public string PrivateID { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The class DeploymentStatus defines its possible values.
|
||||
/// </summary>
|
||||
[DataMember(Order = 4, EmitDefaultValue = false)]
|
||||
public string Status { get; set; }
|
||||
|
||||
[DataMember(Order = 5, EmitDefaultValue = false)]
|
||||
public string Label
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.label;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
this.label = Encoding.UTF8.GetString(Convert.FromBase64String(value));
|
||||
}
|
||||
}
|
||||
|
||||
[DataMember(Order = 6, EmitDefaultValue = false)]
|
||||
public Uri Url { get; set; }
|
||||
|
||||
[DataMember(Order = 7, EmitDefaultValue = false)]
|
||||
public string Configuration
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.configuration;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
this.configuration = Encoding.UTF8.GetString(Convert.FromBase64String(value));
|
||||
}
|
||||
}
|
||||
|
||||
[DataMember(Order = 8, EmitDefaultValue = false)]
|
||||
public RoleInstanceList RoleInstanceList { get; set; }
|
||||
|
||||
[DataMember(Order = 10, EmitDefaultValue = false)]
|
||||
public UpgradeStatus UpgradeStatus { get; set; }
|
||||
|
||||
[DataMember(Order = 11, EmitDefaultValue = false)]
|
||||
public int UpgradeDomainCount { get; set; }
|
||||
|
||||
[DataMember(Order = 12, EmitDefaultValue = false)]
|
||||
public RoleList RoleList { get; set; }
|
||||
|
||||
[DataMember(Order = 13)]
|
||||
public string SdkVersion { get; set; }
|
||||
|
||||
[DataMember(Order = 14, EmitDefaultValue = false)]
|
||||
public InputEndpointList InputEndpointList { get; set; }
|
||||
|
||||
[DataMember(Order = 15)]
|
||||
public bool Locked { get; set; }
|
||||
|
||||
[DataMember(Order = 16)]
|
||||
public bool RollbackAllowed { get; set; }
|
||||
|
||||
public ExtensionDataObject ExtensionData { get; set; }
|
||||
}
|
||||
|
||||
[CollectionDataContract(Name = "RoleList", ItemName = "Role", Namespace = Constants.ServiceManagementNS)]
|
||||
public class RoleList : List<Role>
|
||||
{
|
||||
public RoleList()
|
||||
{
|
||||
}
|
||||
|
||||
public RoleList(IEnumerable<Role> roles)
|
||||
: base(roles)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
[DataContract(Namespace = Constants.ServiceManagementNS)]
|
||||
public class Role : IExtensibleDataObject
|
||||
{
|
||||
[DataMember(Order = 1)]
|
||||
public string RoleName { get; set; }
|
||||
|
||||
[DataMember(Order = 2)]
|
||||
public string OsVersion { get; set; }
|
||||
|
||||
public ExtensionDataObject ExtensionData { get; set; }
|
||||
}
|
||||
|
||||
[CollectionDataContract(Name = "RoleInstanceList", ItemName = "RoleInstance", Namespace = Constants.ServiceManagementNS)]
|
||||
public class RoleInstanceList : List<RoleInstance>
|
||||
{
|
||||
public RoleInstanceList()
|
||||
{
|
||||
}
|
||||
|
||||
public RoleInstanceList(IEnumerable<RoleInstance> roles)
|
||||
: base(roles)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
[DataContract(Namespace = Constants.ServiceManagementNS)]
|
||||
public class RoleInstance : IExtensibleDataObject
|
||||
{
|
||||
[DataMember(Order = 1)]
|
||||
public string RoleName { get; set; }
|
||||
|
||||
[DataMember(Order = 2)]
|
||||
public string InstanceName { get; set; }
|
||||
|
||||
[DataMember(Order = 3)]
|
||||
public string InstanceStatus { get; set; }
|
||||
|
||||
[DataMember(Order = 4)]
|
||||
public int InstanceUpgradeDomain { get; set; }
|
||||
|
||||
[DataMember(Order = 5)]
|
||||
public int InstanceFaultDomain { get; set; }
|
||||
|
||||
[DataMember(Order = 6)]
|
||||
public string InstanceSize { get; set; }
|
||||
|
||||
[DataMember(Order = 7)]
|
||||
public string InstanceStateDetails { get; set; }
|
||||
|
||||
[DataMember(Order = 8)]
|
||||
public string InstanceErrorCode { get; set; }
|
||||
|
||||
public ExtensionDataObject ExtensionData { get; set; }
|
||||
}
|
||||
|
||||
[CollectionDataContract(Name = "InputEndpointList", ItemName = "InputEndpoint", Namespace = Constants.ServiceManagementNS)]
|
||||
public class InputEndpointList : List<InputEndpoint>
|
||||
{
|
||||
public InputEndpointList()
|
||||
{
|
||||
}
|
||||
|
||||
public InputEndpointList(IEnumerable<InputEndpoint> inputEndpoint)
|
||||
: base(inputEndpoint)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
[DataContract(Namespace = Constants.ServiceManagementNS)]
|
||||
public class InputEndpoint : IExtensibleDataObject
|
||||
{
|
||||
[DataMember(Order = 1)]
|
||||
public string RoleName { get; set; }
|
||||
|
||||
[DataMember(Order = 2)]
|
||||
public string Vip { get; set; }
|
||||
|
||||
[DataMember(Order = 3)]
|
||||
public int Port { get; set; }
|
||||
|
||||
public ExtensionDataObject ExtensionData { get; set; }
|
||||
}
|
||||
|
||||
[DataContract(Name = "Swap", Namespace = Constants.ServiceManagementNS)]
|
||||
public class SwapDeploymentInput : IExtensibleDataObject
|
||||
{
|
||||
[DataMember(Order = 1)]
|
||||
public string Production { get; set; }
|
||||
|
||||
[DataMember(Order = 2)]
|
||||
public string SourceDeployment { get; set; }
|
||||
|
||||
public ExtensionDataObject ExtensionData { get; set; }
|
||||
}
|
||||
|
||||
[DataContract(Namespace = Constants.ServiceManagementNS)]
|
||||
public class UpgradeStatus : IExtensibleDataObject
|
||||
{
|
||||
[DataMember(Order = 1)]
|
||||
public string UpgradeType { get; set; }
|
||||
|
||||
[DataMember(Order = 2)]
|
||||
public string CurrentUpgradeDomainState { get; set; }
|
||||
|
||||
[DataMember(Order = 3)]
|
||||
public int CurrentUpgradeDomain { get; set; }
|
||||
|
||||
public ExtensionDataObject ExtensionData { get; set; }
|
||||
}
|
||||
|
||||
[DataContract(Namespace = Constants.ServiceManagementNS)]
|
||||
public class ConfigurationWarning : IExtensibleDataObject
|
||||
{
|
||||
[DataMember(Order = 1)]
|
||||
public string WarningCode { get; set; }
|
||||
|
||||
[DataMember(Order = 2)]
|
||||
public string WarningMessage { get; set; }
|
||||
|
||||
public ExtensionDataObject ExtensionData { get; set; }
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return string.Format("WarningCode:{0} WarningMessage:{1}", this.WarningCode, this.WarningMessage);
|
||||
}
|
||||
}
|
||||
|
||||
[CollectionDataContract(Namespace = Constants.ServiceManagementNS)]
|
||||
public class ConfigurationWarningsList : List<ConfigurationWarning>
|
||||
{
|
||||
public override string ToString()
|
||||
{
|
||||
var warnings = new StringBuilder(string.Format("ConfigurationWarnings({0}):\n", this.Count));
|
||||
|
||||
foreach (ConfigurationWarning warning in this)
|
||||
{
|
||||
warnings.Append(warning + "\n");
|
||||
}
|
||||
|
||||
return warnings.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
[DataContract(Name = "UpdateDeploymentStatus", Namespace = Constants.ServiceManagementNS)]
|
||||
public class UpdateDeploymentStatusInput : IExtensibleDataObject
|
||||
{
|
||||
[DataMember(Order = 1)]
|
||||
public string Status { get; set; }
|
||||
|
||||
public ExtensionDataObject ExtensionData { get; set; }
|
||||
}
|
||||
|
||||
[DataContract(Name = "ChangeConfiguration", Namespace = Constants.ServiceManagementNS)]
|
||||
public class ChangeConfigurationInput : IExtensibleDataObject
|
||||
{
|
||||
private string configuration;
|
||||
|
||||
[DataMember(Order = 1)]
|
||||
public string Configuration
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.configuration;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
this.configuration = Convert.ToBase64String(Encoding.UTF8.GetBytes(value));
|
||||
}
|
||||
}
|
||||
|
||||
[DataMember(Order = 2, EmitDefaultValue = false)]
|
||||
public bool? TreatWarningsAsError { get; set; }
|
||||
|
||||
[DataMember(Order = 3)]
|
||||
public string Mode { get; set; }
|
||||
|
||||
public ExtensionDataObject ExtensionData { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,66 @@
|
|||
namespace AzureManagementWithKinect.Model
|
||||
{
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
|
||||
[CollectionDataContract(Name = "HostedServices", ItemName = "HostedService", Namespace = Constants.ServiceManagementNS)]
|
||||
public class HostedServiceList : List<HostedService>
|
||||
{
|
||||
public HostedServiceList()
|
||||
{
|
||||
}
|
||||
|
||||
public HostedServiceList(IEnumerable<HostedService> hostedServices)
|
||||
: base(hostedServices)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
[DataContract(Namespace = Constants.ServiceManagementNS)]
|
||||
public class HostedService : IExtensibleDataObject
|
||||
{
|
||||
[DataMember(Order = 1)]
|
||||
public Uri Url { get; set; }
|
||||
|
||||
[DataMember(Order = 2, EmitDefaultValue = false)]
|
||||
public string ServiceName { get; set; }
|
||||
|
||||
[DataMember(Order = 3, EmitDefaultValue = false)]
|
||||
public HostedServiceProperties HostedServiceProperties { get; set; }
|
||||
|
||||
public ExtensionDataObject ExtensionData { get; set; }
|
||||
}
|
||||
|
||||
[DataContract(Namespace = Constants.ServiceManagementNS)]
|
||||
public class HostedServiceProperties : IExtensibleDataObject
|
||||
{
|
||||
private string label;
|
||||
|
||||
[DataMember(Order = 1)]
|
||||
public string Description { get; set; }
|
||||
|
||||
[DataMember(Order = 2, EmitDefaultValue = false)]
|
||||
public string AffinityGroup { get; set; }
|
||||
|
||||
[DataMember(Order = 3, EmitDefaultValue = false)]
|
||||
public string Location { get; set; }
|
||||
|
||||
[DataMember(Order = 4)]
|
||||
public string Label
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.label;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
this.label = Encoding.UTF8.GetString(Convert.FromBase64String(value));
|
||||
}
|
||||
}
|
||||
|
||||
public ExtensionDataObject ExtensionData { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
namespace AzureManagementWithKinect.Model
|
||||
{
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
[DataContract(Namespace = Constants.ServiceManagementNS)]
|
||||
public class Operation : IExtensibleDataObject
|
||||
{
|
||||
[DataMember(Name = "ID", Order = 1)]
|
||||
public string OperationTrackingId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The class OperationState defines its possible values.
|
||||
/// </summary>
|
||||
[DataMember(Order = 2)]
|
||||
public string Status { get; set; }
|
||||
|
||||
[DataMember(Order = 3, EmitDefaultValue = false)]
|
||||
public int HttpStatusCode { get; set; }
|
||||
|
||||
[DataMember(Order = 4, EmitDefaultValue = false)]
|
||||
public ServiceManagementError Error { get; set; }
|
||||
|
||||
public ExtensionDataObject ExtensionData { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
namespace AzureManagementWithKinect.Model
|
||||
{
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
public static class ErrorCode
|
||||
{
|
||||
public const string MissingOrIncorrectVersionHeader = "MissingOrIncorrectVersionHeader";
|
||||
public const string InvalidRequest = "InvalidRequest";
|
||||
public const string InvalidXmlRequest = "InvalidXmlRequest";
|
||||
public const string InvalidContentType = "InvalidContentType";
|
||||
public const string MissingOrInvalidRequiredQueryParameter = "MissingOrInvalidRequiredQueryParameter";
|
||||
public const string InvalidHttpVerb = "InvalidHttpVerb";
|
||||
public const string InternalError = "InternalError";
|
||||
public const string BadRequest = "BadRequest";
|
||||
public const string AuthenticationFailed = "AuthenticationFailed";
|
||||
public const string ResourceNotFound = "ResourceNotFound";
|
||||
public const string SubscriptionDisabled = "SubscriptionDisabled";
|
||||
public const string ServerBusy = "ServerBusy";
|
||||
public const string TooManyRequests = "TooManyRequests";
|
||||
public const string ConflictError = "ConflictError";
|
||||
public const string ConfiguraitonError = "ConfigurationError";
|
||||
}
|
||||
|
||||
[DataContract(Name = "Error", Namespace = Constants.ServiceManagementNS)]
|
||||
public class ServiceManagementError : IExtensibleDataObject
|
||||
{
|
||||
[DataMember(Order = 1)]
|
||||
public string Code { get; set; }
|
||||
|
||||
[DataMember(Order = 2)]
|
||||
public string Message { get; set; }
|
||||
|
||||
[DataMember(Order = 3, EmitDefaultValue = false)]
|
||||
public ConfigurationWarningsList ConfigurationWarnings { get; set; }
|
||||
|
||||
public ExtensionDataObject ExtensionData { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,55 @@
|
|||
using System.Reflection;
|
||||
using System.Resources;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Windows;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("AzureManagementWithKinect")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Microsoft")]
|
||||
[assembly: AssemblyProduct("AzureManagementWithKinect")]
|
||||
[assembly: AssemblyCopyright("Copyright © Microsoft 2011")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
//In order to begin building localizable applications, set
|
||||
//<UICulture>CultureYouAreCodingWith</UICulture> in your .csproj file
|
||||
//inside a <PropertyGroup>. For example, if you are using US english
|
||||
//in your source files, set the <UICulture> to en-US. Then uncomment
|
||||
//the NeutralResourceLanguage attribute below. Update the "en-US" in
|
||||
//the line below to match the UICulture setting in the project file.
|
||||
|
||||
//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
|
||||
|
||||
|
||||
[assembly: ThemeInfo(
|
||||
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
|
||||
//(used if a resource is not found in the page,
|
||||
// or application resource dictionaries)
|
||||
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
|
||||
//(used if a resource is not found in the page,
|
||||
// app, or any theme specific resource dictionaries)
|
||||
)]
|
||||
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
|
@ -0,0 +1,63 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.225
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace AzureManagementWithKinect.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Resources() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AzureManagementWithKinect.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,117 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
|
@ -0,0 +1,26 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.225
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace AzureManagementWithKinect.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default {
|
||||
get {
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
|
||||
<Profiles>
|
||||
<Profile Name="(Default)" />
|
||||
</Profiles>
|
||||
<Settings />
|
||||
</SettingsFile>
|
Двоичный файл не отображается.
После Ширина: | Высота: | Размер: 1.3 KiB |
Двоичный файл не отображается.
После Ширина: | Высота: | Размер: 6.4 KiB |
|
@ -0,0 +1,244 @@
|
|||
<StyleCopSettings Version="105">
|
||||
<Analyzers>
|
||||
<Analyzer AnalyzerId="StyleCop.CSharp.DocumentationRules">
|
||||
<Rules>
|
||||
<Rule Name="ElementsMustBeDocumented">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="PartialElementsMustBeDocumented">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="EnumerationItemsMustBeDocumented">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="DocumentationMustContainValidXml">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="ElementDocumentationMustHaveSummary">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="PartialElementDocumentationMustHaveSummary">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="ElementDocumentationMustHaveSummaryText">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="PartialElementDocumentationMustHaveSummaryText">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="ElementDocumentationMustNotHaveDefaultSummary">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="ElementParametersMustBeDocumented">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="ElementParameterDocumentationMustMatchElementParameters">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="ElementParameterDocumentationMustDeclareParameterName">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="ElementParameterDocumentationMustHaveText">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="ElementReturnValueMustBeDocumented">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="ElementReturnValueDocumentationMustHaveText">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="VoidReturnValueMustNotBeDocumented">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="GenericTypeParametersMustBeDocumented">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="GenericTypeParametersMustBeDocumentedPartialClass">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="GenericTypeParameterDocumentationMustMatchTypeParameters">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="GenericTypeParameterDocumentationMustDeclareParameterName">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="GenericTypeParameterDocumentationMustHaveText">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="PropertySummaryDocumentationMustMatchAccessors">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="PropertySummaryDocumentationMustOmitSetAccessorWithRestrictedAccess">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="ElementDocumentationMustNotBeCopiedAndPasted">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="SingleLineCommentsMustNotUseDocumentationStyleSlashes">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="DocumentationTextMustNotBeEmpty">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="DocumentationTextMustContainWhitespace">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="DocumentationMustMeetCharacterPercentage">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="ConstructorSummaryDocumentationMustBeginWithStandardText">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="DestructorSummaryDocumentationMustBeginWithStandardText">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="DocumentationHeadersMustNotContainBlankLines">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="IncludedDocumentationXPathDoesNotExist">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="IncludeNodeDoesNotContainValidFileAndPath">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="InheritDocMustBeUsedWithInheritingClass">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="FileMustHaveHeader">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="FileHeaderMustShowCopyright">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="FileHeaderMustHaveCopyrightText">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="FileHeaderMustContainFileName">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="FileHeaderFileNameDocumentationMustMatchFileName">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="FileHeaderMustHaveValidCompanyText">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="FileHeaderFileNameDocumentationMustMatchTypeName">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
</Rules>
|
||||
<AnalyzerSettings />
|
||||
</Analyzer>
|
||||
<Analyzer AnalyzerId="StyleCop.CSharp.LayoutRules">
|
||||
<Rules>
|
||||
<Rule Name="CurlyBracketsForMultiLineStatementsMustNotShareLine">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="StatementMustNotBeOnSingleLine">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="ElementMustNotBeOnSingleLine">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="CurlyBracketsMustNotBeOmitted">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
<Rule Name="AllAccessorsMustBeMultiLineOrSingleLine">
|
||||
<RuleSettings>
|
||||
<BooleanProperty Name="Enabled">False</BooleanProperty>
|
||||
</RuleSettings>
|
||||
</Rule>
|
||||
</Rules>
|
||||
<AnalyzerSettings />
|
||||
</Analyzer>
|
||||
</Analyzers>
|
||||
</StyleCopSettings>
|
|
@ -0,0 +1,17 @@
|
|||
namespace AzureManagementWithKinect.ViewModel
|
||||
{
|
||||
using Model;
|
||||
using System.Linq;
|
||||
|
||||
public class RoleViewModel : Deployment
|
||||
{
|
||||
public Deployment Deployment { get; set; }
|
||||
|
||||
public Role Role { get; set; }
|
||||
|
||||
public int RoleInstanceCount
|
||||
{
|
||||
get { return this.Deployment.RoleInstanceList.Count(i => i.RoleName.Equals(this.Role.RoleName)); }
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
|
||||
</startup>
|
||||
<appSettings>
|
||||
<add key="ManagementCertificateName" value="YOURCERTIFICATE.pfx" />
|
||||
<add key="ManagementCertificatePassword" value="YOURPASSWORD" />
|
||||
<add key="SubscriptionsIdentifier" value="YOURSUBSCRIPTION" />
|
||||
|
||||
<add key="ServiceNameFilter" value="" />
|
||||
<add key="SlotFilter" value="production;staging" />
|
||||
</appSettings>
|
||||
</configuration>
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Coding4Fun.Kinect.Wpf" version="1.1.0" />
|
||||
<package id="KinectToolbox" version="1.1.0.2" />
|
||||
<package id="HttpClient" version="0.5.0" />
|
||||
<package id="JsonValue" version="0.5.0" />
|
||||
</packages>
|
Двоичные данные
packages/Coding4Fun.Kinect.Wpf.1.1.0/Coding4Fun.Kinect.Wpf.1.1.0.nupkg
поставляемый
Normal file
Двоичные данные
packages/Coding4Fun.Kinect.Wpf.1.1.0/Coding4Fun.Kinect.Wpf.1.1.0.nupkg
поставляемый
Normal file
Двоичный файл не отображается.
Двоичные данные
packages/Coding4Fun.Kinect.Wpf.1.1.0/lib/Coding4Fun.Kinect.Wpf.dll
поставляемый
Normal file
Двоичные данные
packages/Coding4Fun.Kinect.Wpf.1.1.0/lib/Coding4Fun.Kinect.Wpf.dll
поставляемый
Normal file
Двоичный файл не отображается.
Двоичные данные
packages/Coding4Fun.Kinect.Wpf.1.1.0/lib/Microsoft.Expression.Drawing.dll
поставляемый
Normal file
Двоичные данные
packages/Coding4Fun.Kinect.Wpf.1.1.0/lib/Microsoft.Expression.Drawing.dll
поставляемый
Normal file
Двоичный файл не отображается.
Двоичный файл не отображается.
Двоичные данные
packages/HttpClient.0.5.0/lib/40/Microsoft.Net.Http.Formatting.dll
поставляемый
Normal file
Двоичные данные
packages/HttpClient.0.5.0/lib/40/Microsoft.Net.Http.Formatting.dll
поставляемый
Normal file
Двоичный файл не отображается.
Двоичный файл не отображается.
|
@ -0,0 +1,512 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>System.Net.Http</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:System.Net.Http.ByteArrayContent"></member>
|
||||
<member name="M:System.Net.Http.ByteArrayContent.#ctor(System.Byte[])"></member>
|
||||
<member name="M:System.Net.Http.ByteArrayContent.#ctor(System.Byte[],System.Int32,System.Int32)"></member>
|
||||
<member name="M:System.Net.Http.ByteArrayContent.CreateContentReadStream"></member>
|
||||
<member name="M:System.Net.Http.ByteArrayContent.SerializeToStream(System.IO.Stream,System.Net.TransportContext)"></member>
|
||||
<member name="M:System.Net.Http.ByteArrayContent.SerializeToStreamAsync(System.IO.Stream,System.Net.TransportContext)"></member>
|
||||
<member name="M:System.Net.Http.ByteArrayContent.TryComputeLength(System.Int64@)"></member>
|
||||
<member name="T:System.Net.Http.DelegatingHandler"></member>
|
||||
<member name="M:System.Net.Http.DelegatingHandler.#ctor(System.Net.Http.HttpMessageHandler)"></member>
|
||||
<member name="M:System.Net.Http.DelegatingHandler.Dispose(System.Boolean)"></member>
|
||||
<member name="M:System.Net.Http.DelegatingHandler.Send(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)"></member>
|
||||
<member name="M:System.Net.Http.DelegatingHandler.SendAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)"></member>
|
||||
<member name="T:System.Net.Http.FormUrlEncodedContent"></member>
|
||||
<member name="M:System.Net.Http.FormUrlEncodedContent.#ctor(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}})"></member>
|
||||
<member name="M:System.Net.Http.FormUrlEncodedContent.CreateContentReadStream"></member>
|
||||
<member name="M:System.Net.Http.FormUrlEncodedContent.SerializeToStream(System.IO.Stream,System.Net.TransportContext)"></member>
|
||||
<member name="M:System.Net.Http.FormUrlEncodedContent.SerializeToStreamAsync(System.IO.Stream,System.Net.TransportContext)"></member>
|
||||
<member name="M:System.Net.Http.FormUrlEncodedContent.TryComputeLength(System.Int64@)"></member>
|
||||
<member name="T:System.Net.Http.HttpClient"></member>
|
||||
<member name="M:System.Net.Http.HttpClient.#ctor"></member>
|
||||
<member name="M:System.Net.Http.HttpClient.#ctor(System.Net.Http.HttpMessageHandler)"></member>
|
||||
<member name="P:System.Net.Http.HttpClient.BaseAddress"></member>
|
||||
<member name="M:System.Net.Http.HttpClient.CancelPendingRequests"></member>
|
||||
<member name="P:System.Net.Http.HttpClient.DefaultRequestHeaders"></member>
|
||||
<member name="M:System.Net.Http.HttpClient.Delete(System.String)"></member>
|
||||
<member name="M:System.Net.Http.HttpClient.Delete(System.Uri)"></member>
|
||||
<member name="M:System.Net.Http.HttpClient.DeleteAsync(System.String)"></member>
|
||||
<member name="M:System.Net.Http.HttpClient.DeleteAsync(System.Uri)"></member>
|
||||
<member name="M:System.Net.Http.HttpClient.Dispose"></member>
|
||||
<member name="M:System.Net.Http.HttpClient.Dispose(System.Boolean)"></member>
|
||||
<member name="M:System.Net.Http.HttpClient.Get(System.String)"></member>
|
||||
<member name="M:System.Net.Http.HttpClient.Get(System.Uri)"></member>
|
||||
<member name="M:System.Net.Http.HttpClient.GetAsync(System.String)"></member>
|
||||
<member name="M:System.Net.Http.HttpClient.GetAsync(System.Uri)"></member>
|
||||
<member name="P:System.Net.Http.HttpClient.MaxResponseContentBufferSize"></member>
|
||||
<member name="M:System.Net.Http.HttpClient.Post(System.String,System.Net.Http.HttpContent)"></member>
|
||||
<member name="M:System.Net.Http.HttpClient.Post(System.Uri,System.Net.Http.HttpContent)"></member>
|
||||
<member name="M:System.Net.Http.HttpClient.PostAsync(System.String,System.Net.Http.HttpContent)"></member>
|
||||
<member name="M:System.Net.Http.HttpClient.PostAsync(System.Uri,System.Net.Http.HttpContent)"></member>
|
||||
<member name="M:System.Net.Http.HttpClient.Put(System.String,System.Net.Http.HttpContent)"></member>
|
||||
<member name="M:System.Net.Http.HttpClient.Put(System.Uri,System.Net.Http.HttpContent)"></member>
|
||||
<member name="M:System.Net.Http.HttpClient.PutAsync(System.String,System.Net.Http.HttpContent)"></member>
|
||||
<member name="M:System.Net.Http.HttpClient.PutAsync(System.Uri,System.Net.Http.HttpContent)"></member>
|
||||
<member name="M:System.Net.Http.HttpClient.Send(System.Net.Http.HttpRequestMessage)"></member>
|
||||
<member name="M:System.Net.Http.HttpClient.Send(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption)"></member>
|
||||
<member name="M:System.Net.Http.HttpClient.Send(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)"></member>
|
||||
<member name="M:System.Net.Http.HttpClient.Send(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)"></member>
|
||||
<member name="M:System.Net.Http.HttpClient.SendAsync(System.Net.Http.HttpRequestMessage)"></member>
|
||||
<member name="M:System.Net.Http.HttpClient.SendAsync(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption)"></member>
|
||||
<member name="M:System.Net.Http.HttpClient.SendAsync(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken)"></member>
|
||||
<member name="M:System.Net.Http.HttpClient.SendAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)"></member>
|
||||
<member name="P:System.Net.Http.HttpClient.Timeout"></member>
|
||||
<member name="T:System.Net.Http.HttpClientHandler"></member>
|
||||
<member name="M:System.Net.Http.HttpClientHandler.#ctor"></member>
|
||||
<member name="P:System.Net.Http.HttpClientHandler.AllowAutoRedirect"></member>
|
||||
<member name="P:System.Net.Http.HttpClientHandler.AutomaticDecompression"></member>
|
||||
<member name="P:System.Net.Http.HttpClientHandler.CookieContainer"></member>
|
||||
<member name="P:System.Net.Http.HttpClientHandler.Credentials"></member>
|
||||
<member name="M:System.Net.Http.HttpClientHandler.Dispose(System.Boolean)"></member>
|
||||
<member name="P:System.Net.Http.HttpClientHandler.MaxAutomaticRedirections"></member>
|
||||
<member name="P:System.Net.Http.HttpClientHandler.MaxRequestContentBufferSize"></member>
|
||||
<member name="P:System.Net.Http.HttpClientHandler.PreAuthenticate"></member>
|
||||
<member name="P:System.Net.Http.HttpClientHandler.Proxy"></member>
|
||||
<member name="M:System.Net.Http.HttpClientHandler.Send(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)"></member>
|
||||
<member name="M:System.Net.Http.HttpClientHandler.SendAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)"></member>
|
||||
<member name="P:System.Net.Http.HttpClientHandler.SupportsAutomaticDecompression"></member>
|
||||
<member name="P:System.Net.Http.HttpClientHandler.SupportsProxy"></member>
|
||||
<member name="P:System.Net.Http.HttpClientHandler.SupportsRedirectConfiguration"></member>
|
||||
<member name="P:System.Net.Http.HttpClientHandler.UseCookies"></member>
|
||||
<member name="P:System.Net.Http.HttpClientHandler.UseDefaultCredentials"></member>
|
||||
<member name="P:System.Net.Http.HttpClientHandler.UseProxy"></member>
|
||||
<member name="T:System.Net.Http.HttpCompletionOption"></member>
|
||||
<member name="F:System.Net.Http.HttpCompletionOption.ResponseContentRead">
|
||||
<summary />
|
||||
</member>
|
||||
<member name="F:System.Net.Http.HttpCompletionOption.ResponseHeadersRead">
|
||||
<summary />
|
||||
</member>
|
||||
<member name="T:System.Net.Http.HttpContent"></member>
|
||||
<member name="M:System.Net.Http.HttpContent.#ctor"></member>
|
||||
<member name="P:System.Net.Http.HttpContent.ContentReadStream"></member>
|
||||
<member name="M:System.Net.Http.HttpContent.CopyTo(System.IO.Stream)"></member>
|
||||
<member name="M:System.Net.Http.HttpContent.CopyTo(System.IO.Stream,System.Net.TransportContext)"></member>
|
||||
<member name="M:System.Net.Http.HttpContent.CopyToAsync(System.IO.Stream)"></member>
|
||||
<member name="M:System.Net.Http.HttpContent.CopyToAsync(System.IO.Stream,System.Net.TransportContext)"></member>
|
||||
<member name="M:System.Net.Http.HttpContent.CreateContentReadStream"></member>
|
||||
<member name="M:System.Net.Http.HttpContent.Dispose"></member>
|
||||
<member name="M:System.Net.Http.HttpContent.Dispose(System.Boolean)"></member>
|
||||
<member name="P:System.Net.Http.HttpContent.Headers"></member>
|
||||
<member name="M:System.Net.Http.HttpContent.LoadIntoBuffer"></member>
|
||||
<member name="M:System.Net.Http.HttpContent.LoadIntoBuffer(System.Int32)"></member>
|
||||
<member name="M:System.Net.Http.HttpContent.LoadIntoBufferAsync"></member>
|
||||
<member name="M:System.Net.Http.HttpContent.LoadIntoBufferAsync(System.Int32)"></member>
|
||||
<member name="M:System.Net.Http.HttpContent.ReadAsByteArray"></member>
|
||||
<member name="M:System.Net.Http.HttpContent.ReadAsString"></member>
|
||||
<member name="M:System.Net.Http.HttpContent.SerializeToStream(System.IO.Stream,System.Net.TransportContext)"></member>
|
||||
<member name="M:System.Net.Http.HttpContent.SerializeToStreamAsync(System.IO.Stream,System.Net.TransportContext)"></member>
|
||||
<member name="M:System.Net.Http.HttpContent.TryComputeLength(System.Int64@)"></member>
|
||||
<member name="T:System.Net.Http.HttpMessageHandler"></member>
|
||||
<member name="M:System.Net.Http.HttpMessageHandler.#ctor"></member>
|
||||
<member name="M:System.Net.Http.HttpMessageHandler.Dispose"></member>
|
||||
<member name="M:System.Net.Http.HttpMessageHandler.Dispose(System.Boolean)"></member>
|
||||
<member name="M:System.Net.Http.HttpMessageHandler.Send(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)"></member>
|
||||
<member name="M:System.Net.Http.HttpMessageHandler.SendAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)"></member>
|
||||
<member name="T:System.Net.Http.HttpMethod"></member>
|
||||
<member name="M:System.Net.Http.HttpMethod.#ctor(System.String)"></member>
|
||||
<member name="P:System.Net.Http.HttpMethod.Delete"></member>
|
||||
<member name="M:System.Net.Http.HttpMethod.Equals(System.Net.Http.HttpMethod)"></member>
|
||||
<member name="M:System.Net.Http.HttpMethod.Equals(System.Object)"></member>
|
||||
<member name="P:System.Net.Http.HttpMethod.Get"></member>
|
||||
<member name="M:System.Net.Http.HttpMethod.GetHashCode"></member>
|
||||
<member name="P:System.Net.Http.HttpMethod.Head"></member>
|
||||
<member name="P:System.Net.Http.HttpMethod.Method"></member>
|
||||
<member name="M:System.Net.Http.HttpMethod.op_Equality(System.Net.Http.HttpMethod,System.Net.Http.HttpMethod)"></member>
|
||||
<member name="M:System.Net.Http.HttpMethod.op_Inequality(System.Net.Http.HttpMethod,System.Net.Http.HttpMethod)"></member>
|
||||
<member name="P:System.Net.Http.HttpMethod.Options"></member>
|
||||
<member name="P:System.Net.Http.HttpMethod.Post"></member>
|
||||
<member name="P:System.Net.Http.HttpMethod.Put"></member>
|
||||
<member name="M:System.Net.Http.HttpMethod.ToString"></member>
|
||||
<member name="P:System.Net.Http.HttpMethod.Trace"></member>
|
||||
<member name="T:System.Net.Http.HttpRequestException"></member>
|
||||
<member name="M:System.Net.Http.HttpRequestException.#ctor"></member>
|
||||
<member name="M:System.Net.Http.HttpRequestException.#ctor(System.String)"></member>
|
||||
<member name="M:System.Net.Http.HttpRequestException.#ctor(System.String,System.Exception)"></member>
|
||||
<member name="T:System.Net.Http.HttpRequestMessage"></member>
|
||||
<member name="M:System.Net.Http.HttpRequestMessage.#ctor"></member>
|
||||
<member name="M:System.Net.Http.HttpRequestMessage.#ctor(System.Net.Http.HttpMethod,System.String)"></member>
|
||||
<member name="M:System.Net.Http.HttpRequestMessage.#ctor(System.Net.Http.HttpMethod,System.Uri)"></member>
|
||||
<member name="P:System.Net.Http.HttpRequestMessage.Content"></member>
|
||||
<member name="M:System.Net.Http.HttpRequestMessage.Dispose"></member>
|
||||
<member name="M:System.Net.Http.HttpRequestMessage.Dispose(System.Boolean)"></member>
|
||||
<member name="P:System.Net.Http.HttpRequestMessage.Headers"></member>
|
||||
<member name="P:System.Net.Http.HttpRequestMessage.Method"></member>
|
||||
<member name="P:System.Net.Http.HttpRequestMessage.Properties"></member>
|
||||
<member name="P:System.Net.Http.HttpRequestMessage.RequestUri"></member>
|
||||
<member name="M:System.Net.Http.HttpRequestMessage.ToString"></member>
|
||||
<member name="P:System.Net.Http.HttpRequestMessage.Version"></member>
|
||||
<member name="T:System.Net.Http.HttpResponseMessage"></member>
|
||||
<member name="M:System.Net.Http.HttpResponseMessage.#ctor"></member>
|
||||
<member name="M:System.Net.Http.HttpResponseMessage.#ctor(System.Net.HttpStatusCode)"></member>
|
||||
<member name="P:System.Net.Http.HttpResponseMessage.Content"></member>
|
||||
<member name="M:System.Net.Http.HttpResponseMessage.Dispose"></member>
|
||||
<member name="M:System.Net.Http.HttpResponseMessage.Dispose(System.Boolean)"></member>
|
||||
<member name="M:System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode"></member>
|
||||
<member name="P:System.Net.Http.HttpResponseMessage.Headers"></member>
|
||||
<member name="P:System.Net.Http.HttpResponseMessage.IsSuccessStatusCode"></member>
|
||||
<member name="P:System.Net.Http.HttpResponseMessage.ReasonPhrase"></member>
|
||||
<member name="P:System.Net.Http.HttpResponseMessage.RequestMessage"></member>
|
||||
<member name="P:System.Net.Http.HttpResponseMessage.StatusCode"></member>
|
||||
<member name="M:System.Net.Http.HttpResponseMessage.ToString"></member>
|
||||
<member name="P:System.Net.Http.HttpResponseMessage.Version"></member>
|
||||
<member name="T:System.Net.Http.MessageProcessingHandler"></member>
|
||||
<member name="M:System.Net.Http.MessageProcessingHandler.#ctor(System.Net.Http.HttpMessageHandler)"></member>
|
||||
<member name="M:System.Net.Http.MessageProcessingHandler.ProcessRequest(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)"></member>
|
||||
<member name="M:System.Net.Http.MessageProcessingHandler.ProcessResponse(System.Net.Http.HttpResponseMessage,System.Threading.CancellationToken)"></member>
|
||||
<member name="M:System.Net.Http.MessageProcessingHandler.Send(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)"></member>
|
||||
<member name="M:System.Net.Http.MessageProcessingHandler.SendAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)"></member>
|
||||
<member name="T:System.Net.Http.MultipartContent"></member>
|
||||
<member name="M:System.Net.Http.MultipartContent.#ctor"></member>
|
||||
<member name="M:System.Net.Http.MultipartContent.#ctor(System.String)"></member>
|
||||
<member name="M:System.Net.Http.MultipartContent.#ctor(System.String,System.String)"></member>
|
||||
<member name="M:System.Net.Http.MultipartContent.Add(System.Net.Http.HttpContent)"></member>
|
||||
<member name="M:System.Net.Http.MultipartContent.GetEnumerator"></member>
|
||||
<member name="M:System.Net.Http.MultipartContent.SerializeToStream(System.IO.Stream,System.Net.TransportContext)"></member>
|
||||
<member name="M:System.Net.Http.MultipartContent.SerializeToStreamAsync(System.IO.Stream,System.Net.TransportContext)"></member>
|
||||
<member name="M:System.Net.Http.MultipartContent.System#Collections#IEnumerable#GetEnumerator"></member>
|
||||
<member name="M:System.Net.Http.MultipartContent.TryComputeLength(System.Int64@)"></member>
|
||||
<member name="T:System.Net.Http.MultipartFormDataContent"></member>
|
||||
<member name="M:System.Net.Http.MultipartFormDataContent.#ctor"></member>
|
||||
<member name="M:System.Net.Http.MultipartFormDataContent.#ctor(System.String)"></member>
|
||||
<member name="M:System.Net.Http.MultipartFormDataContent.Add(System.Net.Http.HttpContent)"></member>
|
||||
<member name="M:System.Net.Http.MultipartFormDataContent.Add(System.Net.Http.HttpContent,System.String)"></member>
|
||||
<member name="M:System.Net.Http.MultipartFormDataContent.Add(System.Net.Http.HttpContent,System.String,System.String)"></member>
|
||||
<member name="T:System.Net.Http.StreamContent"></member>
|
||||
<member name="M:System.Net.Http.StreamContent.#ctor(System.IO.Stream)"></member>
|
||||
<member name="M:System.Net.Http.StreamContent.#ctor(System.IO.Stream,System.Int32)"></member>
|
||||
<member name="M:System.Net.Http.StreamContent.CreateContentReadStream"></member>
|
||||
<member name="M:System.Net.Http.StreamContent.Dispose(System.Boolean)"></member>
|
||||
<member name="M:System.Net.Http.StreamContent.SerializeToStream(System.IO.Stream,System.Net.TransportContext)"></member>
|
||||
<member name="M:System.Net.Http.StreamContent.SerializeToStreamAsync(System.IO.Stream,System.Net.TransportContext)"></member>
|
||||
<member name="M:System.Net.Http.StreamContent.TryComputeLength(System.Int64@)"></member>
|
||||
<member name="T:System.Net.Http.StringContent"></member>
|
||||
<member name="M:System.Net.Http.StringContent.#ctor(System.String)"></member>
|
||||
<member name="M:System.Net.Http.StringContent.#ctor(System.String,System.Text.Encoding)"></member>
|
||||
<member name="M:System.Net.Http.StringContent.#ctor(System.String,System.Text.Encoding,System.String)"></member>
|
||||
<member name="T:System.Net.Http.Headers.AuthenticationHeaderValue"></member>
|
||||
<member name="M:System.Net.Http.Headers.AuthenticationHeaderValue.#ctor(System.String)"></member>
|
||||
<member name="M:System.Net.Http.Headers.AuthenticationHeaderValue.#ctor(System.String,System.String)"></member>
|
||||
<member name="M:System.Net.Http.Headers.AuthenticationHeaderValue.Equals(System.Object)"></member>
|
||||
<member name="M:System.Net.Http.Headers.AuthenticationHeaderValue.GetHashCode"></member>
|
||||
<member name="P:System.Net.Http.Headers.AuthenticationHeaderValue.Parameter"></member>
|
||||
<member name="M:System.Net.Http.Headers.AuthenticationHeaderValue.Parse(System.String)"></member>
|
||||
<member name="P:System.Net.Http.Headers.AuthenticationHeaderValue.Scheme"></member>
|
||||
<member name="M:System.Net.Http.Headers.AuthenticationHeaderValue.System#ICloneable#Clone"></member>
|
||||
<member name="M:System.Net.Http.Headers.AuthenticationHeaderValue.ToString"></member>
|
||||
<member name="M:System.Net.Http.Headers.AuthenticationHeaderValue.TryParse(System.String,System.Net.Http.Headers.AuthenticationHeaderValue@)"></member>
|
||||
<member name="T:System.Net.Http.Headers.CacheControlHeaderValue"></member>
|
||||
<member name="M:System.Net.Http.Headers.CacheControlHeaderValue.#ctor"></member>
|
||||
<member name="M:System.Net.Http.Headers.CacheControlHeaderValue.Equals(System.Object)"></member>
|
||||
<member name="P:System.Net.Http.Headers.CacheControlHeaderValue.Extensions"></member>
|
||||
<member name="M:System.Net.Http.Headers.CacheControlHeaderValue.GetHashCode"></member>
|
||||
<member name="P:System.Net.Http.Headers.CacheControlHeaderValue.MaxAge"></member>
|
||||
<member name="P:System.Net.Http.Headers.CacheControlHeaderValue.MaxStale"></member>
|
||||
<member name="P:System.Net.Http.Headers.CacheControlHeaderValue.MaxStaleLimit"></member>
|
||||
<member name="P:System.Net.Http.Headers.CacheControlHeaderValue.MinFresh"></member>
|
||||
<member name="P:System.Net.Http.Headers.CacheControlHeaderValue.MustRevalidate"></member>
|
||||
<member name="P:System.Net.Http.Headers.CacheControlHeaderValue.NoCache"></member>
|
||||
<member name="P:System.Net.Http.Headers.CacheControlHeaderValue.NoCacheHeaders"></member>
|
||||
<member name="P:System.Net.Http.Headers.CacheControlHeaderValue.NoStore"></member>
|
||||
<member name="P:System.Net.Http.Headers.CacheControlHeaderValue.NoTransform"></member>
|
||||
<member name="P:System.Net.Http.Headers.CacheControlHeaderValue.OnlyIfCached"></member>
|
||||
<member name="M:System.Net.Http.Headers.CacheControlHeaderValue.Parse(System.String)"></member>
|
||||
<member name="P:System.Net.Http.Headers.CacheControlHeaderValue.Private"></member>
|
||||
<member name="P:System.Net.Http.Headers.CacheControlHeaderValue.PrivateHeaders"></member>
|
||||
<member name="P:System.Net.Http.Headers.CacheControlHeaderValue.ProxyRevalidate"></member>
|
||||
<member name="P:System.Net.Http.Headers.CacheControlHeaderValue.Public"></member>
|
||||
<member name="P:System.Net.Http.Headers.CacheControlHeaderValue.SharedMaxAge"></member>
|
||||
<member name="M:System.Net.Http.Headers.CacheControlHeaderValue.System#ICloneable#Clone"></member>
|
||||
<member name="M:System.Net.Http.Headers.CacheControlHeaderValue.ToString"></member>
|
||||
<member name="M:System.Net.Http.Headers.CacheControlHeaderValue.TryParse(System.String,System.Net.Http.Headers.CacheControlHeaderValue@)"></member>
|
||||
<member name="T:System.Net.Http.Headers.ContentRangeHeaderValue"></member>
|
||||
<member name="M:System.Net.Http.Headers.ContentRangeHeaderValue.#ctor(System.Int64)"></member>
|
||||
<member name="M:System.Net.Http.Headers.ContentRangeHeaderValue.#ctor(System.Int64,System.Int64)"></member>
|
||||
<member name="M:System.Net.Http.Headers.ContentRangeHeaderValue.#ctor(System.Int64,System.Int64,System.Int64)"></member>
|
||||
<member name="M:System.Net.Http.Headers.ContentRangeHeaderValue.Equals(System.Object)"></member>
|
||||
<member name="P:System.Net.Http.Headers.ContentRangeHeaderValue.From"></member>
|
||||
<member name="M:System.Net.Http.Headers.ContentRangeHeaderValue.GetHashCode"></member>
|
||||
<member name="P:System.Net.Http.Headers.ContentRangeHeaderValue.HasLength"></member>
|
||||
<member name="P:System.Net.Http.Headers.ContentRangeHeaderValue.HasRange"></member>
|
||||
<member name="P:System.Net.Http.Headers.ContentRangeHeaderValue.Length"></member>
|
||||
<member name="M:System.Net.Http.Headers.ContentRangeHeaderValue.Parse(System.String)"></member>
|
||||
<member name="M:System.Net.Http.Headers.ContentRangeHeaderValue.System#ICloneable#Clone"></member>
|
||||
<member name="P:System.Net.Http.Headers.ContentRangeHeaderValue.To"></member>
|
||||
<member name="M:System.Net.Http.Headers.ContentRangeHeaderValue.ToString"></member>
|
||||
<member name="M:System.Net.Http.Headers.ContentRangeHeaderValue.TryParse(System.String,System.Net.Http.Headers.ContentRangeHeaderValue@)"></member>
|
||||
<member name="P:System.Net.Http.Headers.ContentRangeHeaderValue.Unit"></member>
|
||||
<member name="T:System.Net.Http.Headers.EntityTagHeaderValue"></member>
|
||||
<member name="M:System.Net.Http.Headers.EntityTagHeaderValue.#ctor(System.String)"></member>
|
||||
<member name="M:System.Net.Http.Headers.EntityTagHeaderValue.#ctor(System.String,System.Boolean)"></member>
|
||||
<member name="P:System.Net.Http.Headers.EntityTagHeaderValue.Any"></member>
|
||||
<member name="M:System.Net.Http.Headers.EntityTagHeaderValue.Equals(System.Object)"></member>
|
||||
<member name="M:System.Net.Http.Headers.EntityTagHeaderValue.GetHashCode"></member>
|
||||
<member name="P:System.Net.Http.Headers.EntityTagHeaderValue.IsWeak"></member>
|
||||
<member name="M:System.Net.Http.Headers.EntityTagHeaderValue.Parse(System.String)"></member>
|
||||
<member name="M:System.Net.Http.Headers.EntityTagHeaderValue.System#ICloneable#Clone"></member>
|
||||
<member name="P:System.Net.Http.Headers.EntityTagHeaderValue.Tag"></member>
|
||||
<member name="M:System.Net.Http.Headers.EntityTagHeaderValue.ToString"></member>
|
||||
<member name="M:System.Net.Http.Headers.EntityTagHeaderValue.TryParse(System.String,System.Net.Http.Headers.EntityTagHeaderValue@)"></member>
|
||||
<member name="T:System.Net.Http.Headers.HttpContentHeaders"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpContentHeaders.Allow"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpContentHeaders.ContentEncoding"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpContentHeaders.ContentLanguage"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpContentHeaders.ContentLength"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpContentHeaders.ContentLocation"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpContentHeaders.ContentMD5"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpContentHeaders.ContentRange"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpContentHeaders.ContentType"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpContentHeaders.Expires"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpContentHeaders.LastModified"></member>
|
||||
<member name="T:System.Net.Http.Headers.HttpHeaders"></member>
|
||||
<member name="M:System.Net.Http.Headers.HttpHeaders.#ctor"></member>
|
||||
<member name="M:System.Net.Http.Headers.HttpHeaders.Add(System.String,System.Collections.Generic.IEnumerable{System.String})"></member>
|
||||
<member name="M:System.Net.Http.Headers.HttpHeaders.Add(System.String,System.String)"></member>
|
||||
<member name="M:System.Net.Http.Headers.HttpHeaders.AddWithoutValidation(System.String,System.Collections.Generic.IEnumerable{System.String})"></member>
|
||||
<member name="M:System.Net.Http.Headers.HttpHeaders.AddWithoutValidation(System.String,System.String)"></member>
|
||||
<member name="M:System.Net.Http.Headers.HttpHeaders.Clear"></member>
|
||||
<member name="M:System.Net.Http.Headers.HttpHeaders.Contains(System.String)"></member>
|
||||
<member name="M:System.Net.Http.Headers.HttpHeaders.GetEnumerator"></member>
|
||||
<member name="M:System.Net.Http.Headers.HttpHeaders.GetValues(System.String)"></member>
|
||||
<member name="M:System.Net.Http.Headers.HttpHeaders.Remove(System.String)"></member>
|
||||
<member name="M:System.Net.Http.Headers.HttpHeaders.System#Collections#IEnumerable#GetEnumerator"></member>
|
||||
<member name="M:System.Net.Http.Headers.HttpHeaders.ToString"></member>
|
||||
<member name="M:System.Net.Http.Headers.HttpHeaders.TryGetValues(System.String,System.Collections.Generic.IEnumerable{System.String}@)"></member>
|
||||
<member name="T:System.Net.Http.Headers.HttpHeaderValueCollection`1">
|
||||
<typeparam name="T"></typeparam>
|
||||
</member>
|
||||
<member name="M:System.Net.Http.Headers.HttpHeaderValueCollection`1.Add(`0)"></member>
|
||||
<member name="M:System.Net.Http.Headers.HttpHeaderValueCollection`1.Clear"></member>
|
||||
<member name="M:System.Net.Http.Headers.HttpHeaderValueCollection`1.Contains(`0)"></member>
|
||||
<member name="M:System.Net.Http.Headers.HttpHeaderValueCollection`1.CopyTo(`0[],System.Int32)"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpHeaderValueCollection`1.Count"></member>
|
||||
<member name="M:System.Net.Http.Headers.HttpHeaderValueCollection`1.GetEnumerator"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpHeaderValueCollection`1.IsReadOnly"></member>
|
||||
<member name="M:System.Net.Http.Headers.HttpHeaderValueCollection`1.ParseAdd(System.String)"></member>
|
||||
<member name="M:System.Net.Http.Headers.HttpHeaderValueCollection`1.Remove(`0)"></member>
|
||||
<member name="M:System.Net.Http.Headers.HttpHeaderValueCollection`1.System#Collections#IEnumerable#GetEnumerator"></member>
|
||||
<member name="M:System.Net.Http.Headers.HttpHeaderValueCollection`1.ToString"></member>
|
||||
<member name="M:System.Net.Http.Headers.HttpHeaderValueCollection`1.TryParseAdd(System.String)"></member>
|
||||
<member name="T:System.Net.Http.Headers.HttpRequestHeaders"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpRequestHeaders.Accept"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpRequestHeaders.AcceptCharset"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpRequestHeaders.AcceptEncoding"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpRequestHeaders.AcceptLanguage"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpRequestHeaders.Authorization"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpRequestHeaders.CacheControl"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpRequestHeaders.Connection"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpRequestHeaders.ConnectionClose"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpRequestHeaders.Date"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpRequestHeaders.Expect"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpRequestHeaders.ExpectContinue"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpRequestHeaders.From"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpRequestHeaders.Host"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpRequestHeaders.IfMatch"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpRequestHeaders.IfModifiedSince"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpRequestHeaders.IfNoneMatch"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpRequestHeaders.IfRange"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpRequestHeaders.IfUnmodifiedSince"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpRequestHeaders.MaxForwards"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpRequestHeaders.Pragma"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpRequestHeaders.ProxyAuthorization"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpRequestHeaders.Range"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpRequestHeaders.Referrer"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpRequestHeaders.TE"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpRequestHeaders.Trailer"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpRequestHeaders.TransferEncoding"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpRequestHeaders.TransferEncodingChunked"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpRequestHeaders.Upgrade"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpRequestHeaders.UserAgent"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpRequestHeaders.Via"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpRequestHeaders.Warning"></member>
|
||||
<member name="T:System.Net.Http.Headers.HttpResponseHeaders"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpResponseHeaders.AcceptRanges"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpResponseHeaders.Age"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpResponseHeaders.CacheControl"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpResponseHeaders.Connection"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpResponseHeaders.ConnectionClose"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpResponseHeaders.Date"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpResponseHeaders.ETag"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpResponseHeaders.Location"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpResponseHeaders.Pragma"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpResponseHeaders.ProxyAuthenticate"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpResponseHeaders.RetryAfter"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpResponseHeaders.Server"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpResponseHeaders.Trailer"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpResponseHeaders.TransferEncoding"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpResponseHeaders.TransferEncodingChunked"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpResponseHeaders.Upgrade"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpResponseHeaders.Vary"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpResponseHeaders.Via"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpResponseHeaders.Warning"></member>
|
||||
<member name="P:System.Net.Http.Headers.HttpResponseHeaders.WwwAuthenticate"></member>
|
||||
<member name="T:System.Net.Http.Headers.MediaTypeHeaderValue"></member>
|
||||
<member name="M:System.Net.Http.Headers.MediaTypeHeaderValue.#ctor(System.Net.Http.Headers.MediaTypeHeaderValue)"></member>
|
||||
<member name="M:System.Net.Http.Headers.MediaTypeHeaderValue.#ctor(System.String)"></member>
|
||||
<member name="P:System.Net.Http.Headers.MediaTypeHeaderValue.CharSet"></member>
|
||||
<member name="M:System.Net.Http.Headers.MediaTypeHeaderValue.Equals(System.Object)"></member>
|
||||
<member name="M:System.Net.Http.Headers.MediaTypeHeaderValue.GetHashCode"></member>
|
||||
<member name="P:System.Net.Http.Headers.MediaTypeHeaderValue.MediaType"></member>
|
||||
<member name="P:System.Net.Http.Headers.MediaTypeHeaderValue.Parameters"></member>
|
||||
<member name="M:System.Net.Http.Headers.MediaTypeHeaderValue.Parse(System.String)"></member>
|
||||
<member name="M:System.Net.Http.Headers.MediaTypeHeaderValue.System#ICloneable#Clone"></member>
|
||||
<member name="M:System.Net.Http.Headers.MediaTypeHeaderValue.ToString"></member>
|
||||
<member name="M:System.Net.Http.Headers.MediaTypeHeaderValue.TryParse(System.String,System.Net.Http.Headers.MediaTypeHeaderValue@)"></member>
|
||||
<member name="T:System.Net.Http.Headers.MediaTypeWithQualityHeaderValue"></member>
|
||||
<member name="M:System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.#ctor(System.String)"></member>
|
||||
<member name="M:System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.#ctor(System.String,System.Double)"></member>
|
||||
<member name="M:System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse(System.String)"></member>
|
||||
<member name="P:System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Quality"></member>
|
||||
<member name="M:System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.System#ICloneable#Clone"></member>
|
||||
<member name="M:System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.TryParse(System.String,System.Net.Http.Headers.MediaTypeWithQualityHeaderValue@)"></member>
|
||||
<member name="T:System.Net.Http.Headers.NameValueHeaderValue"></member>
|
||||
<member name="M:System.Net.Http.Headers.NameValueHeaderValue.#ctor(System.Net.Http.Headers.NameValueHeaderValue)"></member>
|
||||
<member name="M:System.Net.Http.Headers.NameValueHeaderValue.#ctor(System.String)"></member>
|
||||
<member name="M:System.Net.Http.Headers.NameValueHeaderValue.#ctor(System.String,System.String)"></member>
|
||||
<member name="M:System.Net.Http.Headers.NameValueHeaderValue.Equals(System.Object)"></member>
|
||||
<member name="M:System.Net.Http.Headers.NameValueHeaderValue.GetHashCode"></member>
|
||||
<member name="P:System.Net.Http.Headers.NameValueHeaderValue.Name"></member>
|
||||
<member name="M:System.Net.Http.Headers.NameValueHeaderValue.Parse(System.String)"></member>
|
||||
<member name="M:System.Net.Http.Headers.NameValueHeaderValue.System#ICloneable#Clone"></member>
|
||||
<member name="M:System.Net.Http.Headers.NameValueHeaderValue.ToString"></member>
|
||||
<member name="M:System.Net.Http.Headers.NameValueHeaderValue.TryParse(System.String,System.Net.Http.Headers.NameValueHeaderValue@)"></member>
|
||||
<member name="P:System.Net.Http.Headers.NameValueHeaderValue.Value"></member>
|
||||
<member name="T:System.Net.Http.Headers.NameValueWithParametersHeaderValue"></member>
|
||||
<member name="M:System.Net.Http.Headers.NameValueWithParametersHeaderValue.#ctor(System.Net.Http.Headers.NameValueWithParametersHeaderValue)"></member>
|
||||
<member name="M:System.Net.Http.Headers.NameValueWithParametersHeaderValue.#ctor(System.String)"></member>
|
||||
<member name="M:System.Net.Http.Headers.NameValueWithParametersHeaderValue.#ctor(System.String,System.String)"></member>
|
||||
<member name="M:System.Net.Http.Headers.NameValueWithParametersHeaderValue.Equals(System.Object)"></member>
|
||||
<member name="M:System.Net.Http.Headers.NameValueWithParametersHeaderValue.GetHashCode"></member>
|
||||
<member name="P:System.Net.Http.Headers.NameValueWithParametersHeaderValue.Parameters"></member>
|
||||
<member name="M:System.Net.Http.Headers.NameValueWithParametersHeaderValue.Parse(System.String)"></member>
|
||||
<member name="M:System.Net.Http.Headers.NameValueWithParametersHeaderValue.System#ICloneable#Clone"></member>
|
||||
<member name="M:System.Net.Http.Headers.NameValueWithParametersHeaderValue.ToString"></member>
|
||||
<member name="M:System.Net.Http.Headers.NameValueWithParametersHeaderValue.TryParse(System.String,System.Net.Http.Headers.NameValueWithParametersHeaderValue@)"></member>
|
||||
<member name="T:System.Net.Http.Headers.ProductHeaderValue"></member>
|
||||
<member name="M:System.Net.Http.Headers.ProductHeaderValue.#ctor(System.String)"></member>
|
||||
<member name="M:System.Net.Http.Headers.ProductHeaderValue.#ctor(System.String,System.String)"></member>
|
||||
<member name="M:System.Net.Http.Headers.ProductHeaderValue.Equals(System.Object)"></member>
|
||||
<member name="M:System.Net.Http.Headers.ProductHeaderValue.GetHashCode"></member>
|
||||
<member name="P:System.Net.Http.Headers.ProductHeaderValue.Name"></member>
|
||||
<member name="M:System.Net.Http.Headers.ProductHeaderValue.Parse(System.String)"></member>
|
||||
<member name="M:System.Net.Http.Headers.ProductHeaderValue.System#ICloneable#Clone"></member>
|
||||
<member name="M:System.Net.Http.Headers.ProductHeaderValue.ToString"></member>
|
||||
<member name="M:System.Net.Http.Headers.ProductHeaderValue.TryParse(System.String,System.Net.Http.Headers.ProductHeaderValue@)"></member>
|
||||
<member name="P:System.Net.Http.Headers.ProductHeaderValue.Version"></member>
|
||||
<member name="T:System.Net.Http.Headers.ProductInfoHeaderValue"></member>
|
||||
<member name="M:System.Net.Http.Headers.ProductInfoHeaderValue.#ctor(System.Net.Http.Headers.ProductHeaderValue)"></member>
|
||||
<member name="M:System.Net.Http.Headers.ProductInfoHeaderValue.#ctor(System.String)"></member>
|
||||
<member name="M:System.Net.Http.Headers.ProductInfoHeaderValue.#ctor(System.String,System.String)"></member>
|
||||
<member name="P:System.Net.Http.Headers.ProductInfoHeaderValue.Comment"></member>
|
||||
<member name="M:System.Net.Http.Headers.ProductInfoHeaderValue.Equals(System.Object)"></member>
|
||||
<member name="M:System.Net.Http.Headers.ProductInfoHeaderValue.GetHashCode"></member>
|
||||
<member name="M:System.Net.Http.Headers.ProductInfoHeaderValue.Parse(System.String)"></member>
|
||||
<member name="P:System.Net.Http.Headers.ProductInfoHeaderValue.Product"></member>
|
||||
<member name="M:System.Net.Http.Headers.ProductInfoHeaderValue.System#ICloneable#Clone"></member>
|
||||
<member name="M:System.Net.Http.Headers.ProductInfoHeaderValue.ToString"></member>
|
||||
<member name="M:System.Net.Http.Headers.ProductInfoHeaderValue.TryParse(System.String,System.Net.Http.Headers.ProductInfoHeaderValue@)"></member>
|
||||
<member name="T:System.Net.Http.Headers.RangeConditionHeaderValue"></member>
|
||||
<member name="M:System.Net.Http.Headers.RangeConditionHeaderValue.#ctor(System.DateTimeOffset)"></member>
|
||||
<member name="M:System.Net.Http.Headers.RangeConditionHeaderValue.#ctor(System.Net.Http.Headers.EntityTagHeaderValue)"></member>
|
||||
<member name="M:System.Net.Http.Headers.RangeConditionHeaderValue.#ctor(System.String)"></member>
|
||||
<member name="P:System.Net.Http.Headers.RangeConditionHeaderValue.Date"></member>
|
||||
<member name="P:System.Net.Http.Headers.RangeConditionHeaderValue.EntityTag"></member>
|
||||
<member name="M:System.Net.Http.Headers.RangeConditionHeaderValue.Equals(System.Object)"></member>
|
||||
<member name="M:System.Net.Http.Headers.RangeConditionHeaderValue.GetHashCode"></member>
|
||||
<member name="M:System.Net.Http.Headers.RangeConditionHeaderValue.Parse(System.String)"></member>
|
||||
<member name="M:System.Net.Http.Headers.RangeConditionHeaderValue.System#ICloneable#Clone"></member>
|
||||
<member name="M:System.Net.Http.Headers.RangeConditionHeaderValue.ToString"></member>
|
||||
<member name="M:System.Net.Http.Headers.RangeConditionHeaderValue.TryParse(System.String,System.Net.Http.Headers.RangeConditionHeaderValue@)"></member>
|
||||
<member name="T:System.Net.Http.Headers.RangeHeaderValue"></member>
|
||||
<member name="M:System.Net.Http.Headers.RangeHeaderValue.#ctor"></member>
|
||||
<member name="M:System.Net.Http.Headers.RangeHeaderValue.#ctor(System.Nullable{System.Int64},System.Nullable{System.Int64})"></member>
|
||||
<member name="M:System.Net.Http.Headers.RangeHeaderValue.Equals(System.Object)"></member>
|
||||
<member name="M:System.Net.Http.Headers.RangeHeaderValue.GetHashCode"></member>
|
||||
<member name="M:System.Net.Http.Headers.RangeHeaderValue.Parse(System.String)"></member>
|
||||
<member name="P:System.Net.Http.Headers.RangeHeaderValue.Ranges"></member>
|
||||
<member name="M:System.Net.Http.Headers.RangeHeaderValue.System#ICloneable#Clone"></member>
|
||||
<member name="M:System.Net.Http.Headers.RangeHeaderValue.ToString"></member>
|
||||
<member name="M:System.Net.Http.Headers.RangeHeaderValue.TryParse(System.String,System.Net.Http.Headers.RangeHeaderValue@)"></member>
|
||||
<member name="P:System.Net.Http.Headers.RangeHeaderValue.Unit"></member>
|
||||
<member name="T:System.Net.Http.Headers.RangeItemHeaderValue"></member>
|
||||
<member name="M:System.Net.Http.Headers.RangeItemHeaderValue.#ctor(System.Nullable{System.Int64},System.Nullable{System.Int64})"></member>
|
||||
<member name="M:System.Net.Http.Headers.RangeItemHeaderValue.Equals(System.Object)"></member>
|
||||
<member name="P:System.Net.Http.Headers.RangeItemHeaderValue.From"></member>
|
||||
<member name="M:System.Net.Http.Headers.RangeItemHeaderValue.GetHashCode"></member>
|
||||
<member name="M:System.Net.Http.Headers.RangeItemHeaderValue.System#ICloneable#Clone"></member>
|
||||
<member name="P:System.Net.Http.Headers.RangeItemHeaderValue.To"></member>
|
||||
<member name="M:System.Net.Http.Headers.RangeItemHeaderValue.ToString"></member>
|
||||
<member name="T:System.Net.Http.Headers.RetryConditionHeaderValue"></member>
|
||||
<member name="M:System.Net.Http.Headers.RetryConditionHeaderValue.#ctor(System.DateTimeOffset)"></member>
|
||||
<member name="M:System.Net.Http.Headers.RetryConditionHeaderValue.#ctor(System.TimeSpan)"></member>
|
||||
<member name="P:System.Net.Http.Headers.RetryConditionHeaderValue.Date"></member>
|
||||
<member name="P:System.Net.Http.Headers.RetryConditionHeaderValue.Delta"></member>
|
||||
<member name="M:System.Net.Http.Headers.RetryConditionHeaderValue.Equals(System.Object)"></member>
|
||||
<member name="M:System.Net.Http.Headers.RetryConditionHeaderValue.GetHashCode"></member>
|
||||
<member name="M:System.Net.Http.Headers.RetryConditionHeaderValue.Parse(System.String)"></member>
|
||||
<member name="M:System.Net.Http.Headers.RetryConditionHeaderValue.System#ICloneable#Clone"></member>
|
||||
<member name="M:System.Net.Http.Headers.RetryConditionHeaderValue.ToString"></member>
|
||||
<member name="M:System.Net.Http.Headers.RetryConditionHeaderValue.TryParse(System.String,System.Net.Http.Headers.RetryConditionHeaderValue@)"></member>
|
||||
<member name="T:System.Net.Http.Headers.StringWithQualityHeaderValue"></member>
|
||||
<member name="M:System.Net.Http.Headers.StringWithQualityHeaderValue.#ctor(System.String)"></member>
|
||||
<member name="M:System.Net.Http.Headers.StringWithQualityHeaderValue.#ctor(System.String,System.Double)"></member>
|
||||
<member name="M:System.Net.Http.Headers.StringWithQualityHeaderValue.Equals(System.Object)"></member>
|
||||
<member name="M:System.Net.Http.Headers.StringWithQualityHeaderValue.GetHashCode"></member>
|
||||
<member name="M:System.Net.Http.Headers.StringWithQualityHeaderValue.Parse(System.String)"></member>
|
||||
<member name="P:System.Net.Http.Headers.StringWithQualityHeaderValue.Quality"></member>
|
||||
<member name="M:System.Net.Http.Headers.StringWithQualityHeaderValue.System#ICloneable#Clone"></member>
|
||||
<member name="M:System.Net.Http.Headers.StringWithQualityHeaderValue.ToString"></member>
|
||||
<member name="M:System.Net.Http.Headers.StringWithQualityHeaderValue.TryParse(System.String,System.Net.Http.Headers.StringWithQualityHeaderValue@)"></member>
|
||||
<member name="P:System.Net.Http.Headers.StringWithQualityHeaderValue.Value"></member>
|
||||
<member name="T:System.Net.Http.Headers.TransferCodingHeaderValue"></member>
|
||||
<member name="M:System.Net.Http.Headers.TransferCodingHeaderValue.#ctor(System.Net.Http.Headers.TransferCodingHeaderValue)"></member>
|
||||
<member name="M:System.Net.Http.Headers.TransferCodingHeaderValue.#ctor(System.String)"></member>
|
||||
<member name="M:System.Net.Http.Headers.TransferCodingHeaderValue.Equals(System.Object)"></member>
|
||||
<member name="M:System.Net.Http.Headers.TransferCodingHeaderValue.GetHashCode"></member>
|
||||
<member name="P:System.Net.Http.Headers.TransferCodingHeaderValue.Parameters"></member>
|
||||
<member name="M:System.Net.Http.Headers.TransferCodingHeaderValue.Parse(System.String)"></member>
|
||||
<member name="M:System.Net.Http.Headers.TransferCodingHeaderValue.System#ICloneable#Clone"></member>
|
||||
<member name="M:System.Net.Http.Headers.TransferCodingHeaderValue.ToString"></member>
|
||||
<member name="M:System.Net.Http.Headers.TransferCodingHeaderValue.TryParse(System.String,System.Net.Http.Headers.TransferCodingHeaderValue@)"></member>
|
||||
<member name="P:System.Net.Http.Headers.TransferCodingHeaderValue.Value"></member>
|
||||
<member name="T:System.Net.Http.Headers.TransferCodingWithQualityHeaderValue"></member>
|
||||
<member name="M:System.Net.Http.Headers.TransferCodingWithQualityHeaderValue.#ctor(System.String)"></member>
|
||||
<member name="M:System.Net.Http.Headers.TransferCodingWithQualityHeaderValue.#ctor(System.String,System.Double)"></member>
|
||||
<member name="M:System.Net.Http.Headers.TransferCodingWithQualityHeaderValue.Parse(System.String)"></member>
|
||||
<member name="P:System.Net.Http.Headers.TransferCodingWithQualityHeaderValue.Quality"></member>
|
||||
<member name="M:System.Net.Http.Headers.TransferCodingWithQualityHeaderValue.System#ICloneable#Clone"></member>
|
||||
<member name="M:System.Net.Http.Headers.TransferCodingWithQualityHeaderValue.TryParse(System.String,System.Net.Http.Headers.TransferCodingWithQualityHeaderValue@)"></member>
|
||||
<member name="T:System.Net.Http.Headers.ViaHeaderValue"></member>
|
||||
<member name="M:System.Net.Http.Headers.ViaHeaderValue.#ctor(System.String,System.String)"></member>
|
||||
<member name="M:System.Net.Http.Headers.ViaHeaderValue.#ctor(System.String,System.String,System.String)"></member>
|
||||
<member name="M:System.Net.Http.Headers.ViaHeaderValue.#ctor(System.String,System.String,System.String,System.String)"></member>
|
||||
<member name="P:System.Net.Http.Headers.ViaHeaderValue.Comment"></member>
|
||||
<member name="M:System.Net.Http.Headers.ViaHeaderValue.Equals(System.Object)"></member>
|
||||
<member name="M:System.Net.Http.Headers.ViaHeaderValue.GetHashCode"></member>
|
||||
<member name="M:System.Net.Http.Headers.ViaHeaderValue.Parse(System.String)"></member>
|
||||
<member name="P:System.Net.Http.Headers.ViaHeaderValue.ProtocolName"></member>
|
||||
<member name="P:System.Net.Http.Headers.ViaHeaderValue.ProtocolVersion"></member>
|
||||
<member name="P:System.Net.Http.Headers.ViaHeaderValue.ReceivedBy"></member>
|
||||
<member name="M:System.Net.Http.Headers.ViaHeaderValue.System#ICloneable#Clone"></member>
|
||||
<member name="M:System.Net.Http.Headers.ViaHeaderValue.ToString"></member>
|
||||
<member name="M:System.Net.Http.Headers.ViaHeaderValue.TryParse(System.String,System.Net.Http.Headers.ViaHeaderValue@)"></member>
|
||||
<member name="T:System.Net.Http.Headers.WarningHeaderValue"></member>
|
||||
<member name="M:System.Net.Http.Headers.WarningHeaderValue.#ctor(System.Int32,System.String,System.String)"></member>
|
||||
<member name="M:System.Net.Http.Headers.WarningHeaderValue.#ctor(System.Int32,System.String,System.String,System.DateTimeOffset)"></member>
|
||||
<member name="P:System.Net.Http.Headers.WarningHeaderValue.Agent"></member>
|
||||
<member name="P:System.Net.Http.Headers.WarningHeaderValue.Code"></member>
|
||||
<member name="P:System.Net.Http.Headers.WarningHeaderValue.Date"></member>
|
||||
<member name="M:System.Net.Http.Headers.WarningHeaderValue.Equals(System.Object)"></member>
|
||||
<member name="M:System.Net.Http.Headers.WarningHeaderValue.GetHashCode"></member>
|
||||
<member name="M:System.Net.Http.Headers.WarningHeaderValue.Parse(System.String)"></member>
|
||||
<member name="M:System.Net.Http.Headers.WarningHeaderValue.System#ICloneable#Clone"></member>
|
||||
<member name="P:System.Net.Http.Headers.WarningHeaderValue.Text"></member>
|
||||
<member name="M:System.Net.Http.Headers.WarningHeaderValue.ToString"></member>
|
||||
<member name="M:System.Net.Http.Headers.WarningHeaderValue.TryParse(System.String,System.Net.Http.Headers.WarningHeaderValue@)"></member>
|
||||
</members>
|
||||
</doc>
|
Двоичный файл не отображается.
Двоичный файл не отображается.
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Двоичные данные
packages/JsonValue.0.5.0/lib/40/Microsoft.Server.Common.dll
поставляемый
Normal file
Двоичные данные
packages/JsonValue.0.5.0/lib/40/Microsoft.Server.Common.dll
поставляемый
Normal file
Двоичный файл не отображается.
Двоичный файл не отображается.
Двоичные данные
packages/KinectToolbox.1.1.0.2/lib/Kinect.Toolbox.Voice.dll
поставляемый
Normal file
Двоичные данные
packages/KinectToolbox.1.1.0.2/lib/Kinect.Toolbox.Voice.dll
поставляемый
Normal file
Двоичный файл не отображается.
Двоичный файл не отображается.
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<repositories>
|
||||
<repository path="..\AzureManagementWithKinect\packages.config" />
|
||||
</repositories>
|
Загрузка…
Ссылка в новой задаче